Centos 7安裝與配置nagios監控詳細圖解(二)

迷倪小魏發表於2017-04-08

Centos 7安裝與配置nagios監控詳細圖解(一)


一、安裝規劃

1.1系統環境


一共3臺機器,監控主機我選擇根據自己的需求進行安裝,兩臺監控主機按照CentOS 7最小化模式安裝。


1.2所需軟體包

1)監控主機[綠色字型]

2)遠端主機[白色字型和黃色字型]




二、配置安裝環境

2.1同步時間

1)把監控系統裡的所有機器都同步一次網路時間(非常重要)

[root@seiang ~]timedatectl       #該命令用來檢查當前時間和時區





如果發現存在機器的時區不一致,此時就要使用命令

[root@seiang ~]timedatectl list-timezones    #該命令列出了所有的時區

[root@seiang ~]timedatectl set-timezone Asia/Shanghai   #該命令把時區設定為上海

[root@seiang ~]ntpdate time.nist.gov    #該命令同步網路當前的時間






如果提示沒有
ntpdate命令,則安裝ntp,並且配置系統自動更新時間

[root@seiang ~]# yum install ntp -y

[root@seiang ~]# /usr/sbin/ntpdate time.nist.gov

[root@seiang ~]# echo '#time sync' >> /var/spool/cron/root



2.2禁用SElinux

為了保險起見,首先禁用selinux

[root@seiang ~]vi /etc/selinux/config





重啟機器,檢查selinux是否關閉:

[root@seiang ~]getenforce     #如果顯示enforcing則沒有關閉




2.3 xftp上傳軟體包

我在這裡使用xftp上傳工具,透過這個工具上傳安裝包到Linux



2.4安裝郵件服務

因為郵件報警服務需要安裝mail功能

[root@seiang ~]yum install –y mailx

[root@seiang ~]yum install –y sendmail

[root@seiang ~]systemctl restart sendmail.service


[root@seiang ~]mail –s  'wjq-test' jqwei@comsys.com.cn(郵箱地址)

#此時進入輸入模式,輸入完郵件內容後按ctrl + d退出並且傳送





三、監控主機安裝

3.1安裝nagios的執行環境

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

[root@seiang ~]# yum install php php-gd perl -y

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

[root@seiang ~]# systemctl enable httpd.service  #設定CentOS開機啟動服務




3.2增加使用者

[root@seiang ~]useradd -m nagios

[root@seiang ~]groupadd nagcmd 

[root@seiang ~]usermod -G nagcmd nagios

[root@seiang ~]usermod -a -G nagcmd apache  #apace使用者新增到與nagios的一個組(apache使用者會在安裝apache時自動建立)



3.3安裝nagios

(1)解壓安裝包

[root@seiang nagios]# tar -zxvf nagios-4.2.4.tar.gz


[root@seiang nagios]#
cd nagios-4.2.4

2)初始化和建立編譯的環境

[root@seiang nagios-4.2.4]#./configure --with-command-group=nagcmd



如果能看到下面的基本配置資訊則說明初始的環境已經成功配置完成:


3)按照提示執行命令來進行編譯:

[root@seiang nagios-4.2.4]# make all 



[root@seiang nagios-4.2.4]# make install 


[root@seiang nagios-4.2.4]#
make install-init



[root@seiang nagios-4.2.4]# make install-config 



[root@seiang nagios-4.2.4]# make install-commandmode


[root@seiang nagios-4.2.4]# make install-webconf




4)安裝完成之後,在/usr/local/nagios目錄下如果能夠看到這些目錄,就表示Naigos安裝成功了。



5Nagios的樣例配置檔案預設安裝在/usr/local/nagios/etc目錄下,配置這些檔案就可以使得nagios按要求執行,每個目錄及檔案的含義如下:



6)配置檔案之間的關係

nagios的配置過程中涉及到的幾個定義有:主機、主機組,服務、服務組,聯絡人、聯絡人組,監控時間,監控命令等,從這些定義可以看出,nagios各個配置檔案之間是互為關聯,彼此引用的。
   
成功配置出一臺nagios監控系統,必須要弄清楚每個配置檔案之間依賴與被依賴的關係,最重要的有四點:
第一:定義監控哪些主機、主機組、服務和服務組

第二:定義這個監控要用什麼命令實現,
第三:定義監控的時間段,
第四:定義主機或服務出現問題時要通知的聯絡人和聯絡人組。


7)此時應該為
email指定您想用來接收nagios警告資訊的郵件地址,預設是本機的nagios使用者:

[root@seiang]# vi /usr/local/nagios/etc/objects/contacts.cfg

vi中,透過搜尋email,修改郵箱

email        nagios@localhost       #描紅的地方修改為你的email地址



