1. Project Overview & Quickstart (keephq/keep)
File: README.md
The open-source AIOps and alert management platform
- ๐ Single pane of glass - Best-in-class customizable UI for all your alerts and incidents
- ๐ ๏ธ Swiss Army Knife for alerts - Deduplication, correlation, filtering and enrichment
- ๐ Deep integrations - Bi-directional syncs with monitoring tools, customizable workflows
- โก Automation - GitHub Actions for your monitoring tools
- ๐ค AIOps 2.0 - AI-powered correlation and summarization
See full platform documentation.
Supported Integrations
View the full list in our documentation
Missing a provider? Submit a new provider request and we'll add it quickly!
AI Backends for Enrichments, Correlations and Incident Context Gathering
| Anthropic | OpenAI | DeepSeek | Ollama | LlamaCPP | Grok |
|---|---|---|---|---|---|
| Gemini |
Observability Tools
| AppDynamics | Axiom | Azure Monitoring | Centreon | Checkmk | Cilium |
|---|---|---|---|---|---|
| Checkly | CloudWatch | Coralogix | Dash0 | Datadog | Dynatrace |
| Elastic | GCP Monitoring | Grafana | Grafana Loki | Graylog | Icinga2 |
| Kibana | LibreNMS | NetBox | Netdata | New Relic | OpenSearch Serverless |
| Parseable | Pingdom | Prometheus | Rollbar | Sentry | SignalFX |
| OpenObserve | Site24x7 | Splunk | StatusCake | SumoLogic | ThousandEyes |
| UptimeKuma | VictoriaLogs | VictoriaMetrics | Wazuh | Zabbix |
Databases & Data Warehouses
| BigQuery | ClickHouse | Databend | MongoDB | MySQL | PostgreSQL |
|---|---|---|---|---|---|
| Snowflake |
Communication Platforms
| Discord | Google Chat | Mailgun | Mattermost | Ntfy.sh | Pushover | Resend |
|---|---|---|---|---|---|---|
| SendGrid | Slack | SMTP | Telegram | Twilio | Teams | Zoom |
| Zoom Chat |
Incident Management
| Grafana Incident | Grafana OnCall | Ilert | Incident.io | AWS Incident Manager | OpsGenie |
|---|---|---|---|---|---|
| PagerDuty | Pagertree | SINGL4 | Squadcast | Zenduty | Flashduty |
Ticketing Tools
| Asana | GitHub | GitLab | Jira | Linear | LinearB | Microsoft Planner |
|---|---|---|---|---|---|---|
| Monday | Redmine | ServiceNow | Trello | YouTrack |
Container Orchestration Platforms
| Azure AKS | ArgoCD | Flux | GKE | Kubernetes | OpenShift |
|---|
Data Enrichment
| Bash | OpenAI | Python | QuickChart | SSH | Webhook |
|---|
Workflow Orchestration
| Airflow |
|---|
Queues
| Amazon SQS | Kafka |
|---|
Workflows
Keep is GitHub Actions for your monitoring tools.
A Keep Workflow is a declarative YAML file that automates your alert and incident management. Each workflow consists of:
- Triggers - What starts the workflow (alerts, incidents, schedule or manual)
- Steps - Read or fetch data (enrichment, context)
- Actions - Execute operations (update tickets, send notifications, restart servers)
Here's a simple workflow that creates a Jira ticket for every critical alert from sentry for payments and api services.
For more workflows, see here.
/* Detailed source-code truncated for AI context efficiency. */Enterprise Ready
- Developer First - Modern REST APIs, native SDKs, and comprehensive documentation for seamless integration
- Enterprise Security - Full authentication support (SSO, SAML, OIDC, LDAP) with granular access control (RBAC, ABAC) and team management
- Flexible Deployment - Deploy on-premises or in air-gapped environments with cloud-agnostic architecture
- Production Scale - High availability, performance-tested infrastructure supporting horizontal scaling for enterprise workloads
Getting Started
Need help? Can't find your environment listed? Reach out on Slack and we'll help you quickly.
Keep can run in various environments and configurations. The easiest way to start is with Keep's Docker Compose.
- Running Keep locally.
- Running Keep on Kubernetes.
- Running Keep with Docker.
- Running Keep on AWS ECS.
- Running Keep on OpenShift.
๐ซต Keepers
Top Contributors
A special thanks to our top contributors who help us make Keep great. You are more than awesome!
Want to become a top contributor? Join our Slack and DM Tal, Shahar, or Furkan.
Contributors
Thank you for contributing and continuously making Keep better, you're awesome ๐ซถ
File: docs/README.md
How to run docs locally:
npm i mintlify
mintlify devRead more: https://mintlify.com/docs/development
2. Official Technical Reference & Guides (keephq/keep-docs)
File: README.md
Keep Documentation
The content and configuration powering the documentation available at
๐ฉโ๐ป Development
Install the Mintlify CLI to preview the documentation changes locally. To install, use the following command
npm i mintlify -gRun the following command at the root of your documentation (where mint.json is)
mintlify devFile: platform/core/providers/documentation/axiom-provider.mdx
title: "Axiom Provider"
Inputs
- query (required): AQL to execute
- dataset (required): Dataset to query
- organization_id (optional): Override the given organization id from configuration
- nocache (optional): Whether to cache the response or not
- startTime (optional): Start time, defaults to UTC now in ISO format.
- endTime (optional): End time, defaults to UTC now in ISO format.
Outputs
Axiom does not currently support the notify function.
Authentication Parameters
The Axiom Provider uses API token authentication. You need to provide the following authentication parameters to connect to Axiom:
- api_token (required): Your Axiom API token.
- organization_id (optional): The organization ID to access datasets in.
Connecting with the Provider
To connect to Axiom, you need to create an API token from your Axiom account. Follow these steps:
- Log in to your Axiom account.
- Go to the API Access page under the Settings menu.
- Click the Create Token button and enter a name for the token.
- Copy the token value and keep it safe.
- Add the token value to the
authenticationsection in the Axiom Provider configuration.
To access datasets, you need to provide the organization ID. You can find your organization ID in the URL of the Axiom web app. For example, if your Axiom URL is https://app.axiom.co/organizations/1234, then your organization ID is 1234.
Notes
- This provider supports a limited set of features provided by the Axiom API.
- The
startTimeandendTimeparameters use ISO-8601 format. - The
queryfunction returns the response in JSON format from the Axiom API.
Useful Links
File: platform/core/providers/documentation/cloudwatch-logs.mdx
title: "AWS CloudWatch Logs" sidebarTitle: "CloudWatch Logs"
Inputs
The query function takes the following parameters as inputs:
log_group: Required. The name of the log group to query.query: Required. A query string to use to filter the log events to be returned.hours: Optional. An integer representing the number of hours to query the logs for. Defaults to 24.
Outputs
The function returns a list or tuple of the query results.
Authentication Parameters
The query function requires an access_key and access_key_secret to authenticate with AWS. These can be obtained by creating an AWS IAM user with the necessary permissions to query CloudWatch logs.
Connecting with the Provider
To obtain the access_key and access_key_secret from AWS, you will need to create an AWS IAM user with the necessary permissions to query CloudWatch logs. You can do this by following these steps:
- Log in to the AWS Management Console.
- Navigate to the IAM service.
- Click on the "Users" option in the left-side menu.
- Click on the "Add user" button.
- Enter a user name and select "Programmatic access" as the access type.
- Click on the "Next: Permissions" button.
- Attach the "CloudWatchLogsReadOnlyAccess" policy to the user.
- Click on the "Next: Review" button.
- Review the user details and click on the "Create user" button.
- Copy the
access_keyandaccess_key_secretdisplayed on the next screen and use them when creating an instance of theCloudwatchLogsProviderprovider.
Notes
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Useful Links
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
File: platform/core/providers/documentation/cloudwatch-metrics.mdx
title: "AWS CloudWatch Metrics" sidebarTitle: "CloudWatch Metrics"
WIP ๐จ๐ปโ๐ป
Inputs
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Outputs
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Authentication Parameters
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Connecting with the Provider
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Notes
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Useful Links
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
File: platform/core/providers/documentation/console-provider.mdx
title: "Console" sidebarTitle: "Console Provider"
Inputs
- alert_message: The alert message to print to the console
Outputs
This provider has no outputs
Authentication Parameters
This provider has no authentication
Connecting with the Provider
This provider doesn't require any connection
Notes
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Useful Links
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Example
config = {
"description": "Console Output Provider",
"authentication": {},
}
provider = ProvidersFactory.get_provider(
provider_id='mock', provider_type="console", provider_config=config
)
provider.notify(
alert_message="Simple alert showing context with name: {name}".format(
name="John Doe"
)
)File: platform/core/providers/documentation/discord-provider.mdx
title: "Discord" sidebarTitle: "Discord Provider"
Inputs
- content: str : Message text to send
- components: list[dict] = []: Adding styling or interactive components like emoji,buttons
Outputs
No information yet, feel free to contribute it using the "Edit this page" link the bottom of the page
Authentication Parameters
The webhook_url associated with the channel requires to trigger the message to the respective channel.
Connecting with the Provider
- Open the Discord server where you want to create the webhook.
- Click on the settings icon next to the server name, and select "Server Settings."
- In the left-hand menu, click on "Integrations," and then click on "Webhooks."
- Click the "Create Webhook" button, and give your webhook a name.
Notes
No information yet, feel free to contribute it using the "Edit this page" link the bottom of the page
Useful Links
File: platform/core/providers/documentation/elastic-provider.mdx
title: "Elastic" sidebarTitle: "Elastic Provider"
Inputs
- query: str | dict: The query to search Elastic Search with (either SQL/EQL)
- index: str = None: The index to search on (If index is None, query must be SQL)
Outputs
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Authentication Parameters
The api_key and cloud_id are required for connecting to the Elastic provider. You can obtain them as described in the "Connecting with the Provider" section.
Connecting with the Provider
API Key
To obtain the Elastic API key, follow these steps:
- Log in to your elastic.co account
- Go to the "Elasticsearch Service" section
- Click on the "API Key" button
- Generate a new API Key
Cloud ID
To obtain the Elastic Cloud ID, follow these steps:
- Log in to your elastic.co account
- Go to the "Elasticsearch Service" section
- Find the "Cloud ID" in the Overview page.
Notes
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Useful Links
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
File: platform/core/providers/documentation/http-provider.mdx
title: "HTTP Provider"
Inputs
The query method of the HttpProvider class takes the following inputs:
url: The URL of the HTTP endpoint to query.method: The HTTP method to use for the query, either "GET", "POST", "PUT", or "DELETE".headers: A dictionary of headers to include in the HTTP request.body: A dictionary of data to include in the HTTP request body, only used forPOST,PUTrequests.params: A dictionary of query parameters to include in the URL of the HTTP request.
Outputs
The query method returns the JSON representation of the HTTP response, if the response is JSON-encoded, otherwise it returns the response text as a string.
Authentication Parameters
The HttpProvider class does not have any authentication parameters, but the authentication for the HTTP endpoint can be included in the headers or in the URL query parameters.
Connecting with the Provider
To connect to the provider, you can instantiate an instance of the HttpProvider class, providing a provider_id and a ProviderConfig object. Then you can call the query method to query the HTTP endpoint.
Notes
The code logs some debug information about the requests being sent, including the request headers, body, and query parameters. This information should not contain sensitive information, but it's important to make sure of that before using this provider in production.
Useful Links
File: platform/core/providers/documentation/jira-provider.mdx
title: "Jira Provider" sidebarTitle: "Jira"
Inputs
The query function take following parameters as inputs:
host: Required. Jira host name of the projectboard_id: Required. Jira board idemail: Required. Your accout email
Outputs
Authentication Parameters
The query function requires an api_token from Jira.
Connecting with the Provider
- Go to https://id.atlassian.com/manage-profile/security/api-tokens to Create API token and generated token should be passed to jira authentication.
- Get
hostandboard_idfrom your respective board from its URL. emailwould be same as of your account email.
Notes
Useful Links
- https://id.atlassian.com/manage-profile/security/api-tokens
- https://developer.atlassian.com/cloud/jira/software/rest/api-group-board/#api-rest-agile-1-0-board-boardid-issue-get
File: platform/core/providers/documentation/mock-provider.mdx
title: "Mock" sidebarTitle: "Mock Provider"
Inputs
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Outputs
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Authentication Parameters
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Connecting with the Provider
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Notes
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page
Useful Links
No information yet, feel free to contribute it using the "Edit this page" link the buttom of the page