azure-resource-health-diagnose について
Azure リソースの状態を評価し、監視データから問題を調査するワークフロースキルです。リソース特定から根本原因の分析、優先順位付きの修復と検証計画までを支援します。
主な機能
- 01Azure リソースの特定
- 02稼働状況と可用性の評価
- 03ログとテレメトリの分析
- 04問題分類と根本原因分析
- 05優先順位付き修復計画
- 06検証とロールバックの案内
活用シーン
- 01Azure リソースの停止調査
- 02パフォーマンス低下の原因特定
- 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 ベストプラクティスツール プロセス:
- ベストプラクティスを読み込む:
- Azure ベストプラクティスツールを実行して診断ガイドラインを取得します
- 正常性の監視、ログ分析、問題解決のパターンに焦点を当てます
- これらのプラクティスを使用して、診断アプローチと修復の推奨事項に反映させます
ステップ 2: リソースの検出と特定
アクション: 対象の Azure リソースを特定します ツール: Azure MCP ツール + Azure CLI フォールバック プロセス:
-
リソースの検索:
- リソース名のみが指定された場合:
azmcp-subscription-listを使用してサブスクリプション全体を検索します az resource list --name <resource-name>を使用して一致するリソースを検索します- 複数の一致が見つかった場合は、サブスクリプション/リソースグループを指定するようユーザーに促します
- リソースの詳細情報を収集します:
- リソースの種類と現在の状態
- 場所、タグ、構成
- 関連するサービスと依存関係
- リソース名のみが指定された場合:
-
リソースの種類の検出:
- リソースの種類を特定して、適切な診断アプローチを決定します:
- Web Apps/Function Apps: アプリケーションログ、パフォーマンスメトリック、依存関係の追跡
- Virtual Machines: システムログ、パフォーマンスカウンター、ブート診断
- Cosmos DB: リクエストメトリック、スロットリング、パーティション統計
- Storage Accounts: アクセスログ、パフォーマンスメトリック、可用性
- SQL Database: クエリパフォーマンス、接続ログ、リソース使用率
- Application Insights: アプリケーションテレメトリ、例外、依存関係
- Key Vault: アクセスログ、証明書の状態、シークレットの使用状況
- Service Bus: メッセージメトリック、デッドレターキュー、スループット
- リソースの種類を特定して、適切な診断アプローチを決定します:
ステップ 3: 正常性状態の評価
アクション: 現在のリソースの正常性と可用性を評価します ツール: Azure MCP 監視ツール + Azure CLI プロセス:
-
基本的な正常性チェック:
- リソースのプロビジョニング状態と運用状態を確認します
- サービスの可用性と応答性を確認します
- 最近のデプロイまたは構成の変更を確認します
- 現在のリソース使用率 (CPU、メモリ、ストレージなど) を評価します
-
サービス固有の正常性指標:
- Web Apps: HTTP 応答コード、応答時間、稼働時間
- Databases: 接続成功率、クエリパフォーマンス、デッドロック
- Storage: 可用性の割合、リクエスト成功率、レイテンシ
- VMs: ブート診断、ゲスト OS メトリック、ネットワーク接続性
- Functions: 実行成功率、実行時間、エラー頻度
ステップ 4: ログとテレメトリの分析
アクション: ログとテレメトリを分析して、問題とパターンを特定します ツール: Log Analytics クエリ用の Azure MCP 監視ツール プロセス:
-
監視ソースの特定:
azmcp-monitor-workspace-listを使用して Log Analytics ワークスペースを特定します- リソースに関連付けられた Application Insights インスタンスを特定します
azmcp-monitor-table-listを使用して関連するログテーブルを特定します
-
診断クエリの実行: リソースの種類に基づいた対象を絞った 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) -
パターン認識:
- 繰り返し発生するエラーパターンや異常を特定します
- エラーをデプロイ時刻や構成変更と関連付けます
- パフォーマンスの傾向と劣化パターンを分析します
- 依存関係の障害や外部サービスの問題を探します
ステップ 5: 問題の分類と根本原因分析
アクション: 特定された問題を分類し、根本原因を判断します プロセス:
-
問題の分類:
- Critical: サービス停止、データ損失、セキュリティ侵害
- High: パフォーマンス劣化、断続的な障害、高いエラー率
- Medium: 警告、最適化されていない構成、軽微なパフォーマンス問題
- Low: 情報提供のアラート、最適化の機会
-
根本原因分析:
- 構成の問題: 不正確な設定、不足している依存関係
- リソースの制約: CPU/メモリ/ディスクの制限、スロットリング
- ネットワークの問題: 接続の問題、DNS 解決、ファイアウォールルール
- アプリケーションの問題: コードのバグ、メモリリーク、非効率なクエリ
- 外部依存関係: サードパーティサービスの障害、API 制限
- セキュリティの問題: 認証の失敗、証明書の有効期限切れ
-
影響評価:
- ビジネスへの影響と影響を受けるユーザー/システムを判断します
- データの整合性とセキュリティへの影響を評価します
- 復旧時間目標と優先順位を評価します
ステップ 6: 修復計画の生成
アクション: 特定された問題に対処するための包括的な計画を作成します プロセス:
-
即時の対応 (Critical の問題):
- サービス可用性を回復するための緊急修正
- 影響を軽減するための一時的な回避策
- 複雑な問題のためのエスカレーション手順
-
短期的な修正 (High/Medium の問題):
- 構成の調整とリソースのスケーリング
- アプリケーションの更新とパッチ
- 監視とアラートの改善
-
長期的な改善 (すべての問題):
- 復元性を高めるためのアーキテクチャ変更
- 予防措置と監視の強化
- ドキュメントとプロセスの改善
-
実装手順:
- 具体的な Azure CLI コマンドを伴う優先順位付けされたアクション項目
- テストと検証の手順
- 各変更のロールバック計画
- 問題解決を確認するための監視
ステップ 7: ユーザーの確認とレポートの生成
アクション: 調査結果を提示し、修復アクションの承認を得ます プロセス:
-
正常性評価の概要を表示:
🏥 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) -
詳細レポートの生成:
# 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