LoginSignup
6
6

More than 5 years have passed since last update.

Consulクラスタ全体が不安定になった事案と原因

Last updated at Posted at 2015-09-29

環境

Consul Server(0.5.2) x 3
Consul Agent(0.5.2) x 数十台

現象

とある日、プロダクトのConsulクラスタ管理下のサーバがちょいちょいアラート出すので
Consulログを確認するとノードが数分間隔で EventMemberFailedEventMemberJoin を繰り返していた。
特に特定のノード、というわけでもなく、ランダムにノードがFailし、数十秒後にJoinし直す、というログがひっきりなしに出力されていた。

「consul flapping」でぐぐってみると、いくつか同じような現象で悩んでいる事案があるようだった。

原因となったサーバ

ほぼ全てのノードがflapping状態だったので原因つかめず途方に暮れていたが、この投稿

memberlist: Refuting a suspect message (from: a-01)

のfromのサーバを見るといいよ、とあったのでgrepしてみるとビンゴ。
そのサーバにログインしてみると動作がめっちゃ重い。
ただ、topやvmstatでみても過負荷ではないし特に原因は見当たらず…
しかしEC2のステータスを見るとなんか定期的にFailしてたのでサーバ自体がなんかおかしかった様子。

スクリーンショット 2015-09-29 1.55.43.png

復旧

原因となったEC2 stop>start でインスタンスリフレッシュしたらサーバが正常に戻り
全てのサーバログに出力されていたRejoinのログもピタリと止まり、
クラスタ全体も安定稼働に戻った。

Agentサーバが不安定になった根本的な原因?

よくわかってないけど、2つの可能性を考えてみた。

  1. EC2自体がおかしくなってリタイアする予定だった?
    • 通知は来てないけど、たまにあるし…
  2. I/O クレジット食いつぶしてた?
    • t2.microだったし、しばらく起動しっぱなしだったし、ネットワークも定期的に使われてたので、I/Oクレジットがなくなって不安定になった説。 ※そもそもこれ(I/Oクレジット残)確認する方法あるんだっけ?

まとめ

Agentの1台のネットワークが不安定になると、全体的に不安定になるのちょっと怖いなーと思いました。
常に監視しといて、怪しいサーバはforce-leaveで切り離すとかしないといけないのだろうか…
もう少しマジメに監視する必要ありそう

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6