{% extends "base.html" %} {% block title %}Alert ingestion{% endblock %} {% block content %}
Send Prometheus Alertmanager, Grafana or any JSON alerts to Vigil. Each firing alert opens an incident, routes to your channels and (optionally) shows on a status page; the matching resolve closes it.
Alert ingestion is part of the Pro and Enterprise plans (or the Platform module of a Custom plan). Connect Alertmanager, Grafana or your own tooling and get one incident timeline, escalation, acknowledgements, status-page updates and subscriber notifications for every alert, not just the ones Vigil's own monitors raise.
{{ endpoint_base }}{{ s.token }}
receivers:
- name: vigil
webhook_configs:
- url: {{ endpoint_base }}{{ s.token }}
send_resolved: true
max_alerts: 50
route:
receiver: vigil
group_by: [alertname, instance]
repeat_interval: 4h
{% elif s.kind == 'grafana' %}
Name: Vigil
Integration: Webhook
URL: {{ endpoint_base }}{{ s.token }}
HTTP Method: POST
# then add the contact point to a notification policy.
# Provisioning (YAML):
apiVersion: 1
contactPoints:
- orgId: 1
name: Vigil
receivers:
- uid: vigil
type: webhook
settings:
url: {{ endpoint_base }}{{ s.token }}
httpMethod: POST
{% else %}
curl -X POST {{ endpoint_base }}{{ s.token }} \
-H 'Content-Type: application/json' \
-d '{"id": "db-primary", "status": "firing", "severity": "critical",
"title": "Postgres primary unreachable",
"description": "Connection refused from app-1, app-2",
"url": "https://runbooks.example.com/postgres", "labels": {"team": "platform"}}'
# later:
curl -X POST {{ endpoint_base }}{{ s.token }} \
-H 'Content-Type: application/json' \
-d '{"id": "db-primary", "status": "resolved"}'
Create one on the right to get an endpoint URL for Alertmanager, Grafana or your own scripts.