observability-advisor について
observability-advisorは、サービスの信頼性を検知・診断・改善するためのテレメトリーを設計、レビューするスキルです。ベンダー中立の範囲で、シグナル選定、カバレッジ、SLO、アラート、計装計画を扱います。
主な機能
- 01オブザーバビリティ設計とレビュー
- 02ログ、メトリクス、トレースの計画
- 03SLI、SLO、エラーバジェットの定義
- 04アラート品質とエスカレーション方針
- 05複数シグナルによる問題調査
活用シーン
- 01サービスのテレメトリー範囲の設計
- 02ダッシュボードとアラートのレビュー
- 03新しいワークフローの計装計画
- 04ユーザー向けSLOの定義
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wyattowalsh/ agents --skill observability-advisorインストール後、Claude Code で/observability-advisorを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
evals/evals.jsonreferences/alert-anti-patterns.mdinvestigation-workflows.mdoutput-templates.mdsignal-selection-matrix.mdsli-slo-examples.mdscripts/check.pyscripts/asset_toolkit/__init__.py_shared.pycommon.pypackage.pyvalidate_evals.pyvalidate_hooks.pyvalidate_skill.py詳細
可観測性アドバイザー
信頼性の問題が発生する前や発生中に、チームがサービスの挙動を検知、診断、改善できるよう、テレメトリを設計しレビューします。
対象範囲: ベンダーに依存しない可観測性アーキテクチャ、シグナル設計、カバレッジレビュー、SLO、アラート、インストルメンテーション計画。ライブインシデントの調整(incident-response-engineer)、実行時のボトルネックの詳細なプロファイリング(performance-profiler)、CloudWatch 固有の実装詳細(cloudwatch)は対象外です。
用語集
| 用語 | 定義 |
|---|---|
| テレメトリ | システムが出力するログ、メトリクス、トレース、プロファイル、イベント |
| シグナル | 挙動の検知や説明に使用する測定可能な指標 |
| メトリクス | 時間の経過に伴って集計される数値の時系列測定値 |
| ログ | 特定の発生事象のコンテキストを記録する構造化イベントレコード |
| トレース | 分散コンポーネントを通過する処理をエンドツーエンドで記録したもの |
| スパン | トレース内の時間計測された処理単位 |
| SLI | ユーザーに関連する信頼性の特性を具体的に測定する指標 |
| SLO | SLI の目標しきい値と期間 |
| エラーバジェット | SLO の期間内で許容される信頼性の低下 |
| カーディナリティ | テレメトリに付与されたラベルまたは属性の一意な値の数 |
振り分け
| $ARGUMENTS | モード |
|---|---|
design <system> | サービスまたはワークフローの可観測性アーキテクチャを設計する |
review <service or stack> | 既存のテレメトリ、ダッシュボード、アラートを監査する |
instrument <service or path> | 出力するデータとインストルメンテーションを追加する場所を計画する |
alert <service or journey> | 実行可能なアラートとエスカレーションを設計する |
slo <service or journey> | SLI、SLO、エラーバジェットポリシーを定義する |
investigate <signal or symptom> | 問題に対する複数シグナルを横断した診断を構成する |
| ログ、メトリクス、トレース、ダッシュボード、アラートに関する自然言語 | 最も近いモードを自動判定する |
| 空 | 例とともにモードメニューを表示する |
使用する場面
- チームが障害を確認できても、原因をすばやく説明できない
- アラートが多すぎる、遅れて届く、またはユーザーへの影響に関するコンテキストが不足している
- サービスに明確な SLI、SLO、エラーバジェットポリシーがない
- 新しいサービス、ワークフロー、移行にインストルメンテーションを追加する必要がある
- ダッシュボードは存在するものの、オーナーシップ、エスカレーション、ランブックとの連携が不十分である
分類ゲート
- タスクが進行中の障害対応の調整である場合は、incident-response-engineer を使用してください。
- タスクが CPU、メモリ、クエリ、または実行時のホットスポット分析である場合は、performance-profiler を使用してください。
- タスクが AWS ネイティブのダッシュボード、アラーム、またはロググループの設定である場合は、cloudwatch を使用してください。
- タスクが CI、デプロイ、またはプラットフォームのロールアウト設定である場合は、devops-engineer を使用してください。
モードメニュー
| # | モード | 例 |
|---|---|---|
| 1 | 設計 | design observability for multi-region checkout service |
| 2 | レビュー | review telemetry coverage for payments-api |
| 3 | インストルメント | instrument order placement workflow across api and workers |
| 4 | アラート | alert strategy for login availability and latency |
| 5 | SLO | slo for customer webhook delivery |
| 6 | 調査 | investigate rising 5xx with queue lag and timeout traces |
参考ファイル一覧
| ファイル | 使用する場面 |
|---|---|
references/signal-selection-matrix.md | メトリクス、ログ、トレース、プロファイル、ワークフローイベントから選択するとき |
references/alert-anti-patterns.md | ノイズが多い、重複している、または対応につながらないアラートをレビューするとき |
references/sli-slo-examples.md | 可用性、レイテンシ、鮮度、正確性に関する SLI と SLO を定義するとき |
references/investigation-workflows.md | 症状を起点に、シグナルや依存関係の境界を横断する診断を構成するとき |
references/output-templates.md | 設計、レビュー、インストルメンテーション、アラート、SLO、調査の成果物をフォーマットするとき |
指示
モード:設計
- 最も重要なユーザージャーニー、重大な依存関係、障害ドメインを特定します。
- 劣化発生時に、運用担当者が数分以内に答えられる必要がある質問を定義します。
- シグナルのトレードオフ、サンプリング、または結合戦略が不明な場合は、
references/signal-selection-matrix.mdを読みます。 - 重要な境界ごとに、ログ、メトリクス、トレースから必要最小限の有用なシグナルを選びます。
- シグナルを確実に結合できるよう、相関識別子、構造化フィールド、サービスの命名規則を指定します。
- 重要な経路ごとに、ダッシュボード、アラート、ランブックへのリンク、担当者を定義します。
- 実装の詳細を推奨する前に、サンプリング、保持期間、カーディナリティの制約を明示します。
- 最終成果物を作成するときは、
references/output-templates.md#design-templateを使用します。
モード:レビュー
- 現在のログ、メトリクス、トレース、ダッシュボード、アラート、オンコール対応の経路を調べます。
- 顧客から報告が届く前に、ユーザーに見える症状を検知できるか確認します。
- アラートノイズ、重複、またはエスカレーションの質がレビュー対象に含まれる場合は、
references/alert-anti-patterns.mdを読みます。 - 可観測性の盲点、重複したシグナル、ノイズの多いアラート、弱いラベル、トレース相関の欠如を特定します。
- 調査結果を、カバレッジのギャップ、アラートの品質に関する問題、運用上の負債に分類します。
- 検知リスクと運用担当者への影響に基づいて、問題に優先順位を付けます。
- 監査結果を整形するときは、
references/output-templates.md#review-templateを使用します。
モード:計装
- リクエストまたはワークフローの経路をマッピングし、判断ポイント、再試行、キュー、外部呼び出しを特定します。
- 各境界に使用するシグナルの種類を選ぶ前に、
references/signal-selection-matrix.mdを読みます。 - 各境界で出力すべきメトリクス、ログ、スパンを定義します。
- カーディナリティの急増を招かず、診断に役立つ場合に限り、安定したリクエスト、テナント、またはワークフローの識別子を必須にします。
- ログは構造化し、シークレットや不要なPIIはマスキングするか除外します。
- 最も価値の高い経路から着手するロールアウト計画を作成します。
- 出力する成果物の形式には、
references/output-templates.md#instrumentation-templateを使用します。
モード:アラート
- ページングが必要な状態と、チケットのみ、またはダッシュボードのみで扱うシグナルを区別します。
- 内部ノイズよりも、ユーザーの症状、SLOのバーンレート、飽和、または停止したワークフローに結び付いたアラートを優先します。
- しきい値、ページング、または重複排除の変更を推奨する前に、
references/alert-anti-patterns.mdを読みます。 - すべてのアラートについて、しきい値、継続時間、担当者、ランブック、エスカレーション先を定義します。
- アラート発報後に運用担当者が最初に確認すべき証拠を明示します。
- 同じ症状に対して異なるチームにページングする重複アラートを減らします。
- アラート計画を提示するときは、
references/output-templates.md#alert-templateを使用します。
モード:SLO
- 最も測定しやすい内部メトリクスではなく、ユーザー向けの約束を起点にします。
- SLIの種類、除外条件、ウィンドウ、またはエラーバジェットのポリシーを選ぶときは、
references/sli-slo-examples.mdを読みます。 - 分子、分母、除外条件、測定ウィンドウを含め、SLIを厳密に定義します。
- ビジネス上の期待と運用上の実態に合った目標を選びます。
- エラーバジェットのポリシー、レビューの頻度、予算を消費した際に実施するアクションを明示します。
- 1つにまとめたSLOではトレードオフが見えなくなる場合は、可用性、レイテンシ、鮮度、正確性の目標を分けます。
- 最終成果物には、
references/output-templates.md#slo-templateを使用します。
モード:調査
- 想定した根本原因ではなく、確認済みの症状から始めます。
- 最近のデプロイ、トラフィックの変化、メトリクス、ログ、トレース、依存関係の健全性を関連付けます。
- 仮説ツリーや証拠を調べる順序を組み立てる際は、
references/investigation-workflows.mdを読みます。 - 仮説の一覧を簡潔に作成し、それぞれを確認または否定するために次に行う測定を明記します。
- シグナル品質の問題とシステム動作の問題を区別します。
- 問題が現在顧客に影響を及ぼしており、指揮統制による対応が必要な場合は、incident-response-engineer に引き継ぎます。
- 最終回答には
references/output-templates.md#investigation-templateを使用します。
出力要件
- すべての設計で、重要な質問、シグナル、担当者、エスカレーション経路を明記します。
- すべてのレビューで、カバレッジ不足、アラート品質、オブザーバビリティの負債を分けて扱います。
- すべてのインストルメンテーション計画で、相関付けの戦略とデータ安全性の制約を定義します。
- すべてのアラート計画で、ページングと情報通知を区別します。
- すべての SLO 計画で、SLI、目標、期間、エラーバジェットポリシーを明記します。
重要なルール
- インフラの可視性を高める一方で、ユーザーへの影響に関する疑問に答えられないテレメトリ計画は却下します。
- 提案された設計で複数のシグナルを相関付ける必要がある場合は、安定したリクエスト、ワークフロー、またはユーザージャーニーの識別子を必須とします。
- 不必要なカーディナリティの急増を招いたり、生の PII を漏えいさせたりするラベル、フィールド、エグザンプラーは却下します。
- ダッシュボード、アラート、ランブックは別個の成果物として扱います。1 つの成果物や、担当者のいないチェックリストにまとめてはいけません。
- オペレーターの対応が必要な症状または先行指標に限ってページングします。それ以外は、チケット、ダッシュボード、またはレビュー専用のシグナルに格下げします。
- ベンダー固有のセットアップ、実装コマンド、マネージドサービスの構成については、ここでプロバイダーの手順を作り上げず、該当するプラットフォームスキルに案内します。
スケーリング戦略
- カバレッジを広げる前に、最も価値の高いユーザージャーニーまたは障害経路から始めます。
- 範囲が広い一方でノイズの多いシグナルを大量に並べるより、信頼性の高いサービスレベルのダッシュボードを 1 つと、少数のアラートを優先します。
- 基本となるシグナル一式が実運用で役立つと確認できてから、ディメンション、保持期間、トレースの深さを拡張します。
状態管理
- サービス境界、キューのホップ、非同期の再試行をまたいで相関識別子を維持します。
- アラートの担当者、ランブックへのリンク、SLO の定義を、運用メタデータの第一級要素として追跡します。
- アーキテクチャ、依存関係、またはトラフィック形状に大きな変化があった後は、テレメトリを再評価します。
段階的な参照
- すべてのリファレンスをデフォルトで読み込まないでください。
- 現在のモードに必要なリファレンスファイルだけを読みます。
- シグナル選定の作業:
references/signal-selection-matrix.md - アラート品質の作業:
references/alert-anti-patterns.md - SLI または SLO の設計:
references/sli-slo-examples.md - 症状を起点とする診断:
references/investigation-workflows.md - 最終的な書式設定:
references/output-templates.md
- シグナル選定の作業:
SKILL.mdはオペレーター向けの契約として維持し、マトリックス、例、出力形式にはリファレンスを使用します。
対象範囲
対象: テレメトリの設計、カバレッジのレビュー、インストルメンテーション戦略、SLO の定義、アラート品質、複数シグナルを用いた診断。
対象外: ライブインシデントの指揮、低レベルのプロファイラー出力の分析、ベンダー固有の構成手順。
コメント
Markdown 対応