First, create the stream you'd like to use for Nagios notifications,
and subscribe all interested parties to this stream. The integration will
use the default stream nagios
if no stream is supplied in the
configuration; you still need to create the stream even if you are using
this default.
Next, download and install our Python bindings and example scripts on your Nagios server.
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/nagios3/zuliprc
on your Nagios
server:
[api] email = NAGIOS_BOT_EMAIL_ADDRESS key = NAGIOS_BOT_API_KEY {% if api_site_required %}site = {{ external_api_uri_subdomain }}{% endif %}
Copy integrations/nagios/zulip_nagios.cfg
to /etc/nagios3/conf.d
on your Nagios server.
Finally, add zulip
to the members
list for one or more of the contact groups in the
CONTACT GROUPS
section
of /etc/nagios3/conf.d/contacts.cfg
, doing
something like:
define contactgroup {
contactgroup_name admins
alias Nagios Administrators
members monitoring, zulip
}
/etc/init.d/nagios3 reload
.
Congratulations! You're done!
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/nagios3/conf.d/zulip_nagios.cfg
) with a
topic indicating the service with an issue:
Testing
If you have
external commands enabled in Nagios,
you can generate a test notice from your Nagios instance by visiting 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/nagios3/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.