Mackerelの外形監視から雑に稼働率を算出する
今日はYAPC::Tokyo 2019の前夜祭で東京に来ています。ペパボではサーバ、サービスの監視にMackerelを採用しているのですが、サービスの稼働率を雑にとりたいという思いが昨日生まれ、今日移動する間になんとなくPoC出来てしまった。
実装としては外形監視の停止時間をAlertAPIから取得し、週や月ごとの稼働率を算出し、それをサービスメトリックとしてポストする感じ。このグラフは僕のブログ pyama.fun の稼働率を出してみたものです。
使い方は、設定ファイルをYAMLで定義します。
profile_name:
monitor_name: "health-example.com"
service_name: "example"
period: "week" # week or month
profile_name は設定の定義名です、monitor_name にはMackerelの監視名を指定してください。service_name はMackerelのサービス名です。periodは今の所weekとmonthをサポートしています。
こんな設定ファイルを avr.yml に定義して、実行すると動くはずです。
$ bundle exec ruby mackerel-avr.rb
とりあえずシュババッと書いたのであれなのですが、今後ペパボで導入するにあたってコンテナ化したり、k8sのcronで動かすあれをやるので、またそのときにブログを書きたいと思います。
今日はあとはYAPC楽しむぞ!!1