Monitoring

Nagios3 對 HTTP 服務監控給出警告

  • August 2, 2011

已經將我的本地網路配置設置為由 Nagios3 監控。我發現一個問題,Nagios3 在 Debian 伺服器的 HTTP 監控服務中報告了一個警告,該伺服器設置為 ip 192.168.1.52,該伺服器具有一個單獨的虛擬主機和一個用於應用程序開發的海量虛擬主機。我收到此狀態消息:

HTTP 警告:未找到 HTTP/1.1 404

我使用 Nagios 工具進行檢查。servername 是我在 Apache 配置中使用的虛擬主機伺服器名稱。

/usr/lib/nagios/plugins/check_http -H 伺服器名 -I 192.168.1.52

收到此狀態消息:

HTTP OK HTTP/1.1 200 OK - 37900 字節在 0.504 秒內 |time=0.503946s;;;0.000000 size=37900B;;;0

但是當我這樣檢查時:

/usr/lib/nagios/plugins/check_http -I 192.168.1.52

我收到與警告相同的狀態消息,因此我假設我沒有完全正確設置 Nagios,因為無法辨識該伺服器的虛擬主機,它應該是 check_http 服務所顯示的。

我應該在哪裡解決該警告?

人們。非常感謝您的幫助,但在檢查您的任何答案之前我自己找到了答案,對不起!

為了解決這個問題,我在 commands.cfg 文件中創建了一個自定義命令,如下所示:

定義命令{

   command_name    custom_check_http  
   command_line    $USER1$/check_http -H $HOSTNAME$ -I $HOSTADDRESS$  

}

不太確定的目的 $ USER1 $ 但沒有它它會崩潰,有 127 限制的債券錯誤。

主機定義已經用 host_name 和 address 正確編寫(對不起,缺少資訊!),與 pQd 編寫的類似。

定義主機{

   host_name SERVERNAME
   alias SERVERNAME_ALIAS
   address 192.168.1.52
   ...

}

最後,services_nagios2.cfg 文件中的服務定義與預設的一樣簡單:

定義服務{

   hostgroup_name                  http-servers  
   service_description             Apache  
   check_command                   custom_check_http  
   use                             generic-service  
   notification_interval           0 ; set > 0 if you want to be renotified

}

我還沒有意識到變數的使用 $ HOSTNAME $ 和 $ HOSTADDRESS $ 在問這個問題之前。再次感謝您的幫助。

你如何在 nagios 中定義服務?

它應該是這樣的:

define command{
command_name    my_check_http
command_line    $USER1$/check_http -H$ARG1$ -I $HOSTADDRESS$
}

define host{
use                     generic-host
host_name               something
alias                   something
address                 192.168.1.52
# ...
}

define service{
use  generic-service
host_name something
check_http_args!nameofvhost
# ...
}

引用自:https://serverfault.com/questions/134385