koudenpaのブログ

趣味のブログです。株式会社はてなでWebアプリケーションエンジニアをやっています。職業柄IT関連の記事が多いと思います。

Mackerelの式グラフで前日比とか先週比とかを眺める

これ。

mackerel.io

仕事では負荷傾向を眺めるのに主にMackerelを使っている。

担当しているサービスはピークタイムの負荷傾向に曜日による差が結構ある。この時「何曜日の負荷が高いのかなぁ」のようなことを眺めたいと思ったときに、単にメトリクスの表示期間を1週間にすると、まさに見たいピークタイムの数値をいい感じに見ることができない(期間を長くするとメトリクスの数値が均されてしまう)。

そんな時にはカスタムダッシュボード式グラフで1日前とか1週間前とかのメトリクスを重ねたグラフを配置して眺めている。

こんな感じに寄って見て、細かい数値で比較できる。

私用アカウントのものだが「3日前が相対的に負荷高めだったんだな」のようなことが視覚的に比較しやすい

式グラフの式は、特定のホストメトリックを一定期間ずつtimeShiftしてaliasをつけているだけ。

1dなら1日ズレる、7日ズラせば1週間分見られる。週ごとに見たいなら1wにすればよい。

group(
  alias(
    host(hostId,loadavg1), 'now'),
  alias(timeShift(
    host(hostId,loadavg1), 1d), '1d ago'), 
  alias(timeShift(
    host(hostId,loadavg1), 2d), '2d ago'), 
  alias(timeShift(
    host(hostId,loadavg1), 3d), '3d ago'), 
  alias(timeShift(
    host(hostId,loadavg1), 4d), '4d ago'), 
  alias(timeShift(
    host(hostId,loadavg1), 5d), '5d ago'), 
  alias(timeShift(
    host(hostId,loadavg1), 6d), '6d ago'), 
  alias(timeShift(
    host(hostId,loadavg1), 7d), '7d ago')
)

式グラフの使い方として、あるメトリクスをtimeShiftして重ねて表示するのは素朴に便利だと思う。

社内で「こんな風に見てる」って共有したら「へー便利(こういう使い方は)知らんかった(思いつかんかった)」って感じだったので、パブリックインターネットにメモした次第。