nagios3.2安装详解(一)

Nagios 安装详解
对于运维人员来说,获悉服务器状况的信息非常重要,针对监控服务,比较好的有cacti和nagios,cacti使用更简单一些,cacti主要是用来采集信息,CPU、MEM、流量等信息更详细,nagios主要用来是报警功能,他配置比cacti麻烦一些,信息没有cacti采集的完全,但是有cacti不具备的报警功能,nagios会有一个报警的机制,当触发了这个报警机制时,会发送邮件或者短消息;如果能做到二者的结合,无疑是最好的选择;
这篇文章主要是介绍如何安装nagios监控平台、添加被监控主机(Linux和Windows),可以满足日常之中的报警功能,后续会将cacti的更详细安装发表出来,以及nagios和cacti的结合
先去基本需要安装的包
nagios-3.2.1.tar.gz
nrpe-2.12.tar.gz
httpd-2.2.21.tar.bz2
nagios-plugins-1.4.14.tar.gz
第一步:安装apache
解压   tar jxvf httpd-2.2.21.tar.bz2 
编译安装apache,将一些需要的参数加上,需要cgi的支持
./configure  --prefix=/usr/local/apache --enable-so --enable-track-vars --enable-rewrite --with-zlib --enable-mods-shard=most --enable-cgi --enable-cgid --with-suexec-caller=apache
确认无error信息后
make && make install
Ok,安装好后先不用启动,等下还需要修改http.conf的文件
第二步:安装nagios
因为nagios的安装很简单,主要是nagios的插件太多,安装nagios的插件和配置比较麻烦,需要细心一点
1.先建立nagios的用户名和密码
useradd nagios
创建一个组,用于从web接口执行nagios的外部命令,将nagios和apache用户加入到组中
usermod -G nagcmd nagios 
usermod -G nagcmd apache
2.安装nagios 
解压tar zxvf nagios-3.2.1.tar.gz
编译安装
 ./configure  --prefix=/usr/local/nagios --with-command-group=nagcmd --with-httpd-conf=/usr/local/apache/conf 
make all
make install
make install-init
make install-commandmode
make install-config
make install-webconf
Ok,到nagios目录下,ls一下
bin  etc  libexec  sbin  share  var
说明nagios安装ok
到apache conf下,会看到多出了nagios.conf配置文件,这个文件是将apache与nagios结合的文件,将其追加到http文件中
cat nagios.conf >> httpd.conf 
AuthUserFile /usr/local/nagios/etc/htpasswd.users 这个是登录到nagios需要验证的用户名和密码
[root@nagios-server conf]# /usr/local/apache/bin/htpasswd  -c /usr/local/nagios/etc/htpasswd.users test
New password: 
Re-type new password: 
Adding password for user test
添加用户test用户,web访问时会用到的
更改属主,属组
 chown -R apache:apache /usr/local/apache/
chown -R nagios:nagcmd /usr/local/nagios/
3.安装nagios-plugin
tar zxvf nagios-plugins-1.4.14.tar.gz
编译安装,这个是nagios的一个插件程序
./configure  --prefix=/usr/local/nagios --with-nagios-user=nagios --with-nagios-group=nagios 
make && make install
之后到nagios目录下多了一个 libexec,这个目录下面是nagios插件程序
先启动apache和nagios
/usr/local/apache/bin/apachectl  -k start 
启动nagios之前,先检查使用有Warnings和errors
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 
结果:
Total Warnings: 0
Total Errors:   0
Ok,将nagios启动,然后使用web访问下,看是否可以看到主界面
[root@nagios-server conf]# service nagios start 
Starting nagios: done.
Ok
Web访问nagios,方法:http://IP/nagios
nagios 3.2安装详解(一)
这里需要输入刚新加的test用户
nagios 3.2安装详解(一)
如果发现这样的error
nagios 3.2安装详解(一)
或者是显示出了php的源代码文件,
这是因为缺少来php程序的支持,安装php以及修改http的配置文件
Ok,还需要修改http的配置文件,因为nagios下游cgi的文件和php的文件,从nagios3.0以后都是需要php的支持,不然的话,nagios的访问都是源代码:
解决办法:
安装php 程序包
解压包:
tar zxvf php-5.3.6.tar.gz 
./configure  --prefix=/usr/local/php  --with-apxs2=/usr/local/apache/bin/apxs --with-libxml-dir --with-png-dir --with-jpeg-dir --with-zlib --with-freetype-dir --with-gd-dir --enable-mbstring=all
Make
Make test
TEST 6175/8798 [ext/standard/tests/file/005_variation.phpt]
Make install
这时如果你的libtool不一致的话,会出现error
/usr/local/apache/modules/libphp5.so": 没有那个文件或目录
解决办法:
将系统目前的libtool卸载掉
[root@nagios-server build]# rpm -qa | grep libtool
libtool-ltdl-2.2.6-15.5.el6.x86_64
libtool-2.2.6-15.5.el6.x86_64
之后
rpm -e libtool-2.2.6-15.5.el6.x86_64 --nodeps
将apache安装目录下build下的libtool复制到php编译安装目录(解压后的目录)下
cp -rf  libtool  /home/software/php-5.3.6
再make clean
重新执行./configuree    make      make install
成功后,修改apache的配置文件:
User apache
Group apache
DirectoryIndex  index.php index.html
AddType application/x-httpd-php .php .phtml
 AddHandler cgi-script .cgi
