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配置
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
}