アドベントカレンダー14日目:SREを読んでみた「分散システムのモニタリング」編④

  • 2020.12.17
163
NO IMAGE

前回の内容では、モニタリングシステムがユーザーに伝えるべきこととモニタリングシステムにおいて、重要なシグナルの種類について、学びました。
今回は、今まで学んだ原則のまとめを行います。

原則のまとめ

モニタリングやアラートのルールを作成する際は、以下の質問を自分にしてみると、誤検知やページャーによる燃え尽き症候群を避けることに役立ちます。(ページャーとは、人間が即対応が必要なタスク、ページは人間が即対応が必要なことを示すアラートです。)

  • ルールによって、検出された状況は、そのルールによって検出される状況であり、緊急対応可能か?また、ユーザーに影響を与えることはあるか?
  • そのアラートは、無害なものだとして、対応せずにおけるか?そのような状況が生まれないようにするにはどうすればいいのか?
  • アラートは確実にユーザーに悪影響を与えるものなのか?
  • アラートにアクションを取ることができるか?緊急で対応する必要があるか、明日まで待てるか、安全に自動化できるか、長期的な対応か、短期的な暫定対応か?
  • ページで問題を受ける人が他にいるか?ページが不要となることはないか?

ページに対する基本哲学

  • ページのたびに緊急対応という感覚を持つ。ただし、緊急対応が多すぎると疲弊していう。疲弊はミスを生む。
  • すべてのページは、具体的な対応が可能でなければならない。
  • ロボット的なレスポンスを返せばいいだけのページは、ページとすべきではない。
  • ページは、新たな問題に関することであるべきである。

長期にわたるモニタリング

モニタリングシステムはモニターするシステムの進化に伴って、進化する必要があります。今日起きたエラーは、非常に稀なエラーであったとしても、将来的には頻発するエラーになるかもしれません。そうならないためには、根本原因を見つけるべきです。
根本的な解決ができないなら、対応を自動化すべきです。今日発生している問題に対処するということは、明日システムの改善に当てる時間が無くなることになります。そのため、システムの長期的な運用に向けて、短期の可用性やパフォーマンスの低下を受け入れる必要が出てきます。
長期的な改善と短期の可用性はトレードオフです。
重要なことは、ページを独立したイベントをとらえるのではなく、そのページがシステム全体に与える影響を考え、長期に持続可能なシステムを目指すことです。

まとめ

  • モニタリングルールの原則、基本哲学を学んだ。
  • モニタリングは、システムを長期的に持続可能にするために行う。
  • 短期の可用性と狂気的な改善はトレードオフ

参考文献

  1. Betsy Seyerほか SRE サイトリライアビリティエンジニアリング オライリー 66-69