mcpField
H
holmesgpt-skill

holmesgpt-skill

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

holmesgpt-skill について

holmesgpt-skillは、Kubernetesとクラウドネイティブ環境での障害調査にHolmesGPTを使うためのガイドです。ライブの可観測性データによる原因分析と修復案を扱い、本番環境向けに読み取り専用アクセスとRBACを重視します。

主な機能

  1. 01アラートとクラスター問題の調査
  2. 02複数の可観測性ツールセット連携
  3. 03対話型トラブルシューティング
  4. 04YAMLによるカスタムツールセット拡張
  5. 05CI/CDデプロイ失敗の分析
  6. 06読み取り専用アクセスとRBAC

活用シーン

  1. 01不健全またはクラッシュ中のPodの調査
  2. 02デプロイ失敗の原因特定
  3. 03アラートから根本原因を追跡
  4. 04CI/CDデプロイ障害の自動分析

インストール

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

$npx skills add https://github.com/julianobarbosa/claude-code-skills --skill holmesgpt-skill

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

同梱ファイル

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

references/
commands.md
configuration.md
data-sources.md
http-api.md
installation.md
integrations.md
troubleshooting.md

詳細

HolmesGPT スキル

Kubernetes およびクラウドネイティブ環境向けの AI を活用したトラブルシューティングです。

概要

HolmesGPT は、AI モデルをライブの可観測性データに接続し、インフラストラクチャの問題を調査して、根本原因を特定し、修正策を提案する CNCF Sandbox プロジェクトです。読み取り専用アクセスで動作し、RBAC 権限を尊重するため、本番環境でも安全に使用できます。

クイックリファレンス

トピックリファレンス
インストールreferences/installation.md
設定references/configuration.md
データソースreferences/data-sources.md
コマンドreferences/commands.md
トラブルシューティングreferences/troubleshooting.md
HTTP APIreferences/http-api.md
インテグレーションreferences/integrations.md

主な機能

  • 根本原因分析:アラートやクラスターの問題を調査します
  • マルチソースインテグレーション:30 以上のツールセット(K8s、Prometheus、Grafana)
  • アラートインテグレーション:AlertManager、PagerDuty、OpsGenie、Jira、Slack
  • 対話モード:/run、/show、/clear を使ったトラブルシューティング
  • カスタムツールセット:YAML 設定を通じて独自のツールを追加できます
  • CI/CD インテグレーション:デプロイ失敗の調査を自動化します

インストールのクイックスタート

CLI(Homebrew)
brew tap robusta-dev/homebrew-holmesgpt
brew install holmesgpt
export ANTHROPIC_API_KEY="your-key"  # or OPENAI_API_KEY
holmes ask "what pods are unhealthy?"
Kubernetes(Helm)
helm repo add robusta https://robusta-charts.storage.googleapis.com
helm repo update
helm install holmesgpt robusta/holmes -f values.yaml
Docker
docker run -it --net=host \
  -e OPENAI_API_KEY="your-key" \
  -v ~/.kube/config:/root/.kube/config \
  us-central1-docker.pkg.dev/genuine-flight-317411/devel/holmes \
  ask "what pods are crashing?"

基本的なコマンド

# Basic investigation
holmes ask "what pods are unhealthy and why?"
holmes ask "why is my deployment failing?"

# Interactive mode
holmes ask "investigate issue" --interactive

# Alert investigation
holmes investigate alertmanager --alertmanager-url http://localhost:9093
holmes investigate pagerduty --pagerduty-api-key <KEY> --update

# With file context
holmes ask "summarize the key points" -f ./logs.txt

# CI/CD integration
holmes ask "why did deployment fail?" --destination slack --slack-token <TOKEN>

対応 AI プロバイダー

プロバイダー環境変数モデル
AnthropicANTHROPIC_API_KEYSonnet 4、Opus 4.5
OpenAIOPENAI_API_KEYGPT-4.1、GPT-4o
Azure OpenAIAZURE_API_KEYGPT-4.1
AWS BedrockAWS credentialsClaude 3.5 Sonnet
Google GeminiGEMINI_API_KEYGemini 1.5 Pro
Vertex AIVERTEXAI_PROJECTGemini 1.5 Pro
OllamaLocal installLlama 3.1、Mistral

基本的な Helm values の構成

# values.yaml for Kubernetes deployment
image:
  repository: robustadev/holmes
  tag: latest

env:
  - name: ANTHROPIC_API_KEY
    valueFrom:
      secretKeyRef:
        name: holmesgpt-secrets
        key: anthropic-api-key

# Model configuration
modelList:
  sonnet:
    api_key: "{{ env.ANTHROPIC_API_KEY }}"
    model: anthropic/claude-sonnet-4-20250514
    temperature: 0

# Toolsets to enable
toolsets:
  kubernetes/core:
    enabled: true
  kubernetes/logs:
    enabled: true
  prometheus/metrics:
    enabled: true

# Resources
resources:
  requests:
    memory: "1024Mi"
    cpu: "100m"
  limits:
    memory: "1024Mi"

# RBAC (read-only by default)
createServiceAccount: true

対話モードのコマンド

コマンド説明
/clearトピックを変更するときにコンテキストをリセットします
/runカスタムコマンドを実行し、その出力を AI と共有します
/showツールの出力全体を表示します
/contextこれまでに蓄積した調査情報を確認します

カスタムツールセットの例

# custom-toolset.yaml
toolsets:
  my-custom-tool:
    description: "Custom diagnostic tool"
    tools:
      - name: check_service_health
        description: "Check health of a specific service"
        command: |
          curl -s http://{{ service_name }}.{{ namespace }}.svc.cluster.local/health
        parameters:
          - name: service_name
            description: "Name of the service"
          - name: namespace
            description: "Kubernetes namespace"

次のように使用します:holmes ask "check health" -t custom-toolset.yaml

インテグレーション用 Kubernetes アノテーション

# Add to Services/Deployments for HolmesGPT context
metadata:
  annotations:
    holmesgpt.dev/runbook: |
      This service handles payment processing.
      Common issues: database connectivity, API rate limits.
      Check: kubectl logs -l app=payment-service

環境変数リファレンス

変数説明デフォルト
HOLMES_CONFIG_PATH設定ファイルのパス~/.holmes/config.yaml
HOLMES_LOG_LEVELログの詳細度INFO
PROMETHEUS_URLPrometheus サーバーの URL-
GITHUB_TOKENGitHub API トークン-
DATADOG_API_KEYDataDog API キー-
CONFLUENCE_BASE_URLConfluence の URL-

ベストプラクティス

  1. 具体的なクエリを使用する:ネームスペース、デプロイメント名、症状を含めます
  2. Claude Sonnet 4.0/4.5 から始める:複雑な調査で最も高い精度を発揮します
  3. 関連するツールセットを有効にする:ノイズを減らすため、必要なものだけを有効にします
  4. 対話モードを使用する:複数の手順が必要な複雑な調査に適しています
  5. ランブックを設定する:既知のアラートの種類に関するコンテキストを提供します
  6. CI/CD インテグレーション:デプロイ失敗の分析を自動化します

セキュリティに関する考慮事項

  • HolmesGPT は読み取り専用アクセスを使用します(get、list、watch のみ)
  • 既存の RBAC 権限を尊重します
  • リソースの変更、作成、削除は一切行いません
  • API キーは Kubernetes Secrets に保存されます
  • データはモデルのトレーニングに使用されません

公式リソース

コメント