Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/keephq/keep

The open-source alert management and AIOps platform
https://github.com/keephq/keep

aiops alarm alarms alerting alerts monitoring monitoring-tool python python3 workflow-automation

Last synced: 3 days ago
JSON representation

The open-source alert management and AIOps platform

Awesome Lists containing this project

README

        



The open-source alert management and AIOps platform

Single pane of glass, alert deduplication, enrichment, filtering and correlation, bi-directional integrations, workflows, dashboards.



PRs Welcome


Join Slack


GitHub commit activity





Docs
ยท
Try it out
ยท
Report Bug
ยท
Book a Demo
ยท
Website


Sneak preview screenshot

- ๐Ÿ” **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](#workflows)** - GitHub Actions for your monitoring tools
- ๐Ÿค– **AIOps 2.0** - AI-powered correlation and summarization

> See full [platform documentation](https://docs.keephq.dev).

## Supported Integrations

> View the full list in our [documentation](https://docs.keephq.dev/providers/documentation)

> Missing a provider? [Submit a new provider request](https://github.com/keephq/keep/issues/new?assignees=&labels=provider&projects=&template=new_provider_request.md&title=) and we'll add it quickly!

### Observability Tools



AppDynamics

AppDynamics




Axiom

Axiom




Azure Monitoring

Azure Monitoring




Centreon

Centreon




Checkmk

Checkmk




Cilium

Cilium



CloudWatch

CloudWatch




Coralogix

Coralogix




Datadog

Datadog




Dynatrace

Dynatrace




Elastic

Elastic




GCP Monitoring

GCP Monitoring






Grafana

Grafana




Graylog

Graylog




Kibana

Kibana




Netdata

Netdata




New Relic

New Relic




OpenObserve

OpenObserve






Parseable

Parseable




Pingdom

Pingdom




Prometheus

Prometheus




Rollbar

Rollbar




Sentry

Sentry




SignalFX

SignalFX



Site24x7

Site24x7




Splunk

Splunk




StatusCake

StatusCake




SumoLogic

SumoLogic




UptimeKuma

UptimeKuma




VictoriaMetrics

VictoriaMetrics



Zabbix

Zabbix

### Databases & Data Warehouses



BigQuery

BigQuery




ClickHouse

ClickHouse




MongoDB

MongoDB




MySQL

MySQL




PostgreSQL

PostgreSQL




Snowflake

Snowflake

### Communication Platforms



Discord

Discord




Google Chat

Google Chat




Mailchimp

Mailchimp




Mailgun

Mailgun




Mattermost

Mattermost




Ntfy.sh

Ntfy.sh



Pushover

Pushover




Resend

Resend




SendGrid

SendGrid




Slack

Slack




SMTP

SMTP




Teams

Teams



Telegram

Telegram




Twilio

Twilio

### Incident Management




Grafana Incident

Grafana Incident




Grafana OnCall

Grafana OnCall




Ilert

Ilert




Incident.io

Incident.io




AWS Incident Manager

AWS Incident Manager




OpsGenie

OpsGenie






PagerDuty

PagerDuty




Pagertree

Pagertree




SINGL4

SINGL4




Squadcast

Squadcast




Zenduty

Zenduty


### Ticketing Tools



GitHub

GitHub




GitLab

GitLab




Jira

Jira




Linear

Linear




LinearB

LinearB




Microsoft Planner

Microsoft Planner



Redmine

Redmine




ServiceNow

ServiceNow




Trello

Trello

### Container Orchecstration Platforms



Azure AKS

Azure AKS




GKE

GKE




Kubernetes

Kubernetes




OpenShift

OpenShift

### Data Enrichment


Bash

Bash




OpenAI

OpenAI




Python

Python




QuickChart

QuickChart




SSH

SSH




Webhook

Webhook

## 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](https://github.com/keephq/keep/tree/main/examples/workflows).

```yaml
workflow:
id: sentry-alerts
description: create ticket alerts for critical alerts from sentry
triggers:
- type: alert
# customize the filter to run only on critical alert from sentry
filters:
- key: source
value: sentry
- key: severity
value: critical
# regex to match specific services
- key: service
value: r"(payments|ftp)"
actions:
- name: send-slack-message-team-payments
# if the alert is on the payments service, slack the payments team
if: "'{{ alert.service }}' == 'payments'"
provider:
type: slack
# control which Slack configuration you want to use
config: " {{ providers.team-payments-slack }} "
# customize the alert message with context from {{ alert }} or any other {{ step }}
with:
message: |
"A new alert from Sentry: Alert: {{ alert.name }} - {{ alert.description }}
{{ alert}}"
- name: create-jira-ticket-oncall-board
# control the workflow flow with "if" and "foreach" statements
if: "'{{ alert.service }}' == 'ftp' and not '{{ alert.ticket_id }}'"
provider:
type: jira
config: " {{ providers.jira }} "
with:
board_name: "Oncall Board"
custom_fields:
customfield_10201: "Critical"
issuetype: "Task"
# customize the summary
summary: "{{ alert.name }} - {{ alert.description }} (created by Keep)"
description: |
"This ticket was created by Keep.
Please check the alert details below:
{code:json} {{ alert }} {code}"
# enrich the alerts with more context. from now on, the alert will be assigned with the ticket id, type and url
enrich_alert:
- key: ticket_type
value: jira
- key: ticket_id
value: results.issue.key
- key: ticket_url
value: results.ticket_url
```

## Enterprise Ready

- **Developer First** - Modern REST APIs, native SDKs, and comprehensive documentation for seamless integration
- **[Enterprise Security](https://docs.keephq.dev/deployment/authentication/overview)** - 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](https://docs.keephq.dev/deployment/stress-testing)** - 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](https://docs.keephq.dev/development/getting-started).
- Running Keep on [Kubernetes](https://docs.keephq.dev/deployment/kubernetes/installation).
- Running Keep with [Docker](https://docs.keephq.dev/deployment/docker).
- Running Keep on [AWS ECS](https://docs.keephq.dev/deployment/ecs).
- Running Keep on [OpenShift](https://docs.keephq.dev/deployment/kubernetes/openshift).

## ๐Ÿซต Keepers

### Top Contributors

A special thanks to our top contributors who help us make Keep great. You are more than awesome!

- [Furkan](https://github.com/pehlicd)
- [Asharon](https://github.com/asharonbaltazar)

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 ๐Ÿซถ