mcpField
O
observability-designer

observability-designer

github.com/alirezarezvaniクラウド・DevOps28.9k678 回インストール2 日前に更新
リポジトリ

observability-designer について

本番環境の可観測性を設計するエンジニアや SRE 向けのスキルです。Grafana ダッシュボードの仕様生成やアラート設定の分析に加え、メトリクス、ログ、トレース、SLO の指針を提供します。

主な機能

  1. 01Grafana ダッシュボード仕様の生成
  2. 02アラートノイズと重複の分析
  3. 03アラート対象範囲の不足検出
  4. 04メトリクス・ログ・トレースの指針
  5. 05SLI/SLO フレームワークの初期案

活用シーン

  1. 01サービスのダッシュボード仕様作成
  2. 02アラートルールのノイズ確認
  3. 03監視範囲の不足箇所の特定
  4. 04SLI/SLO フレームワークの初期案作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alirezarezvani/claude-skills --skill observability-designer

インストール後、Claude Code で/observability-designerを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

README.md
assets/
sample_alerts.json
sample_service_api.json
sample_service_web.json
expected_outputs/
sample_dashboard.json
sample_slo_framework.json
references/
alert_design_patterns.md
dashboard_best_practices.md
slo_cookbook.md
scripts/
alert_optimizer.py
dashboard_generator.py
slo_designer.py

詳細

オブザーバビリティ設計者(POWERFUL)

カテゴリ: エンジニアリング
ティア: POWERFUL
説明: SLI/SLO フレームワーク、アラートの最適化、ダッシュボードの生成など、本番システム向けの包括的なオブザーバビリティ戦略を設計します。

概要

オブザーバビリティ設計者は、3 つの柱(メトリクス、ログ、トレース)にわたって、本番環境ですぐに使えるダッシュボード、アラート設定、監視戦略を作成します。

使用しない場合 → slo-architect。 エラーバジェットの計算、複数ウィンドウのバーンレートアラート閾値、SLO レビューゲートを含む SLO/SLI の設計には、該当領域の権威あるスキルである slo-architect に依頼してください。このスキルの slo_designer.py が生成するのは、簡易的なひな形のみです。このスキルの担当領域は、ダッシュボード(dashboard_generator.py)とアラートノイズの低減(alert_optimizer.py)です。

クイックスタート

# Dashboard spec (Grafana JSON + docs) for a service
python3 scripts/dashboard_generator.py --service-type api --name payments --criticality critical --role sre --format grafana -o dashboard.json --doc-output dashboard.md

# Analyze an existing alert config for noise, duplicates, and coverage gaps
python3 scripts/alert_optimizer.py --input alerts.json --analyze-only --report alert_report.json
# ...then emit the optimized config once the report is reviewed:
python3 scripts/alert_optimizer.py --input alerts.json --output alerts_optimized.json

# Quick SLO scaffold (hand off to slo-architect for the real error-budget work)
python3 scripts/slo_designer.py --service-type api --criticality high --user-facing true --service-name payments -o slo_scaffold.json

検証ループ: 最適化したアラートのデプロイ後、オンコールの 1 ローテーションにわたってレポートのノイズ指標を追跡します。アクション可能なアラートの割合が改善しなかった場合は、稼働中の設定に対して --analyze-only を再実行し、繰り返し改善してください。生成したダッシュボードを Grafana にインポートし、タスクを完了する前に、すべてのゴールデンシグナルパネルにライブデータが表示されることを確認します。

主な専門分野

SLI/SLO/SLA フレームワークの設計
  • サービスレベル指標(SLI): サービスの健全性を示す、測定可能なシグナルを定義します
  • サービスレベル目標(SLO): ユーザー体験に基づいて信頼性の目標を設定します
  • サービスレベル契約(SLA): 不履行時の措置を伴う、顧客向けの約束を定めます
  • エラーバジェット管理: エラーバジェットの消費量を計算し、追跡します
  • バーンレートアラート: SLO を予防的に保護するため、複数ウィンドウのバーンレートアラートを設定します
