Plug-ins
Plugins
Plugin extensions are an easy way of adding new features to Alerta that meet a specific end-user requirement.
Core
Core plugins ship with the Alerta server. The default enabled plugins are
remote_ip, reject, heartbeat, blackout and forwarder.
Remote IP - extract remote IP address from request headers and add to alert attributes
Reject - reject alerts before processing. used to enforce custom alert format policies
Heartbeat - convert missed heartbeats into alerts
Blackout - suppression handler that will drop alerts that match a blackout period
Forwarder - forward alerts to other Alerta servers or external systems
Escalate - escalate alert severity based on how long the alert has been open
Timeout - auto-expire stale alerts
Acked By - track which user acknowledged an alert
Contrib
Contributed plugins are available for popular tools and services:
Messaging & Chat
DingTalk - send alerts to DingTalk groups
HipChat - send alerts to HipChat room
Matrix - send alerts to Matrix rooms
Mattermost - send alerts to Mattermost channels
MS Teams - send alerts to Microsoft Teams channels
Rocketchat - send alerts to Rocket.Chat channels
Slack - send alerts to Slack channels
Telegram Bot - send alerts to Telegram channels
Incident Management
AlertOps - send alerts to AlertOps
GoAlert - send alerts to GoAlert
Jira Plugin - create Jira tickets from alerts
OpsGenie - send alerts to OpsGenie
PagerDuty Plugin - send alerts to PagerDuty (webhooks used to receive callbacks)
Monitoring & Metrics
InfluxDB - send alerts to InfluxDB for graphing with Grafana
Prometheus Silencer - silence alerts in Prometheus Alertmanager if ack’ed in Alerta
OP5 - send alerts to OP5 Monitor
Zabbix - send alerts to Zabbix
Notifications
Pushover.net - send alerts to Pushover.net
Twilio SMS - send alerts via SMS using Twilio
Queues & Pub/Sub
AMQP - publish alerts to an AMQP fanout topic after processing
Google Pub/Sub - publish alerts to Google Cloud Pub/Sub
AWS SNS - publish alerts to SNS topic after processing
Logging & Status
Cachet - create incidents for display on Cachet status page
Logstash/Kibana - send alerts to logstash agent after processing
Syslog Logger - send alerts via syslog
Alert Processing
Enhance - add new information to an alert based on existing information
GeoIP Location - use remote IP address to add location data
Normalise - ensure alerts are formatted in a consistent manner
Plugin Lifecycle Hooks
Plugins must implement the PluginBase abstract class. The following
lifecycle hooks are available:
Required methods:
pre_receive(alert, **kwargs)Called before an alert is saved to the database. Can modify and return the alert, or raise
RejectExceptionorBlackoutPeriodto reject it.post_receive(alert, **kwargs)Called after an alert is saved. Used for sending notifications to external services. Should not modify the alert.
status_change(alert, status, text, **kwargs)Called when an alert status changes. Used to trigger actions on status transitions.
Optional methods (raise ``NotImplementedError`` if not used):
take_action(alert, action, text, **kwargs)Called before an action is taken on an alert. Can be used to trigger external actions or modify the alert before the action is applied.
post_action(alert, action, text, **kwargs)Called after an action has been applied to an alert and the status has been updated.
take_note(alert, text, **kwargs)Called when a note is added to an alert.
delete(alert, **kwargs)Called when an alert is deleted.