Trying out mkr
mkrとは
- mackerelのcli
- ホストの情報を表示したり、ステータス(workingとかmaintenanceとか)を操作できる
- ホストの追加やメトリックの投稿が出来る
使いどころ
他のツールと組み合わせて色々できそう
- aws-sdkと組み合わせてTerminateされたホストを自動で退役
- chefと組み合わせてmackerel-agentインストール時にサービス、ロールの割り当てを自動でやる
mkrコマンド例
jqコマンドと組み合わせて特定の条件のホストを一括操作できる
空のホスト作成
- mkr create --status 初期ステータス -R サービス名:ロール名 ホスト名
- 2t6iqB5b7e7はID
- このIDをchef等で
/var/lib/mackerel-agent/id
に書き込めばそのサーバーの監視が始まる
$ mkr create --status maintenance -R ponpokopon:mkrtest mkrtest
created 2t6iqB5b7e7
updated 2t6iqB5b7e7 maintenance
ホストの情報更新
- 全てのmaintenanceステータスのホストをpoweroffステータスにアップデート
$ mkr update --st poweroff $(mkr hosts -st maintenance | jq -r '.[].id')
updated 2t6iqB5b7e7
ホストの退役
- 全てのpoweroffステータスのホストを退役
--force
オプションつければ承認飛ばして退役できう
$ mkr retire $(mkr hosts -st poweroff | jq -r '.[].id')
Retire following hosts.
2t6iqB5b7e7
Are you sure? (y/n) [y]: y
retired 2t6iqB5b7e7
jqにパイプして加工してニヨニヨ
素の状態
$ mkr hosts
hosts名だけ出す
$ mkr hosts | jq -r '.[].name'
名前、id、ステータスを表示するように加工
$ mkr hosts | jq -r '.[] | { name: .name, id: .id, status: .status}'