mcpField
A
azure-resource-health-diagnose

azure-resource-health-diagnose

github.com/githubクラウド・DevOps40.5k8.7k 回インストール1 日前に更新
リポジトリ

azure-resource-health-diagnose について

Azure リソースの状態を評価し、監視データから問題を調査するワークフロースキルです。リソース特定から根本原因の分析、優先順位付きの修復と検証計画までを支援します。

主な機能

  1. 01Azure リソースの特定
  2. 02稼働状況と可用性の評価
  3. 03ログとテレメトリの分析
  4. 04問題分類と根本原因分析
  5. 05優先順位付き修復計画
  6. 06検証とロールバックの案内

活用シーン

  1. 01Azure リソースの停止調査
  2. 02パフォーマンス低下の原因特定
  3. 03復旧と予防計画の作成

MCP 対応

設定済みで認証された Azure MCP サーバーのツールを使い、リソースの特定、監視データの評価、Log Analytics クエリを行います。Azure CLI は代替手段として使います。

インストール

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

$npx skills add https://github.com/github/awesome-copilot --skill azure-resource-health-diagnose

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

詳細

Azure リソース正常性と問題診断

このワークフローは、特定の Azure リソースを分析して正常性状態を評価し、ログとテレメトリデータを使用して潜在的な問題を診断し、発見された問題に対する包括的な修復計画を策定します。

前提条件

  • Azure MCP サーバーが構成され、認証されていること
  • 対象の Azure リソースが特定されていること (名前、および必要に応じてリソースグループ/サブスクリプション)
  • ログ/テレメトリを生成するために、リソースがデプロイされ実行中であること
  • 利用可能な場合は、直接 Azure CLI を使用するよりも Azure MCP ツール (azmcp-*) を優先すること

ワークフローの手順

ステップ 1: Azure のベストプラクティスを取得する

アクション: 診断とトラブルシューティングのベストプラクティスを取得します ツール: Azure MCP ベストプラクティスツール プロセス:

  1. ベストプラクティスを読み込む:
    • Azure ベストプラクティスツールを実行して診断ガイドラインを取得します
    • 正常性の監視、ログ分析、問題解決のパターンに焦点を当てます
    • これらのプラクティスを使用して、診断アプローチと修復の推奨事項に反映させます
ステップ 2: リソースの検出と特定

アクション: 対象の Azure リソースを特定します ツール: Azure MCP ツール + Azure CLI フォールバック プロセス:

  1. リソースの検索:

    • リソース名のみが指定された場合: azmcp-subscription-list を使用してサブスクリプション全体を検索します
    • az resource list --name <resource-name> を使用して一致するリソースを検索します
    • 複数の一致が見つかった場合は、サブスクリプション/リソースグループを指定するようユーザーに促します
    • リソースの詳細情報を収集します:
      • リソースの種類と現在の状態
      • 場所、タグ、構成
      • 関連するサービスと依存関係
  2. リソースの種類の検出:

    • リソースの種類を特定して、適切な診断アプローチを決定します:
      • Web Apps/Function Apps: アプリケーションログ、パフォーマンスメトリック、依存関係の追跡
      • Virtual Machines: システムログ、パフォーマンスカウンター、ブート診断
      • Cosmos DB: リクエストメトリック、スロットリング、パーティション統計
      • Storage Accounts: アクセスログ、パフォーマンスメトリック、可用性
      • SQL Database: クエリパフォーマンス、接続ログ、リソース使用率
      • Application Insights: アプリケーションテレメトリ、例外、依存関係
      • Key Vault: アクセスログ、証明書の状態、シークレットの使用状況
      • Service Bus: メッセージメトリック、デッドレターキュー、スループット
ステップ 3: 正常性状態の評価

アクション: 現在のリソースの正常性と可用性を評価します ツール: Azure MCP 監視ツール + Azure CLI プロセス:

  1. 基本的な正常性チェック:

    • リソースのプロビジョニング状態と運用状態を確認します
    • サービスの可用性と応答性を確認します
    • 最近のデプロイまたは構成の変更を確認します
    • 現在のリソース使用率 (CPU、メモリ、ストレージなど) を評価します
  2. サービス固有の正常性指標:

    • Web Apps: HTTP 応答コード、応答時間、稼働時間
    • Databases: 接続成功率、クエリパフォーマンス、デッドロック
    • Storage: 可用性の割合、リクエスト成功率、レイテンシ
    • VMs: ブート診断、ゲスト OS メトリック、ネットワーク接続性
    • Functions: 実行成功率、実行時間、エラー頻度
