Robusta 是面向 Kubernetes 的可观测性与告警自动化平台,定位为 SRE 智能体,通过 playbook 将告警转化为可操作信息,并提供 AI 调查与自动修复能力。
主要能力:playbook 规则引擎定义告警响应;触发器(如 on_prometheus_alert、on_pod_create、on_pod_update、on_deployment_update、on_schedule、on_kubernetes_warning_event)激活执行;动作包括 logs_enricher、pod_events_enricher、node_cpu_enricher、node_memory_enricher、deployment_status_enricher、delete_pod、node_bash_enricher 等富化与修复步骤;sink 负责通知投递,支持 Slack、Microsoft Teams、PagerDuty 及通用 Webhook。智能分组利用 Slack 线程聚合相关告警以减少通知噪音;AI 根因分析(HolmesGPT)为可选能力,需 Robusta Pro 或自托管 HolmesGPT。
使用方式:需 Kubernetes 集群、Helm 3.x 与已配置的 kubectl。一体化安装(含 Prometheus)可执行 pipx run robusta-cli gen-config --enable-prometheus-stack,或下载脚本后运行 ./robusta gen-config --enable-prometheus-stack,再通过 helm repo add robusta https://robusta-charts.storage.googleapis.com、helm repo update、helm install robusta robusta/robusta -f ./generated_values.yaml --set clusterName=<YOUR_CLUSTER_NAME> 安装,并用 kubectl get pods -A | grep robusta 验证。已有 Prometheus 时使用不带该参数的 gen-config。playbook 与 sink 在 generated_values.yaml 中配置,例如 customPlaybooks 下定义 triggers、actions、sinks,sinksConfig 下配置 slack_sink、ms_teams_sink、pagerduty_sink、webhook_sink。
适用场景:Kubernetes 告警富化与通知路由、CrashLoopBackOff 等故障排查、自动修复、告警降噪。
限制与注意事项:customPlaybooks 顺序影响匹配,同触发器首个匹配生效,通用规则应放在具体规则之后;slack_sink 的 api_key 需为机器人令牌(xoxb-)而非 webhook URL;delete_pod 自动修复无速率限制,需配合告警触发与 firing 过滤;ms_teams_sink 的 webhook URL 已于 2024 年弃用,需迁移;智能分组依赖 Slack 线程与机器人模式。具体收费与价格暂未提供。