Alerting. for developers, by developers.
Project description
+ Missing a specific use case? no worries, hit us up and we will implement it for you! just open an issue.
Alerting. By developers, for developers.
Simple alerting tool, builtin providers (e.g. sentry/datadog or slack/pagerduty), 100% open sourced, free forever.
- Simple and intuitive (GitHub actions-like) syntax.
- Declarative alerting that can be easily managed and versioned in your version control and service repository.
- Alerts from multiple data sources for added context and insights.
- Freedom from vendor lock-in, making it easier to switch to a different observability tool if and when needed.
Get started »
Roadmap
·
Examples
·
Providers
·
Docs
·
Website
·
Add Providers
·
Report Bug
·
Slack Community
🗼 A glance of Keep
Keep is a simple CLI tool that contains everything you need to start creating Alerts.
- 10s of providers ready to use with your own data
- Simple CLI tool to configure, trigger and test your alerts
- Easily deployable via docker, vercel, github actions, etc.
- Alerts are managed by simple yaml files that are human-readable
Brought to you by developers, EASY to use and managable by code.
🚨 Providers
Providers are Keep's way of interacting with 3rd party products; Keep uses them either to query data or to send notifications.
We tried our best to cover all common providers, missing any?, providers include:
- Cloud: AWS, GCP, Azure, etc.
- Monitoring: Sentry, New Relic, Datadog, etc.
- Incident Management: PagerDuty, OpsGenie, etc.
- Communication: Email, Slack, Console, etc.
- and more...
🚀 Quickstart
Run locally
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 👌
Let's now execute our example "Paper DB has insufficient disk space" alert
keep run --alerts-file examples/alerts/db_disk_space.yml
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 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
Wanna have your alerts up and running in production? Go through our more detailed Deployment Guide
🔍 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 🫶
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.