SREダッシュボードとRunbook
🔥 Vibe プロンプト
「SREダッシュボードを作成:SLO準拠、バーンレート、オンコールステータス。一般的なインシデントのRunbookを自動化。」
SREダッシュボード
SLO準拠 (30日)
├── 可用性: 99.92% (SLO: 99.9%) ✅
├── レイテンシp99: 320ms (SLO: 500ms) ✅
└── エラーバジェット残: 67% ✅
バーンレート (1時間)
├── 可用性: 0.02% 消費
インシデントサマリー
├── 24時間: SEV-1:0, SEV-2:1, SEV-3:3
└── MTTR (30日): 28分
自動Runbook
def cpu_runbook():
# 1. 原因特定
top = subprocess.run(["kubectl", "top", "pods", "-n", "production"], capture_output=True, text=True)
culprit = max(top.stdout.strip().split("\n")[1:], key=lambda l: float(l.split()[1].replace("m","")))
pod_name = culprit.split()[0]
# 2. ログ確認
logs = subprocess.run(["kubectl", "logs", "--tail=100", pod_name, "-n", "production"], capture_output=True, text=True)
# 3. 既知パターンチェック
if "OOM" in logs.stdout:
action = "メモリ制限増加"
else:
action = "レプリカ増加 + 調査"
# 4. 自動修復
subprocess.run(["kubectl", "scale", "deploy", pod_name.rsplit("-",1)[0], "--replicas=10", "-n", "production"])
print(f"Runbook実行: {action}")
自動化レベル
| レベル | 説明 | |-------|------| | L1 | 手動(ドキュメント参照) | | L2 | 半自動(ボタンクリック) | | L3 | 完全自動(人間不要) | | L4 | 予測(事前防止) |
一般的なRunbook
| インシデント | Runbook | |------------|---------| | CPU急上昇 | スケールアップ、リーク確認 | | メモリリーク | 再起動、制限増加 | | DB遅延 | スロークエリ確認、インデックス追加 | | ディスク満杯 | ログ削除、PV増加 |
DevOpsコース完了!🎉
- ✅ Docker Compose
- ✅ Kubernetes & Helm
- ✅ Cloud AWS
- ✅ Serverless
- ✅ 監視
- ✅ GitOps
- ✅ SRE
重要なポイント
- コアコンセプトをしっかり理解する
- ハンズオンコード例で実践する
- 実世界の問題に応用する
- 演習で知識を強化する
さらに学ぶ
- 公式ドキュメント
- GitHubのオープンソースプロジェクト
- コミュニティフォーラムとディスカッション
- 関連コースとチュートリアル