Integrations & Plugins¶
There are several different ways to integrate other alert sources into Alerta.
Secondly, there are built-in webhooks for AWS Cloudwatch, Pingdom, PagerDuty, Google Stackdriver, Prometheus Alertmanager and more which provide ‘out-of-the-box’ integrations for some of the most popular monitoring systems available.
Lastly, plugins can be used to quickly and easily forward alerts to or notify other systems like Slack or Hipchat.
There are a few core integrations which have been developed to showcase how easy it is to get alerts or events from other tools into Alerta. They are:
- Nagios Event Broker - forward host/service check results with suppression during downtime
- InfluxData Kapacitor - forward alerts for metric anomalies and dynamic thresholds
- Zabbix Alert Script - forward problems, acknowledged and OK events
- Sensu Plugin - forward sensu events
- Riemann Plugin - generate alerts from thresholds defined against metric streams
- Kibana Logging - log alerts to Elasticsearch for historical visualisation of alert trends
There are several more integrations available in the contrib repo which may be useful. They are:
- Amazon SQS - receive alerts from SQS that were sent using the SNS core plugin
- E-mail - send emails after a hold-time has expired (requires the AMQP message queue core plugin)
- AWS Cloudwatch - receive cloudwatch alarms from SQS (deprecated, use the cloudwatch webhook instead)
- Opsweekly - query Alerta to generate Opsweekly reports
- Pinger - generate ping alerts from list of network resources being pinged
- SNMP Trap - generate alerts from SNMPv1 and SNMPv2 sources
- Supervisor - trigger alerts and heartbeats based on process deamon events
- Syslog Forwarder - receive RFC 5424, RFC 3164 syslog and Cisco syslog messages
- URL monitor - trigger alerts from web service query responses
Webhooks are a way of integrating with other systems by triggering HTTP callbacks to the Alerta server API when an event occurs.
Alerta can be configured to receive AWS CloudWatch alarms by subscribing the Alerta API endpoint to an SNS topic.
For details on how to set this up see the Sending Amazon SNS Messages to
HTTP/HTTPS Endpoints page and in the Endpoint input box append
/webhooks/cloudwatch to the Alerta API URL.
Example AWS CloudWatch Webhook URL
Alerta can be configured to receive Pingdom URL check alerts by adding a webhook alerting endpoint that calls the Alerta API.
For details on how to set this up see the Pingdom webhook page and in the
webhook URL input box append
/webhooks/pingdom to the Alerta API URL.
Example Pingdom Webhook URL
Alerta can be configured to receive PagerDuty incident-based webhooks – any
change to the
assigned_to_user of an incident will cause an
outgoing message to be sent.
For details on how to set this up see the PagerDuty webhook page and where it
requires the webhook URL append
/webhooks/pagerduty to the Alerta API URL.
Example PagerDuty Webhook URL
Alerta can be configured as a webhook receiver in Alertmanager.
For details on how to set this up see the Prometheus Config GitHub Repo
Alerta can be configured to receive Google Stackdriver incidents by adding a webhook endpoint to the notifications configuration.
For details on how to set this up see Stackdriver webhook page and in the
ENDPOINT URL input box append
/webhooks/stackdriver to the Alerta API URL.
Example Stackdriver Webhook URL
Add an alert severity indicator (aka. widget) to any dashboard using the Oembed API endpoint. The severity indicator is coloured with the maximum severity for that alert query filter and has a count for the total number of matching alerts for each severity.
Multiple severity indicators can be placed on the same page each for a different environment, service or group. See the example oembed web page.
Plugin extensions are an easy way of adding new features to Alerta that meet a specific end-user requirement.
Core plugins have been developed as examples of common use-cases.
- Reject - reject alerts before processing. used to enforce custom alert format policies
Contributed plugins are made available for popular tools but implementation-specific requirements.
- AMQP - publish alerts to an AMQP fanout topic after processing
- Cachet - create incidents for display on Cachet status page
- Enhance - add new information to an alert based on existing information
- GeoIP Location - use remote IP address to submitted alert to add location data
- HipChat - send alerts to HipChat room
- InfluxDB - send alerts to InfluxDB for graphing with Grafana
- Logstash/Kibana - send alerts to logstash agent after processing
- Normalise - ensure alerts a formatted in a consistent manner
- PagerDuty - send alerts to PagerDuty (webhooks used to receive callbacks)
- Prometheus Silencer - silence alerts in Prometheus Alertmanager if ack’ed in Alerta
- Pushover.net - send alerts to Pushover.net
- Slack - send alerts to Slack room
- AWS SNS - publish alerts to SNS topic after processing
- Syslog Logger - send alerts via syslog
- Telegram - send alerts to Telegram channel
- Twilio SMS - send alerts via SMS using Twilio