Ecosyste.ms: Awesome

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

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: 2 months ago
JSON representation

The open-source alert management and AIOps platform

Lists

README

        



The open-source alerts management and automation platform








Join Slack






Why Keep?
·
Getting started
·
Supported tools and integrations
·
Docs
·
Try it out
·
Website
·
Report Bug
·
Slack Community



Keep makes it easy to consolidate all your alerts into a single pane of glass and to orchestrate workflows to automate your end-to-end processes.

Enrich any tool with Datadog Workflow Automation like capabilities.

## How does it work?
1. **Connect your tools**: Connect everything from monitoring platforms to databases and ticketing systems.

| Connect providers | Receive alerts |
|----------|----------|
| | |

2. **Set up Workflows**: Initiate automated workflows in response to alerts or based on custom intervals.

| Create and upload workflows |
|----------|
| |

3. **Operational efficiency**: Automate your alert handling to focus your team's efforts on what really matters.

## Why Keep?
1. **Centralized dashboard**: Manage all your alerts across different platforms in a single interface.
2. **Noise reduction**: Deduplicate and correlate alerts to reduce alert fatigue.
3. **Automation**: Trigger workflows for alert enrichment and response.
4. **Developer-first**: Keep is API-first and lets you manage your workflows as code.
5. **Works with every tool**: Plenty of [supported providers](#supported-providers) and more to come.

## Workflows
The easiest way of thinking about Workflow in Keep is GitHub Actions. At its core, a Workflow in Keep is a declarative YAML file, composed of triggers, steps, and actions and serves to manage, enrich, and automate responses to alerts:
```yaml
workflow:
id: most-basic-keep-workflow
description: send a slack message when a cloudwatch alarm is triggered
# workflow triggers - supports alerts, interval, and manual triggers
triggers:
- type: alert
filters:
- key: source
value: cloudwatch
- type: manual
# list of steps that can add context to your alert
steps:
- name: enrich-alert-with-more-data-from-a-database
provider:
type: bigquery
config: "{{ providers.bigquery-prod }}"
with:
query: "SELECT customer_id, customer_type as date FROM `customers_prod` LIMIT 1"
# list of actions that can automate response and do things with your alert
actions:
- name: trigger-slack
provider:
type: slack
config: " {{ providers.slack-prod }} "
with:
message: "Got alarm from aws cloudwatch! {{ alert.name }}"
```
Workflow triggers can either be executed manually when an alert is activated or run at predefined intervals. More examples can be found [here](https://github.com/keephq/keep/tree/main/examples/workflows).

## Supported Providers
> Missing any? Just submit a [new provider issue](https://github.com/keephq/keep/issues/new?assignees=&labels=provider&projects=&template=new_provider_request.md&title=) and we will add it in the blink of an eye.

Observability tools




          

          

          

          

          

          




          

          

          

          

          


Databases and data warehouses




          

          

          


Communication platforms



          

          

          

          

          

          

          


Incident Management tools



          

          

          

          


Ticketing tools



          

          

          

          

## Getting Started
### Overview
Keep composed of three main components:
1. [Keep UI](https://github.com/keephq/keep/tree/main/keep-ui) - A NextJS app to connect your providers, centralize alerts and create the workflows.
2. [Keep Backend](https://github.com/keephq/keep/tree/main/keep) - A FastAPI server that implements the business logic behind Keep, including integrating with the tools, working with alerts and scheduling and running the workflows.
3. [Keep CLI](https://github.com/keephq/keep/blob/main/keep/cli/cli.py) - A CLI that lets you control and manage Keep via CLI.

>**Disclaimer**: we use [PostHog](https://posthog.com/faq) to collect anonymous telemetries to better learn how users use Keep (masked screen recordings for CLI commands)
To turn PostHog off, set the `DISABLE_POSTHOG=true` environment variable and remove the `NEXT_PUBLIC_POSTHOG_KEY` environment variable.

### Quickstart
#### Spinning up Keep with docker-compose
The easiest way to start with Keep is to run it via docker-compose:
```shell
curl https://raw.githubusercontent.com/keephq/keep/main/start.sh | sh
```
The UI is now available at http://localhost:3000 and the backend is available at http://localhost:8080.

#### Spinning up Keep with Helm on Kubernetes/Openshift
To install Keep to your Kubernetes ease free with Helm, run the following commands:

```shell
helm repo add keephq https://keephq.github.io/helm-charts
helm pull keephq/keep
helm install keep keephq/keep
```

More information about the Helm chart can be found [here](https://github.com/keephq/helm-charts).

#### Local development
You can also start Keep within your favorite IDE, e.g. [VSCode](https://docs.keephq.dev/development/getting-started#vscode)

#### Wanna get Keep up and running in production? Go through our detailed [development guide](https://docs.keephq.dev/development)

## 🫵 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 🫶