歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux管理 >> Linux服務

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

(7)在montoring server上執行命令:

    /usr/local/nagios/libexec/check_nrpe -H 192.168.17.2 -c check_disk

    提示錯誤:NRPE: Command 'check_disk' not defined

    這是因為沒有配置好兩端的NRPE和Nagios,使得monitoring server不能遠程執行check_disk命令.

    在被監控服務器端,需要修改nrpe.cfg文件:

    dont_blame_nrpe=1

    這將允許命令帶參數執行.

    另外,在nrpe.cfg文件的最後,原來有幾行注釋掉的內容:

    #command[check_users]=/usr/local/nagios/libexec/check_users -w $ARG1$ -c $ARG2$

    #command[check_load]=/usr/local/nagios/libexec/check_load -w $ARG1$ -c $ARG2$

    #command[check_disk]=/usr/local/nagios/libexec/check_disk -w $ARG1$ -c $ARG2$ -p $ARG3$

    #command[check_procs]=/usr/local/nagios/libexec/check_procs -w $ARG1$ -c $ARG2$ -s $ARG3$

    把它們取消注釋.處於注釋狀態的話,NRPE當然找不到這些命令了.

    修改完之後,需要重啟服務:

    service xinetd restart

    (8)錯誤“CHECK_NRPE: Received 0 bytes from daemon. Check the remote server logs for error messages.”的解決:

    這篇文章詳細地講解了解決辦法:Nagios: How to Enable check_nrpe Command Line Arguments

    看完之後你可能很後悔你沒有早看到這篇文章吧?沒錯,和我一樣,要重新編譯安裝NRPE,不過配置Nagios、NRPE的過程就是這樣,折騰來折騰去,不費點勁是解決不了問題的.

    (9)在Nagios中,你會看到類似於“RTA = 455.04 ms”的數據,RTA是什麼呢?引用網上的話作答:Round Trip Average. The average time it took to receive a response to your ping packets.

    (10)在Nagios中,檢測時間周期默認是以分鐘為單位的,例如“normal_check_interval”的值為5時,代表正常檢測周期為5分鐘.假設你想以5秒鐘檢測一次,怎麼辦?這時候你需要修改配置文件nagios.cfg中的“interval_length”參數的值,默認值為60,代表基數是60秒,你改成1,代表基數是1秒,這時,“normal_check_interval”的值為5就表示正常檢測周期為5秒了.請注意,把“interval_length”的值修改以後,所有其他和周期有關的地方你都要檢查一遍,保證都被更改為了正確的數值,否則到時就全亂套了.

    (11)在Nagios中使用自定義變量:

    很簡單:無論是在host,service還是contact定義中,要添加一個自定義的變量,只需要以下劃線開頭就可以了,例如:_my_custom_var為一個在host定義中的自定義變量,則在其他地方,要使用這個變量的話,其宏名為_HOSTMY_CUSTOM_VAR,也就是說,Nagios在不僅將你的變量名轉換成了大寫,而且在前面加了一個“_HOST”.如果是service或contact中的自定義變量的話,則Nagios會分別添加“_SERVICE”或“_CONTACT”到宏名前.

    (12)如果你在用 /usr/local/nagios/bin/nagios -v nagios.cfg 命令檢測你所編寫的Nagios配置文件的正確性的時候,得到了以下警告提示:

    Warning: Service 'XXX' on host 'XXX'  has a notification interval less than its check interval!  Notifications are only re-sent after checks are made, so the effective notification interval will be that of the check interval.

    那 麼很明顯,就是你設置的某項service中的 notification_interval 值比 normal_check_interval 值大導致的了.normal_check_interval 是正常的檢測周期,例如10分鐘檢測一次,20分鐘檢測一次這樣的周期,而 notification_interval 看網上的很多文章,說它是發生故障之後的報警周期,例如該值設置成30分鐘就表示發生故障之後每30分鐘會報一次警.但是 notification_interval 為什麼不能比 normal_check_interval 值要小呢?我完全可以讓某個service一小時才檢測一次,但是發生故障之後每1分鐘報一次警啊!反正我是沒想明白,或者是我對它們的含義理解有誤,還需要進一步斟酌.

    (13)在被監控的服務器上安裝NRPE後,在配置文件 /etc/xinetd.d/nrpe 中,可以設置允許哪些IP地址訪問NRPE daemon,例如:

    only_from       = 127.0.0.1

    表示只有本機可以訪問.為了能讓多台遠程Nagios可以監控此台服務器的狀況,可以在此處添加多個IP地址,中間以空格隔開,例如

    only_from       = 192.168.1.188 58.30.200.199

    表示允許192.168.1.188和58.30.200.199這兩個IP訪問本機上的NRPE daemon.

    保存之後,要重啟服務:

    service xinetd restart

    另外再說一句,在NRPE的配置文件 /usr/local/nagios/etc/nrpe.cfg 中,有一個“allowed_hosts=”的選項,可以設置允許哪些IP地址訪問,但是要注意了,文件裡面的注釋寫得清清楚楚:

    “NOTE: This option is ignored if NRPE is running under either inetd or xinetd”

    也就是說,如果NRPE是運行在在 inetd 或 xinetd 下運行的話,這個選項就被忽略了!所以,我個人覺得最好是在 /etc/xinetd.d/nrpe 中設置允許訪問的IP.

Copyright © Linux教程網 All Rights Reserved