Skip to main content

本番ホットフィックスをプレイブックに変換する

インシデント対応セッションで実施した手順をそのまま抽出し、チームが毎回同じ手順で修正を再現できるようにします。
AuthorCognition
CategoryDevin Optimization
FeaturesAdvanced, Playbooks
1

記録する価値のあるインシデントセッションを特定する

本番インシデントを解決すると、診断の各ステップ、実行したすべてのコマンド、プレッシャーのかかる状況下で行ったあらゆる判断が記録された Devin セッションのトランスクリプトが残ります。そのトランスクリプトこそが、次回以降オンコールチームが再利用できるプレイブックの素材になります。すべてのインシデントセッションがプレイブックに適しているわけではありません。Devin が明確で再現可能な手順に従っているセッションを探してください — チームが日常的によく遭遇するタイプのインシデントです:
  • メモリリーク — 原因となる箇所を特定し、修正を適用し、デプロイ後のヒープ使用量を検証したもの
  • コネクションプール枯渇 — 根本原因を特定し、プール設定をチューニングし、モニタリングを追加したもの
  • カスケードタイムアウト — 失敗している上流を切り分け、サーキットブレーカを追加し、復旧を検証したもの
2

Advanced モードでプレイブックを作成する

Devin のホーム画面を開き、入力欄の下にある Advanced ボタンをクリックします。Create Playbook タブを選択します。インシデントセッションのリンクを貼り付けて、プレイブックで何をカバーすべきかを記述します。一般化の範囲 を具体的に指定してください — プレイブックは、壊れた特定サービスだけでなく、そのクラスのインシデント全般に対して通用する必要があります。同じタイプのインシデントが複数解決されている場合(例: メモリリークセッションが 2 つあるなど)は、すべて追加してください。Devin がセッション間の共通パターンを特定し、より堅牢なプレイブックを生成します。
3

次のインシデントでプレイブックを検証する

実際の検証は、そのプレイブックが同じクラスの別のインシデントで機能するかどうかです。次にメモリ関連の問題が発生したら、新しい Devin セッションを開始し、プレイブックをアタッチし、影響を受けているサービスを対象に実行します。そのセッションでインシデントを問題なく解決できれば、プレイブックは十分に一般化されているといえます。うまくいかない場合 — 例えばリークパターンが異なる、あるいはサービスが別のデータベースドライバを使っているなど — は、そのセッションを Advanced モードの Improve Playbook タブに渡して、不足している点を補完します。そのワークフローについては Fix a Flaky DB Migration Playbook を参照してください。