{"id":15714405,"url":"https://github.com/robusta-dev/holmesgpt","last_synced_at":"2025-10-08T23:56:12.523Z","repository":{"id":241896830,"uuid":"808146034","full_name":"robusta-dev/holmesgpt","owner":"robusta-dev","description":"Your 24/7 On-Call AI Agent - Solve Alerts Faster with Automatic Correlations, Investigations, and More","archived":false,"fork":false,"pushed_at":"2025-10-06T06:06:34.000Z","size":47553,"stargazers_count":1338,"open_issues_count":133,"forks_count":176,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-10-06T07:22:25.134Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"https://holmesgpt.dev/","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/robusta-dev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":"GOVERNANCE.md","roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":"MAINTAINERS.md","copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-05-30T13:27:10.000Z","updated_at":"2025-10-05T12:59:40.000Z","dependencies_parsed_at":"2024-06-28T12:51:45.079Z","dependency_job_id":"1e89bab1-e664-4149-bd28-50261d1e9f20","html_url":"https://github.com/robusta-dev/holmesgpt","commit_stats":{"total_commits":202,"total_committers":18,"mean_commits":"11.222222222222221","dds":0.6188118811881188,"last_synced_commit":"c0eba0d4011b744d59eac39257865746f33ac7a8"},"previous_names":["robusta-dev/holmesgpt"],"tags_count":86,"template":false,"template_full_name":null,"purl":"pkg:github/robusta-dev/holmesgpt","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robusta-dev%2Fholmesgpt","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robusta-dev%2Fholmesgpt/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robusta-dev%2Fholmesgpt/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robusta-dev%2Fholmesgpt/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robusta-dev","download_url":"https://codeload.github.com/robusta-dev/holmesgpt/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robusta-dev%2Fholmesgpt/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279000708,"owners_count":26082862,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-08T02:00:06.501Z","response_time":56,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-10-03T21:36:38.408Z","updated_at":"2025-10-08T23:56:12.517Z","avatar_url":"https://github.com/robusta-dev.png","language":"Python","readme":"\u003cdiv align=\"center\"\u003e\n  \u003ch1 align=\"center\"\u003eAI Agent for Cloud Troubleshooting and Alert Investigation\u003c/h1\u003e\n\nHolmesGPT is an AI agent for investigating problems in your cloud, finding the root cause, and suggesting remediations. It has dozens of built-in integrations for cloud providers, observability tools, and on-call systems.\n\nHolmesGPT has been submitted to the CNCF as a sandbox project ([view status](https://github.com/cncf/sandbox/issues/392)). You can learn more about HolmesGPT's maintainers and adopters [here](./ADOPTERS.md).\n\n  \u003cp align=\"center\"\u003e\n    \u003ca href=\"#how-it-works\"\u003e\u003cstrong\u003eHow it Works\u003c/strong\u003e\u003c/a\u003e |\n    \u003ca href=\"#installation\"\u003e\u003cstrong\u003eInstallation\u003c/strong\u003e\u003c/a\u003e |\n    \u003ca href=\"#supported-llm-providers\"\u003e\u003cstrong\u003eLLM Providers\u003c/strong\u003e\u003c/a\u003e |\n    \u003ca href=\"https://www.youtube.com/watch?v=TfQfx65LsDQ\"\u003e\u003cstrong\u003eYouTube Demo\u003c/strong\u003e\u003c/a\u003e |\n    \u003ca href=\"https://deepwiki.com/robusta-dev/holmesgpt\"\u003e\u003cimg src=\"https://deepwiki.com/badge.svg\" alt=\"Ask DeepWiki\"\u003e\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/div\u003e\n\n![HolmesGPT Investigation Demo](https://holmesgpt.dev/assets/HolmesInvestigation.gif)\n\n## How it Works\n\nHolmesGPT 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.\n\n\u003cimg width=\"3114\" alt=\"holmesgpt-architecture-diagram\" src=\"https://github.com/user-attachments/assets/f659707e-1958-4add-9238-8565a5e3713a\" /\u003e\n\n### 🔗 Data Sources\n\nHolmesGPT integrates with popular observability and cloud platforms. The following data sources (\"toolsets\") are built-in. [Add your own](#customizing-holmesgpt).\n\n| Data Source | Status | Notes |\n|-------------|--------|-------|\n| [\u003cimg src=\"images/integration_logos/argocd-icon.png\" alt=\"ArgoCD\" width=\"20\" style=\"vertical-align: middle;\"\u003e **ArgoCD**](https://holmesgpt.dev/data-sources/builtin-toolsets/argocd/) | ✅ | Get status, history and manifests and more of apps, projects and clusters |\n| [\u003cimg src=\"images/integration_logos/aws_rds_logo.png\" alt=\"AWS RDS\" width=\"20\" style=\"vertical-align: middle;\"\u003e **AWS RDS**](https://holmesgpt.dev/data-sources/builtin-toolsets/aws/) | ✅ | Fetch events, instances, slow query logs and more |\n| [\u003cimg src=\"images/integration_logos/confluence_logo.png\" alt=\"Confluence\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Confluence**](https://holmesgpt.dev/data-sources/builtin-toolsets/confluence/) | ✅ | Private runbooks and documentation |\n| [\u003cimg src=\"images/integration_logos/coralogix-icon.png\" alt=\"Coralogix Logs\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Coralogix Logs**](https://holmesgpt.dev/data-sources/builtin-toolsets/coralogix-logs/) | ✅ | Retrieve logs for any resource |\n| [\u003cimg src=\"images/integration_logos/date_time_icon.png\" alt=\"Datetime\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Datetime**](https://holmesgpt.dev/data-sources/builtin-toolsets/datetime/) | ✅ | Date and time-related operations |\n| [\u003cimg src=\"images/integration_logos/docker_logo.png\" alt=\"Docker\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Docker**](https://holmesgpt.dev/data-sources/builtin-toolsets/docker/) | ✅ | Get images, logs, events, history and more |\n| [\u003cimg src=\"images/integration_logos/github_logo.png\" alt=\"GitHub\" width=\"20\" style=\"vertical-align: middle;\"\u003e **GitHub**](https://holmesgpt.dev/data-sources/builtin-toolsets/github/) | 🟡 Beta | Remediate alerts by opening pull requests with fixes |\n| [\u003cimg src=\"images/integration_logos/datadog_logo.png\" alt=\"DataDog\" width=\"20\" style=\"vertical-align: middle;\"\u003e **DataDog**](https://holmesgpt.dev/data-sources/builtin-toolsets/datadog/) | 🟡 Beta | Fetches log data from datadog  |\n| [\u003cimg src=\"images/integration_logos/grafana_loki-icon.png\" alt=\"Loki\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Loki**](https://holmesgpt.dev/data-sources/builtin-toolsets/grafanaloki/) | ✅ | Query logs for Kubernetes resources or any query |\n| [\u003cimg src=\"images/integration_logos/tempo_logo.png\" alt=\"Tempo\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Tempo**](https://holmesgpt.dev/data-sources/builtin-toolsets/grafanatempo/) | ✅ | Fetch trace info, debug issues like high latency in application. |\n| [\u003cimg src=\"images/integration_logos/helm_logo.png\" alt=\"Helm\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Helm**](https://holmesgpt.dev/data-sources/builtin-toolsets/helm/) | ✅ | Release status, chart metadata, and values |\n| [\u003cimg src=\"images/integration_logos/http-icon.png\" alt=\"Internet\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Internet**](https://holmesgpt.dev/data-sources/builtin-toolsets/internet/) | ✅ | Public runbooks, community docs etc |\n| [\u003cimg src=\"images/integration_logos/kafka_logo.png\" alt=\"Kafka\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Kafka**](https://holmesgpt.dev/data-sources/builtin-toolsets/kafka/) | ✅ | Fetch metadata, list consumers and topics or find lagging consumer groups |\n| [\u003cimg src=\"images/integration_logos/kubernetes-icon.png\" alt=\"Kubernetes\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Kubernetes**](https://holmesgpt.dev/data-sources/builtin-toolsets/kubernetes/) | ✅ | Pod logs, K8s events, and resource status (kubectl describe) |\n| [\u003cimg src=\"images/integration_logos/newrelic_logo.png\" alt=\"NewRelic\" width=\"20\" style=\"vertical-align: middle;\"\u003e **NewRelic**](https://holmesgpt.dev/data-sources/builtin-toolsets/newrelic/) | 🟡 Beta | Investigate alerts, query tracing data |\n| [\u003cimg src=\"images/integration_logos/opensearchserverless-icon.png\" alt=\"OpenSearch\" width=\"20\" style=\"vertical-align: middle;\"\u003e **OpenSearch**](https://holmesgpt.dev/data-sources/builtin-toolsets/opensearch-status/) | ✅ | Query health, shard, and settings related info of one or more clusters|\n| [\u003cimg src=\"images/integration_logos/prometheus-icon.png\" alt=\"Prometheus\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Prometheus**](https://holmesgpt.dev/data-sources/builtin-toolsets/prometheus/) | ✅ | Investigate alerts, query metrics and generate PromQL queries  |\n| [\u003cimg src=\"images/integration_logos/rabbit_mq_logo.png\" alt=\"RabbitMQ\" width=\"20\" style=\"vertical-align: middle;\"\u003e **RabbitMQ**](https://holmesgpt.dev/data-sources/builtin-toolsets/rabbitmq/) | ✅ | Info about partitions, memory/disk alerts to troubleshoot split-brain scenarios and more  |\n| [\u003cimg src=\"images/integration_logos/robusta_logo.png\" alt=\"Robusta\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Robusta**](https://holmesgpt.dev/data-sources/builtin-toolsets/robusta/) | ✅ | Multi-cluster monitoring, historical change data, user-configured runbooks, PromQL graphs and more |\n| [\u003cimg src=\"images/integration_logos/slab_logo.png\" alt=\"Slab\" width=\"20\" style=\"vertical-align: middle;\"\u003e **Slab**](https://holmesgpt.dev/data-sources/builtin-toolsets/slab/) | ✅ | Team knowledge base and runbooks on demand |\n\n### 🚀 End-to-End Automation\n\nHolmesGPT can fetch alerts/tickets to investigate from external systems, then write the analysis back to the source or Slack.\n\n| Integration             | Status    | Notes |\n|-------------------------|-----------|-------|\n| Slack                   | 🟡 Beta   | [Demo.](https://www.loom.com/share/afcd81444b1a4adfaa0bbe01c37a4847) Tag HolmesGPT bot in any Slack message |\n| Prometheus/AlertManager | ✅        | Robusta SaaS or HolmesGPT CLI |\n| PagerDuty               | ✅        | HolmesGPT CLI only |\n| OpsGenie                | ✅        | HolmesGPT CLI only |\n| Jira                    | ✅        | HolmesGPT CLI only |\n| GitHub                  | ✅        | HolmesGPT CLI only |\n\n## Installation\n\n\u003ca href=\"https://holmesgpt.dev/installation/cli-installation/\"\u003e\n  \u003cimg src=\"images/integration_logos/all-installation-methods.png\" alt=\"All Installation Methods\" style=\"max-width:100%; height:auto;\"\u003e\n\u003c/a\u003e\n\nRead the [installation documentation](https://holmesgpt.dev/installation/cli-installation/) to learn how to install HolmesGPT.\n\n## Supported LLM Providers\n\n\u003ca href=\"https://holmesgpt.dev/ai-providers/\"\u003e\n  \u003cimg src=\"images/integration_logos/all-integration-providers.png\" alt=\"All Integration Providers\" style=\"max-width:100%; height:auto;\"\u003e\n\u003c/a\u003e\n\nRead the [LLM Providers documentation](https://holmesgpt.dev/ai-providers/) to learn how to set up your LLM API key.\n\n## Using HolmesGPT\n\n- In the Robusta SaaS: Go to [platform.robusta.dev](https://platform.robusta.dev/signup/?utm_source=github\u0026utm_medium=holmesgpt-readme\u0026utm_content=ways_to_use_holmesgpt_section) and use Holmes from your browser\n- With HolmesGPT CLI: [setup an LLM API key](https://holmesgpt.dev/ai-providers/) and ask Holmes a question 👇\n\n```bash\nholmes ask \"what pods are unhealthy and why?\"\n```\n\nYou can also provide files as context:\n```bash\nholmes ask \"summarize the key points in this document\" -f ./mydocument.txt\n```\n\nYou can also load the prompt from a file using the `--prompt-file` option:\n```bash\nholmes ask --prompt-file ~/long-prompt.txt\n\nEnter interactive mode to ask follow-up questions:\n```bash\nholmes ask \"what pods are unhealthy and why?\" --interactive\n# or\nholmes ask \"what pods are unhealthy and why?\" -i\n```\n\nAlso supported:\n\n\u003cdetails\u003e\n\u003csummary\u003eHolmesGPT CLI: investigate Prometheus alerts\u003c/summary\u003e\n\nPull alerts from AlertManager and investigate them with HolmesGPT:\n\n```bash\nholmes investigate alertmanager --alertmanager-url http://localhost:9093\n# if on Mac OS and using the Holmes Docker image👇\n#  holmes investigate alertmanager --alertmanager-url http://docker.for.mac.localhost:9093\n```\n\n\u003cb\u003eTo investigate alerts in your browser, sign up for a free trial of [Robusta SaaS](https://platform.robusta.dev/signup/?utm_source=github\u0026utm_medium=holmesgpt-readme\u0026utm_content=ways_to_use_holmesgpt_section). \u003c/b\u003e\n\n\n\u003cb\u003eOptional:\u003c/b\u003e port-forward to AlertManager before running the command mentioned above (if running Prometheus inside Kubernetes)\n\n```bash\nkubectl port-forward alertmanager-robusta-kube-prometheus-st-alertmanager-0 9093:9093 \u0026\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003eHolmesGPT CLI: investigate PagerDuty and OpsGenie alerts\u003c/summary\u003e\n\n```bash\nholmes investigate opsgenie --opsgenie-api-key \u003cOPSGENIE_API_KEY\u003e\nholmes investigate pagerduty --pagerduty-api-key \u003cPAGERDUTY_API_KEY\u003e\n# to write the analysis back to the incident as a comment\nholmes investigate pagerduty --pagerduty-api-key \u003cPAGERDUTY_API_KEY\u003e --update\n```\n\nFor more details, run `holmes investigate \u003csource\u003e --help`\n\u003c/details\u003e\n\n## Customizing HolmesGPT\n\nHolmesGPT can investigate many issues out of the box, with no customization or training. Optionally, you can extend Holmes to improve results:\n\n**Custom Data Sources**: Add data sources (toolsets) to improve investigations\n   - If using Robusta SaaS: See [here](https://holmesgpt.dev/data-sources/custom-toolsets/)\n   - If using the CLI: Use `-t` flag with [custom toolset files](./examples/custom_toolset.yaml) or add to `~/.holmes/config.yaml`\n\n**Custom Runbooks**: Give HolmesGPT instructions for known alerts:\n   - If using Robusta SaaS: Use the Robusta UI to add runbooks\n   - If using the CLI: Use `-r` flag with [custom runbook files](./examples/custom_runbooks.yaml) or add to `~/.holmes/config.yaml`\n\nYou can save common settings and API Keys in a config file to avoid passing them from the CLI each time:\n\n\u003cdetails\u003e\n\u003csummary\u003eReading settings from a config file\u003c/summary\u003e\n\nYou can save common settings and API keys in config file for re-use. Place the config file in \u003ccode\u003e~/.holmes/config.yaml`\u003c/code\u003e or pass it using the \u003ccode\u003e --config\u003c/code\u003e\n\nYou can view an example config file with all available settings [here](config.example.yaml).\n\n### Tool Output Transformers\n\nHolmesGPT supports **transformers** to process large tool outputs before sending them to your primary LLM. This feature helps manage context window limits while preserving essential information.\n\nThe most common transformer is `llm_summarize`, which uses a fast secondary model to summarize lengthy outputs from tools like `kubectl describe`, log queries, or metrics collection.\n\n📖 **Learn more**: [Tool Output Transformers Documentation](docs/transformers.md)\n\u003c/details\u003e\n\n## 🔐 Data Privacy\n\nBy design, HolmesGPT has **read-only access** and respects RBAC permissions. It is safe to run in production environments.\n\nWe do **not** train HolmesGPT on your data. Data sent to Robusta SaaS is private to your account.\n\nFor extra privacy, [bring an API key](https://holmesgpt.dev/ai-providers/) for your own AI model.\n\n\n## Evals\n\nBecause HolmesGPT relies on LLMs, it relies on [a suite of pytest based evaluations](https://holmesgpt.dev/development/evals/) to ensure the prompt and HolmesGPT's default set of tools work as expected with LLMs.\n\n- [Introduction to HolmesGPT's evals](https://holmesgpt.dev/development/evals/).\n- [Write your own evals](https://holmesgpt.dev/development/evals/adding-new-eval/).\n- [Use Braintrust to view analyze results (optional)](https://holmesgpt.dev/development/evals/reporting/).\n\n\n## License\nDistributed under the MIT License. See [LICENSE.txt](https://github.com/robusta-dev/holmesgpt/blob/master/LICENSE.txt) for more information.\n\u003c!-- Change License --\u003e\n\n## Community\n\nJoin our community to discuss the HolmesGPT roadmap and share feedback:\n\n📹 **First Community Meetup Recording:** [Watch on YouTube](https://youtu.be/slQRc6nlFQU)\n- **Topics:** Roadmap discussion, community feedback, and Q\u0026A\n- **Resources:** [📝 Meeting Notes](https://docs.google.com/document/d/1sIHCcTivyzrF5XNvos7ZT_UcxEOqgwfawsTbb9wMJe4/edit?tab=t.0) | [📋 Community Page](https://holmesgpt.dev/community/)\n\n## Support\n\nIf you have any questions, feel free to message us on [robustacommunity.slack.com](https://bit.ly/robusta-slack)\n\n## How to Contribute\n\nPlease read our [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines and instructions.\n\nFor help, contact us on [Slack](https://bit.ly/robusta-slack) or ask [DeepWiki AI](https://deepwiki.com/robusta-dev/holmesgpt) your questions.\n\n[![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/robusta-dev/holmesgpt)\n","funding_links":[],"categories":["Observability \u0026 Monitoring","Python","Incident Management / Incident Response / IT Alerting / On-Call","Tools"],"sub_categories":["Container Orchestration","Open Source Tools"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobusta-dev%2Fholmesgpt","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobusta-dev%2Fholmesgpt","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobusta-dev%2Fholmesgpt/lists"}