Opsview is a fork of the popular Nagios monitoring system. As such, the process for integrating it with your PagerDuty account is similar to the process for configuring Nagios.
By integrating PagerDuty into your existing Nagios monitoring solution, you can have Nagios alerts go directly to the the right person who can solve the issue.
If you are adding your integration to an existing service, click the name of the service you want to add the integration to. Then click the Integrations tab and click the +New Integration button.
aptitude install libwww-perl libcrypt-ssleay-perl
yum install perl-libwww-perl perl-Crypt-SSLeay
wget https://raw.github.com/ryanhoskin/pagerduty-opsview-pl/master/pagerduty_nagios.pl cp pagerduty_nagios.pl /usr/local/nagios/libexec/notifications
chmod 755 /usr/local/nagios/libexec/notifications/pagerduty_nagios.pl
crontab -u nagios -e
* * * * * /usr/local/nagios/libexec/notifications/pagerduty_nagios.pl flush
Note: If you are using Opsview 4 or greater, you will want to change the command to the following by replacing PAGERDUTY_SERVICE_KEY with your service API key.
pagerduty_nagios.pl enqueue -f CONTACTPAGER="PAGERDUTY_SERVICE_KEY"
You’ve now added Opsview notifications to PagerDuty.
This is easy to do with the current integration, as a Nagios Service in PagerDuty is directly mapped to a contact. By default, this contact is named “pagerduty” and defined Configuration > Contacts.
In order to setup multiple services, just duplicate the existing contact definition and rename it (i.e. pagerduty_database, pagerduty_network, etc.). Then copy and paste the corresponding API Key from PagerDuty into the “pager” field. Don’t forget to restart your Nagios for the changes to take effect.
If a PagerDuty server can’t be reached for any reason, events will be stored to an on-disk queue. The installed cron job will attempt to re-send the events at one minute interval.
If a PagerDuty server can’t be reached for any reason, events will be stored to disk and the at one minute intervals.
You should configure an external ping check service to monitor your site’s external connectivity. Of course, you can use PagerDuty to forward alerts from these services.
Check the syslog for messages from “pagerduty_nagios”. On most systems:
grep pagerduty_nagios /var/log/syslog
Please contact us if you’re unable to sort out the difficulty.
PagerDuty can process PROBLEM, ACKNOWLEDGEMENT, and RECOVERY messages. All other messages, including FLAPPINGSTART and FLAPPINGSTOP, are ignored. If you’d like PagerDuty to process additional Nagios messages, please let us know!