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
🚀 Quickstart
Keep has two main component that play with each other:
- Keep UI - UI to manage your alerts, connect providers and install apps.
- 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://github.com/keephq/keep/blob/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
this tutorial and use Keep to configure it:
Get a Slack incoming webhook usingkeep 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
-
Go to keep's slack.
-
Enter the #alerts-playground channel.
-
In the channel's topic, you can find the webhook provided by Keep.
** If you don't want to create your own webhook, you can follow these easy 3 steps: **
Go to keep's slack.
Enter the #alerts-playground channel.
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
Docker
Configure the Slack provider (See "Run locally" on how to obtain the webhook URL)
docker run -v ${PWD}:/app -it keephq/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 keephq/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
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
Deployment Guide
Wanna have your alerts up and running in production? Go through our more detailed🔍 Learn more
- Share feedback/ask questions via our Slack
- Explore the full list of supported providers
- Explore the documentation
- Adding a new provider
- Check out our website
🫵 Keepers
Thank you for contributing and continuously making Keep better, you're awesome 🫶