CentOS7安裝Nagios並配置出圖詳解


目錄

  • 開始之前
    • 系統環境
    • 監控內容
    • 所需軟件包
    • CentOS7重要變化
  • 配置開發環境
    • 同步時間
    • 關閉Selinux
    • 使用CRT上傳軟件包
    • 安裝郵件服務
  • 監控主機安裝
    • 常用到的命令
    • 安裝nagios所需要的運行環境
    • 增加用戶
    • 安裝nagios
    • 配置權限
    • 安裝插件
    • 安裝nrpe
  • 遠程主機安裝
    • 常用到的命令
    • 配置運行環境
    • 安裝nagios-plugin
    • 安裝nrpe
    • 啟動nrpe
    • 監控主機安裝PNP
    • 配置開發環境
    • 安裝pnp4nagios (版本號為0.6)
    • 配置pnp4nagios
    • 圖表展示
  • 問題集合
    • 在首次配置了nagios監控端后,在瀏覽器輸入地址后連接不上
    • 啟動nrpe后卻不能互相通信
    • 安裝pnp4nagios后出現The requested URL /pnp4nagios/graph was not found on this server.
    • 出現“CHECK_NRPE: Error - Could not complete SSL handshake.”的錯誤
    • 執行 ./configure時報錯:configure error cannot find ssl headers
    • 解壓./configure 后,在nagios-4.0.8進行make all報錯
    • 安裝nrpe時執行.configure出錯
    • 錯誤:perfdata directory "/usr/local/pnp4nagios/var/perfdata/" is empty

開始之前

聲明:本文中的命令都經過了測試,但難免有所紕漏,如果你發現命令粘貼后運行有錯,可能是由於符號的格式(尤其是破折號)導致的,此時你應該自己手打一遍命令。對於本文中發現的錯誤和建議,請發送郵件給我:
kylinlingh@foxmail.com,請在郵件主題里注明“關於nagios的問題(建議)”。

--------------------------------------分割線 --------------------------------------

Ubuntu下配置Mrtg監控Nginx和服務器系統資源 http://www.linuxidc.com/Linux/2013-08/88417.htm

使用 snmp+Mrtg 監控 Linux 系統 http://www.linuxidc.com/Linux/2012-11/73561.htm

Mrtg服務器搭建(監控網絡流量) http://www.linuxidc.com/Linux/2012-07/64315.htm

網絡監控器Nagios全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm

Nagios搭建與配置詳解 http://www.linuxidc.com/Linux/2013-05/84848.htm

Nginx環境下構建Nagios監控平台 http://www.linuxidc.com/Linux/2011-07/38112.htm

在RHEL5.3上配置基本的Nagios系統(使用Nagios-3.1.2) http://www.linuxidc.com/Linux/2011-07/38129.htm

CentOS 5.5+Nginx+Nagios監控端和被控端安裝配置指南 http://www.linuxidc.com/Linux/2011-09/44018.htm

Ubuntu 13.10 Server 安裝 Nagios Core 網絡監控運用 http://www.linuxidc.com/Linux/2013-11/93047.htm

--------------------------------------分割線 --------------------------------------

系統環境

一共3台機器,全都按照CentOS7最小化模式安裝系統

系統版本號

[root@localhost ~]# cat  /etc/RedHat-release

CentOS Linux release 7.0.1406 (Core)

監控主機

(一台)

IP地址:192.168.1.204

主機名稱:nagios_server_204

遠程主機

(兩台)

IP地址:192.168.1.112

主機名稱:nagios_slave_112

IP地址:192.168.1.113

主機名稱:nagios_slave_113

分區情況

安裝時使用默認分區(使用 df 命令來查看)

[root@localhost ~]# df -h

監控內容

要監控的服務

監控命令

cpu負載

(check_linux_state.pl -C)

當前用戶登錄數量

(check_users)

磁盤使用情況

(check_disk)

總進程數

(check_procs)

內存使用情況

(check_linux_stats.pl -M)

負載均衡

(check_load)

磁盤IO

(check_linux_stats.pl -I)

網絡流量

(check_linux_stats.pl -N)

打開的文件數量

(check_linux_stats.pl -F)

socket連接數

