https://github.com/robusta-dev/holmesgpt
Your 24/7 On-Call AI Agent - Solve Alerts Faster with Automatic Correlations, Investigations, and More
https://github.com/robusta-dev/holmesgpt
aiops chatbot chatops devops devops-tools incident incident-management incident-response jira kubernetes llm llm-agent llm-framework llms monitoring observability prometheus site-reliability-engineering slack sre
Last synced: 23 days ago
JSON representation
Your 24/7 On-Call AI Agent - Solve Alerts Faster with Automatic Correlations, Investigations, and More
- Host: GitHub
- URL: https://github.com/robusta-dev/holmesgpt
- Owner: robusta-dev
- License: mit
- Created: 2024-05-30T13:27:10.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2025-05-12T12:02:18.000Z (25 days ago)
- Last Synced: 2025-05-12T12:41:29.263Z (25 days ago)
- Topics: aiops, chatbot, chatops, devops, devops-tools, incident, incident-management, incident-response, jira, kubernetes, llm, llm-agent, llm-framework, llms, monitoring, observability, prometheus, site-reliability-engineering, slack, sre
- Language: Python
- Homepage:
- Size: 6.01 MB
- Stars: 873
- Watchers: 9
- Forks: 94
- Open Issues: 42
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE.txt
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Respond to alerts faster, using AI to automatically:
- Fetch logs, traces, and metrics
- Determine if issues are application or infrastructure related
- Find upstream root-causesUsing HolmesGPT, you can transform your existing alerts from this 👇

To this 👇
### 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.
### 📈 Data Sources
The following data sources ("toolsets") are built-in. [Add your own](#customizing-holmesgpt).
| Data Source | Status | Description |
|----------------|----------------|--------------------------------------------------------------|
| [Kubernetes](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/kubernetes.html) | ✅ | Pod logs, K8s events, and resource status (kubectl describe) |
| Grafana | ✅ | [Logs (Loki)](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/grafanaloki.html) and [traces (Tempo)](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/grafanatempo.html) |
| [Helm](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/helm.html) | ✅ | Release status, chart metadata, and values |
| [ArgoCD](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/argocd.html) | ✅ | Application sync status |
| [AWS RDS](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/aws.html) | ✅ | Logs and events |
| [Prometheus](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/prometheus.html) | ✅ | Currently supports investigating alerts; coming soon: automatically write PromQL and show related graphs |
| [Internet](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/internet.html) | ✅ | Public runbooks |
| [Confluence](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/confluence.html) | ✅ | Private runbooks and documentation |
| [OpenSearch](https://docs.robusta.dev/master/configuration/holmesgpt/toolsets/opensearch.html) | 🟡 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](https://docs.robusta.dev/master/configuration/holmesgpt/builtin_toolsets.html) (docs for CLI coming soon)
[Request access to beta features](mailto:[email protected])
### 🔐 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](docs/api-keys.md) 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.](https://www.loom.com/share/afcd81444b1a4adfaa0bbe01c37a4847) 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 - Installing HolmesGPT
HolmesGPT can be installed two ways:
1. [Robusta SaaS](https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section) (**recommended**) for the full HolmesGPT experience (Kubernetes required)
2. [Desktop CLI](docs/installation.md) or [K9s plugin](docs/k9s.md) - no Kubernetes required, supports one-off investigationsFor advanced use cases, you can [import HolmesGPT as a Python library](docs/python.md) and use it from your own code. Before doing so, we recommend install HolmesGPT SaaS or CLI (see above) to learn your way around.
### Using HolmesGPT
- In the Robusta SaaS: Go to [platform.robusta.dev](https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section) and use Holmes from your browser
- With HolmesGPT CLI: [setup an LLM API key](docs/api-keys.md) and ask Holmes a question 👇```bash
holmes ask "what pods are unhealthy and why?"
```Also supported:
HolmesGPT CLI: investigate Prometheus alerts
Pull alerts from AlertManager and investigate them with HolmesGPT:
```bash
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](https://platform.robusta.dev/signup/?utm_source=github&utm_medium=holmesgpt-readme&utm_content=ways_to_use_holmesgpt_section).
Optional: port-forward to AlertManager before running the command mentioned above (if running Prometheus inside Kubernetes)
```bash
kubectl port-forward alertmanager-robusta-kube-prometheus-st-alertmanager-0 9093:9093 &
```HolmesGPT CLI: investigate PagerDuty and OpsGenie alerts
```bash
holmes investigate opsgenie --opsgenie-api-key
holmes investigate pagerduty --pagerduty-api-key
# to write the analysis back to the incident as a comment
holmes investigate pagerduty --pagerduty-api-key --update
```For more details, run `holmes investigate --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
- If using Robusta SaaS: See [Robusta's docs](https://docs.robusta.dev/master/configuration/holmesgpt/custom_toolsets.html)
- If using the CLI: Use `-t` flag with [custom toolset files](./examples/custom_toolset.yaml) or add to `~/.holmes/config.yaml`**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](./examples/custom_runbooks.yaml) or add to `~/.holmes/config.yaml`You can save common settings and API Keys in a config file to avoid passing them from the CLI each time:
Reading settings from a config file
You can save common settings and API keys in config file for re-use. Place the config file in
~/.holmes/config.yaml`
or pass it using the--config
You can view an example config file with all available settings [here](config.example.yaml).
## License
Distributed under the MIT License. See [LICENSE.txt](https://github.com/robusta-dev/holmesgpt/blob/master/LICENSE.txt) for more information.## Support
If you have any questions, feel free to message us on [robustacommunity.slack.com](https://bit.ly/robusta-slack)
## How to Contribute
Install HolmesGPT from source with Poetry. See [Installation](docs/installation.md) for details.
For help, contact us on [Slack](https://bit.ly/robusta-slack)