1. Create the channel you'd like to use for Nagios notifications.

  2. Download and install our Python bindings and example scripts on the system where the Nagios integration script will be run from.

  3. Create a bot for Nagios. Make sure that you select Incoming webhook as the Bot type.

  4. Next, open integrations/nagios/zuliprc.example in your favorite editor, and change the following lines to specify the email address and API key for your Nagios bot, saving it to /etc/nagios4/zuliprc on your Nagios server:

    [api]
    email = NAGIOS_BOT_EMAIL_ADDRESS
    key = NAGIOS_BOT_API_KEY
    site = https://chat.zulip.org/api
  5. Copy integrations/nagios/zulip_nagios.cfg to /etc/nagios4/conf.d on your Nagios server.

  6. Finally, add zulip to the members list for one or more of the contact groups in the CONTACT GROUPS section of /etc/nagios4/conf.d/contacts.cfg, doing something like:

    define contactgroup {
        contactgroup_name       admins
        alias                   Nagios Administrators
        members                 monitoring, zulip
    }
  7. Once you’ve done that, reload your Nagios configuration using /etc/init.d/nagios4 reload.

  8. When your Nagios system makes an alert, you’ll see a message like the following, to the stream nagios (to change this, edit the arguments to nagios-notify-zulip in /etc/nagios4/conf.d/zulip_nagios.cfg) with a topic indicating the service with an issue.

You're done! Your Nagios notifications may look like this:

Nagios bot message

Testing

If you have external commands enabled in Nagios, you can generate a test notice from your Nagios instance by using the Send custom service notification command in the Service Commands section of any individual service’s page on your Nagios instance.

Troubleshooting

You can confirm whether you’ve correctly configured Nagios to run the Zulip plugin by looking for SERVICE NOTIFICATION lines mentioning zulip in /var/log/nagios4/nagios.log. You can confirm whether you’ve configured the Zulip plugin code correctly by running /usr/local/share/zulip/integrations/nagios/nagios-notify-zulip directly.

Logos are trademarks of their respective owners. None of the integrations on this page are created by, affiliated with, or supported by the companies represented by the logos.