目錄 php
開始以前 linux
聲明:本文中的命令都通過了測試,但不免有所紕漏,若是你發現命令粘貼後運行有錯,多是因爲符號的格式(尤爲是破折號)致使的,此時你應該本身手打一遍命令。對於本文中發現的錯誤和建議,請發送郵件給我:
kylinlingh@foxmail.com,請在郵件主題裏註明「關於nagios的問題(建議)」。 ios
--------------------------------------分割線 -------------------------------------- git
在Ubuntu下配置Mrtg監控Nginx和服務器系統資源 http://www.linuxidc.com/Linux/2013-08/88417.htm github
使用 snmp+Mrtg 監控 Linux 系統 http://www.linuxidc.com/Linux/2012-11/73561.htm web
Mrtg服務器搭建(監控網絡流量) http://www.linuxidc.com/Linux/2012-07/64315.htm apache
網絡監控器Nagios全攻略 http://www.linuxidc.com/Linux/2013-07/87067.htm 瀏覽器
Nagios搭建與配置詳解 http://www.linuxidc.com/Linux/2013-05/84848.htm bash
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的相關文件(能夠參照我上文的內容進行)