(check_linux_stats.pl -S)

進程使用的內存和CPU

(check_linux_stats.pl -T)

指定的網站是否可連接

(check_http)

系統在線時長

(check_uptime)

所需軟件包

監控主機

軟件包

下載地址

nagios-4.0.8.tar.gz

請到我的github地址里下載:

https://github.com/Kylinlin/install_nagios_automatically/tree/master/nagios_tools_for_server

注明:我的github項目install_nagios_automatically是一個一鍵自動化安裝nagios的項目(能運行,但還在完善中)

nagios-plugins-2.0.3.tar.gz

nrpe-2.15.tar.gz

pnp4nagios-0.6.25.tar.gz

Sys-Statistics-Linux-0.66.tar.gz

libxml2-2.7.1.tar.gz

遠程主機

軟件包

下載地址

nagios-plugins-2.0.3.tar.gz

請到我的github地址里下載:

https://github.com/Kylinlin/install_nagios_automatically/tree/master/nagios_tools_for_client

nrpe-2.15.tar.gz

Sys-Statistics-Linux-0.66.tar.gz

Centos7重要變化

Centos7相比較以前的Centos有一些涉及到常用命令的變化,如果不事先了解,會在使用命令的時候造成巨大的困擾

Centos7默認沒有ifconfig和netstat兩個命令了,ip addr命令代替了ifconfig,只要安裝上net-tools包就可以繼續使用ifconfig和netstat兩個命令了

systemctl命令的出現(systemctl可以看作是service和chkconfig的組合),雖然仍然可以使用以前的命令,但是會重定向到新的命令中,下面以http服務為例

job

以前的系統

CentOS7

服務開機啟動

chkconfig --level 3 httpd on

systemctl enable httpd.service

服務不開機啟動

chkconfig --level 3 httpd off

systemctl disable httpd

服務狀態

service httpd status

systemctl status httpd

所有服務的啟動狀態

chkconfig --list

systemctl

啟動服務

service httpd start

systemctl start httpd.service

停止服務

service httpd stop

systemctl stop httpd.service

重啟服務

service httpd restart

systemctl restart httpd.service

配置開發環境
同步時間
把監控系統里的所有機器都同步一次網絡時間(非常重要)
[root@localhost ~]timedatectl  #該命令用來檢查當前時間和時區
如果發現所有機器的時區不一致,此時就要使用命令
[root@localhost ~]timedatectl list-timezones  #該命令列出了所有的時區
[root@localhost ~]timedatectl set-timezone Asia/Shanghai #該命令把時區設置為上海
ntpdate time.nist.gov #該命令同步網絡當前的時間
如果提示沒有ntpdate命令,則安裝ntp,並且配置系統自動更新時間
[root@localhost ~]# yum install ntp -y
[root@localhost ~]# /usr/sbin/ntpdate time.nist.gov
[root@localhost ~]# echo '#time sync'>>/var/spool/cron/root
[root@localhost ~]# echo '*/10**** /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1'>>/var/spool/cron/root
關閉Selinux
不關閉selinux可能會導致一些難以察覺的錯誤,為了保險起見,首先關閉selinux:
[root@localhost ~]vi /etc/selinux/config

重啟機器
檢查selinux是否關閉:
[root@localhost ~]getenforce #如果顯示enforcing則沒有關閉
使用SecureCRT上傳軟件包
我在這里使用的SSH連接工具是SecureCRT7.2,通過這個工具上傳文件到Linux的步驟如下:
1.        首先在Linux中安裝傳送文件命令:
[root@localhost ~] yum install lrzsz -y
2.        然后在Linux中跳轉到/usr/local/src目錄下
[root@localhost ~] cd /usr/local/src
3.        運行CRT的傳送文件命令

安裝郵件服務
因為郵件報警服務需要安裝mail功能
[root@localhost ~]yum install –y mailx
[root@localhost ~]yum install –y sendmail
[root@localhost ~]systemctl restart sendmail.service
[root@localhost ~]mail –s Test xxx@xxx.com(你的郵箱地址)
#此時進入輸入模式,輸入完郵件內容后按ctrl + d退出並且發送
監控主機安裝
常用到的命令

命令內容

命令格式

