チェックプラグイン - check-http

check-http は任意のサーバーに対してHTTP接続による監視を行うプラグインです。

指定可能なオプション

オプション 省略形 必須 説明 複数指定 初期値
--url -u 接続先URL
--status -s HTTPレスポンスコードごとの監視結果をkey=valueの形式で指定
--no-check-certificate 証明書の検証を行わない
--source-ip -i ソースIPアドレス
-H HTTPリクエストヘッダー
--pattern -p HTTPレスポンスボディのチェックを行う正規表現
--max-redirects リダイレクトをフォローする最大回数 10
--method -m HTTPリクエストメソッド(GET, HEAD, POST, PUTのいずれかを指定) GET
--connect-to HOST1:PORT1の代わりにHOST2:PORT2に接続を行う。HOST1:PORT1:HOST2:PORT2の形式で指定
--proxy -x HTTPプロキシを経由してリクエストを行う。[PROTOCOL://][USER:PASS@]HOST[:PORT]の形式で指定 PORTは1080
--user Basic認証のユーザーIDとパスワードをUSER[:PASSWORD]の形式で指定
--require-bytes -B レスポンスサイズが指定したバイト数と一致することを確認 -1
--body -d リクエストボディ
--min-bytes -g レスポンスが少なくも指定したバイト数以上であることを確認 -1
--timeout -t タイムアウト時間(秒) 0
--cert-file クライアント認証に使用する証明書を指定
--key-file クライアント認証に使用する鍵ファイルを指定
--ca-file クライアント認証に使用するCA証明書を指定

HTTPレスポンスコードごとの監視結果

--statusオプションでHTTPレスポンスコードごとの監視結果を指定できますが、未指定の場合の監視結果は以下の通りです。

HTTPレスポンスコード 監視結果
100番台 OK
200番台 OK
300番台 OK
400番台 WARNING
それ以外 CRITICAL
  • --statusオプションにはkey=valueの形式でレスポンスコードごとの監視結果を設定できます。
  • HTTPレスポンスコードは200-404のように範囲で指定することも可能です。

エージェントへの設定例

https://mackerel.io/を監視するには以下のように設定します。

[plugin.checks.https-mackerelio]
command = ["check-http", "-u", "https://mackerel.io"]

HTTPレスポンスが404の監視結果をOKとする場合は以下のように設定します。

[plugin.checks.https-mackerelio]
command = ["check-http", "-u", "https://mackerel.io", "--status", "404=OK"]

HTTPステータスコードを200-404のように指定することも可能です。

[plugin.checks.https-mackerelio]
command = ["check-http", "-u", "https://mackerel.io", "--status", "200-404=OK"]

Tips

通常、設定例にあるようなインターネットに公開されているエンドポイントの監視は、URL外形監視にてMackerelの本体サービスから監視することをお勧めしています。

check-http プラグインはインターネットから直接監視することのできない内部向けAPIなど同一ネットワーク内から監視する内形(内部)監視の手段としてご利用ください。

またURL外形監視では対応していないクライアント証明書が必要なURLの監視などの代用としてもご活用いただけます。

リポジトリ

https://github.com/mackerelio/go-check-plugins/tree/master/check-http