How to integrate Alerta alerts with Zulip
Zulip (https://zulip.com) is an open source messaging system that has a unique threaded chat model with topics for threads. Alerta (https://alerta.io) is on open source alert management tool that aggregates alerts from various sources and displays them on an easy to use web interface.
In addition to displaying alerts, Alerta can also be set up to send notifications to various external tools such as Telegram and Slack. At the moment there is no explicit way to send the alerts to Zulip instead. However, Zulip does support Slack style incoming webhooks as a compatibility feature through which we can push notifications to Zulip streams (like channels or chat rooms in Zulip lingo).
Please refer to the documentation on how to install and use Zulip1 and Alerta2 if you don’t already have them running. You also have to create a Zulip bot to be able to receive incoming webhooks from Alerta.
Once you have your Zulip bot (with its API key) and you have enabled the Slack plugin3 in Alerta, all you have to do is set the SLACK_WEBHOOK_URL as in the example below:
https://DOMAINNAME/api/v1/external/slack_incoming?api_key=API_KEY&stream=STREAM_NAME&topic=TOPIC
For testing make sure you’re logged into Zulip with your usual user and joined the stream you have configured above to see the incoming messages. After that all you have to do is either send Alerta a fake alert using its JSON API or wait for one of your services to fail and create an alert.
-
Zulip’s Slack style incoming webhook documentation: https://zulip.com/integrations/doc/slack_incoming ↩︎
-
Alerta documentation: https://docs.alerta.io ↩︎
-
Alerta Slack plugin: https://github.com/alerta/alerta-contrib/tree/master/plugins/slack ↩︎