檢查nagios的配置文件是否有錯

/etc/init.d/nagios checkconfig

或者

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

啟動nagios

systemctl start nagios.service

或者

/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg

修改了nagios的配置文件后重新加載配置文件

/etc/init

安裝nagios所需要的運行環境
[root@localhost ~]# yum install gcc glibc glibc-common -y
[root@localhost ~]# yum install php php-gd perl -y
[root@localhost ~]# yum install httpd gd gd-devel openssl openssl-devel -y
[root@localhost ~]# systemctl enable httpd.service #設置CentOS開機啟動服務
增加用戶
[root@localhost ~]useradd -m nagios                              
並將nagios以及apache用戶加入到nagcmd組中
[root@localhost ~]groupadd nagcmd                                
[root@localhost ~]usermod -G nagcmd nagios                        
[root@localhost ~]usermod -a -G nagcmd apache  #把apace用戶添加到與nagios的一個組(apache用戶會在安裝apache時自動創建)
安裝nagios
[root@localhost src]# tar -zxvf nagios-4.0.8.tar.gz
[root@localhost src]# cd nagios-4.0.8
首先初始化和建立編譯的環境
[root@localhost nagios-4.0.8]#./configure --with-command-group=nagcmd
如果能看到下面的基本配置信息則說明初始的環境已經成功配置完成:
之后按照提示執行命令來進行編譯:
[root@localhost nagios-4.0.8]# make all                              
[root@localhost nagios-4.0.8]# make install                          
[root@localhost nagios-4.0.8]# make install-init                    
[root@localhost nagios-4.0.8]# make install-config                  
[root@localhost nagios-4.0.8]# make install-commandmode            
[root@localhost nagios-4.0.8]# make install-webconf
安裝完成之后,在/usr/local/nagios目錄下如果能夠看到這些目錄:
就表示Naigos安裝成功了。
Nagios的樣例配置文件默認安裝在/usr/local/nagios/etc目錄下,配置這些文件就可以使得nagios按要求運行(詳細的配置過程請參考我的另一篇博文:nagios服務配置詳解)
此時應該為email指定您想用來接收nagios警告信息的郵件地址,默認是本機的nagios用戶:
[root@localhost]# vi /usr/local/nagios/etc/objects/contacts.cfg
email        nagios@localhost      #把描紅的地方修改為你的email地址
創建一個登錄nagios web程序的用戶(用戶名配置為nagiosadmin則不需要配置權限,設置為其他用戶名就要配置權限),我在這里把用戶名設置為kylinlin,密碼為123456,這個用戶帳號在以后通過web登錄nagios認證時所用:
[root@localhost ~]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users kylinlin 123456 #把描紅的地方修改為你的用戶名和密碼
配置權限
如果在上面創建登陸nagios web程序的用戶名不是nagiosadmin(我在上面已經設置為kylinlin),在登陸nagios的web界面后(此時我們還不能登錄,但如果你忽略了這一小節的配置,那么在后面的登陸中就會看到如下的界面),點擊Hosts或Services會顯示圖片紅色的錯誤提示

是因為nagios默認把全部的權限給nagiosadmin,所以可以通過修改cgi.cfg文件賦予kylinlin權限,切換到/usr/local/nagios/etc目錄下
[root@localhost etc]# sed -i 's#nagiosadmin#kylinlin#g' cgi.cfg #這條命令將nagiosadmin用戶名替換為kylinlin
[root@localhost etc]# grep kylinlin cgi.cfg  #這條命令檢查是否修改成功


