安全なウェブサイトのnagiosチェックを作成したい。チェックに必要なのは、スクリプトに渡したログインの詳細でサイトにログインすることだけです。
これを可能にするプラグインまたはスクリプトを知っている人はいますか?
を使ってみcheck_http
ましたが、エラーページにリダイレクトされてもうまくいきます。
安全なウェブサイトのnagiosチェックを作成したい。チェックに必要なのは、スクリプトに渡したログインの詳細でサイトにログインすることだけです。
これを可能にするプラグインまたはスクリプトを知っている人はいますか?
を使ってみcheck_http
ましたが、エラーページにリダイレクトされてもうまくいきます。
回答:
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
は必須で、その後のテキスト文字列はオプションであり、いくつかの異なることの1つを言う可能性があるため、Nagiosに伝えるだけです期待する401
。
check_http --expect="401"
Cucumber-Nagiosを使用すると、より複雑なチェックを作成できます(行動主導型の開発/モニタリングの精神に基づく)。
check_http
プラグインはサポートしてい-s string
特定の文字列HTTPレスポンスを探すことができますオプションを選択します。ページが成功時に特定の文字列を印刷している場合は、それをチェックしてエラーと区別できます。