# The open-source alert management and AIOps platform


![](https://github.com/keephq/keep/raw/main/assets/keep.png?raw=true align="center")

# The open-source alert management and AIOps platform

Single pane of glass, filtering, bi-directional integrations, alert correlation, workflows, enrichment, dashboards.  
AI correlation and AI summarization are under the limited preview ([Book a Demo](https://www.keephq.dev/meet-keep))

## 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](https://github.com/keephq/keep?tab=readme-ov-file#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:

```basic
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.              

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729096139447/c49ff766-4a80-4f10-9aa4-5848d1495432.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729096148864/c7559e8a-f776-41af-96fe-a48a78a46fa6.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729096165528/919787f5-f9b3-4e0e-b382-99359e603d97.png align="center")

![](https://cdn.hashnode.com/res/hashnode/image/upload/v1729096174120/7a19e74a-2ecc-4276-8fb0-ea3e1be32d3b.png align="center")

## 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:

```basic
curl https://raw.githubusercontent.com/keephq/keep/main/start.sh | sh
```

The UI is now available at [http://localhost:3000](http://localhost:3000/) and the backend is available at [http://localhost:8080](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:

```basic
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** 🫶

[  
](https://github.com/keephq/keep/graphs/contributors)