之后重启apache
/usr/local/apache/bin/apachectl  -k restart 
再重新访问下网页
nagios 3.2安装详解(一)
发现OK 了,nagios和apache的结合没有问题了,剩下的就是nagios的插件和监控设置了
第三步:配置nagios监控主机的配置文件
1.修改nagios配置文件
cfg_file=/usr/local/nagios/etc/objects/localhost.cfg (这个是默认针对nagios监控主机的配置,没添加一台主机,都要在这个文件中配置)
cfg_dir=/usr/local/nagios/etc/servers (被监控主机的监控配置文件目录)
剩下的switch、routers、printer现在又没有用到
修改这两个就好
2.修改联系人配置文件 contacts.cfg
define contact{
        contact_name                    test    ;
        alias                           admin   ;
        service_notification_period     24x7    ;
        host_notification_period        24x7    ;
        service_notification_options    w,u,c,r ;
        host_notification_options       d,u,r   ;
        service_notification_commands   notify-service-by-email ;
        host_notification_commands      notify-host-by-email    ;
        email                           frank@51coolbar.com     ;
        }
如果多个人的话,copy一下,将email更改下即可
define contactgroup{
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 test
        }
这个是组,members可以添加多个,","(逗号)隔开
3.修改localhost文件
define host{
        host_name                       192.168.20.221
        alias                           local-service
        address                         192.168.20.221
        contact_groups                  admins
 max_check_attempts              5
 notification_interval           200
  notification_options            d,u,r
        }
剩下的保持不变,l
4.修改时间,保持默认的即可
define timeperiod{
        timeperiod_name 24x7
        alias           24 Hours A Day, 7 Days A Week
        sunday          00:00-24:00
        monday          00:00-24:00
        tuesday         00:00-24:00
        wednesday       00:00-24:00
        thursday        00:00-24:00
        friday          00:00-24:00
        saturday        00:00-24:00
        }
5.修改command
添加一行,其他的保持不变
#check nrpe
define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
Ok了,更改这些会把nagios平台基本都搭建起来了,使用
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg 
检查nagios那一个配置文件是否有error或者warning信息
Total Warnings: 0
Total Errors:   0
如果有警告或者error信息,需要去排除,确认无误后,将nagios启动
 service nagios start
Starting nagios: done.
 第四步:安装NRPE 
因为我要为nagios server安装nrpe,就不需要安装nagios-plugin了,如果在是被监控端上安装nrpe,需要先添加nagios用户名,和安装nagios-plugin
./configure  --prefix=/usr/local/nagios/ 
make all
 make install-plugin
make install-daemon
make install-daemon-config
去编辑nrpe的配置文件
allowed_hosts=127.0.0.1   这个是nagios server的IP
command[check_users]=/usr/local/nagios/libexec/check_users -w 3 -c 6
command[check_load]=/usr/local/nagios/libexec/check_load -w 9,7,6 -c 20,15,10
command[check_disk]=/usr/local/nagios/libexec/check_disk -w20 % -c 15% -p / -u GB
command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 1 -c 3 -s Z
command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 150 -c 200
command[check_ping]=/usr/local/nagios/libexec/check_ping -w 100,20% -c 200,50%
command[check_swap]=/usr/local/nagios/libexec/check_swap -w 20% -c 10%
测试本机nrpe是否ok
[root@server221 etc]# /usr/local/nagios/libexec/check_nrpe  -H localhost
NRPE v2.12
将nrpe启动
 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
检查是否启动ok
[root@server221 etc]# netstat -anpt | grep nrpe
tcp        0      0 0.0.0.0:5666                0.0.0.0:*                   LISTEN      8049/nrpe
现在,通过web就可以看到nagios server 监控的信息
nagios 3.2安装详解(一)
nagios 3.2安装详解(一)

当前名称:nagios3.2安装详解(一)
网页链接:http://scjbc.cn/article/gpcdcj.html

其他资讯