#./configure--prefix=/usr/local/nagios/--enable-mysql--disable-pgsql--with-ndo2db-user=nagios--with-ndo2db-group=nagios
#make
#cp./src/ndomod-3x.o/usr/local/nagios/bin/ndomod.o
#cp./src/ndo2db-3x/usr/local/nagios/bin/ndo2db
#cp./config/ndo2db.cfg-sample/usr/local/nagios/etc/ndo2db.cfg
#cp./config/ndomod.cfg-sample/usr/local/nagios/etc/ndomod.cfg
#chmod774/usr/local/nagios/bin/ndo*
#chownnagios:
nagios/usr/local/nagios/bin/ndo*
#cp./daemon-init/etc/init.d/ndo2db
#chmod+x/etc/init.d/ndo2db
#chkconfig--addndo2db
#chkconfig--listndo2db
创建或修改启动脚本,软件包里的脚本停止服务有些问题,修改下:
#cp./daemon-init/etc/init.d/ndo2db
#vi/etc/init.d/ndo2db //修改killproc_ndo2db()和stop)里的内容如下:
killproc_ndo2db()
{
kill`pidofndo2db|cut-f1-d""`>/dev/null2>&1 //重复两行
kill`pidofndo2db|cut-f1-d""`>/dev/null2>&1
}
stop)
echo "Stopping$servicename..."
killproc_ndo2db
;
16)安装centreon
下载centreon-2.2.2.tar.gz,地址:
#cd/usr/local/src/
#tar-zxvfcentreon-2.2.2.tar.gz
#cdcentreon-2.2.2
#exportPATH="$PATH:
/usr/local/nagios/bin/"
#./install.sh–i
一路Y下去。
我的报了一个错误。
路径不对,找找RRDS.pm文件。
打开另一个终端
#find/-nameRRDS.pm
/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/RRDs.pm
找到后复制一下就可以了。
其他类似问题同理解决。
安装完成。
启动服务
#/etc/init.d/httpdrestart
#/etc/init.d/mysqldstart
#/etc/init.d/ndo2dbstart
#/etc/init.d/nagiosstart
#chkconfig–level35httpdon
#chkconfig–level35mysqldon
#chkconfig–level35ndo2dbon
#chkconfig–level35nagioson
17)web页面进入http:
//监控机IP/centreon
18)激活配置
定义联系人
检测没有问题,开始激活配置
初配后生成相应的监控模板、主机、服务的配置文件。
重启服务
#servicecentstoragestart
#servicendo2dbrestart
#servicenagiosreload
(三)使用Centreon监控本机数据
1)把原来的默认配置服务都删除,我们重新制定:
2)配置本机IP
3)监控ping
3.1定义check_ping的command,系统已经预先定义。
无需更改。
用法:
Usage:
check_ping-H-w,%-c,%
[-ppackets][-ttimeout][-L][-4|-6]
具体如下:
-H 主机地址
-w WARNING警告状态:
响应时间(毫秒),丢包率(%) 阀值
-c CRITICAL危险状态:
响应时间(毫秒),丢包率(%) 阀值
-p 发送的包数 默认5个包
-t 超时时间 默认10秒
-4|-6 使用ipv4|ipv6地址 默认ipv4
./check_ping-H8.8.8.8-w200,20%-c300,50%-p3-t2
-H目标主机
-w延时200丢包20%
-c延时300丢包50%
延时有3个范围
1.延时小于200
2.延时在200-300范围内
3.延时大于300
小于则输出OK正常
范围内则输出WARNING警告
大于则输出CRITICAL宕机
1、OK正常:
[root@204plugins]#./check_ping-H8.8.8.8-w200,20%-c300,50%-p3-t2
PINGOK-Packetloss=0%,RTA=96.45ms|rta=96.449997ms;200.000000;300.000000;0.000000pl=0%;20;50;0
2、WARNING警告:
[root@204plugins]#./check_ping-H8.8.8.8-w100,20%-c200,50%-p3-t2
PINGWARNING-Packetloss=0%,RTA=106.00ms|rta=106.003998ms;100.000000;200.000000;0.000000pl=0%;20;50;0
3、CRITICAL宕机:
[root@204plugins]#./check_ping-H8.8.8.8-w50,20%-c100,50%-p3-t2
PINGCRITICAL-Packetloss=0%,RTA=128.41ms|rta=128.410995ms;50.000000;100.000000;0.000000pl=0%;20;50;0
3.2增加主机
3.3添加服务
3.3.1加ping
关联主机
然后点击save
后重启服务。
关联主机之后
3.3.2加CPU监控,对本机器的监控通过SNMP来做。
配置本机SNMP,并启动。
修改/etc/snmp/snmpd.conf文件
com2secnotConfigUser10.9.13.133public
accessnotConfigGroup""anynoauthexactallnonenone
viewallincluded.180
修改配置完后,启动服务
#servicesnmpdstart
#chkconfigsnmpdon
添加服务
与添加ping类似,我只接了几个比较重要的图
4)添加内存监控服务
5)添加/分区磁盘使用量
监控本机磁盘使用量使用snmp抓取不到数据,我采用了check_disk这个命令来监控。
6)监控系统启动时间和系统负载
监控结果如下:
(四)监控windows主机
http:
//nsclient.org/nscp/downloads下载个插件通过NSClient来监控
下载后安装一路上下一步。
填写监控机的IP地址。
查看端口是否起来:
服务自动启动。
添加主机win_2003_test:
使用默认的command监控CPU硬盘内存
修改下命令参数:
将密码去掉,因为没有密码。
其他参数同理修改。
参数不对的情况需要自己调试后进行添加服务。
命令模板:
监控CPU
Command_Name check_nt_cpu
Command_Line $USER1$/check_nt-H$HOSTADDRESS$ -p12489-vCPULOAD-l$ARG1$
监控内存:
Command_Name check_nt_mem
Command_Line $USER1$/check_nt-H$HOSTADDRESS$-p12489-vMEMUSE-w$ARG1$-c$ARG2$
example----> !
80!
90
----------------------------------------------------------------------------------------------
监控磁盘:
Command_Name check_nt_disk
Command_Line $USER1$/check_nt-H$HOSTADDRESS$ -p12489-vUSEDDISKSPACE-l$ARG1$-w$ARG2$-c$ARG3$
example----> !
c!
80!
9
通过自定义命令分别监控uptime、NSClient版本、指定进程、指定服务、
------------------------------------------------------------------------------------------------------------------
监控uptime
Command_Name check_nt_uptime
Command_Line $USER1$/check_nt-H$HOSTADDRESS$-p12489-vUPTIME
------------------------------------------------------------------------------------------------------------------
监控NSClient版本:
Command_Name check_nt_NSClient_version
Command_Line $USER1$/check_nt-H$HOSTADDRESS$ -p12489-vCLIENTVERSION
------------------------------------------------------------------------------------------------------------------
监控指定进程:
Command_Name check_nt_proc
Command_Line $USER1$/check_nt-H$HOSTADDRESS$-p12489-vPROCSTATE-l$ARG1$
example----> !
Explorer.exe
------------------------------------------------------------------------------------------------------------------
监控指定服务:
Command_Name check_nt_sevices
Command_Line $USER1$/check_nt-H$HOSTADDRESS$-p12489-vSERVICESTATE-dSHOWALL-l$ARG1$
example----> !
Dhcp
增加服务模板
增加一个CPU的模板NSclient_WIN_CPU
如下图:
同理增加内存、启动时间、客户端软件、磁盘、exploer进程模板
将服务模板关联到相应的主机模板
添加主机将相应的服务通过主机模板进行添加
主机有主机模板,服务有服务模板,通过设定服务模板,将其关联到主机模板,然后新建主机匹配主机模板。
达到为其设置服务监控的命令。
(五)添加短信报警功能
1)下载飞信机器人
http:
//bbs.it-
2)下载支持库
3)安装:
linuxso_20101113.rar文件在Windows 下解压,全部文件上传到linux下的/usr/local/fetion
目录。
#cplinuxso_20101113/*/usr/local/fetion
fetiony 主程序也copy到/usr/local/fetion下
#cpfetion/usr/local/fetion/
#chmod 755/usr/local/fetion/fetion
#chown–Rnagios.nagios/usr/local/fetion
3)测试
#LD_LIBRARY_PATH=/usr/local/fetion/usr/local/fetion/fetion--mobile=152100xxxx--pwd=xxxxxxxx--to=xxxxxxxxx--msg-utf8="testforfetion"
生成了个验证码文件路径在/usr/local/fetion/,下载下来填写进去:
据说密码设置复杂一点可以只是输入一次验证码!
我试验成功了!
发送成功。
4)与centreon结合进行试验:
4.1定义命令:
4.1.1定义主机警报命令:
注意把手机号替换成你的号:
Command_name notify-host-by-fetion
Command_line LD_LIBRARY_PATH=/usr/local/fetion/usr/local/fetion/fetion--mobile=136********--pwd=***********--to=$CONTACTPAGER$--msg-utf8="Host$HOSTSTATE$alertfor$HOSTNAME$($HOSTADDRESS$)!
on$LONGDATETIME$"$CONTACTPAGER$
4.1.2同理定义定义服务报警
Command_name notify-service-by-fetion
Command_line LD_LIBRARY_PATH=/usr/local/fetion/usr/local/fetion/fetion--mobile=136********--pwd=***********--to=$CONTACTPAGER$ --msg-utf8="$HOSTADDRESS$$HOSTALIAS$/$SERVICEDESC$is$SERVICESTATE$on$LONGDATETIME$"
4.2配置联系人和如何联系联系人
4.3启动警报
4.3.1主机启动警报
4.3.2服务启动警报
和启动主机警报一样的原理,红叉表未启动报警功能。
启动之后,重启nagios:
这样就完事了,down个主机看看吧!
短信接收正常,但是邮件发送不成功。
(六)排查文件发送问题
查看日志:
/var/log/maillog
查阅资料需要修改/etc/mail/sendmail.cf
添加一行Dj$w.Gaogo.COM
#servicesendmailrestart重启服务
因为我设置的邮箱为139邮箱,开启短信提醒功能:
呵呵这样邮件也能转到手机上了。
测试下速度,这两种方式短信机器人快过139邮箱短信接收几秒钟。
所以报警建议使用
139邮箱接收。
fetion机器人因为经常更新版本不建议使用。
(七)监控linux主机
7.1)这里监控linux远程主机的系统信息,使用到NRPE插件。
1.先安装NRPE插件
#wget