前些天搭建了一个Cacti上线后运行的不错监控服务器的实时运行状态也配置了报警邮件接收等功能后,心情大好。去论坛里溜达一圈后好多人都说Nagios不错功能上比Cacti还要强上不少呢,于似乎就开始了Nagios研究。花了三天的时候研究Nagios的架构。今天开始着手开动了;
1、首先Nagios搭建的准备工作很多,LAMP架构得搭建吧;
2、LAMP搭建之前记得把SElinux与Iptables关了啊,不要在后面给自己创造麻烦;
一、搭建LAMP环境;
(1)、所需要安装依赖包我在这里就Yum了,没有rpm一个一个的安装原因你懂得,在这里我搭建的系统环境是CentOS-5.9-x86_64;我一直喜欢用CentoS那是因为依赖包的问题好解决啊。RedHat要也想像CentoS那样方便解决依赖包的问题的话得先把本地的rpm包与第三方的依赖包整合到一起然后在统一搭建Yum源库的,好了费话不说了要不然该挨喷了。
[root@Nagios ~]# yum -y install perl gd gd-devel libpng libpng-devel libjpeg libjpeg-devel zlib zlib-devel pcre-devel gcc gcc-c++ make cmake autoconf openssl openssl-devel ncurses-devel patch libxml2 libxml2-devel curl-devel openldap openldap-devel libevent libevent-devel bison icu libicu-devel libtool readline-devel net-snmp-devel bzip2-devel freetype-devel vim
(2)、apache安装;
安装http
[root@Nagios ~]# tar -zxf httpd-2.2.22.tar.gz
[root@Nagios ~]# cd httpd-2.2.22
[root@Nagios httpd-2.2.22]# ./configure --prefix=/usr/local/apache --enable-so --enable-sl --enable-cgi--enable-rewrite --with-zlib --with-pcre
[root@Nagios httpd-2.2.22]# make && make install
Apache安装完成了下面我来起动一下;
[root@Nagios httpd-2.2.22]# /usr/local/apache/bin/apachectlstart
起动了要是不放心的话在看看apache是否在动行;
[root@Nagios httpd-2.2.22]# ps aux |grep httpd
http://192.168.10.162/
下面把apache加入开机自动起动拷贝如下;
[root@Nagios ~]# cp /usr/local/apache/bin/apachectl/etc/rc.d/init.d/httpd
在/etc/rc.d/init.d/httpd这里加入这两行;
授予权限;
[root@Nagios ~]# chmod u+x /etc/rc.d/init.d/httpd
加入自动起动;
[root@Nagios ~]# chkconfig --add httpd
[root@Nagios ~]# chkconfig httpd on
安装Mysql5.0.22;
(1)解压
#tar –zxf mysql-5.0.22.tar.gz
(2)进入解压的目录
#cd mysql-5.0.22
配置
#./configure –prefix=/usr/local/mysql
(1)编译并安装
#make &&make install
(2)添加mysql用户和组
#useradd mysql
(3)拷贝配置文件
# cp support-files/my-medium.cnf/etc/my.cnf
(4)进入mysql安装后目录
## cd /usr/local/mysql/
(5)修改目录权限
# chown -R mysql.mysql .
(6)初始化数据库(#cd/usr/local/myssql/:必须在此目录下才可以进行数据库的初始化)
# ./bin/mysql_install_db --user=mysql
(7)修改权限
#chown -R root .
#chown -R mysql var
#ps –ef |grep mysql(此为查看mysql是否运行)
(8)启动服务
# ./bin/mysqld_safe --user=mysql &
(9)连接测试
# /usr/local/mysql/bin/mysql
(10)设置环境变量
# PATH=$PATH:/usr/local/mysql/bin
# mysql
(11)配置服务的启动或关闭
# cd mysql-5.0.22
# cpsupport-files/mysql.server /etc/rc.d/init.d/mysqld
#chmod u+x /etc/rc.d/init.d/mysqld
#chkconfig --add mysqld
# chkconfig mysqld on
可以了,到这里Mysql成功安装了啊,下面进行php的安装;
php的安装;
[root@Nagios ]# useradd-s /sbin/nologin -M fpmuser
[root@ Nagios]# tar zxvfphp-5.5.3.tar.gz
[root@Nagios php-5.5.3]# ./configure --prefix=/usr/local/php --with-apxs2=/usr/local/apache/bin/apxs --with-config-file-path=/etc --with-freetype-dir --with-jpeg-dir --with-png-dir --enable-zip --with-zlib --enable-xml --with-gd --with-mhash --with-libxml-dir=/usr --enable-mbstring --enable-fpm --with-fpm-user=fpmuser --with-fpm-group=fpmuser--disable-ipv6 --enable-sockets --with-openssl --with-bz2 --with-curl --enable-dba=shared --with-pcre-dir --with-gd --with-jpeg-dir --with-png-dir --with-zlib-dir --enable-mbstring --with-mysql=/usr/local/mysql/ --with-mysql-sock=/tmp/mysql.sock --with-mysqli=/usr/local/mysql/bin/mysql_config
[root@Nagios php-5.5.3]#make && make install
[root@Nagios php-5.5.3]#cp php.ini-production /usr/local/php/lib/php.ini
[root@Nagios php-5.5.3]#cd /usr/local/php/etc/
[root@Nagios etc]# cp -aphp-fpm.conf.default php-fpm.conf
[root@Nagios etc]# cd ..
启动php
[root@Nagios php-5.5.3]#sbin/php-fpm
当起动php时可能无法起动,这时编译一下php的配置文件
# vim /usr/local/php/etc/php-fpm.conf
(4) 配置apache
[root@Nagios php-5.5.3]#vim /usr/local/apache/conf/httpd.conf
找到DirectoryIndexindex.html index.html.var
修改为DirectoryIndexindex.html index.php
接着增加如下内容:
AddTypeapplication/x-httpd-php .php
修改完如下:
<IfModuledir_module>
DirectoryIndex index.html index.php
</IfModule>
AddTypeapplication/x-httpd-php .php
添加虚拟目录测试lamp
[root@Nagios php-5.5.3]#vim /usr/local/apache/conf/httpd.conf
添加以下内容
Alias /test"/usr/local/apache/test"
<Directory"/usr/local/apache/test">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
创建Php测试页面
[root@Nagios php-5.5.3]#vi /usr/local/apache/htdocs/index.php
添加以下内容:
<?php
phpinfo();
?>
配置完成后重启apache
[root@Nagios]#/usr/local/apache/bin/apachectl restart
测试PHP 页面
打开浏览器访问: http://192.168.10.162/index.php
到现在Nagios监控搭建在准备工作算是完事了;
一、Nagios安装前准备;
(1)、创建nagios的用户和用户组
[root@Nagios ~]# useradd nagios
[root@Nagios ~]# mkdir /usr/local/nagios
[root@Nagios ~]# chown nagios.nagios /usr/local/nagios/
(2)、查看一下Linux下有没有安装gd库看看两个是不是都安装上了,
[root@Nagios ~]# rpm -qa |grep gd
gdbm-1.8.0-28.el5
sysklogd-1.4.1-46.el5
gd-2.0.33-9.4.el5_4.2
gdbm-1.8.0-28.el5
gd-devel-2.0.33-9.4.el5_4.2
gd-2.0.33-9.4.el5_4.2
gd-devel-2.0.33-9.4.el5_4.2
1、编译安装Nagios
[root@Nagios Desktop]# tar -zxf nagios-3.4.2.tar.gz
[root@Nagios Desktop]# cd nagios
[root@Nagios nagios]# ./configure --prefix=/usr/local/nagios --with-gd-lib=/usr/lib --with-gd-inc=/usr/include/
注意:这两个参数比较重要(添加之前要确保gd库已装好)否则可能nagios装完拓扑图页面出不来
#指定nagios的安装目录,这里指定nagios安装到/usr/local/nagios目录
[root@Nagios nagios]# make all(这里要注意啊多个all)
[root@Nagios nagios]# make install
# make install用来安装nagios的主程序,CGI和HTML文件
[root@Nagios nagios]# makeinstall-init
#通过makeinstall-init命令可以在/etc/rc.d/init.d目录下创建nagios启动脚本
[root@Nagiosnagios]# make install-commandmode
#通过makeinstall-commandmode命令来配置目录权限
[root@Nagiosnagios]# make install-config
#makeinstall-cofig命令用来安装nagios示例配置文件,这里安装的路径是/usr/local/nagios/etc
2、安装Nagios插件
这里下载的版本是nagios-plugins-1.4.14。
注意:插件版本与nagios版本的关联并不大。
[root@NagiosDesktop]# tar -zxf nagios-plugins-1.4.15.tar.gz
[root@NagiosDesktop]# cd nagios-plugins-1.4.15
[root@Nagiosnagios-plugins-1.4.15]#./configure --prefix=/usr/local/nagios/
[root@Nagiosnagios-plugins-1.4.15]# make
[root@Nagiosnagios-plugins-1.4.15]# make install
安装完成,在/usr/local/nagios下的libexec目录下,生成很多可执行文件,这些正是nagios所需要的插件。
3、安装Nagios的中文插件
中文插件下载地址:
http://sourceforge.net/projects/nagios-cn/files/
[root@Nagios Desktop]# tar -jxfnagios-cn-3.2.3.tar.bz2
[root@Nagios Desktop]# cdnagios-cn-3.2.3
[root@Nagios nagios-cn-3.2.3]#make all
[root@Nagios nagios-cn-3.2.3]#make install
4、配置apache
找到apache的配置文件
[root@Nagios ~]# vi/usr/local/apache/conf/httpd.conf
找到AddType application/x-compress .Z
增加AddType application/x-httpd-php .php
AddType application/x-httpd-php.php .php3 .phtml .inc
AddTypeapplication/x-httpd-php-source .phps
为了安全起见,要让nagios的web监控界面授权才能访问,增加验证配置,在httpd.conf文件最后添加如下信息:
#setting for nagios
ScriptAlias /nagios/cgi-bin"/usr/local/nagios/sbin"
<Directory"/usr/local/nagios/sbin">
AuthType Basic
Options ExecCGI
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
Alias /nagios"/usr/local/nagios/share"
<Directory "/usr/local/nagios/share">
AuthType Basic
Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "nagios Access"
AuthUserFile /usr/local/nagios/etc/htpasswd
Require valid-user
</Directory>
5、创建apache目录验证文件
在上面的配置中,指定了目录验证文件htpasswd,下面要创建这个文件:
[root@server nagios]#/usr/local/apache/bin/htpasswd -c /usr/local/nagios/etc/htpasswd nagios
New password:(输入密码)
Re-type new password:(再输入一次密码)
Adding password for user nagios
#我设置的密码是“nagios”
这样就在/usr/local/nagios/etc目录下创建了一个htpasswd验证文件,当通过
最后,重启启动服务:
找到:
User daemon
Group daemon
修改为
User nagios
Group nagios
然后找到
DirectoryIndex index.html index.html.var
修改为
DirectoryIndex index.html index.php
[root@server ~]#/usr/local/apache/bin/apachectl restart
[root@server ~]# /etc/init.d/nagios start
Starting nagios: done.
这里有可能在起动的时候报错
[root@Nagios ~]# vi/usr/local/nagios/etc/nagios.cfg
找到1043 #service_check_timeout_state=c先#一下。
果然起动了。
http://192.168.10.162/nagios/访问时就需要输入用户名和密码了。
账号:nagios
密码:nagios
有乱码;
解决办法:修改http.conf
添加 AddDefaultCharset utf-8
当点击查看主机的时候显示成如下图时编译
#vi/usr/local/nagios/etc/cgi.cfg
将use_authentication的值改为0.
use_authentication=0
编辑完成之后
#/etc/init.d/nagios restart 一下哦!!
到此Nagios的安装是完成了啊!一天的时间啊!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。