以上過程配置結束以后需要重新啟動httpd:
[root@localhost etc]# systemctl restart  httpd.service
檢查其主配置文件的語法是否正確:
[root@localhost etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
或者使用下面這個命令來檢查語法
[root@localhost etc]# /etc/init.d/nagios checkconfig

顯示錯誤數為0才正確
配置成功

安裝插件
剛才已經提到Nagios主程序只是一個控制中心,而能夠起到服務監測和系統監測等功能的是眾多Nagios的插件,沒有插件的Nagios系統其實只是一個空殼。因此在安裝了Nagios平台之后我們還需要安裝插件。
Nagios插件同樣是在其官方網站下載,目前版本是1.4.15。我將下載的源碼包放到/usr/local目錄下,按照下面的步驟進行解壓,編譯和安裝:
[root@localhost src]# tar zxf nagios-plugins-2.0.3.tar.gz
[root@localhost src]# cd nagios-plugins-2.0.3
[root@localhost nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios
[root@localhost nagios-plugins-2.0.3]#make
[root@localhost nagios-plugins-2.0.3]#make install  
通過下面的命令查看安裝了多少個插件
[root@localhost nagios-plugins-2.0.3]#ls /usr/local/nagios/libexec/|wc -l
然后把Nagios加入到服務列表中以使之在系統啟動時自動啟動:
[root@localhost nagios-plugins-2.0.3]# chkconfig --add nagios                                            
[root@localhost nagios-plugins-2.0.3]# chkconfig nagios on                                            
執行下面的命令來驗證Nagios的樣例配置文件:
[root@localhost ~]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg            

在防火牆中打開http端口
firewall-cmd --add-service=http (即時打開)
firewall-cmd --permanent --add-service=http(寫入配置文件)
firewall-cmd --reload (重啟防火牆)
啟動nagios服務
[root@localhost ~]# /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
之后可以在瀏覽器上訪問鏈接http://192.168.1.204/nagios,輸入登陸名和密碼,如果能夠正常看到頁面,證明主程序和插件都安裝和配置成功(如上圖所示)!點擊“Service”的鏈接來查看你本機的監視詳情。此時可能需要給點時間讓Nagios來檢測你機器上所依賴的服務。


注意上圖中出現了一個處於WARNING狀態的服務,所以我配置過的郵箱里已經收到了報警信息,如果你沒有收到報警信息,此時檢查你是否已經配置了接收報警信息的郵箱,同時檢查是否被當做垃圾郵件而屏蔽了。
安裝nrpe
[root@localhost src]# tar -zxf nrpe-2.15.tar.gz
[root@localhost src]# cd nrpe-2.15
[root@localhost nrpe-2.15]# ./configure --with-nrpe-user=nagios \
    --with-nrpe-group=nagios \
    --with-nagios-user=nagios \
    --with-nagios-group=nagios \
    --enable-command-args \
    --enable-ssl

[root@localhost nrpe-2.15]# make all
[root@localhost nrpe-2.15]# make install-plugin
[root@localhost nrpe-2.15]# make install-daemon
[root@localhost nrpe-2.15]# make install-daemon-config
檢查一下/usr/local/nagios/libexec目錄下是否已經安裝了check_nrpe插件
[root@localhost libexec]# ls | grep check_nrpe
check_nrpe
至此,監控主機已經完成了nagios的安裝

遠程主機安裝

常用到的命令

命令內容

命令格式

關閉nrpe

pkill nrpe

啟動nrpe

/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

啟動nrpe(只適用於有編寫nrpe腳本的情況)

systemctl start nrpe.service

檢查nrpe是否啟動

netstat -lnt
(通過檢查5666端口是否打開)

配置運行環境

首先關閉防火牆:

[root@localhost ~]# systemctl stop firewalld.service

[root@localhost ~]# yum install gcc glibc glibc-common -y

[root@localhost ~]# yum install gd gd-devel openssl openssl-devel -y

[root@localhost ~]# yum install php php-gd perl net-tools -y

安裝nagios-plugin

1)先添加nagios用戶

[root@localhost ~]# useradd -s /sbin/nologin nagios #禁止nagios用戶登錄

2)NRPE依賴於nagios-plugins,因此,需要先安裝之

進入到/usr/local/src目錄下開始執行下面的命令

[root@localhost src]# tar zxf nagios-plugins-2.0.3.tar.gz

[root@localhost src]# cd nagios-plugins-2.0.3

[root@localhost nagios-plugins-2.0.3]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

[root@localhost nagios-plugins-2.0.3]# make all

[root@localhost nagios-plugins-2.0.3]# make install

安裝nrpe

進入到/usr/local/src目錄下開始執行下面的命令

[root@localhost src]# tar -zxf nrpe-2.15.tar.gz

[root@localhost src]# cd nrpe-2.15

[root@localhost nrpe-2.15]# ./configure --with-nrpe-user=nagios \

