web-dev-qa-db-ja.com

Nagiosで保護されたWebサイトのHTTP応答コードを確認する方法は?

安全なウェブサイトのnagiosチェックを作成したい。チェックに必要なのは、スクリプトに渡したログインの詳細でサイトにログインすることだけです。

これを可能にするプラグインまたはスクリプトを知っている人はいますか?

check_httpを使用してみましたが、Webサイトがエラーページにリダイレクトされても成功します。

10
Simon Foster

Check_httpを使用してみましたが、Webサイトがエラーページにリダイレクトされても成功します

これはcheck_http --expectで解決できます。 check_http --help のドキュメントは次のとおりです。

-e、--expect = STRINGカンマで区切られた文字列のリスト。少なくとも1つはサーバー応答の最初の(ステータス)行にあることが期待されます(デフォルト:HTTP/1。)指定した場合、他のすべてのステータス行ロジックをスキップします(例:3xx、4xx、5xx処理)

次の例は 200 OK HTTP応答コードに対して「OK」を返しますが、302リダイレクトに対して重大なエラーを返します。

Host % check_http --expect=200
HTTP CRITICAL - Invalid HTTP response received from Host: HTTP/1.0 301 OK

セキュアなWebサイト(SSL経由)と認証については、check_http --sslフラグと--authorizationフラグも確認してください。

-S、--ssl SSL経由で接続します。ポートのデフォルトは443です

-a、--authorization = AUTH_PAIR Username:password on sites with basic authentication

または、実際にシステムにログインするのではなく、ページにユーザー名/パスワードが必要であることを確認したいだけかもしれません。そのユーザー名/パスワードはセキュリティ上の問題になる可能性があるためです。その場合、次のようなことを試してください/ 401は、「Unauthorized」または「Authorization Required」のHTTP応答コードです。401は必須であり、その後のテキスト文字列はオプションであり、 Nagiosに401を期待するように伝えます。

check_http --expect="401"
16

Cucumber-Nagios を使用すると、より複雑なチェックを作成できます(ビヘイビア駆動開発/監視の精神に沿ったもの)。

2
joschi