オブザーバビリティの 3 つの柱
メトリクス
  • ゴールデンシグナル: レイテンシ、トラフィック、エラー、飽和度を監視します
  • RED メソッド: リクエスト駆動型サービスのレート、エラー、継続時間を計測します
  • USE メソッド: リソース監視のため、使用率、飽和度、エラーを計測します
  • ビジネスメトリクス: 収益、ユーザーエンゲージメント、機能の利用状況を追跡します
  • インフラストラクチャメトリクス: CPU、メモリ、ディスク、ネットワーク、カスタムリソースのメトリクスを計測します
ログ
  • 構造化ロギング: 一貫したフィールドを持つ JSON ベースのログ形式を使用します
  • ログ集約: ログの一元収集とインデックス作成の戦略を策定します
  • ログレベル: DEBUG、INFO、WARN、ERROR、FATAL の各レベルを適切に使用します
  • 相関 ID: 分散システム全体でリクエストを追跡します
  • ログサンプリング: 高スループットシステムでログ量を管理します
トレース
  • 分散トレーシング: エンドツーエンドのリクエストフローを可視化します
  • スパン設計: 意味のあるスパン境界とメタデータを定義します
  • トレースサンプリング: パフォーマンスとコストを考慮した、効率的なサンプリング戦略を策定します
  • サービスマップ: トレースを通じて依存関係を自動検出します
  • 根本原因分析: トレースを活用したデバッグワークフローを構築します
ダッシュボード設計の原則
情報アーキテクチャ
  • 階層: 概要 → サービス → コンポーネント → インスタンスの順に掘り下げられる構成にします
  • 黄金比: 運用メトリクスを 80%、探索用メトリクスを 20%にします
  • 認知負荷: ダッシュボードの画面あたりのパネル数を 7±2 個以内にします
  • ユーザージャーニー: 役割に応じたダッシュボードの利用者像(SRE、開発者、経営幹部)を設定します
可視化のベストプラクティス
  • グラフの選択: 傾向には時系列グラフ、分布にはヒートマップ、状態にはゲージを使用します
  • 色彩理論: 重大な状態には赤、警告にはアンバー、正常な状態には緑を使用します
  • 基準線: SLO 目標、容量の閾値、過去のベースラインを示します
  • 時間範囲: 意味のある期間をデフォルトに設定します(インシデントには 4h、傾向には 7d)
パネル設計
  • メトリクスクエリ: 適切な集約を用い、Prometheus/InfluxDB のクエリを効率化します
  • アラート連携: 関連するパネルにアラート状態を視覚的に表示します
  • インタラクティブ要素: テンプレート変数、掘り下げリンク、注釈オーバーレイを活用します
  • パフォーマンス: クエリを最適化して、レンダリング時間を 1 秒未満にします
アラートの設計と最適化
アラートの分類
  • 重大度レベル:
    • 重大: サービス停止、SLO のバーンレートが高い
    • 警告: しきい値に接近、ユーザーに影響しない問題
    • 情報: デプロイ通知、キャパシティ計画のアラート
  • 対応可能性: すべてのアラートに明確な対応アクションが必要です
  • アラートのルーティング: 重大度とチームの担当範囲に基づくエスカレーションポリシー
アラート疲れの防止
  • シグナルとノイズ: 再現率の高さより、適合率の高さ(誤検知の少なさ)を優先します
  • ヒステリシス: アラートの発報と解消で異なるしきい値を設定します
  • 抑制: 既知の障害中は、依存するアラートを抑制します
  • グループ化: 関連するアラートをまとめて単一の通知にします
アラートルールの設計
  • しきい値の選定: しきい値の決定に統計的手法を用います
  • ウィンドウ関数: 適切な平均化ウィンドウとパーセンタイル計算を設定します
  • アラートのライフサイクル: 明確な発報条件と自動解消の基準を定めます
  • テスト: 過去のデータを用いてアラートルールを検証します
ランブックの生成とインシデント対応
ランブックの構成
  • アラートのコンテキスト: アラートの意味と発報理由
  • 影響評価: ユーザー向けの影響と内部への影響を評価します
  • 調査手順: 所要時間の見積もりを含む、順序立てたトラブルシューティング手順
  • 解決アクション: 一般的な修正方法とエスカレーション手順
  • インシデント後: フォローアップタスクと再発防止策
