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. 04通过 YAML 扩展自定义工具集
  5. 05分析 CI/CD 部署失败
  6. 06遵循只读访问与 RBAC

适用场景

  1. 01分析不健康或崩溃的 Pod
  2. 02调查部署失败原因
  3. 03检查告警并定位根因
  4. 04自动分析 CI/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 Skill

面向 Kubernetes 和云原生环境的 AI 故障排查工具。

概览

HolmesGPT 是 CNCF Sandbox 项目,可将 AI 模型与实时可观测性数据相连接,以调查基础设施问题、查找根本原因并提供修复建议。它仅使用只读访问权限,并遵循 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
Ollama本地安装Llama 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 中
  • 数据不会用于模型训练

官方资源

评论

支持 Markdown