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

SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話

tanden
March 21, 2025

SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話

tanden

March 21, 2025
Tweet

More Decks by tanden

Other Decks in Programming

Transcript

  1. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 2025年3月21日 信頼性向上の第一歩!~SLI/SLO策定までの取り組みと運用事例

    @tanden SLI/SLOの設定を進めるその前に アラート品質の改善に取り組んだ話
  2. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 自己紹介 アプリケーションエンジニアとして開発経験を

    積み、3年前からEMを担当。 SREとしてのバックグラウンドはありません が、2024年1月からサービスレベルマネジメ ントに取り組んでいます。 職歴 Webソーシャルゲーム開発企業→BtoB SaaS→BASE株式会社(2020年) @tanden 2
  3. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. SLI/SLO設定むずかしくないですか? 巻き込むのに時間がかかる

    組織横断で効果的な設定を...となると途端に難しくなる 継続的な改善が求められる 長期的な取り組みのため、体制を作る必要がある 短期的な成果が見えにくい 取り組みが徐々に下火になりやすい 4
  4. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 短期的な成果をどこに置くか SLI/SLO設定は長期戦になるので、逆に短期的な成果も大事。

    初期の成果はチームに勢いをもたらすだけでなく、周囲の信頼を得るきっかけにもなる。 最初の成果として「アラート品質の向上」に狙いを定めた。 アラート自体はサービスレベルマネジメントのコアなプラクティスではありませんが以下の 理由から最初の一歩として選びました。 • 開発組織の困り事として挙がることが多かった(課題が明確にあった) • サービス品質の向上につながる 5
  5. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. アラート品質改善のコンセプト設計 ヒアリングや自身の開発体験をもとに課題の整理を行い、アラートにおける課題を以下の

    3 つに絞りました。 • どのアラート通知チャンネルを見るべきかわからない • アラートが多すぎてどれが重要かわからない • アラートが出たとしても何をしていいのかわからない コンセプト 「アラートが通知されたときにすぐに気づいて次のアクションを起こせるか」 6
  6. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. どのアラート通知チャンネルを見るか Slackのアラート通知先チャンネルの整理を行いました。

    • 過去の組織体制に合わせて作成されたもの • 開発プロジェクト単位で作られたもの • 内容が重複するもの などが乱立しており「どのチャンネルを見ればよいのか」が分かりにくい状態でした。 この課題を解決するため、以下の通りにアラート通知チャンネルの再編を進めました。 1. チャンネルのprefix, suffix 2. 緊急度でチャンネルを分ける 3. サービスの重要度で分ける 7
  7. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 1. チャンネルのprefix,

    suffix チャンネルの検索性と視認性を向上させるため、prefix と suffix の命名規則を定めまし た。これにより、Slack 上で関連チャンネルがまとまって表示されるようになりました。 チャンネル名の prefix notif- チャンネル名の suffix 環境を表す -prd, -stg, -dev 8
  8. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 2. 緊急度でチャンネルを分ける

    通知の緊急度に応じてチャンネルを分けることで、即時対応が必要なアラートに集中しやす い構成としました。分類の基準は syslog の重大度レベルを参考にしています。 即時対応が必要なもの notif-alert- 即時対応は不要だが念の為通知しておきたいもの notif-warn- プログラムの動作確認やデバッグのための情報を通知する(利用後の通知削除を推奨) notif-info- 9
  9. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 3. サービスの重要度で分ける

    サービスの重要度は、「BASE」の主要機能(決済やショップ管理画面)と社内向けの管理画 面ではやはり異なります。サービスごとの重要度を Tier1 から Tier3 に分類し、Tier毎の チャンネル作成方針を作りました。 Tier1 サービス毎に alert レベルのチャンネルを作り通知する。 warn, info レベルではチャンネルをまとめる。 Tier2 alert レベルのチャンネルをまとめる。 warn, info レベルのチャンネルは必要に応じて作成する。 Tier3 alert レベルのチャンネルをまとめる warn, info レベルのチャンネルは必要に応じて作成する。 10
  10. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 再編の結果 これらの整理により、プロダクション環境向け

    の通知チャンネルを 21 から 8 に削減できまし た。 チャンネル数はまだ減らせる余地がありつつ も、アラートの確認先が明確になったことで、 エンジニアの認知負荷を軽減できています。 通知チャンネルを 21 から 8 に削減 11
  11. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. アラートが多すぎてどれが重要か不明 チャンネルの役割や命名規則を整えたことでチャンネルを集約し見るべきチャンネルがわか

    りやすくなりました。 次に取り組んだのがアラート数の削減です。 以下の順番で取り組みを進めました。 1. エラーを一気に減らした 2. 週 1 回 1 時間の定例でアラート設定の見直しとエラー解消を進めた 12
  12. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 1. アラートを一気に減らす

    約 1 ヶ月間で 100 件近くのプルリクエストを 作成し、エラーの根本的な解決とアラート設定 の見直しを集中的に行いました。 ノイズが減ったことで、アラート検知をきっか けに緊急性が高い不具合を見つけることにもつ ながっています。 Sentry の Issue を 970 件→0 件 13
  13. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 2. アラート棚卸し会

    次のステップとして日々新たに発生するアラートへの対応プロセスを確立させる必要があり ました。 そのために週1回1時間のアラートの棚卸し会を実施しています。 棚卸し会では Sentry や New Relic で未対応となっているアラートを確認し、解決方針を定 めて開発チームのバックログに登録→エラーの解消をしています。 棚卸し会の取り組みを始めて約半年ほど経過しましたが、平均して週に 1-2 件のペースでエ ラーとアラート通知の削減を実現できています。 14
  14. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 通知を受けて何をしていいのかわからない アラート対応の効率化を目的とした

    対応手順 書(runbook) の整備を行いました。 アラートの意図や対応方法が不明確だったり、 時間の経過で設定者も内容を忘れ迅速な対応が 難しいケースも見られました。 そこで、アラート設定者含む誰もが素早く対応 方法を把握できるように、runbookの作成と運 用を始めました。 runbookの運用開始 15 New Relic のアラートには runbook のリンクを登録できる機能があり、アラートから直接 runbook にアクセスできて便利です(画像左下)
  15. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. まとめ アラート品質を向上させるために以下の取り組みを行いました。

    • アラート通知チャンネルの役割整理と統廃合 • アラート通知数の削減 • runbook の作成 課題解決はもちろんですが、「サービス品質の改善に取り組んでいるチーム」であると 社内の認知と信頼を獲得することができました。 関わりたいと手を挙げてくれるメンバーも増え、SLI/SLO設定にも協力を得られやすくなっ たと感じています。 まだまだ道半ばですが、これからも泥臭く取り組んでいくことで、サービスの信頼性の向上 につなげていけたらと考えています。 16
  16. © 2012-2019 BASE, Inc. © 2012-2025 BASE, Inc. 最後に 現在、テックリード候補として、一緒に頭を悩

    ませながらプロダクトを成長させていく仲間を 募集しています。 もし興味をもっていただいた方はぜひ 1 度カ ジュアルにお話させてください。 A-1.BASE_テックリード候補 テックリード候補募集中です! 17