ステップ 4: ログとテレメトリの分析

アクション: ログとテレメトリを分析して、問題とパターンを特定します ツール: Log Analytics クエリ用の Azure MCP 監視ツール プロセス:

  1. 監視ソースの特定:

    • azmcp-monitor-workspace-list を使用して Log Analytics ワークスペースを特定します
    • リソースに関連付けられた Application Insights インスタンスを特定します
    • azmcp-monitor-table-list を使用して関連するログテーブルを特定します
  2. 診断クエリの実行: リソースの種類に基づいた対象を絞った KQL クエリで azmcp-monitor-log-query を使用します:

    一般的なエラー分析:

    // Recent errors and exceptions
    union isfuzzy=true 
        AzureDiagnostics,
        AppServiceHTTPLogs,
        AppServiceAppLogs,
        AzureActivity
    | where TimeGenerated > ago(24h)
    | where Level == "Error" or ResultType != "Success"
    | summarize ErrorCount=count() by Resource, ResultType, bin(TimeGenerated, 1h)
    | order by TimeGenerated desc
    

    パフォーマンス分析:

    // Performance degradation patterns
    Perf
    | where TimeGenerated > ago(7d)
    | where ObjectName == "Processor" and CounterName == "% Processor Time"
    | summarize avg(CounterValue) by Computer, bin(TimeGenerated, 1h)
    | where avg_CounterValue > 80
    

    アプリケーション固有のクエリ:

    // Application Insights - Failed requests
    requests
    | where timestamp > ago(24h)
    | where success == false
    | summarize FailureCount=count() by resultCode, bin(timestamp, 1h)
    | order by timestamp desc
    
    // Database - Connection failures
    AzureDiagnostics
    | where ResourceProvider == "MICROSOFT.SQL"
    | where Category == "SQLSecurityAuditEvents"
    | where action_name_s == "CONNECTION_FAILED"
    | summarize ConnectionFailures=count() by bin(TimeGenerated, 1h)
    
  3. パターン認識:

    • 繰り返し発生するエラーパターンや異常を特定します
    • エラーをデプロイ時刻や構成変更と関連付けます
    • パフォーマンスの傾向と劣化パターンを分析します
    • 依存関係の障害や外部サービスの問題を探します
ステップ 5: 問題の分類と根本原因分析

アクション: 特定された問題を分類し、根本原因を判断します プロセス:

  1. 問題の分類:

    • Critical: サービス停止、データ損失、セキュリティ侵害
    • High: パフォーマンス劣化、断続的な障害、高いエラー率
    • Medium: 警告、最適化されていない構成、軽微なパフォーマンス問題
    • Low: 情報提供のアラート、最適化の機会
  2. 根本原因分析:

    • 構成の問題: 不正確な設定、不足している依存関係
    • リソースの制約: CPU/メモリ/ディスクの制限、スロットリング
    • ネットワークの問題: 接続の問題、DNS 解決、ファイアウォールルール
    • アプリケーションの問題: コードのバグ、メモリリーク、非効率なクエリ
    • 外部依存関係: サードパーティサービスの障害、API 制限
    • セキュリティの問題: 認証の失敗、証明書の有効期限切れ
  3. 影響評価:

    • ビジネスへの影響と影響を受けるユーザー/システムを判断します
    • データの整合性とセキュリティへの影響を評価します
    • 復旧時間目標と優先順位を評価します
ステップ 6: 修復計画の生成

アクション: 特定された問題に対処するための包括的な計画を作成します プロセス:

  1. 即時の対応 (Critical の問題):

    • サービス可用性を回復するための緊急修正
    • 影響を軽減するための一時的な回避策
    • 複雑な問題のためのエスカレーション手順
  2. 短期的な修正 (High/Medium の問題):

    • 構成の調整とリソースのスケーリング
    • アプリケーションの更新とパッチ
    • 監視とアラートの改善
  3. 長期的な改善 (すべての問題):

    • 復元性を高めるためのアーキテクチャ変更
    • 予防措置と監視の強化
    • ドキュメントとプロセスの改善
  4. 実装手順:

    • 具体的な Azure CLI コマンドを伴う優先順位付けされたアクション項目
    • テストと検証の手順
    • 各変更のロールバック計画
    • 問題解決を確認するための監視
