Help us understand the problem. What is going on with this article?

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

More than 3 years have passed since last update.

環境

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で切り離すとかしないといけないのだろうか…
もう少しマジメに監視する必要ありそう

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away