web-dev-qa-db-ja.com

Nagios3はHTTPサービスの監視について警告を出します

Nagios3によって監視されるようにローカルネット構成をすでに設定しています。 Nagios3がIP192.168.1.52に設定されたDebianサーバーのHTTP監視サービスで警告を報告するという問題を発見しました。このサーバーには、アプリケーション開発用の個別の仮想ホストと一括仮想ホストがあります。このステータスメッセージが表示されます:

HTTP警告:HTTP/1.1404が見つかりません

Nagiosツールを使用して確認しました。 servernameは、Apache構成で使用したvhostサーバー名の名前です。

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

このステータスメッセージの受信:

HTTP OK HTTP/1.1 200OK-0.504秒で37900バイト| time = 0.503946s ;;; 0.000000 size = 37900B ;;; 0

しかし、私がこのようにチェックすると:

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

警告と同じステータスメッセージが表示されるので、そのサーバーのvhostを認識しないため、Nagiosが完全に適切に設定されていないと思います。check_httpサービスが示すようにどうあるべきか。

その警告を修正するにはどこを見ればよいですか?

1
Dez

人。助けてくれてありがとう。でもあなたの答えをチェックする前に自分で答えを見つけました。ごめんなさい!

これを解決するために、commands.cfgファイルに次のようなカスタムコマンドを作成しました。

コマンドを定義する{

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

}

$ USER1 $の目的についてはよくわかりませんが、$ USER1 $がないとクラッシュし、ボンドの制限が127になります。

ホスト定義は、pQdが書いたものと同様に、Host_nameとaddressですでに正しく書かれています(情報が不足していることをお詫びします!)。

ホストを定義する{

   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 $の使用に気づいていませんでした。助けてくれてありがとう。

2
Dez

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
# ...
}
2
pQd

Webサーバーの1つで「同じ」問題が発生しました。そして、それは私たちのウェブサイトの更新が行われた後に現れました。また、IISのヘッダーも変更されたため、エラーが表示され始めました。

解決策:サーバー名をWebサイト名に変更しました。 「サーバー名」から「site.com」

1
JimiSweden

Nagiosをバイパスし、Nagiosホストのコマンドラインからwgetを使用して、Nagiosに送信しているURLを確認します。

wget http://192.168.1.52/
wget http://servername/

上記のことから、最初のコマンドは失敗しますが、2番目のコマンドは機能すると思います。これにより、仮想サーバー名が別のIPアドレスに解決されていると思います。試してみてください

Dig servername

確認するために。

Nagiosの一般的なデバッグのヒントは、-vオプションを試すことです。これは、ほとんどのプラグインが詳細な出力を提供するために実装しています。 capture_pluginスクリプト は、プラグインがNagiosで実行されているときにデバッグ出力をキャプチャするのに非常に役立ちます。

0
gareth_bowles

Services.cfgで、IPの代わりにサーバー名を確認するか、http応答の代わりにポートを確認してください。

後者の例:

 check_command check_tcp!80 
0
ane