Mackerel プラグインアドベントカレンダー(全部CRE) に助けられた

MackerelのイケてるCREであるところの id:Soudai さんがやっているアドベントカレンダーを毎日楽しみに読んでいます。

qiita.com

今日は、このAdventCalendarに助けられた話です。

いつものようにMackerelを眺めていたところ、ふと目にとまった文字がありました。
f:id:sugartomato:20171207172729p:plain

ホストメトリック超過……?
確かに日々監視項目を増やしたりはしているけれど、数十~100ちょっとくらいで済んでいたはずなのに……

以前にDrink upでDockerコンテナのストレージデバイスで青天井みたいな話を聞いたこともあったけれど、この自分のサービスでは使ってないし、ホストメトリックが増えるようなことは……あ。

mackerel-plugin-multicore だ。

そういえばコア毎にいろいろなメトリックを取っていたし、このプラグインを入れたノードは確か32コアあったぞ。
マルチコアプラグイン、一体どれだけのメトリックを取っているんだ……

$ mackerel-plugin-multicore | wc -l 
289

mackerel の プラグインは コマンドなので実行できます!ということで行数を数えればメトリック数です。 やりましたね。289ですって。これ1つで天井突き抜けておつりが来ます。

気がついたらデフォルトで見えるmulticoreのグラフ、cpu.userだけしか表示されなくなってるみたいですし、実際userと、あとカスタムグラフでこちょこちょするとしてもsystemとっておけば十分ではないかな。 「たしか、プラグインで取るメトリックと取らないメトリックを選べるとかそんな話があったような……」 「あっ、これMackerelプラグインアドベントカレンダー(全部CRE)でやったやつだ!」

ということで、冒頭のSoudaiさんの記事になるのでした。
はたして、Advent Calendar の1日目にその記載はありました。

soudai.hatenablog.com

またメトリックのフィルタリングについてはmackerel-agentの機能の include_pattern exclude_pattern でも行うことができます。 こちらは別のプラグインでも活用できますので是非ご検討ください。

これをつかえばよいのでしょうということで、

[plugin.metrics.multicore]
command = "mackerel-plugin-multicore"
include_pattern = 'user|system|loadavg_per_core'

と書いてみたら、確かに他のメトリックは投稿されなくなりました。
ホスト数の算出まで反映されるのはしばらく先なのかな……

ということで、素晴らしいAdvent Calendarありがとうございます。
めっちゃ役に立ってます。