監控系統nagios+nconf+pnp4

配置Nconf管理NAGIOS更簡單且效率更高

 

參照上一篇NAGIOS之SNMP方式監控系統的博文,安裝好LAMP環境和NAGIOS.

 

一.本文的案例所需軟件

nconf-1.2.6-0.tgz

pnp4nagios-0.6.18.tar.gz

NSCLIENT++

cgilib-0.6.tar.gz

rrdtool

pnp4nagios-0.6.7.tar.gz

 

二.安裝nconf

1.解壓安裝包

tar -xf nconf-1.2.6-0.tgz -C /var/www/html/

2.配置nconf所需的數據庫級授權用戶

mysql> CREATE DATABASE nconf;
Query OK, 1 row affected (0.01 sec)

mysql> GRANT ALL ON nconf.* TO 'nconf'@'localhost' IDENTIFIED BY 'nconf';
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

3.修改目錄用戶權限

chown -R apache.apache config/ temp/ static_cfg/ output/

4.訪問nconf http://ip/nconf

image

image

image

 

image

image

…………

5.按照需求刪除以安裝文件

6.測試登錄

image

二.配置NCONF

1.無法連接數據庫

image

2.配置NCONF鏈接數據庫及執行腳本

ln -s /usr/local/nagios/bin/nagios bin/nagios
chmod +x /var/www/html/nconf/bin/generate_config.pl 
chown -R apache.apache bin/
chmod +x /usr/local/nagios/bin/nagios
chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh

vim /var/www/html/nconf/ADD-ONS/deploy_local.sh //根據環境修改裏面的nagios路徑,此處無需修改

 

image

3.執行腳本,在/usr/local/nagios/etc/下生成兩個目錄Default_collector 與global 用於存放通用nconf定義的監控資源

cd ADD-ONS/
./deploy_local.sh
Running configuration check...done.
Reloading nagios configuration...done

4.添加至crontab中讓其每隔一分鐘執行一次

*/1 * * * *  /bin/sh /var/www/html/nconf/ADD-ONS/deploy_local.sh

 

5.修改nagios.cfg配置文件加註釋,添加如下兩行

vim /usr/local/nagios/etc/nagios.cfg

image

image

6.重啓Nagios

image

7.以上Nconf 配置完成,安裝客戶端手動添加監控資源測試

8.在被監控機上安裝Windows客戶端.

image

9.配置ini文件填入nagios地址,後重啓客戶端

image

10.添加監控資源

image

 

image

image

 

11.此處省略只列出各屬性的參數值

CPU

image

Memory

image

12.自定義端口

image

13.配置郵件告警,將等三方程序sendEmail 傳入監控機 並添加執行權限(用法請參考上一篇NAGIOS之SNMP監控的博文,這裏不再贅述)

image

14.分別填入以下內容

image

/usr/bin/printf "%b" "***** Nagios *****\n\nNotification Type: $NOTIFICATIONTYPE$\nHost: $HOSTNAME$\nState: $HOSTSTATE$\nAddress: $HOSTADDRESS$\nInfo: $HOSTOUTPUT$\n\nDate/Time: $LONGDATETIME$\n" | /usr/local/bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -s 1.1.1.1 -u "** $NOTIFICATIONTYPE$ Address: $HOSTADDRESS$ is $HOSTSTATE$ **"

/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/local/bin/sendEmail -f [email protected] -t $CONTACTEMAIL$ -s 1.1.1.1 -u "** $NOTIFICATIONTYPE$ Address:$HOSTADDRESS$ ServiceAlert:$SERVICEDESC$ is $SERVICESTATE$ **"

15.測試郵件通知功能,這裏先定義參數值爲20 警告,30嚴重 (郵件通知有點延遲)

image

image

image

三.安裝PNP4NAGIOS

1.安裝cgilib

tar -zxvf cgilib-0.6.tar.gz

cd cgilib-0.6

make

cp aux.h /usr/include/

cp cgi.h /usr/include/

cp libcgi.a /usr/lib/

2.安裝rrdtool

yum –y localinstall rrdtool-*

image

3.安裝pnp4nagios

cd /usr/lib/perl5/5.8.8/i386-linux-thread-multi

cp /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/RRDs.pm /usr/lib/perl5/5.8.8/i386-linux-thread-multi/

測試: perl -MRRDs -le 'print q(ok!)'

注:以上步驟採用rpm包安裝rrdtool時請忽略

tar -zxvf pnp4nagios-0.6.18.tar.gz

cd pnp4nagios-0.6.18/

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-rrdtool=/usr/bin/rrdtool --with-perfdata-dir=/usr/local/nagios/share/perfdata

make;make all

make install

make install-webconf(可不裝)

make install-config

make install-init(可不裝)

(make fullinstall-本命令安裝上述所有步驟)

4.配置apache

vi /etc/httpd/conf/httpd.conf

末尾添加如下信息

Alias /pnp4nagios "/usr/local/pnp4nagios/share"

<Directory "/usr/local/pnp4nagios/share">

AllowOverride None

Order allow,deny

Allow from all

AuthName "Nagios Access"

AuthType Basic

AuthUserFile /usr/local/nagios/etc/htpasswd.user

Require valid-user

<IfModule mod_rewrite.c>

RewriteEngine On

Options FollowSymLinks

RewriteBase /pnp4nagios/

RewriteRule ^(application|modules|system) - [F,L]

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule .* index.php/$0 [PT,L]

</IfModule>

</Directory>

保存後重啓apache服務: service httpd restart

http://192.168.1.109/pnp4nagios/index.php

image

rm -rf /usr/local/pnp4nagios/share/install.php

 

5.配置NCONF支持PNP

image

image

6.填入以下內容

/pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_

image

image

7.填入以下內容

/pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$'class='tips'rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$

image

8.分別真入以下內容

process-host-perfdata

/usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d  HOSTPERFDATA

 

process-service-perfdata

/usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d  HOSTPERFDATA

 

9.創建host-pnp 及srv-php 模板

image

image

10.分別選擇上面定義的action_url,執行測試配置文件選項無報錯稍後即可出圖

image

image

image

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