Skip to content

Your 24/7 On-Call AI Agent - Solve Alerts Faster with Automatic Correlations, Investigations, and More

License

Notifications You must be signed in to change notification settings

robusta-dev/holmesgpt

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Solve alerts faster with an AI Agent

How it Works | Quick Start | YouTube Demo

Respond to alerts faster, using AI to automatically:

  • Fetch logs, traces, and metrics
  • Determine if issues are application or infrastructure related
  • Find upstream root-causes

Using HolmesGPT, you can transform your existing alerts from this πŸ‘‡

Before HolmesGPT

To this πŸ‘‡

example-holmesgpt-analysis

How it Works

HolmesGPT connects AI models with live observability data and organizational knowledge. It uses an agentic loop to analyze data from multiple sources and identify possible root causes.

holmesgpt-architecture-diagram

πŸ“ˆ Data Sources

The following data sources ("toolsets") are built-in. Add your own.

Data Source Status Description
Kubernetes βœ… Pod logs, K8s events, and resource status (kubectl describe)
Grafana βœ… Logs (Loki) and traces (Tempo)
Helm βœ… Release status, chart metadata, and values
ArgoCD βœ… Application sync status
AWS RDS βœ… Logs and events
Prometheus βœ… Currently supports investigating alerts; coming soon: automatically write PromQL and show related graphs
Internet βœ… Public runbooks
Confluence βœ… Private runbooks and documentation
OpenSearch 🟑 Beta Query logs and investigate issues with OpenSearch itself (using self-health diagnostics)
NewRelic 🟑 Beta Investigate alerts, query tracing data
Coralogix 🟑 Beta Logs
GitHub 🟑 Beta Remediate alerts by opening pull requests with fixes

How to configure datasources with Robusta SaaS (docs for CLI coming soon)

Request access to beta features

πŸ” Data Privacy

By design, HolmesGPT has read-only access and respects RBAC permissions. It is safe to run in production environments.

We do not train HolmesGPT on your data. Data sent to Robusta SaaS is private to your account.

For extra privacy, bring an API key for your own AI model.

πŸš€ Bi-Directional Integrations With Your Tools

Robusta can investigate alerts - or just answer questions - from the following sources:

Integration Status Notes
Slack 🟑 Beta Demo. Tag HolmesGPT bot in any Slack message
Prometheus/AlertManager βœ… Robusta SaaS or HolmesGPT CLI
PagerDuty βœ… HolmesGPT CLI only
OpsGenie βœ… HolmesGPT CLI only
Jira βœ… HolmesGPT CLI only

See it in Action

Quick Start

HolmesGPT can be used in three ways:

  1. Use Robusta SaaS (recommended) for the full HolmesGPT experience (Kubernetes required)
  2. Desktop CLI or K9s plugin - no Kubernetes required, supports one-off investigations
  3. Python library - for advanced use cases

Using HolmesGPT

holmes ask "what pods are unhealthy and why?"

Also supported:

HolmesGPT CLI: investigate Prometheus alerts

Optional: port-forward to AlertManager (if running Prometheus inside Kubernetes)

kubectl port-forward alertmanager-robusta-kube-prometheus-st-alertmanager-0 9093:9093 &

Pull alerts from AlertManager and investigate them with HolmesGPT:

holmes investigate alertmanager --alertmanager-url http://localhost:9093
# if on Mac OS and using the Holmes Docker imageπŸ‘‡
#  holmes investigate alertmanager --alertmanager-url http://docker.for.mac.localhost:9093

To investigate alerts in your browser, sign up for a free trial of Robusta SaaS.

HolmesGPT CLI: investigate PagerDuty and OpsGenie alerts
holmes investigate opsgenie --opsgenie-api-key <OPSGENIE_API_KEY>
holmes investigate pagerduty --pagerduty-api-key <PAGERDUTY_API_KEY>
# to write the analysis back to the incident as a comment
holmes investigate pagerduty --pagerduty-api-key <PAGERDUTY_API_KEY> --update

For more details, run holmes investigate <source> --help

Customizing HolmesGPT

HolmesGPT can investigate many issues out of the box, with no customization or training. Optionally, you can extend Holmes to improve results:

Custom Data Sources: Add data sources (toolsets) to improve investigations

Custom Runbooks: Give HolmesGPT instructions for known alerts:

  • If using Robusta SaaS: Use the Robusta UI to add runbooks
  • If using the CLI: Use -r flag with custom runbook files

You can save settings in a config file to avoid passing them to the CLI each time:

Reading settings from a config file

You can customize HolmesGPT's behaviour with command line flags, or you can save common settings in config file for re-use.

You can view an example config file with all available settings here.

License

Distributed under the MIT License. See LICENSE.txt for more information.

Support

If you have any questions, feel free to message us on robustacommunity.slack.com

How to Contribute

Install HolmesGPT from source with Poetry. See Installation for details.

For help, contact us on Slack