Giter VIP home page Giter VIP logo

keep's Introduction

The open-source alerts management platform


Keep enables you to create, manage, test, and maintain your alerts all in one place.

  • Integrations: Integrates with your existing tools (e.g. grafana/sentry/datadog/slack/pagerduty)
  • Intutive: Create alerts via a simple and intuitive (GitHub actions-like) syntax.
  • Alerts as code: Declarative alerting that can be easily managed and versioned in your version control and service repository.
  • Alerts as workflows: Create alerts from multiple data sources for added context and insights.

Roadmap · Examples · Providers · Docs · Website · Add Providers · Report Bug · Slack Community

🚨 What is an alert?

An alert is a human-readable notification that informs about the status of a service or a component. Alerts are sent, based on their urgency, to ticketing platforms, queues or directly to the owners of the components being affected.

Having a structured alerting policy in your enviroment is pivotal to gain better visibility of the monitored components and reduce MTTD (Mean Time To Detect) of issues that could undermine the functionality of your system.

🚀 Quickstart

Keep has two main component that play with each other:

  1. Keep UI - UI to manage your alerts, connect providers and install apps.
  2. Keep Core - The engine behind Keep.

Keep UI

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

Keep UI is now available at http://localhost:3000

Keep Core

Try our first mock alert and get it up and running in <5 minutes - Ready? Let's Go! ⏰

First, clone Keep repository:

git clone https://github.com/keephq/keep.git && cd keep

Install Keep CLI

pip install .

or

poetry shell
poetry install

From now on, Keep should be installed locally and accessible from your CLI, test it by executing:

keep version
Get a Slack incoming webhook using this tutorial and use Keep to configure it:
keep config provider --provider-type slack --provider-id slack-demo

Paste the Slack Incoming Webhook URL (e.g. https://hooks.slack.com/services/...) and you're good to go 👌

** If you don't want to create your own webhook, you can follow these easy 3 steps: **
  1. Go to keep's slack.

  2. Enter the #alerts-playground channel.

  3. In the channel's topic, you can find the webhook provided by Keep.

Let's now execute our example "Paper DB has insufficient disk space" alert
keep run --alerts-file examples/alerts/db_disk_space.yml
Voilà 🥳

You should have received your first "Dunder Mifflin Paper Company" alert in Slack by now.
Docker

Configure the Slack provider (See "Run locally" on how to obtain the webhook URL)

docker run -v ${PWD}:/app -it us-central1-docker.pkg.dev/keephq/keep/keep-cli config provider --provider-type slack --provider-id slack-demo

You should now have a providers.yaml file created locally

Run Keep and execute our example "Paper DB has insufficient disk space" alert

docker run -v ${PWD}:/app -it us-central1-docker.pkg.dev/keephq/keep/keep-cli -j run --alert-url https://raw.githubusercontent.com/keephq/keep/main/examples/alerts/db_disk_space.yml
Render

Click the Deploy to Render button to deploy Keep as a background worker running in Render

Deploy to Render

To run Keep and execute our example "Paper DB has insufficient disk space" alert, you will need to configure you Slack provider.
When clicking the Deploy to Render button, you will be asked to provide the KEEP_PROVIDER_SLACK_DEMO environment variable, this is the expected format:

{"authentication": {"webhook_url": "https://hooks.slack.com/services/..."}}

* Refer to Run locally on how to obtain the webhook URL

Wanna have your alerts up and running in production? Go through our more detailed Deployment Guide

🔍 Learn more

🫵 Keepers

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

keep's People

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.