インシデント検出パターン
  • 異常検出: 通常と異なるパターンを検出する統計的手法
  • 複合アラート: 複雑な障害モードに対応する複数シグナルのアラート
  • 予測アラート: キャパシティと傾向に基づく先行アラート
  • カナリア監視: 段階的なデプロイの監視による早期検出
ゴールデンシグナルのフレームワーク
レイテンシの監視
  • リクエストレイテンシ: P50、P95、P99 の応答時間を追跡します
  • キューレイテンシ: 処理キューでの待ち時間
  • ネットワークレイテンシ: サービス間通信の遅延
  • データベースレイテンシ: クエリ実行と接続プールのメトリクス
トラフィックの監視
  • リクエストレート: バースト検出を含む、1 秒あたりのリクエスト数
  • 帯域幅の使用状況: ネットワークスループットとキャパシティ使用率
  • ユーザーセッション: アクティブユーザーの追跡とセッション時間
  • 機能の使用状況: API エンドポイントと機能の利用状況に関するメトリクス
エラーの監視
  • エラー率: 4xx および 5xx の HTTP 応答コードを追跡します
  • エラーバジェット: SLO に基づくエラー率の目標値と消費量
  • エラーの分布: エラータイプの分類と傾向
  • サイレント障害: HTTP エラーを伴わない処理障害を検出します
飽和状態の監視
  • リソース使用率: CPU、メモリ、ディスク、ネットワークの使用状況
  • キューの深さ: 処理キューの長さと待ち時間
  • 接続プール: データベースとサービスの接続飽和状態
  • レート制限: API のスロットリングとクォータ超過を追跡します
分散トレーシング戦略
トレースアーキテクチャ
  • サンプリング戦略: ヘッドベース、テールベース、適応型サンプリング
  • トレースの伝搬: サービス境界を越えたコンテキストの伝搬
  • スパンの相関付け: 親子関係のモデル化
  • トレースの保存: 保持ポリシーとストレージの最適化
サービスのインストルメンテーション
  • 自動インストルメンテーション: フレームワークベースの自動トレース生成
  • 手動インストルメンテーション: ビジネスロジック用のカスタムスパンの作成
  • バゲージの処理: 横断的関心事の伝搬
  • パフォーマンスへの影響: インストルメンテーションのオーバーヘッドを測定し、最適化します
ログ集約パターン
収集アーキテクチャ
  • エージェントのデプロイ: ログ転送エージェントの戦略(プッシュ型とプル型)
  • ログのルーティング: トピックベースのルーティングとフィルタリング
  • 解析戦略: 構造化ログと非構造化ログの処理
  • スキーマの進化: ログ形式のバージョン管理と移行
ストレージとインデックス作成
  • インデックス設計: 一般的なクエリパターンに合わせてフィールドのインデックスを最適化します
  • 保持ポリシー: 時間と容量に基づくログの保持
  • 圧縮: ログデータの圧縮とアーカイブの戦略
  • 検索パフォーマンス: クエリの最適化と結果のキャッシュ
オブザーバビリティのコスト最適化
データ管理
  • メトリクスの保持: メトリクスの重要度に基づく階層型の保持
  • ログのサンプリング: 取り込みコストを削減するインテリジェントなサンプリング
  • トレースのサンプリング: 費用対効果の高いトレース収集戦略
  • データのアーカイブ: 過去のオブザーバビリティデータ向けのコールドストレージ
リソースの最適化
  • クエリ効率: メトリクスとログのクエリを最適化します
  • ストレージコスト: データの種類に応じた適切なストレージ階層
  • 取り込みレートの制限: コスト管理のためのデータ取り込み制御
  • カーディナリティ管理: カーディナリティの高いメトリクスの検出と軽減

スクリプトの概要

このスキルには、包括的なオブザーバビリティ設計を実現する、強力な Python スクリプトが 3 つ含まれています。

1. SLO Designer (slo_designer.py)

サービスの特性に基づいて、SLI/SLO フレームワーク一式を生成します。

  • 入力: サービスの説明 JSON(種類、重要度、依存関係)
  • 出力: SLI 定義、SLO 目標、エラーバジェット、バーンレートアラート、SLA の推奨事項
  • 機能: 複数ウィンドウでのバーンレート計算、エラーバジェットポリシー、アラートルールの生成
