Nagios HTTP監視
基本的な構文 check_http -H ホスト -I IPアドレス
オプション | 説明 | 省略時 |
---|---|---|
-H | IPアドレス、ホスト名 | |
-I | IPアドレス、ホスト名、HOSTヘッダがつかない | |
-p | ポート番号 | |
-4 | IPv4で | |
-6 | IPv6で | |
-S | SSLで接続する | |
-C | 証明書の有効期限を指定 | |
-e | 正常時の応答ステータスを指定 | 100,200番台はOK400はWARNING、500以上100未満でCRITICAL |
-s | bodyに含まれる文字列を指定 | 省略時はなにもしない |
-u | URLを指定 | / |
-j | HTTPリクエストメソッドの指定 | GET |
-M | ドキュメントの更新日の経過時間 ex 10m(10分) 10h(10時間) 10d(10日) | 単位なしは秒 |
-l | -r -R で改行を使えるように | |
-r | 本文を正規表現で指定 | |
-R | 本文を正規表現で指定(大文字小文字を区別しない) | |
--invert-regex | 正規表現で見つかった時がCRITICAL | |
-a ユーザー名:パスワード | Besic認証のサーバー | |
-A ユーザーエージェント | ユーザーエージェントを指定する | |
-k ヘッダ | ヘッダ情報を追加する | |
-L | 監視URLをHTMLのリンクで出力する(管理画面でリンクが付く) | |
-f 状態 | リダイレクト時の関し状態を指定 ok warning critical follow sticky stickyport | ok |
-m 最小ページサイズ:最大ページサイズ | ページサイズの範囲を指定 | |
-w 応答時間(秒) | warningとする応答時間を指定 | なし |
-c 応答時間(秒) | criticalとする応答時間を指定 | なし |
-t 応答時間(秒) | timeoutとする応答時間を指定 | 10秒 |
-v | デバッグで使う |
バーチャルホストをチェック
www.test.comを監視する
define command{
command_name check_http_vhost
command_line $USER1$/check_http -I $HOSTADDRESS$ -H $ARG1$
}
define service {
use generic-service
host_name web1
service_description HTTPの監視
check_command check_http_vhost!www.test.com
}
文字列が含まれているか監視する
http://ホスト/test.phpにTESTという文字列があるか
define command{
command_name check_http_body
command_line $USER1$/check_http -H $HOSTADDRESS$ -H $ARG1$ -s $ARG2$
}
define service {
use generic-service
host_name web1
service_description 本文の監視
check_command check_http_body!test.php!TEST
}
BASIC認証のあるページを監視する
define command{
command_name check_http_basic
command_line $USER1$/check_http -H $HOSTADDRESS$ -a $ARG1$
}
define service {
use generic-service
host_name web1
service_description BASIC認証の監視
check_command check_http_basic!nagios:nagios
}
SSL証明書を監視する
30日以内になるとwarning 切れてるとcritical
define command{
command_name check_http_ssl
command_line $USER1$/check_http -H $HOSTADDRESS$ -C $ARG1$
}
define service {
use generic-service
host_name web1
service_description 証明書の監視
check_command check_http_ssl!30
}
$USER1$はresouce.cfgで定義
$HOSTADDRESS$はhostで定義したaddressが入るとのこと。