(8)建立一個登入nagios web程式的使用者(使用者名稱配置為nagiosadmin則不需要配置許可權,設定為其他使用者名稱就要配置許可權),我在這裡把使用者名稱設定為nagioseiang,密碼為beijing,這個使用者帳號在以後透過web登入nagios認證時所用:

[root@seiang ~]# htpasswd -bc /usr/local/nagios/etc/htpasswd.users nagioseiang beijing      #把描紅的地方修改為你的使用者名稱和密碼




3.4配置許可權

(1)如果在上面建立登陸nagios web程式的使用者名稱不是nagiosadmin,我在上面已經設定為nagioseiang,在登陸nagiosweb介面後(此時我們還不能登入),

是因為nagios預設把全部的許可權給nagiosadmin,所以可以透過修改cgi.cfg檔案賦予nagioseiang許可權,切換到/usr/local/nagios/etc目錄下

[root@seiang ~]#cd /usr/local/nagios/etc

[root@seiang etc]# sed -i 's#nagiosadmin#kylinlin#g' cgi.cfg    #這條命令將nagiosadmin使用者名稱替換為nagioseiang

[root@seiang etc]# grep nagioseiang cgi.cfg   #這條命令檢查是否修改成功



以上過程配置結束以後需要重新啟動httpd

[root@seiang etc]# systemctl restart  httpd.service


(2)檢查其主配置檔案的語法是否正確:

[root@seiang etc]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

或者使用下面這個命令來檢查語法

[root@seiang etc]# /etc/init.d/nagios checkconfig



3.5安裝外掛

剛才已經提到Nagios主程式只是一個控制中心,而能夠起到服務監測和系統監測等功能的是眾多Nagios的外掛,沒有外掛的Nagios系統其實只是一個空殼。因此在安裝了Nagios平臺之後我們還需要安裝外掛。

 

1Nagios外掛同樣是在其官方網站下載。我將下載的原始碼包放到/software/nagios目錄下,按照下面的步驟進行解壓,編譯和安裝:

[root@seiang src]# tar -zxf nagios-plugins-2.1.4.tar.gz



[root@seiang nagios]#
cd nagios-plugins-2.1.4/

[root@seiang nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=Nagios


[root@seiang nagios-plugins-2.1.4]# make && make install  


2)透過下面的命令檢視安裝了多少個外掛

[root@seiang nagios-plugins-2.1.4]#ls /usr/local/nagios/libexec/ | wc –l



3)把Nagios加入到服務列表中以使之在系統啟動時自動啟動:

[root@seiang nagios-plugins-2.1.4]# chkconfig –add nagios 

[root@seiang nagios-plugins-2.1.4]# chkconfig nagios on


4)執行下面的命令來驗證Nagios的樣例配置檔案:

[root@seiang nagios-plugins-2.1.4]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg  



5)如果防火牆的服務沒有安裝的話,首先使用yum來安裝防火牆服務

 [root@seiang nagios-plugins-2.1.4]# yum install firewall*



6)在防火牆中開啟http

[root@seiang nagios-plugins-2.1.4]# firewall-cmd --add-service=http (臨時開啟)

[root@seiang nagios-plugins-2.1.4]# firewall-cmd --permanent --add-service=http(寫入配置檔案)

[root@seiang nagios-plugins-2.1.4]# firewall-cmd --reload (重啟防火牆)



7)啟動nagios服務

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




8)在瀏覽器上訪問連結,輸入登陸名和密碼,如果能夠正常看到頁面,證明主程式和外掛都安裝和配置成功,如下圖所示:




點選“Host”的連結來檢視你本機的監視詳情



點選“Service”的連結來檢視你本機的監視詳情。此時可能需要給點時間讓Nagios來檢測你機器上所依賴的服務。



注意:

上圖中出現了一個處於WARNING狀態的服務,所以我配置過的郵箱裡已經收到了報警資訊,如果你沒有收到報警資訊,此時檢查你是否已經配置了接收報警資訊的郵箱,同時檢查是否被當做垃圾郵件而遮蔽了。


3.6安裝nrpe

[root@seiang nagios]# tar -zxf nrpe-2.15.tar.gz




[root@seiang nrpe-2.15]# cd nrpe-2.15

[root@seiang 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@seiang nrpe-2.15]#  make all



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

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

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


檢查一下/usr/local/nagios/libexec目錄下是否已經安裝了check_nrpe外掛

[root@ seiang libexec]# ls | grep check_nrpe

check_nrpe


至此,監控主機已經完成了nagios的安裝 


四、遠端主機安裝

4.1配置執行環境

注意:規劃中共有兩臺遠端主機(10.1.1.5510.1.1.58),所以兩臺遠端主機都必須進行配置

1)關閉防火牆:

