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


10

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

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

を使ってみcheck_httpましたが、エラーページにリダイレクトされてもうまくいきます。


check_httpプラグインはサポートしてい-s string特定の文字列HTTPレスポンスを探すことができますオプションを選択します。ページが成功時に特定の文字列を印刷している場合は、それをチェックしてエラーと区別できます。
カレド

回答:


16

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

これはで解決できますcheck_http --expectcheck_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は必須で、その後のテキスト文字列はオプションであり、いくつかの異なることの1つを言う可能性があるため、Nagiosに伝えるだけです期待する401

check_http --expect="401"

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.