Skip to content
/ keep Public
forked from keephq/keep

The open-source alerts management and automation platform

License

Notifications You must be signed in to change notification settings

chagitA/keep

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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:

wget -O docker-compose.yml https://raw.githubusercontent.com/keephq/keep/main/docker-compose.yml
docker-compose -f docker-compose.yml up

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 🫶

About

The open-source alerts management and automation platform

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 70.9%
  • TypeScript 27.4%
  • JavaScript 0.7%
  • SCSS 0.6%
  • CSS 0.3%
  • Smarty 0.1%