背景
・いろんなダッシュボードがある。
・ちょっと自分でも作って見るか
・API取得出来るみたい
・Document読んだ。
・需要あるのか?とも思いつつ自分の備忘録用にまとめる。
前提
・ sensu-api host : localhost
・ sensu-api port : 4567
・ 大文字のところは任意環境に合わせて変更
・ 認識違いがあれば申し訳ございません。
処理をcurlで書いて見る
###checks
全体確認
curl -v -X GET http://localhost:4567/checks
個別確認
curl -v -X GET http://localhost:4567/check/CHECK_NAME
###info
確認
curl -v -X GET http://localhost:4567/info
###client
全体確認
curl -v -X GET http://localhost:4567/clients
個別確認
curl -v -X GET http://localhost:4567/clients/NODE_NAME
削除
curl -v -X DELETE http://localhost:4567/clients/NODE_NAME
直近の履歴
curl -v -X GET http://localhost:4567/clients/NODE_NAME/history
events
全体確認
curl -v -X GET http://localhost:4567/events
個別確認
curl -v -X GET http://localhost:4567/events/NODE_NAME
削除
curl -v -X DELETE http://localhost:4567/events/NODE_NAME/CHECK_NAME
stashes
※ ここでは silence/ 下に放り込む事を想定
確認
curl -v -X GET http://localhost:4567/stashes
個別確認
curl -v -X GET http://localhost:4567/stashes/silence/NODE_NAME/CHECK_NAME
作成
curl -v -H "Content-type: application/json" -X POST -d "{\"path\":\"silence/NODE_NAME/CHECK_NAME\",\"content\":{\"timestamp\":TIME}}" http://localhost:4567/stashes
削除
curl -v -X DELETE http://localhost:4567/stashes/silence/NODE_NAME/CHECK_NAME
それから
ここ迄取得方法が分かれば net/http とかにぶち込めば取得可能。
あとは煮るなり焼くなり
出力はJSONだから読みやすいし JSON.parse(str) とかでお好みに
やってみて思った事
多分色々ツールはあるんだけど自分で一からやる事でSensuの理解はちょっとはあがるかな?
情報が少ないので手探りでーす。
JSON見すぎてもう自分もJSON