Upgrade to Pro — share decks privately, control downloads, hide ads and more …

より良い監視のための 偽陽性アラート通知抑制

より良い監視のための 偽陽性アラート通知抑制

2022-05-26 に開催された Relic Tech Meetup Online #06 ( https://relic-inc.connpass.com/event/246052/ ) の発表資料です。

Other Decks in Programming

Transcript

  1. より良い監視のための 偽陽性アラート通知抑制 株式会社Relic 相川 拓也 2022-05-26

  2. 概要 - AWS上で稼働するサービス監視の現状と課題 - 偽陽性アラート(社内通称: “オオカミ少年アラート”)問 題への取り組み 2

  3. 自己紹介 - 氏名: 相川 拓也 - 所属: PI事業本部SysDev事業部TPFグループ - 入社日:

    2021-12-01 - 担当業務 - SRE(AWS環境構築、運用・監視, 自動化, ...) - 社内共通開発フローの検討・整理 - etc - 好きな日付形式: ISO 8601 3
  4. 監視対象: AWS上で稼働するWebサービス群 特徴 - 1プロジェクト1AWSアカウント - サービス実装 - PHP-Laravel -

    Ruby-Rails - etc 4 AWS SSO ログイン画面表示例
  5. 共通監視点と通知先 - 共通監視点: - インフラ/サービス状態 - サービス外形監視リクエストへの応答状況 - サーバインスタンス負荷・死活状態 -

    HTTP Error Response 件数 - etc - エラーログ発生状況 - 通知先: 各プロジェクトのSlackチャンネル 5
  6. サービス監視と通知の構成概略 メトリクスデータ -> CloudWatch ログデータ -> CloudWatch Logs にそれぞれ集約し、 Slackに通知

    6
  7. 監視点1: CloudWatchメトリクス 7 監視対象のアラート状態 を各サービスのSlack チャンネルに通知

  8. 監視点2: CloudWatch Logs 8 要監視対象のエラーログ 内容をSlackチャンネル に投稿

  9. 課題: オオカミ少年アラート 各Slackチャンネルに様々な通知が累積 -> アラートへの慣れ・読み飛ばし -> 障害発生時などの緊急アラートを見落しやすくなる 9 緊急アラート オオカミ少年アラート

  10. “より良い”監視に向けて - ゴール: (A)要対応アラート を見逃しにくい仕組みづくり - 手段: (B)オオカミ少年アラート抑制 - できるだけ

    (D)平和状態を保ち、担当者の負担を軽減 - ただし、 (C) 検知漏れを増やしてはいけない 10 緊急 (FATAL) 非緊急 アラート有 (A). 要対応アラート (B). オオカミ少年アラート アラート無 (C). 検知漏れ (D). 平和
  11. オオカミ少年アラート対策方針 - アラート件数抑制 - アラート原因そのものを取り除く (根治) - 例: 野良BotのアクセスにHTTP 5xx

    エラーを返さない - 既知の対応不要な通知の選別と抑制 (filtering) - 例: HTTP 404エラー発生時のサーバ側エラーログを無視 - 見るべきアラート通知の絞り込み - アラート通知先チャンネルの分割 - 見る人・内容・チェック頻度に応じて振り分け 11
  12. 運用例: アラート通知先チャンネルの分割 12 ※画像出典: https://www.ndl.go.jp/portrait/e/datas/329/ えらい人 ※ 開発チーム, SRE #{Project}-alert

    #{Project}-ticket 即座に対応が必要な 緊急度の高いアラート通知 - 非緊急アラート通知 - 要警戒水準の超過 - 異常傾向 - 詳細エラーログ
  13. まとめ - より良い監視に向けて、緊急アラートを見逃しにくい仕 組みの導入目指して活動中 - “オオカミ少年アラート”問題に対する取り組みの紹介 - 非緊急アラート発生の抑止 - 通知先振り分けによるアラート見落としリスク低減

    - 順次導入中、フィードバック待ち 13
  14. 以上です 14