--with-nrpe-group=nagios \

--with-nagios-user=nagios \

--with-nagios-group=nagios \

--enable-command-args \

--enable-ssl

[root@localhost nrpe-2.15]# make all

[root@localhost nrpe-2.15]# make install-plugin

[root@localhost nrpe-2.15]# make install-daemon

[root@localhost nrpe-2.15]# make install-daemon-config

[root@localhost nrpe-2.15]# ls /usr/local/nagios/libexec/    #如果安裝成功里面有好多NRPE的插件

注意是否有check_nrpe這個插件(沒有的話就說明了nrpe沒有安裝成功)

啟動nrpe

方法一:用命令啟動nrpe

[root@localhost ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

#這條命令啟動nrpe

如果要重啟nrpe,先執行命令:

[root@localhost ~]# pkill nrpe  #關閉nrpe

[root@localhost ~]# netstat -lnt  #這條命令用來檢查端口,看5666端口是否已經被關閉

[root@localhost ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

#重啟nrpe進程

方法二:創建啟動nrpe的腳本

為了便於NRPE服務的啟動,可以將如下內容定義為/etc/init.d/nrpe腳本,在/etc/init.d目錄下新建一個名為nrpe的文件,把下面內容復制進去

#!/bin/bash

# chkconfig: 2345 88 12

# description: NRPE DAEMON

NRPE=/usr/local/nagios/bin/nrpe

NRPECONF=/usr/local/nagios/etc/nrpe.cfg

case "$1" in

      start)

              echo -n "Starting NRPE daemon..."

              $NRPE -c $NRPECONF -d

              echo " done."

              ;;

      stop)

              echo -n "Stopping NRPE daemon..."

              pkill -u nagios nrpe

              echo " done."

      ;;

      restart)

              $0 stop

              sleep 2

              $0 start

              ;;

      *)

              echo "Usage: $0 start|stop|restart"

              ;;

      esac

exit 0

然后添加運行權限:

[root@localhost ~]# chmod +x /etc/init.d/nrpe

啟動nrpe

[root@localhost ~]# systemctl start nrpe.service

檢查5666端口是否成功啟動

[root@localhost ~]# netstat -tnlp

5666端口已經成功啟動

在/usr/local/nagios/etc/nrpe.cfg文件中添加監控主機的ip地址

[root@localhost etc]# vi nrpe.cfg  +81

將allowed_hosts=127.0.0.1 修改為 allowed_hosts=127.0.0.1,192.168.1.204(這是監控主機的ip地址,本機的ip地址為192.168.1.112)

然后重啟nrpe

[root@localhost ~]# pkill nrpe

