Mackerelのサービスメトリックで寿司の動きを可視化した

寿司に直近1時間のクリック数などを表示するグラフを追加した。

f:id:side_tana:20190723095219p:plain

グラフは Mackerel の機能を使っている。やったことは

  • ステータス取得用エンドポイントの追加
  • ステータスをMackerelに送信する systemd service の追加
    • アプリケーションサーバを直接ぶっ叩いてデータを引っ張り出す
    • curl -s localhost:$PORT/status | curl -s https://api.mackerelio.com/api/v0/services/sushi/tsdb -H 'X-Api-Key: $MACKEREL_API_KEY' -H 'Content-Type: application/json' -X POST -d @- みたいな感じ
  • ↑のサービスを定期的に叩く systemd timer の追加
  • グラフを外部公開する機能を使って埋め込む

みたいな感じ。systemd 周りで意外と時間がかかった*1けど、4はサクッとできて便利!

所感

*1:というかアプリケーションサービスに追加したエンドポイントがぶっ壊れてて常にサーバ起動時のタイムスタンプを使ってステータスを吐いていて、そこに気が付かなかった...