pnp4nagios的安裝配置

   nagios 安裝完了,只有數字輸出監控內容是不是不炫麗呢?是不是想像CACTI 一樣出炫麗的圖呢?那你可以選擇PNP,他可以滿足你的需求,只要你的腳本符合perfdata規則,那麼rrdtool就可以出數據,PNP就可以用圖給你畫出來。


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中的驗證

重啓Http服務,訪問http://localhost/pnp4nagios

如果提示“PHP GD extension PHP GD extension not available”  yum install php-gd -y ,然後再重啓http服務即可

去除啓動自檢頁面  mv /usr/local/pnp4nagios/share/install.php mv /usr/local/pnp4nagios/share/install.php.bak


2.創建配置文件

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. 重啓服務

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界面點localhost邊上的小太陽是報錯“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 服務

nagios $> /etc/init.d/nagios restart

9.重啓 http服務



10.實現原理

   PNP出圖的數據來自腳本在系統打印出來的字符串,而Nagios源碼提供的check_procs腳本系統輸出字符串不符合數據格式規範(沒有包含性能數據),所以就無法出圖了。

在源碼中加上性能數據的輸出,這樣就可以出圖了。


11.nagios性能數據格式

例: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;

其中性能數據爲|後面的斜體部分,格式如下:

‘label’=value[UOM];[warn];[crit];[min];[max]

注意事項:

1.空格分割標籤/值對 例如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.標籤可以爲任意長度,但最好少於19個字符並且唯一,(RRD有相關方面的限制),並且需要注意NRPE的返回值的限制(譯者:好像是4K限制)

5.兩個單引號爲指定的轉義字符?

6.warn, crit, min or max 可以爲空(比如,如果沒有定義閥值,最大最小值則不適用)並且最後的分號可以省略

7.如果UOM爲%,則不需要最大最小值

8.value, min and max只能爲負號“-” “0到9” 和小數點“.” 並且單位必須統一 例如:cpu_user=0.5%;99.9;-9;

9.warn and crit必須在某個區間格式,參見2.5章。單位也必須統一

10.UOM必須爲以下其中之一

1.如果未指定,默認爲數字(整數和浮點數)(比如用戶數,進程數,負載等)

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 – 字節(可可以是KB ,MB TB)cpu_user=0KB;100;90; cpu_system=0MB;100;70;  cpu_idle=0B;100;70;

5. c – 一個計數器 (比如網卡的流量)cpu_user=10c;100;90;


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章