- 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
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.
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.
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
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: **
-
Go to keep's slack.
-
Enter the #alerts-playground channel.
-
In the channel's topic, you can find the webhook provided by Keep.
Go to keep's slack.
Enter the #alerts-playground channel.
In the channel's topic, you can find the webhook provided by Keep.
keep run --alerts-file examples/alerts/db_disk_space.yml
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
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
Wanna have your alerts up and running in production? Go through our more detailed Deployment Guide
- 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
Thank you for contributing and continuously making Keep better, you're awesome 🫶