[root@localhost ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d

在監控主機上(ip地址為192.168.1.204)輸入下面的命令來檢查兩個機器之間是否成功通信

[root@localhost ~]# cd /usr/local/nagios/libexec/

[root@localhost libexec]# ./check_nrpe -H 192.168.1.113

NRPE v2.15  #通信成功

至此,遠程主機安裝nagios完畢。

 

 

監控主機安裝PNP   

重要提醒:看清楚你要安裝的pnp4nagios的版本,因為0.4和0.6的配置方式是不一致的

配置開發環境

[root@localhost ~]# yum install rrdtool librrds-perl -y

安裝pnp4nagios (版本號為0.6)

進入到/usr/local/src目錄下開始執行下面的命令

[root@localhost src]# tar zxf pnp4nagios-0.6.25.tar.gz

[root@localhost src]# cd pnp4nagios-0.6.25

[root@localhost pnp4nagios-0.6.25]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

[root@localhost pnp4nagios-0.6.25]# make all

[root@localhost pnp4nagios-0.6.25]# make install

[root@localhost pnp4nagios-0.6.25]# make install-webconf

[root@localhost pnp4nagios-0.6.25]# make install-config

[root@localhost pnp4nagios-0.6.25]# make install-init

[root@localhost pnp4nagios-0.6.25]# cd ./sample-config

[root@localhost pnp4nagios-0.6.25]# make install-webconf

配置pnp4nagios

[root@localhost pnp4nagios-0.6.25]# cd /usr/local/pnp4nagios/etc/

[root@localhost etc]# mv misccommands.cfg-sample misccommands.cfg

[root@localhost etc]# mv rra.cfg-sample rra.cfg

[root@localhost etc]# mv nagios.cfg-sample nagios.cfg

[root@localhost etc]# cd pages/

[root@localhost pages]# mv web_traffic.cfg-sample web_traffic.cfg

[root@localhost pages]# cd ../check_commands/

[root@localhost check_commands]# mv check_all_local_disks.cfg-sample check_all_local_disks.cfg

[root@localhost check_commands]# mv check_nrpe.cfg-sample check_nrpe.cfg

[root@localhost check_commands]# mv check_nwstat.cfg-sample check_nwstat.cfg

[root@localhost check_commands]# /etc/init.d/npcd start

[root@localhost check_commands]# chkconfig npcd on

配置Nagios數據輸出接口(以BULK模式運行)詳情參考官網https://docs.pnp4nagios.org/pnp-0.6/config#bulk_mode

[root@localhost ~]# vi /usr/local/nagios/etc/nagios.cfg

process_performance_data=1 #默認為0,修改為1

並在該文件中添加下面的內容

#

# service performance data

#

service_perfdata_file=/usr/local/pnp4nagios/var/service-perfdata

service_perfdata_file_template=DATATYPE::SERVICEPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tSERVICEDESC::$SERVICEDESC$\tSERVICEPERFDATA::$SERVICEPERFDATA$\tSERVICECHECKCOMMAND::$SERVICECHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$\tSERVICESTATE::$SERVICESTATE$\tSERVICESTATETYPE::$SERVICESTATETYPE$

service_perfdata_file_mode=a

service_perfdata_file_processing_interval=15

service_perfdata_file_processing_command=process-service-perfdata-file

#

# host performance data starting with Nagios 3.0

#

host_perfdata_file=/usr/local/pnp4nagios/var/host-perfdata

host_perfdata_file_template=DATATYPE::HOSTPERFDATA\tTIMET::$TIMET$\tHOSTNAME::$HOSTNAME$\tHOSTPERFDATA::$HOSTPERFDATA$\tHOSTCHECKCOMMAND::$HOSTCHECKCOMMAND$\tHOSTSTATE::$HOSTSTATE$\tHOSTSTATETYPE::$HOSTSTATETYPE$

host_perfdata_file_mode=a

host_perfdata_file_processing_interval=15

host_perfdata_file_processing_command=process-host-perfdata-file

配置command.cfg

[root@localhost ~]# vi /usr/local/nagios/etc/objects/commands.cfg

在該文件中添加下面的內容

define command{

      command_name    process-service-perfdata-file

      command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/service-perfdata

}

define command{

      command_name    process-host-perfdata-file

      command_line    /usr/local/pnp4nagios/libexec/process_perfdata.pl --bulk=/usr/local/pnp4nagios/var/host-perfdata

}

在模板配置文件中添加圖表圖標模板:

[root@localhost ~]# vi /usr/local/nagios/etc/objects/templates.cfg

在該文件中添加下面的內容

define host {

  name      host-pnp

  action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_

  register  0

}

define service {

  name      service-pnp

  action_url /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$

  register  0

}

在監控主機和服務中調用圖表模板(在主機和服務后面添加新的模板):

[root@localhost ~]# vi /usr/local/nagios/etc/objects/localhost.cfg

按下面的內容修改(不是添加)該文件

define host{

        use                    linux-server,host-pnp                         

        host_name              localhost

        alias                  localhost

        address                127.0.0.1

        }

define service{

        use                            local-service,service-pnp

        host_name                      localhost

        service_description            PING

        check_command          check_ping!100.0,20%!500.0,60%

        }

define service{

        use                            local-service,service-pnp

        host_name                      localhost

        service_description            Root Partition

        check_command          check_local_disk!20%!10%!/

        }

圖表展示

重啟nagios和apache

[root@localhost ~]# systemctl restart nagios.service

[root@localhost ~]# systemctl restart httpd.service

訪問nagios界面即可看到圖表小圖標:

點擊圖標會顯示pnp4nagios測試頁面:

全是綠色代表配置正常,如果不是全綠,要逐個解決錯誤。然后移除或修改install.php文件:

[root@localhost ~]# rm -rf /usr/local/pnp4nagios/share/install.php

再次點擊圖標就會顯示當前監控服務由pnp4nagios生成的圖表了:

至此,nagios監控主機的出圖配置已經全部完成。

 

 

問題集合

在首次配置了nagios監控端后,在瀏覽器輸入地址后連接不上

可能是防火牆屏蔽了80端口,此時打開防火牆的80端口即可:

firewall-cmd --add-service=http (即時打開)

firewall-cmd --permanent --add-service=http(寫入配置文件)

firewall-cmd --reload (重啟防火牆)

如果出現如下錯誤:

You don't have permission to access /nagios/ on this server.nagios

此時要安裝php

yum install php –y

然后重啟httpd:

systemctl restart httpd.service

啟動nrpe后卻不能互相通信

首先啟動nrpe進程

systemctl restart nrped.service

此時可以檢查nrpe綁定的5666端口是否被防火牆屏蔽了:

netstat -tnpl (觀察是否有下面的兩個服務之一)

如果5666端口沒有打開就打開防火牆的5666端口:

firewall-cmd --zone=public --add-port=5666/tcp --permanent (添加5666端口)

firewall-cmd --reload (重啟防火牆)

或者直接關閉防火牆

[root@localhost ~]# systemctl stop firewalld.service

安裝pnp4nagios后出現The requested URL /pnp4nagios/graph was not found on this server.

原因,當你在pnp4nagios安裝的時候執行了make install-webconf,注意它生成了一個apache的配置文件。

你把這個文件:/etc/httpd/conf.d/pnp4nagios.conf 中的所有內容全部添加到apache的httpd.conf文件最后,再重新啟動nagios和apache就應該可以啦。

跳轉到/usr/local/src/pnp4nagios-0.6.25目錄下執行命令

[root@nagios-test pnp4nagios-0.6.25]# make install-webconf

[root@nagios-test pnp4nagios-0.6.25]# cd ./sample-config && make install-webconf

[root@nagios-test pnp4nagios-0.6.25]# service nagios restart

[root@nagios-test pnp4nagios-0.6.25]# systemctl restart httpd.service

出現“CHECK_NRPE: Error - Could not complete SSL handshake.”的錯誤

先安裝開發環境:

yum install openssl openssl-devel

檢查nagios監控端的允許地址和目標端的nrpe允許地址配置正確。比如被監控端的配置(命令:vi  /usr/local/nagios/etc/nrpe.cfg):

allowed_hosts=127.0.0.1,192.168.1.112 (兩個地址之間只有一個逗號,不能有空格)

執行 ./configure時報錯:configure error cannot find ssl headers

原因是缺少openssl-devel包,

yum -y install openssl-devel

解壓./configure 后,在nagios-4.0.8進行make all報錯

報出如下錯誤:

cd ./base && make

make[1]:Entering directory '/tmp/nagios/base'

make[1]:*** No rule to make target '/include/locations.h', needed by 'broker.o'. Stop.

make[1]:Leaving directory '/tmp/nagios/base'

make:***[all]Error 2

安裝好perl就不出這個問題了!命令如下:

yum -y install perl

注意,install perl之后需要重新./configure一下,要不然還是提示這個錯誤

安裝nrpe時執行.configure出錯

在監控主機上安裝check-nrpe插件時(實際上就是nrpe的整個安裝)

./configure 提示報錯:

checking for SSL headers... configure: error: Cannot find ssl headers

如果這時運行命令 make all,則會報錯:make: *** 沒有規則可以創建目標“all”。停止。

解決辦法:

yum -y install openssl-devel

記得:裝完openssl-devel之后,要執行 ./configure

然后再make all

make install-plugin

錯誤:perfdata directory "/usr/local/pnp4nagios/var/perfdata/" is empty.

查閱了很多資料,最終根據官網http://docs.pnp4nagios.org/pnp-0.6/config上的Bulk 模式重新配置了PNP的相關文件(可以參照我上文的內容進行)

Nagios 的詳細介紹請點這里
Nagios 的下載地址請點這里

本文永久更新鏈接地址http://www.linuxidc.com/Linux/2015-12/125777.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM