アラート疲れとは?原因と対策を解説
アラート疲れ、すなわちalert fatigueとは、人があまりにも多くのアラートにさらされて感覚が鈍り、本物も含めてそれらを無視し始める状態のことです。
アラート疲れは、監視における最も危険な失敗モードの1つです。なぜなら、それは自ら招いたものであり、静かに進行するからです。システムは技術的には動作しており、アラートも発火していますが、人が注意を払わなくなっています。その結果は、まさにalertingが防ぐはずだったこと、つまりノイズに見えたために見逃された本物のインシデントです。
それが何か
アラート疲れとは、アラートの過負荷によって引き起こされる人の反応力の低下です。アラートの大半が実行不可能または誤報だと判明すると、人はアラートはたいてい重要でないと学習します。その学習された軽視は、やがて本当に重要なまれなアラートにも適用され、深刻な結果を招きます。
何が原因か
- ユーザーが体感する症状ではなく原因でalertingし、1つの実際の問題に対して多数のアラートを生み出すこと。
- 閾値がきつすぎる設定になっており、通常の変動で発火すること。
- 明確なアクションのないアラートで、受け取った側が何をすべきか分からないままになること。
- 発火と解決を繰り返すフラッピングアラート。
- 1つの根本的なインシデントに対する重複したアラート。
なぜ危険か
コストは二重です。実際のインシデントが見逃され、オンコールのエンジニアは絶え間ない中断で燃え尽きます。その中には、本来必要のなかった時間外のpageも含まれます。どちらも信頼性を損ないます。見逃されたインシデントは直接的に、燃え尽きはシステムを健全に保つ人々を遠ざけることによって、です。
チームはどう戦うか
対策は主に容赦のないキュレーションにあります。あらゆる原因ではなく症状でalertingする、各アラートが実行可能であることを求める、関連するアラートをグループ化して重複排除する、変動を無視するための継続時間の条件を加える、そして決してアクションにつながらないアラートを定期的に見直して削除する、ということです。より少なく質の高いアラートは、より多くのアラートに毎回勝ります。
CI/CDにおけるアラート疲れ
pipelineはアラート疲れの典型的な発生源です。もしフレーキーな失敗や一時的な変動のたびに誰かをpageすれば、人はすぐにそのチャンネルをミュートし、本物の破損を見逃します。既知の一時的な失敗のアラートを抑制し、実際で持続的なpipelineの問題にのみalertingすることで、CIの通知を読む価値のあるものに保てます。
重要なポイント
- アラート疲れとは、アラートの過多による感覚の鈍化です。
- よくある原因は、原因ベース、ノイズが多い、または実行不可能なアラートです。
- それはインシデントの見逃しとオンコールの燃え尽きを招きます。
- 対策は、より少なく、症状ベースで、実行可能なアラートです。