2. Alert Optimizer (alert_optimizer.py)

既存のアラート設定を分析し、最適化します。

  • 入力: ルール、しきい値、ルーティングを含むアラート設定 JSON
  • 出力: 最適化レポートと改善されたアラート設定
  • 機能: ノイズの検出、カバレッジのギャップ、重複の特定、しきい値の最適化
3. Dashboard Generator (dashboard_generator.py)

包括的なダッシュボード仕様を作成します。

  • 入力: サービス/システムの説明 JSON
  • 出力: Grafana 対応のダッシュボード JSON とドキュメント
  • 機能: ゴールデンシグナルの網羅、RED/USE メソッド、ドリルダウンパス、ロールベースのビュー

統合パターン

監視スタックとの統合
  • Prometheus: メトリクスの収集とアラートルールの生成
  • Grafana: ダッシュボードの作成と可視化設定
  • Elasticsearch/Kibana: ログ分析とダッシュボード統合
  • Jaeger/Zipkin: 分散トレーシングの設定と分析
CI/CD との統合
  • パイプライン監視: ビルド、テスト、デプロイのオブザーバビリティ
  • デプロイの相関分析: リリースの影響追跡とロールバックのトリガー
  • フィーチャーフラグの監視: A/B テストと機能展開のオブザーバビリティ
  • パフォーマンスのリグレッション: パイプラインでの自動パフォーマンス監視
インシデント管理との統合
  • PagerDuty/VictorOps: アラートのルーティングとエスカレーションポリシー
  • Slack/Teams: 通知とコラボレーションの統合
  • JIRA/ServiceNow: インシデント追跡と解決のワークフロー
  • ポストモーテム: インシデント分析と改善状況の追跡を自動化します

高度なパターン

マルチクラウドのオブザーバビリティ
  • クラウド横断メトリクス: AWS、GCP、Azure にまたがるメトリクスの統合
  • ネットワークのオブザーバビリティ: クラウド間接続の監視
  • コストの帰属: クラウドリソースのコスト追跡と最適化
  • コンプライアンス監視: セキュリティとコンプライアンスの状態の追跡
マイクロサービスのオブザーバビリティ
  • サービスメッシュとの統合: Istio/Linkerd のオブザーバビリティ設定
  • API ゲートウェイの監視: リクエストルーティングとレート制限のオブザーバビリティ
  • コンテナオーケストレーション: Kubernetes クラスターとワークロードの監視
  • サービスディスカバリー: 動的なサービス監視とヘルスチェック
機械学習のオブザーバビリティ
  • モデルパフォーマンス: 精度、ドリフト、バイアスの監視
  • フィーチャーストアの監視: 特徴量の品質と鮮度の追跡
  • パイプラインのオブザーバビリティ: ML パイプラインの実行とパフォーマンスの監視
  • A/B テスト分析: 統計的有意性とビジネスへの影響の測定

ベストプラクティス

組織との連携
  • SLO の設定: プロダクトチームとエンジニアリングチームが協力して目標を設定します
  • アラートの担当: 明確なエスカレーション経路とチームの責任を定めます
  • ダッシュボードのガバナンス: ダッシュボードの管理と標準を一元化します
  • トレーニングプログラム: チームにオブザーバビリティツールと実践方法を教育します
技術的な卓越性
  • Infrastructure as Code: オブザーバビリティの設定をバージョン管理します
  • テスト戦略: アラートルールのテストとダッシュボードの検証を行います
  • パフォーマンス監視: オブザーバビリティシステムのパフォーマンスを追跡します
  • セキュリティ上の考慮事項: オブザーバビリティにおけるアクセス制御とデータプライバシーを考慮します
継続的な改善
  • メトリクスのレビュー: SLI/SLO の有効性を定期的に評価します
  • アラートの調整: アラートのしきい値とルーティングを継続的に最適化します
  • ダッシュボードの進化: ユーザーのフィードバックに基づいてダッシュボードを改善します
  • ツールの評価: オブザーバビリティツールの有効性を定期的に評価します

コメント