nagios 安裝完了,只有數(shù)字輸出監(jiān)控內(nèi)容是不是不炫麗呢?是不是想像CACTI 一樣出炫麗的圖呢?那你可以選擇PNP,他可以滿足你的需求,只要你的腳本符合perfdata規(guī)則,那么rrdtool就可以出數(shù)據(jù),PNP就可以用圖給你畫出來。
目前成都創(chuàng)新互聯(lián)已為1000多家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)絡(luò)空間、網(wǎng)站運(yùn)營、企業(yè)網(wǎng)站設(shè)計(jì)、橋東網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
1.下載安裝 pnp4nagios-0.6.6.tar.gz
nagios $> wget http://down1.chinaunix.net/distfiles/pnp4nagios-0.6.14.tar.gz nagios $> tar zxvf pnp4nagios-0.6.14.tar.gz nagios $> cd pnp4nagios-0.6.14 nagios $> ./configure --with-nagios-user=apache --with-nagios-group=apache nagios $> make all nagios $> make install nagios $> make install-webconf nagios $> make install-config nagios $> make install-init
上面4步可以直接用make fullinstall一步完成
返回HTML URL: http://localhost/pnp4nagios
Apache Config File: /etc/httpd/conf.d/pnp4nagios.conf
注意修改/etc/httpd/conf.d/pnp4nagios.conf中的驗(yàn)證
重啟Http服務(wù),訪問http://localhost/pnp4nagios
如果提示“PHP GD extension PHP GD extension not available” yum install php-gd -y ,然后再重啟http服務(wù)即可
去除啟動(dòng)自檢頁面 mv /usr/local/pnp4nagios/share/install.php mv /usr/local/pnp4nagios/share/install.php.bak
2.創(chuàng)建配置文件
nagios $> cd /usr/local/pnp4nagios/etc nagios $> mv misccommands.cfg-sample misccommands.cfg nagios $> mv nagios.cfg-sample nagios.cfg nagios $> mv npcd.cfg-sample npcd.cfg nagios $> mv process_perfdata.cfg-sample process_perfdata.cfg nagios $> mv rra.cfg-sample rra.cfg nagios $> cd pages nagios $> mv web_traffic.cfg-sample web_traffic.cfg nagios $> cd ../check_commands nagios $> mv check_all_local_disks.cfg-sample check_all_local_disks.cfg nagios $> mv check_nrpe.cfg-sample check_nrpe.cfg nagios $> mv check_nwstat.cfg-sample check_nwstat.cfg
3. 重啟服務(wù)
nagios $> /etc/init.d/npcd restart
4.修改 nagios 的配置文件.打開performance_data
nagios $> cd /usr/local/nagios/etc nagios $> vim nagios.cfg process_performance_data=1 host_perfdata_command=process-host-perfdata service_perfdata_command=process-service-perfdata
5.修改 commands.cfg
nagios $> cd /usr/local/nagios/etc/objects
nagios $> vim commands.cfg
##添加
# 'process-host-perfdata' command definition define command{ command_name process-host-perfdata command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA #注意,此處后面要加 -d HOSTPERFDATA,不然在web界面點(diǎn)localhost邊上的小太陽是報(bào)錯(cuò)“XML file"/usr/local/pnp4nagios/var/perfdata/66/_HOST_.xml" not found. ReadFAQ online” } # 'process-service-perfdata' command definition define command{ command_name process-service-perfdata command_line /usr/local/pnp4nagios/libexec/process_perfdata.pl }
6. 添加小太陽模版,鑲嵌在nagios頁面上。
nagios $> vim templates.cfg
## 在最后添加 define host { name host-pnp action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_ register 0 } define service { name srv-pnp action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ register 0 }
7,修改 hosts.cfg 和 色services.cfg
#修改hosts.cfg
nagios $> vim hosts.cfg define host{ use linux-server,host-pnp host_name eric.com alias eric.com address 192.168.6.101 } # 修改 services.cfg define service{ use local-service,srv-pnp host_name eric.com service_description PING check_command check_ping!100.0,20%!500.0,60% }
8.重啟 nagios 服務(wù)
nagios $> /etc/init.d/nagios restart
9.重啟 http服務(wù)
10.實(shí)現(xiàn)原理
PNP出圖的數(shù)據(jù)來自腳本在系統(tǒng)打印出來的字符串,而Nagios源碼提供的check_procs腳本系統(tǒng)輸出字符串不符合數(shù)據(jù)格式規(guī)范(沒有包含性能數(shù)據(jù)),所以就無法出圖了。
在源碼中加上性能數(shù)據(jù)的輸出,這樣就可以出圖了。
11.nagios性能數(shù)據(jù)格式
例:cpu_user:OK-0% cpu_system:OK-0% cpu_idle:WARNING-99>70% | cpu_user=0%;120;90; cpu_system=0%;100;70; cpu_idle=99%;100;70;
其中性能數(shù)據(jù)為|后面的斜體部分,格式如下:
‘label’=value[UOM];[warn];[crit];[min];[max]
注意事項(xiàng):
1.空格分割標(biāo)簽/值對 例如cpu_user=0%;100;90; cpu_system=0%;100;70; cpu_idle=99%;100;70;
2.label可以包含任何字符
3.單引號可省略,如果label中使用空格、等號和單引號,則需要需要單引號把label括起來。例如’a ‘b’ = c’=0%;100;90;
4.標(biāo)簽可以為任意長度,但最好少于19個(gè)字符并且唯一,(RRD有相關(guān)方面的限制),并且需要注意NRPE的返回值的限制(譯者:好像是4K限制)
5.兩個(gè)單引號為指定的轉(zhuǎn)義字符?
6.warn, crit, min or max 可以為空(比如,如果沒有定義閥值,最大最小值則不適用)并且最后的分號可以省略
7.如果UOM為%,則不需要最大最小值
8.value, min and max只能為負(fù)號“-” “0到9” 和小數(shù)點(diǎn)“.” 并且單位必須統(tǒng)一 例如:cpu_user=0.5%;99.9;-9;
9.warn and crit必須在某個(gè)區(qū)間格式,參見2.5章。單位也必須統(tǒng)一
10.UOM必須為以下其中之一
1.如果未指定,默認(rèn)為數(shù)字(整數(shù)和浮點(diǎn)數(shù))(比如用戶數(shù),進(jìn)程數(shù),負(fù)載等)
2. s – 秒 (可以為納秒us或毫秒ms) cpu_user=0s;100;90; cpu_system=0us;100;70; cpu_idle=0ms;100;70;
3. % – 百分號 cpu_user=0%;100;90; cpu_system=0%;100;70; cpu_idle=99%;100;70;
4. B – 字節(jié)(可可以是KB ,MB TB)cpu_user=0KB;100;90; cpu_system=0MB;100;70; cpu_idle=0B;100;70;
5. c – 一個(gè)計(jì)數(shù)器 (比如網(wǎng)卡的流量)cpu_user=10c;100;90;