Alerta: alert monitoring in Python

Alerta is an open source scalable monitoring tool that is written in Python, easily configured, accepts alerts from any source, correlates and de-duplicates them, and then presents alerts via an API.

Alerta is a scalable monitoring solution that easily accepts alerts from any source, correlates and de-duplicates them, and presents alerts via an API. This tool allows flexible alert format: send alert with any value, associate single alert with multiple services, add any number of 'tags' and custom attributes in any format.

Alerta accepts alerts from most popular monitoring systems like Nagios, Syslog, Riemann, Zabbix, Kibana, SNMP, Sensu, and InfluxDB. But its main advantage is that Alerta can be easily integrated using either the API or command-line tool with any system that can trigger a URL request. Python, Ruby and Scala SDKs are already in the pipeline.

Alerts are submitted in JSON-format to an HTTP API. Alerta provides a web console and a command-line tool for operational tasks and quick at-a-glance visualisation. For instance, alerts can be queried from the command-line or displayed in a user-friendly web console. The latter is optimized for different device types: desktop, tablet and mobile.

This monitoring tool manages alerts using out-of-the-box de-duplication and correlation features. It means that system considers an alert a duplicate if there is another one with the same environment and resource attributes and with the same severity. Alerts with different severity are correlated and only the most recent is shown. There is also option to define sets of alerts as ‘related’. In this case they will be correlated and alert will show the most recent node status.

Alerta is written in Python and needs minimal installation and configurations efforts. Using standard deployments to Heroku, AWS EC2, Docker, RedHat OpenShift, or Packer Alerta can be up in minutes. By default it uses MongoDB so there is no need in additional settings. Although Alerta was also tested with RabbitMQ and Redis. The only requirement to a messaging transport is support of AMQP for subscribers’ notification. As for Alerts Logins, they can be added with Google OAuth2 and programmatic access using API keys.

Alerta is an open source monitoring tool that is scalable, easily configured and uses API to present alerts. You can find more about its functionality on alerta.io.

Connect with our experts Let's talk