はじめに
- 前回の続き
- パッシブ監視を軽く触ってみる
参考
構築
尚、 dockerfile
で構築した場合には関係するプロセスは monit
で監視、起動、停止が行われる(以下、monit
の画面)。
どんなことが出来る?
リクエスト URI
前回からの引き続きとしてどんなことが出来るのかを整理してみる。以下の全てが API 経由で操作が行える。
- 監視メトリクスの取得
- 監視対象へのパッシブ監視
Nagios
設定自体の取得
http://${nagios_url}:4567/_api
で取得出来る内容を確認出来る。
curl -s http://${nagios_url}:4567/_api | jq .
を実行すると以下のように表示される。
{ "PUT": [ "/_status/:host_name/_services", "/_status/:host_name/_services/:service_description", "/_status/:host_name/_services/:service_description/_return_code/:return_code/_plugin_output/:plugin_output", "/_status", "/_status/:host_name", "/_host_status/:host_name" ], "HEAD": [ "/_config", "/_objects", "/_objects/:type", "/_objects/:type/:name", "/_status/:hostname/_services/:service_name", "/_status/(?<hostname>w([w-.]+)?w)/_(?<service>(services|hostcomments|servicecomments))", "/_status(/_hosts)?", "/_status/(?<hostname>w([w-.]+)?w)", "/_api", "/_runtime", "/" ], "GET": [ "/_config", "/_objects", "/_objects/:type", "/_objects/:type/:name", "/_status/:hostname/_services/:service_name", "/_status/(?<hostname>w([w-.]+)?w)/_(?<service>(services|hostcomments|servicecomments))", "/_status(/_hosts)?", "/_status/(?<hostname>w([w-.]+)?w)", "/_api", "/_runtime", "/" ] }
パッシブ監視
パッシブ監視について
今更だが Nagios
のパッシブ監視についてメモ。
- 基本的に
Nagios
が行っている監視はアクティブ監視(Nagios
側から監視対象に対してポーリングする) - 対してパッシブ監視は
Nagios
サーバー以外のプロセスから監視を行い、結果をNagios
で結果を処理させる
nagira を経由してパッシブ監視を行う
以下のような監視結果ファイルを用意する。(Nagios
以外のアプリケーションで監視した結果)
{ "status_code":"0", "plugin_output" : "ping OK" }
このファイルを host_check.json
というファイル名で保存して以下のようなリクエストを nagira
に対して投げると...
curl -s -XPUT -H "Content-type: application/json;" -d @host_check.json "http://172.17.0.2:4567/_status/localhost" | jq .
以下のようにレスポンスが返ってくる。
{ "object": [ { "messages": [], "result": true, "data": { "action": "PROCESS_HOST_CHECK_RESULT", "host_name": "localhost", "plugin_output": "ping OK", "status_code": "0" } } ], "result": true }
パッシブ監視を使えば...
- 外部アプリケーションの結果等を
Nagios
で一元管理することが出来る Nagios
に飛ばす監視結果JSON
形式で扱えることで簡単に他のアプリケーションとの連携が取れそう- でも、イマイチ、機能について理解出来ていない(すんません)
引き続き...
- パッシブ監視の理解を深める
- 出来れば全ての
API
コールについて確認していきたい