
1、安装所用到的包
yum install httpd
#yum install gcc
#yum install glibc glibc-common
#yum install gd gd-devel
2、添加管理用户
useradd nagios
passwd nagios
groupadd nagios
usermod -G nagios nagios
groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd www-data
3、下载nagios和nagios-plugins
wget http://osdn.dl.sourceforge.net/sourceforge/nagios/nagios-3.0b5.tar.gz
wget http://osdn.dl.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.7.tar.gz
4、安装nagios和nagios-plugins
tar xzvf nagios-3.0b5.tar.gz
cd nagios-3.0b5
./configure --with-command-group=nagcmd
make all
make install
make install-init
make install-config
make install-commandmode
make install-webconf
tar xzvf nagios-plugins-1.4.7.tar.gz
cd nagios-plugins-1.4.7
./configure --with-nagios-user=nagios --with-nagios-group=nagios
make
make install
注意:如果在编译plugins的时候遇到以下错误:
make[2]: *** [check_http] Error 1
make[2]: Leaving directory `/home/jacky/nagios/nagios-plugins-1.4.9/plugins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jacky/nagios/nagios-plugins-1.4.9'
make: *** [all] Error 2
请安装libssl-dev
重编译时用:make LDFLAGS+=-ldl ,如果要用到nrpe,编译时也遇到错误,编译时用:
export CFLAGS=-ldl
./configure
make all
5、编译后的一些设置
vim /usr/local/nagios/etc/objects/contacts.cfg
找到相关的电子邮件地址改为你自己所用的地址,用来当服务器发生警报时通知用的。
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
设置通过apache2用户的访问权限
/etc/init.d/apache2 reload
从新加载apache2设置
ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios
设置nagios在开机时自动启动
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
测试主配置文件的正确性(当每次重新设置完nagios可以用此命令测试正确性)
/etc/init.d/nagios start
启动nagios
http://localhost/nagios/
用浏览器查看nagios的情况,用户名和密码就是刚才设置的nagiosadmin的用户名和密码了。
6、安装邮件通知系统
sudo apt-get install mailx
sudo /etc/init.d/nagios restart
官方是这样做的,但是我这样做,却起不了作用,不能发送通知邮件,不知为何,所以我用另外一个方法,如下:
安装sendEmail,这是一个集成POP3和SMTP功能的邮件系统。
sudo apt-get install sendemail
用法介绍:
/usr/bin/sendEmail -f nagios@gmail.com -t joson@hotmail.com -s localhost -u "this is test" -xu nagios -xp 123456 -m abcdefghijklnmopqrstuvwxyz^-^
-f 表示发送者的邮箱,随便定义,最好为一些知名邮箱名称,这样到至于不为邮件服务器当为垃圾邮件。
-t 表示接收者的邮箱
-s 表示SMTP服务器的域名或者ip
-u 表示邮件的主题
-xu 表示SMTP验证的用户名
-xp 表示SMTP验证的密码,这个有
,自己测试
-m 表示邮件的内容
7、修改邮件设置命令
vim /usr/local/nagios/etc/objects/commands.cfg
# 'notify-host-by-email' command definition
define command{
command_name notify-host-by-email
command_line /usr/bin/printf "%b" "***** Nagios *****\
\
Notification Type: $NOTIFICATIONTYPE$\
Host: $HOSTNAME$\
State: $HOSTSTATE$\
Address: $HOSTADDRESS$\
Info: $HOSTOUTPUT$\
\
Date/Time: $LONGDATETIME$\
" | /usr/bin/sendEmail -f nagios@gmail.com -t $CONTACTEMAIL$ -s localhost -u "** $NOTIFICATIONTYPE$ alert - $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ **" -xu nagios -xp 123456
}
二、安装SNMP监控支持
1、安装net-snmp包。
可从如下地址下载,http://net-snmp.sourceforge.net/。
2、除了标准的plugins之后,还需要安装nagios-snmp-plugins,本文中使用的是V-1.1.1版本。
可从以下地址获取最新版本:http://sourceforge.net/projects/nagios-snmp
3、编译可以会发生错误,提示没有安装snmp模块.如下:
Error while checking Net::SNMP module
######### ERROR ########
Module Net::SNMP not found!"
Install it with CPAN or manually : http://www.manubulon.com/nagios/faq.html#FAQ2
echo "######### ERROR ########"
可手动下载CPAN源码包编译安装相关模块,或自动安装模块,如下:
1、 By CPAN (best)
su root
perl -MCPAN -e shell
cpan> install Net::SNMP
如果这是你第一交运行CPAN,它会问你一些简单的配置问题,你直接跳过就可以了!然后安装 Net::SNMP了,然后安照提示一步一步的完成吧,记住,要联通网络的哦^_^
2) "By hand"
下载相关的modules (tar.gz 格式) 在 www.cpan.org
- Crypt::DES
- Digest::MD5
- Digest::SHA1
- Digest::HMAC
- Net::SNMP
for each one (you must install Net::SNMP at the end) :
tar zxf cd perl Makefile.pl make test make install 3、其实不用以上这样做,在 nagios-snmp 的插件里已经包含此模块的源码包,进入nagios-snmp 然后 ./configure --with-perl-modules cd perl perl Makefile.PL make make test make install OK~~^_^ 以上模块编译好了,再从重编译nagios-snmp-plugins和net-snmp vim /etc/snmp/snmpd.conf com2sec notConfigUser default public group notConfigGroup v1 notConfigUser group notConfigGroup v2c notConfigUser view systemview included .1.3.6.1.2.1.1 view systemview included .1.3.6.1.2.1.25.1.1 access notConfigGroup "" any noauth exact mib2 none none view mib2 included .iso.org.dod.internet.mgmt.mib-2 fc syslocation Unknown (edit /etc/snmp/snmpd.conf) syscontact Root pass .1.3.6.1.4.1.4413.4.1 /usr/bin/ucd5820stat 好了,一些基本设置已经完成,具体的设置请参照yahoon兄弟的详述 http://yahoon.blog.51cto.com/13184/d-7 三、结合gnokii ,为nagios 警报进行 短信报警: 1、安装gnokii (安装过程见官方文档) 安装好gnokii之后,/etc/gnokiirc是他的配置文件,主要修改两个地方: model = AT serial_baudrate = 9600 然后还需要将nagios用户(也就是启动nagios的用户)或者其他需要操作猫的用户加入dialout组,这样才有权限操作/dev/ttyS0这个设备,也就是第一个串口设备。 可以用以下命令检测联通性,正常的话会返回设备的信息 gnokii –identify 然后可以测试发信息 #echo -e "testntest " | gnokii --sendsms 1363042xxxx 2、设置nagios 主要修改以下文件。 定义command define command { command_name notify-host-by-gnokii command_line echo "<$HOSTNAME$>\ $HOSTDESC$\ $HOSTSTATE$\ $HOSTOUTPUT$\ $LONGDATETIME$" | gnokii --sendsms $CONTACTPAGER$ >> /usr/local/nagios/var/gnokii.log 2>&1 } define command { command_name notify-servie-by-gnokii command_line echo "<$HOSTNAME$> \ $SERVICEDESC$ \ $SERVICESTATE$\ $SERVICEOUTPUT$\ $LONGDATETIME$| gnokii --sendsms $CONTACTPAGER$ >> /usr/local/nagios/var/gnokii.log 2>&1 } 定义contact define contact{ contact_name josonchen use generic-contact alias josonchen host_notification_commands notify-host-by-email,notify-host-by-gnokii service_notification_commands notify-service-by-email,notify-service-by-gnokii email 13630***192@139.com pager 8613630***192 }