ステップ 7: ユーザーの確認とレポートの生成

アクション: 調査結果を提示し、修復アクションの承認を得ます プロセス:

  1. 正常性評価の概要を表示:

    🏥 Azure Resource Health Assessment
    
    📊 Resource Overview:
    • Resource: [Name] ([Type])
    • Status: [Healthy/Warning/Critical]
    • Location: [Region]
    • Last Analyzed: [Timestamp]
    
    🚨 Issues Identified:
    • Critical: X issues requiring immediate attention
    • High: Y issues affecting performance/reliability  
    • Medium: Z issues for optimization
    • Low: N informational items
    
    🔍 Top Issues:
    1. [Issue Type]: [Description] - Impact: [High/Medium/Low]
    2. [Issue Type]: [Description] - Impact: [High/Medium/Low]
    3. [Issue Type]: [Description] - Impact: [High/Medium/Low]
    
    🛠️ Remediation Plan:
    • Immediate Actions: X items
    • Short-term Fixes: Y items  
    • Long-term Improvements: Z items
    • Estimated Resolution Time: [Timeline]
    
    ❓ Proceed with detailed remediation plan? (y/n)
    
  2. 詳細レポートの生成:

    # Azure Resource Health Report: [Resource Name]
    
    **Generated**: [Timestamp]  
    **Resource**: [Full Resource ID]  
    **Overall Health**: [Status with color indicator]
    
    ## 🔍 Executive Summary
    [Brief overview of health status and key findings]
    
    ## 📊 Health Metrics
    - **Availability**: X% over last 24h
    - **Performance**: [Average response time/throughput]
    - **Error Rate**: X% over last 24h
    - **Resource Utilization**: [CPU/Memory/Storage percentages]
    
    ## 🚨 Issues Identified
    
    ### Critical Issues
    - **[Issue 1]**: [Description]
      - **Root Cause**: [Analysis]
      - **Impact**: [Business impact]
      - **Immediate Action**: [Required steps]
    
    ### High Priority Issues  
    - **[Issue 2]**: [Description]
      - **Root Cause**: [Analysis]
      - **Impact**: [Performance/reliability impact]
      - **Recommended Fix**: [Solution steps]
    
    ## 🛠️ Remediation Plan
    
    ### Phase 1: Immediate Actions (0-2 hours)
    ```bash
    # Critical fixes to restore service
    [Azure CLI commands with explanations]
    
    フェーズ 2: 短期的な修正 (2~24 時間)
    # Performance and reliability improvements
    [Azure CLI commands with explanations]
    
    フェーズ 3: 長期的な改善 (1~4 週間)
    # Architectural and preventive measures
    [Azure CLI commands and configuration changes]
    

    📈 監視の推奨事項

    • 構成するアラート: [推奨されるアラートのリスト]
    • 作成するダッシュボード: [監視ダッシュボードの提案]
    • 定期的な正常性チェック: [推奨される頻度と範囲]

    ✅ 検証手順

    • ログを通じて問題解決を確認する
    • パフォーマンスの改善を確認する
    • アプリケーションの機能をテストする
    • 監視とアラートを更新する
    • 得られた教訓を文書化する

    📝 予防措置

    • [同様の問題を防ぐための推奨事項]
    • [プロセスの改善]
    • [監視の強化]

Error Handling

  • Resource Not Found: Provide guidance on resource name/location specification
  • Authentication Issues: Guide user through Azure authentication setup
  • Insufficient Permissions: List required RBAC roles for resource access
  • No Logs Available: Suggest enabling diagnostic settings and waiting for data
  • Query Timeouts: Break down analysis into smaller time windows
  • Service-Specific Issues: Provide generic health assessment with limitations noted

Success Criteria

  • ✅ Resource health status accurately assessed
  • ✅ All significant issues identified and categorized
  • ✅ Root cause analysis completed for major problems
  • ✅ Actionable remediation plan with specific steps provided
  • ✅ Monitoring and prevention recommendations included
  • ✅ Clear prioritization of issues by business impact
  • ✅ Implementation steps include validation and rollback procedures

コメント