Integrations & Plugins

There are several different ways to integrate other alert sources into Alerta.

Firstly, integrations with well known monitoring tools like Nagios, Zabbix and Sensu make use of the Alerta API and demonstrate how to build integrations with other monitoring tools.

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.

Thirdly, alert severity indicators or widgets can be placed on any web page using oEmbed for easy integration with existing dashboards.

Lastly, plugins can be used to quickly and easily forward alerts to or notify other systems like Slack or Hipchat.

Integrations

Core

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:

Contrib

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

Webhooks are a way of integrating with other systems by triggering HTTP callbacks to the Alerta server API when an event occurs.

AWS CloudWatch

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

https://alerta.example.com/api/webhooks/cloudwatch

Pingdom

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

https://alerta.example.com/api/webhooks/pingdom

PagerDuty

Alerta can be configured to receive PagerDuty incident-based webhooks – any change to the status or 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

https://alerta.example.com/api/webhooks/pagerduty

Prometheus Alertmanager

Alerta can be configured as a webhook receiver in Alertmanager.

For details on how to set this up see the Prometheus Config GitHub Repo

Google Stackdriver

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

https://alerta.example.com/api/webhooks/stackdriver

SeverDensity

TBC

New Relic

TBC

Grafana

TBC

Telegram

TBC

Riemann

TBC

Widgets

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.

Plugins

Plugin extensions are an easy way of adding new features to Alerta that meet a specific end-user requirement.

Core

Core plugins have been developed as examples of common use-cases.

  • Reject - reject alerts before processing. used to enforce custom alert format policies

Contrib

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