歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux管理 >> Linux服務 >> Linux服務器:Nagios安裝、配置、問題記錄4

Linux服務器:Nagios安裝、配置、問題記錄4

日期:2017/2/25 10:35:54   编辑:Linux服務
在Nagios的web界面的“Event Log”中看到無數條這種類型的記錄,產生原因未知,但是看到進程中有相當多與Nagios相關的進程,於是編寫以下的腳本,將它們全部殺掉:

#!/bin/bash

for PID in `ps -ef | grep -v grep | grep nagios | awk '{print $2}'`

do

echo “PID : $PID”

kill -9 $PID

done

然後再重啟Nagios服務:

service nagios restart

就不再看到產生那些錯誤提示了.

(22)“CHECK_NRPE: Error – Could not complete SSL handshake” 錯誤:

此問題大概有兩個原因:

A)/etc/xinetd.d/nrpe 文件中要添加允許訪問的服務器的IP地址,你沒有添加.在“only_from = ”這一行添加,多個IP地址用空格隔開,例如:

only_from = 192.168.56.200 192.168.6.8

然後重啟服務:

service xinetd restart

Are you sure that IP Virtual Server is built in the kernel or as module?

真折騰,怎麼解決?經試驗,把nagios用戶加入root組也無濟於事,問題依舊.

辦法是:將nagios用戶設置成可以無需密碼直接su成root,這樣就能以nagios用戶運行命令sudo /usr/local/nagios/libexec/check_lvs 了,有了這個基礎,我們就可以自己編寫一個名為check_lvs_nagios的腳本,然後在裡面只寫上一句話:

sudo /usr/local/nagios/libexec/check_lvs

此時,你切換到nagios用戶(su nagios),再運行check_lvs_nagios,應該就可以輸出正確的結果了.

這就完了嗎?還是沒完!!千萬別砸我,事情就要說清楚前因後果.你在Nagios監控服務器端通過NRPE運行check_lvs_nagios命令,你會發現根本無法讀取輸出:

/usr/local/nagios/libexec/check_nrpe -H 192.168.XXX.XXX -c check_lvs_nagios

輸出結果為:

NRPE: Unable to read output

而這個check_lvs_nagios命令,確信是在被監控服務器上的NRPE配置文件(/usr/local/nagios/etc/nrpe.cfg)中添加過了的(並且還重啟了xinetd服務 service xinetd restart):

command[check_lvs_nagios]=/usr/local/nagios/libexec/check_lvs_nagios

於是,我不得不說,使用這個插件的成本太高,不僅需要安裝的東西多,配置麻煩,而且到最後還是無法在只進行少量配置修改的情況下使之運行起來,因此,我轉而自己寫一個插件check_lvs(用shell寫的),比它簡單多了.請試驗運行下面這段簡單的shell:

#!/bin/bash

ACT_COUNT=0

for NUM in `sudo ipvsadm | grep http | grep Route | awk '{print $5}'`

do

ACT_COUNT=$(($ACT_COUNT+ $NUM))

done

echo $ACT_COUNT

這段shell統計了LVS服務統計信息中的“ActiveConn”的值,通過這個值,你就可以判斷出LVS服務是否正常了.當然,上面的shell代碼段並不是一個Nagios插件(因為其並沒有按Nagios系統的要求返回正確的值),但是你只要自己根據阈值來判斷是否正常、並返回相應的值就可以將它改造成一個插件了.

另外請注意:

①這段shell中有用sudo來運行ipvsadm命令,因此你還是需要像上面的內容中所說的一樣,為nagios用戶添加可以無密碼su到root的權限(方法請看這個鏈接的第25條內容).然後你就可以用nagios用戶來運行這個腳本了.

②sudo命令默認不能在後台運行,要開放這個權限,同樣請看這個鏈接的第25條內容.

Copyright © Linux教程網 All Rights Reserved