Ubuntu上快速搭建Nagios监控

Nagios是常用的系统监控工具,提供了很多基本服务的监控脚本,如HTTP,MYSQL等,同时具有不错的可扩展性,自己可定制针对特定参数的监控脚本以及报警的方式。但Nagios的配置相当复杂,本文总结了我最近在Ubuntu Server上搭建Nagios的过程,以方便大家将来更加快速的安装搭建监控系统。

Nagios安装

安装分为nagios server和被监控端的两部分。nagios server提供web界面,报警配置;被监控端需要安装nagios nrpe服务,负责与server通信本机的监控情况。

1) Nagios Server的安装:

默认情况下,nagios会使用apache2作为自己的web server。本着快速的原则,在server上运行:

 

1   sudo apt-get apache2 nagios3 nagios-nrpe-plugin  

nagios-nrpe-plugin用于与被监控机器上的nrpe服务通信;

安装过程中,会提示输入nagsio web管理员的密码,nagios web的登录帐号和密码是nagiosadmin/<安装时设定的密码>;也可以修改/etc/nagios3/htpasswd.users来改变用户、密码。

安装完成后,在/etc/apache/conf.d下会建立nagios3.conf,这是关于nagios web的配置。访问<apache2 Server Address>/nagios3即可看到nagios的主页。

如果想在网页上看nagios的doc,请安装:

 

1   sudo apt-get install nagios3-doc  

如果想使用Nginx作为WEB SERVER,请Google "Nagios Nginx"。


2)被监控机器上,运行:

 

1   sudo apt-get install nagios-nrpe-server  

不管是nagios server还是被监控机器,默认的监控脚本配置会安装在/etc/nagios-plugin/config下,监控脚本都在/usr/lib/nagios/plugins下。


Nagios配置

1)Nagios Server:

Nagios里需要配置的Object主要分Host, Service, Contact等;

其主配置是/etc/nagios3/nagios.cfg,一般不用怎么修改;

脚本配置

脚本的配置是/etc/nagios3/commands.cfg,这里面常常修改notify-host-by-email;notify-service-by-email,通常会修改发email的命令,我改成了用sendEmail(apt-get install sendEmail)发email:

 

1   define command{  

2           command_name    notify-service-by-email  

3           command_line    /usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\n\nService: $SERVICEDESC$\nHost: $HOSTALIAS$\nAddress: $HOSTADDRESS$\nState: $SERVICESTATE$\n\nDate/Time: $LONGDATETIME$\n\nAdditional Info:\n\n$SERVICEOUTPUT$" | /usr/bin/sendEmail -f <from@xxx.xx> -t <to@xxx.xx> -u "** $NOTIFICATIONTYPE$ Service Alert: $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -s <SMTP_SERVER> -xu <EMAIL_USER_NAME> -xp <EMAIL_USER_PASSWORD>  

4           }  

也可增加一些用短信报警的命令,具体可Google "Nagios短信报警"。

另外需要查看的脚本配置位于/etc/nagios-plugin/config下,比如check_nrpe.cfg:

 

01   # this command runs a program $ARG1$ with arguments $ARG2$  

02   define command {  

03           command_name    check_nrpe  

04           command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ -a $ARG2$  

05   }  

06       

07   # this command runs a program $ARG1$ with no arguments  

08   define command {  

09           command_name    check_nrpe_1arg  

10           command_line    /usr/lib/nagios/plugins/check_nrpe -H $HOSTADDRESS$ -c $ARG1$  

11   }  

分别配置了带一个参数和带两个参数的nrpe命令,command name是check_nrpe_1arg的命令带一个参数,command name是check_nrpe的带两个参数。比如我配置的脚本想查看目标机上的load,command line就需配置成check_nrpe_1arg!check_load,该命令会调用nrpe server上的check_load命令。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/f3927ab75cac3d60f8516e26491fe2ea.html