[root@ nagios-slave-55 ~]# systemctl stop firewalld.service



[root@ nagios-slave-55 ~]# yum install gcc glibc glibc-common -y

[root@ nagios-slave-55 ~]# yum install gd gd-devel openssl openssl-devel -y

[root@ nagios-slave-55 ~]# yum install php php-gd perl net-tools -y




4.2安裝nagios-plugin

1先新增nagios使用者

[root@ nagios-slave-55 ~]# useradd -s /sbin/nologin nagios #禁止nagios使用者登入



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

進入到/software/nagios目錄下開始執行下面開始安裝

[root@ nagios-slave-55 nagios]# tar -zxf nagios-plugins-2.0.3.tar.gz

[root@ nagios-slave-55 nagios]# cd nagios-plugins-2.1.4

[root@nagios-slave-55 nagios-plugins-2.1.4]# ./configure --with-nagios-user=nagios --with-nagios-group=nagios

[root@nagios-slave-55 nagios-plugins-2.1.4]# make all

 

4.3安裝nrpe

1)進入到/software/nagios目錄下開始執行下面的命令

[root@ nagios-slave-55 nagios]# tar -zxf nrpe-2.15.tar.gz

[root@ nagios-slave-55 nagios]# cd nrpe-2.15




[root@ nagios-slave-55 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@ nagios-slave-55 nrpe-2.15]# make all

[root@ nagios-slave-55 nrpe-2.15]# make install-plugin

[root@ nagios-slave-55 nrpe-2.15]# make install-daemon

[root@ nagios-slave-55 nrpe-2.15]# make install-daemon-config

 

[root@ nagios-slave-55 nrpe-2.15]# ls /usr/local/nagios/libexec/    #如果安裝成功裡面有好多NRPE的外掛


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


4.4啟動nrpe

1)用命令啟動nrpe

[root@ nagios-slave-55 ~]# /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg –d     #這條命令啟動nrpe


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

[root@ nagios-slave-55 ~]# pkill nrpe  #關閉nrpe

[root@ nagios-slave-55 ~]# netstat -lntp  #這條命令用來檢查埠,看5666埠是否已經被關閉

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

#重啟nrpe程式


3)檢查5666埠是否成功啟動

[root@ nagios-slave-55 ~]# netstat -tnlp



5666埠已經成功啟動

4)在/usr/local/nagios/etc/nrpe.cfg檔案中新增監控主機的ip地址

[root@ nagios-slave-55 etc]# vi nrpe.cfg  +81

allowed_hosts=127.0.0.1 修改為 allowed_hosts=127.0.0.1,10.1.1.55(這是監控主機的ip地址,本機的ip地址為10.1.1.55



5)重啟nrpe

[root@localhost ~]#pkill nrpe

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



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

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

[root@seiang libexec]# ./check_nrpe -H 10.1.1.55

NRPE v2.15  #通訊成功


至此,遠端主機安裝nagios完畢




五、監控主機安裝PNP   

溫馨提醒:看清楚你要安裝的pnp4nagios的版本,因為0.40.6的配置方式是不一致的

5.1配置開發環境

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

5.2安裝pnp4nagios 

這裡我的pnp的版本號為0.6


1)進入到/software/nagios目錄下開始執行下面的命令

[root@seiang src]# tar -zxvf pnp4nagios-0.6.25.tar.gz



[root@seiang src]# cd pnp4nagios-0.6.25

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



[root@seiang pnp4nagios-0.6.25]# make all

[root@seiangpnp4nagios-0.6.25]# make install

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

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

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

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

[root@seiang sample-config]# make install-webconf

5.3配置pnp4nagios

(1)基本配置

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

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

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

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

[root@ seiang etc]# cd pages/

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

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

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

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

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

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

[root@ seiang check_commands]# chkconfig npcd on




(2)配置Nagios資料輸出介面(BULK模式執行)




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

process_performance_data=1 #預設為0,修改為1

並在該檔案中新增下面的內容


3)配置command.cfg

[root@seiang ~]# 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

}



4)在模板配置檔案中新增圖表圖示模板:

[root@seiang ~]# 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

}

 


















5)在監控主機和服務中呼叫圖表模板(
在主機和服務後面新增新的模板):

[root@seiang ~]# 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%!/

        }

…(8處修改)



配置Nagios資料輸出介面(BULK模式執行)詳情參考官網

六、圖表展示

1)重啟nagiosapache

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

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

2)訪問nagios介面即可看到圖表小圖示:


點選圖示會顯示pnp4nagios測試頁面:全是綠色代表配置正常,如果不是全綠,要逐個解決錯誤。然後移除或修改install.php檔案:

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




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

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


--SEian.G


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31015730/viewspace-2136850/,如需轉載,請註明出處,否則將追究法律責任。

相關文章