Skip to content

Latest commit

 

History

History
206 lines (176 loc) · 10.9 KB

README.md

File metadata and controls

206 lines (176 loc) · 10.9 KB

The open-source alerts management and automation platform


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
  1. Set up Workflows: Initiate automated workflows in response to alerts or based on custom intervals.
Create and upload workflows
  1. 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 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:

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.

Supported Providers

Missing any? Just submit a new provider issue 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 - A NextJS app to connect your providers, centralize alerts and create the workflows.
  2. Keep Backend - 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 - A CLI that lets you control and manage Keep via CLI.

Disclaimer: we use PostHog 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:

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.

Local development

You can also start Keep within your favorite IDE, e.g. VSCode

Wanna get Keep up and running in production? Go through our detailed development guide

🫵 Keepers

Thank you for contributing and continuously making Keep better, you're awesome 🫶