環境中的軟件版本>>>>>>>>>>>>>>>>>>
nagios版本:3.5.1
rrdtool版本:1.3.8
pnp4nagios版本:0.6.21php
1、第一部分:nagios服務的部署安裝 ios
(1)安裝nagios服務所需的依賴web
[root@nagios_server ~]# yum install yum install gcc make -y //nagios源碼安裝須要 [root@nagios_server ~]# yum install glibc glibc-common -y //最小化安裝的系統都會安裝有這兩個包 [root@nagios_server ~]# yum install httpd php -y [root@nagios_server ~]# yum install gd gd-devel -y //php所需的gd庫,不安裝會影響主頁上的Map功能
(2)、建立nagios用戶、nagcmd組、
將nagios和apache用戶加入到nagcmd組中apache
[root@nagios_server nagios]# useradd nagios [root@nagios_server nagios]# groupadd nagcmd [root@nagios_server ~]# usermod -a -G nagcmd nagios [root@nagios_server ~]# usermod -a -G nagcmd apache
(3)源碼安裝nagios網站
[root@nagios_server ~]# tar xf nagios-3.5.1.tar.gz [root@nagios_server ~]# cd nagios [root@nagios_server nagios]# ./configure --with-command-group=nagcmd [root@nagios_server nagios]# make all //編譯全部的源碼 [root@nagios_server nagios]# make install //安裝主程序,CGIs,網頁文件,會產生bin、libexec、sbin、share、var目錄 [root@nagios_server nagios]# make install-config //安裝etc配置目錄 [root@nagios_server nagios]# make install-init //安裝nagios啓動腳本 [root@nagios_server nagios]# make install-webconf //爲nagios網站安裝httpd配置文件 [root@nagios_server nagios]# make install-commandmode //外部命令訪問nagios配置文件的權限、爲./var/rw設置0775權限、改所屬組爲nagcmd
(4)解壓nagios插件包、而後進入其目錄,執行以下命令編譯安裝url
[root@nagios_server nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagiosc --with-nagios-group=nagcmd [root@nagios_server nagios-plugins-2.0.3]# make && make install //編譯安裝
(5)啓動httpd和nagios服務,而後爲nagios網站首頁設置密碼spa
[root@nagios_server ~]# htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
根據提示會要求輸入和肯定密碼,上面命令nagiosadmin爲用戶名,以下圖所示:插件
第二部分:RRDTool+PNP4nagios的安裝 3d
pnp4nagios是一個小巧的開源軟件包,它是基於PHP和Perl,利用rrdtool將Nagios採集的數據繪製成圖表。rest
(1)其中對於rrdtool,咱們能夠直接使用yum的方式,在此也一同安裝上pnp4nagios所需的依賴
[root@nagios_server ~]# yum install perl rrdtool php-gd perl-Time-HiRes rrdtool-perl -y
(2)解壓pnp4nagios,進入pnp4nagios-0.6.21目錄執行以下命令
[root@nagios_server pnp4nagios-0.6.21]# ./configure \ --prefix=/usr/local/pnp4nagios \ --with-rrdtool=/usr/bin/rrdtool \ --with-nagios-user=nagios \ --with-nagios-group=nagios
[root@nagios_server pnp4nagios-0.6.21]# make all //編譯全部源碼 [root@nagios_server pnp4nagios-0.6.21]# make fullinstall //安裝所有
(3)配置pnp4nagios軟件,須要修改pnp4nagios/etc下的目錄,及其pages、check_commands目錄的文件後綴
[root@nagios_server pnp4nagios-0.6.21]# cd /usr/local/pnp4nagios/etc [root@nagios_server etc]# mv misccommands.cfg-sample misccommands.cfg [root@nagios_server etc]# mv nagios.cfg-sample nagios.cfg [root@nagios_server etc]# mv rra.cfg-sample rra.cfg [root@nagios_server etc]# mv pages/web_traffic.cfg-sample pages/web_traffic.cfg
[root@nagios_server etc]# cd check_commands/ [root@nagios_server check_commands]# mv check_all_local_disks.cfg-sample check_all_local_disks.cfg [root@nagios_server check_commands]# mv check_nrpe.cfg-sample check_nrpe.cfg [root@nagios_server check_commands]# mv check_nwstat.cfg-sample check_nwstat.cfg
(4)啓動npcd服務
[root@nagios_server check_commands]# /etc/init.d/npcd restart //啓動npcd
(5)重啓httpd服務,經過http://ip地址/pnp4nagios 驗證pnp4nagios是否成功,若是安裝成功、按提示刪除以下文件
[root@nagios_server check_commands]# rm -rf /usr/local/pnp4nagios/share/install.php
第三部分:nagios與pnp4nagios的結合
(1)定義命令、須要註釋掉自帶的process-host-perfdata和process-service-perfdata
編輯/usr/local/nagios/etc/objects/commands.cfg文件,加入以下內容:
define command{ command_name process-host-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA } define command{ command_name process-service-perfdata command_line /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl }
(2)定義模板,編輯/usr/local/nagios/etc/objects/templates.cfg,加入以下內容:
define host {
name hosts-pnp register 0 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_ process_perf_data 1 }
define service { name srv-pnp register 0 action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$ process_perf_data 1 }
(3)修改nagios配置文件/usr/local/nagios/etc/nagios.cfg
process_performance_data=1 //默認爲0 host_perfdata_command=process-host-perfdata //默認前面有註釋符# service_perfdata_command=process-service-perfdata //默認前面有註釋符#
(4)接下來就是模板的引用,只須要在須要出圖的服務上引用srv-pnp便可,也能夠在須要出圖的主機上引用hosts-pnp,引用了就能夠見到以下效果: