Mackerelに現れた幽霊アラートの謎を追え!

Vueはいいぞサーバーアプリケーションエンジニアのリンです。

最近私はどうも記事を書く手が速いらしいということに気づきました。
そのかわり校正はよろしくおねがいしますね!やっていきです。

 

まあそのあたりは置いといて、今回は弊社で起きた、
「Mackerelがめちゃくちゃアラート飛ばしてきよるんやけど該当サーバーはどこにも問題あらへん」
という謎を追いかけた話です。

 

結論

mackerel-agentインストール済みの監視対象サーバーのイメージをクローンして
それぞれ別の用途で使うと、2つのマシンがMackerel上同一サーバーとして認識される

この場合は /var/lib/mackerel-agent/id を削除してから起動すればOK

 

今昔物語

今回の始まり

弊社では、各種サーバーのパフォーマンスモニタリングの結果をslackに通知しています。
それが、夕方ごろからRedashを収容しているサーバーのCPU使用率アラートが、
ほぼ100%と60%くらいを1分の間隔で延々と繰り返すようになったんです。

 

 

なんか変なんだけど、「Redashだし、たまにはそういうこともあるかなー」と思って見ていたんですが、いつまで経っても収まらない。
業務が終わってる時間にも収まらないので流石になにか変だぞ、って他のサーバーエンジニアsに相談しました。

😨「クローリングとかされてるのかなあ?流石に変だと思うので調べてもらっていいですかー?」
😓「topとかvmstatとか使ってみたけど全然リソース使ってないみたいなんです。見方が間違ってるんでしょうか?」
🤔「mackerel-agentの再起動とかやってみたんですが駄目ですね。サポートに問い合わせましょう」

 

サポートの答え

こんにちは。Mackerelチーム CRE の○○と申します。
お問い合わせいただき、ありがとうございます。

ご質問いただきました件に関しまして、一点ご確認いただきたい点としまして、
今回アラートが発生した対象のサーバーについて、
mackerel-agent をインストール済みの別ホストのイメージ・スナップショットなどを
作成して、そこから複製した、といったような作業はおこなっておられませんでしょうか。

mackerel-agent は、初回起動時にホスト毎にユニークなホストIDを
自動発番するような仕組みになっておりまして、
上記のような複製作業をされますと、複製元と複製先のサーバーが Mackerel 側で
同一サーバーとして認識されてしまい、
今回のような意図せぬアラートが発生する場合がございます。

もしそのような作業を実施しておられます場合、以下に注意点を掲載しておりますので、
こちらをご一読くださいませ。

・エージェントインストール済みのマシンイメージ生成時のご注意事項について
・https://mackerel.io/ja/docs/entry/howto/auto-scaling#mackerel-agent-がインストール済みのマシンイメージを作成する際の注意点

回答としましては以上となります。
ご確認のほど、よろしくお願いいたします。

😲「あー!やったわ!ちょっとid抹殺してくる。」「やってみた!」
😆「なおった!!!」

おおー!!🎉やったねリーダー!💪

皆さんお疲れ様でした!

 

まとめ

ということで、監視対象のイメージを複製してしまうとCPU、メモリ、ディスク残量などなど、
各種ロギングが複数のサーバーでごっちゃになってしまって幽霊アラートが現れる、というお話でした。

幽霊アラートが現れたら疑ってみてもいいかもしれません。

個人的にはプロジェクト関係なく、
みんなでわさわさ調べたのがちょっと面白かったです 😆