koudenpaのブログ

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

Metrin と mkr コマンドでCloudWatchのメトリックをMackerelのサービスメトリックとして投げる

RDS Aurora にはインスタンス毎の情報のほかに、クラスタ毎に割り当てられているストレージボリュームに関する情報がある。

これは、現在のMackerelのAWSインテグレーションでは収集されない。 (2017/10/13現在、多分)

が、収集しておきたい情報なのでサービスメトリックとして投稿したい。

が、CloudWatchのAPI結果の整形だとか、Lambdaとか、よく知らない&面倒くさい。

と、Google検索をさまよっていたら Metrin という素晴らしいツールを作ってらっしゃる方がいらっしゃったので使わせていただいた。

Metrinとmkrが動作するように設定されている環境ならこれだけで飛んでいく、素晴らしい汎用性に感動した。

metrin \
  --region ap-northeast-1 \
  --namespace AWS/RDS \
  --metric-name VolumeBytesUsed \
  --dimension DbClusterIdentifier:$clustername \
  --dimension EngineName:aurora \
  --statistic Maximum \
  --start-time -3600 \
  print --last-value-only \
  | mkr throw -s $servicename

# DbClusterIdentifier+EngineName:auroraのメトリックには以下があるようだ
# - VolumeBytesUsed
# - VolumeReadIOPs
# - VolumeWriteIOPs

こちらのQiita記事で知った。

qiita.com

リポジトリやバイナリの配布はGitHub

github.com