[章番号]: 監視・運用設計書
このテンプレートの使い方
このファイルは、システムの安定稼働を支えるための監視、ロギング、アラートなどの運用設計を定義するためのテンプレートです。
SRE (Site Reliability Engineering) の観点を取り入れ、SLI/SLOを定義することを推奨します。
詳しい使い方は「設計仕様の書き方ガイド」を参照してください。
1. はじめに
1.1. 目的
2. SLI/SLO (サービスレベル指標/目標)
2.1. SLI (Service Level Indicators)
| SLI名 |
計算式 |
説明 |
| 可用性 |
(成功リクエスト数 / 総リクエスト数) * 100 |
システムが正常に応答を返した割合。 |
| レイテンシ |
95パーセンタイルのAPI応答時間 |
ユーザーリクエストの95%が完了するまでの時間。 |
2.2. SLO (Service Level Objectives)
| SLI名 |
目標値 |
期間 |
| 可用性 |
99.9% |
過去30日間 |
| レイテンシ |
500ms未満 |
過去30日間 |
3. ログ設計
3.1. ログの収集と集約
- 収集対象:
- アプリケーションログ (JSON形式)
- Webサーバーアクセスログ
- データベースのスロークエリログ
- OSログ
- 集約ツール: [例: Fluentd, AWS Kinesis Data Firehose]
3.2. ログのフォーマット
timestamp, level, message, correlation_id, user_id, duration_ms
3.3. ログの保管
- 保管場所: [例: AWS CloudWatch Logs, Elasticsearch]
- 保管期間: 90日間
4. メトリクス監視設計
4.1. 監視対象と主要メトリクス
| 対象 |
主要メトリクス |
| レイテンシ |
APIエンドポイントごとの応答時間 (p50, p95, p99) |
| トラフィック |
リクエスト数/秒 (RPS) |
| エラー |
HTTP 5xxエラー率, 4xxエラー率 |
| 飽和度 |
CPU使用率, メモリ使用率, DBコネクション数 |
4.2. 監視ツール
- メトリクス収集: [例: Prometheus, Datadog Agent]
- 可視化 (ダッシュボード): [例: Grafana, Datadog]
5. アラート設計
5.1. アラート発報条件
| アラート名 |
条件 |
深刻度 |
通知先 |
| APIエラー率の上昇 |
5xxエラー率が5分間1%を超えた場合 |
Critical |
PagerDuty, Slack |
| APIレイテンシの悪化 |
p95応答時間が5分間1秒を超えた場合 |
Warning |
Slack |
| CPU使用率の高騰 |
CPU使用率が10分間80%を超え続けている場合 |
Warning |
Slack |
5.2. 通知ツール
- アラート管理: [例: Prometheus Alertmanager, Datadog Monitors]
- 通知先: [例: PagerDuty, Slack, Email]
6. 障害対応フロー
graph TD
A[アラート発生] --> B{担当者が通知を確認}
B --> C[1. 影響範囲の確認]
C --> D[2. ダッシュボードで状況把握]
D --> E[3. ログで原因調査]
E --> F{原因特定}
F --> |はい| G[4. 修正対応 or ロールバック]
F --> |いいえ| H[5. エスカレーション]
G --> I[対応完了]
H --> C
7. 関連する要件