Grafana OnCall engine fork — self-hosted on-call scheduler and alert router
Find a file
Joey Orlando 4d655dff60
modify check_escalation_finished_task task (#1266)
# What this PR does

This PR:
- modifies the `check_escalation_finished_task` celery task to:
  - do stricter escalation validation based on the alert group's
escalation snapshot (see the `audit_alert_group_escalation` method in
`engine/apps/alerts/tasks/check_escalation_finished.py` for the
validation logic)
- use a read-only database for querying alert-groups if one is
configured, otherwise use the "default" one
- ping a configurable heartbeat (new env var
`ALERT_GROUP_ESCALATION_AUDITOR_CELERY_TASK_HEARTBEAT_URL` added)
- increase the task frequency from every 10 to every 13 minutes (this
can be configured via an env variable)
  - adds public documentation on how to configure this auditor task
- modifies the local celery startup command to properly take into
consideration all celery related env vars (similar to the ones we use in
`engine/celery_with_exporter.sh`; this made it easier to enable `celery
beat` locally for testing)
- removes the following code:
- removes references to `AlertGroup.estimate_escalation_finish_time` and
marks the model field as deprecated using the [`django-deprecate-fields`
library](https://pypi.org/project/django-deprecate-fields/). This field
was only used for the previous version of this validation task
- `EscalationSnapshotMixin.calculate_eta_for_finish_escalation` was only
used to calculate the value for
`AlertGroup.estimate_escalation_finish_time`
  - `calculate_escalation_finish_time` celery task
  

## Which issue(s) this PR fixes

https://github.com/grafana/oncall-private/issues/1558

## Checklist

- [x] Tests updated
- [x] Documentation added
- [x] `CHANGELOG.md` updated
2023-03-17 10:14:08 +00:00
.github Add support for web overrides to Terraform schedules (#1222) 2023-03-10 16:21:50 +00:00
dev modify check_escalation_finished_task task (#1266) 2023-03-17 10:14:08 +00:00
docs modify check_escalation_finished_task task (#1266) 2023-03-17 10:14:08 +00:00
engine modify check_escalation_finished_task task (#1266) 2023-03-17 10:14:08 +00:00
examples/terraform Terraform examples 2022-08-11 14:32:39 +05:00
grafana-plugin Add inbound-email.png 2023-03-16 14:46:14 +08:00
helm Release oncall Helm chart 1.1.37 2023-03-14 12:24:19 +00:00
tools PD migrator: allow migrating inbound email integrations (#1566) 2023-03-16 19:25:00 +00:00
.drone.yml update vault secret reference (#1252) 2023-01-31 09:40:32 +01:00
.gitignore enterprise dev changes + few other small changes (#802) 2022-11-09 07:21:33 +01:00
.markdownlint.json add precommit rules for markdown/json files (#915) 2022-12-01 14:26:54 +01:00
.markdownlintignore Add tracing support 2022-12-19 17:15:06 +08:00
.nvmrc One startup command to rule them all (#760) 2022-11-07 16:34:43 +01:00
.pre-commit-config.yaml fix failing lint github actions job due to issue w/ isort version (#1249) 2023-01-30 11:43:15 +01:00
CHANGELOG.md modify check_escalation_finished_task task (#1266) 2023-03-17 10:14:08 +00:00
CODE_OF_CONDUCT.md add precommit rules for markdown/json files (#915) 2022-12-01 14:26:54 +01:00
docker-compose-developer.yml Fix local dev setup slowness (#1270) 2023-02-02 09:08:48 +00:00
docker-compose-mysql-rabbitmq.yml Use latest Grafana Container Images (#1227) 2023-02-02 07:46:39 +01:00
docker-compose.yml Use latest Grafana Container Images (#1227) 2023-02-02 07:46:39 +01:00
GOVERNANCE.md add precommit rules for markdown/json files (#915) 2022-12-01 14:26:54 +01:00
LICENSE World, meet OnCall! 2022-06-03 08:09:47 -06:00
LICENSING.md add precommit rules for markdown/json files (#915) 2022-12-01 14:26:54 +01:00
MAINTAINERS.md add precommit rules for markdown/json files (#915) 2022-12-01 14:26:54 +01:00
Makefile Remove mobile_app_settings DynamicSetting (#1268) 2023-02-02 13:21:04 +00:00
README.md Revert "testing branch merge strategy" 2023-01-05 12:46:55 +01:00
screenshot.png Merge dev to main (#54) 2022-06-13 16:39:58 -06:00
SECURITY.md add precommit rules for markdown/json files (#915) 2022-12-01 14:26:54 +01:00

Grafana OnCall

Latest Release License Docker Pulls Slack Discussion Build Status

Developer-friendly incident response with brilliant Slack integration.

  • Collect and analyze alerts from multiple monitoring systems
  • On-call rotations based on schedules
  • Automatic escalations
  • Phone calls, SMS, Slack, Telegram notifications

Getting Started

We prepared multiple environments:

  1. Download docker-compose.yml:

    curl -fsSL https://raw.githubusercontent.com/grafana/oncall/dev/docker-compose.yml -o docker-compose.yml
    
  2. Set variables:

    echo "DOMAIN=http://localhost:8080
    COMPOSE_PROFILES=with_grafana  # Remove this line if you want to use existing grafana
    SECRET_KEY=my_random_secret_must_be_more_than_32_characters_long" > .env
    
  3. Launch services:

    docker-compose pull && docker-compose up -d
    
  4. Go to OnCall Plugin Configuration, using log in credentials as defined above: admin/admin (or find OnCall plugin in configuration->plugins) and connect OnCall plugin with OnCall backend:

    OnCall backend URL: http://engine:8080
    
  5. Enjoy! Check our OSS docs if you want to set up Slack, Telegram, Twilio or SMS/calls through Grafana Cloud.

Update version

To update your Grafana OnCall hobby environment:

# Update Docker image
docker-compose pull engine

# Re-deploy
docker-compose up -d

After updating the engine, you'll also need to click the "Update" button on the plugin version page. See Grafana docs for more info on updating Grafana plugins.

Join community

Stargazers over time

Stargazers over time

Further Reading