Start Using PagerDuty Today
Try PagerDuty free for 14 days — no credit card required.
This guide describes how to integrate your Icinga installation with PagerDuty using a simple Perl-based plugin. As Icinga is a fork of Nagios, we’ll be using PagerDuty’s built in support for Nagios for this integration.
Note that you must be logged in as root to complete the installation. You might need to slightly alter these instructions depending on your exact Linux distribution and your Icinga configuration. If you are having trouble completing the installation, please contact us.
If you don’t already have a PagerDuty “Icinga” service, you should create one:
aptitude install libwww-perl libcrypt-ssleay-perl
RHEL, Fedora, CentOS, and other Redhat-derived systems:
yum install perl-libwww-perl perl-Crypt-SSLeay
wget https://raw.github.com/PagerDuty/pagerduty-icinga-pl/master/pagerduty_icinga.cfg
cp pagerduty_icinga.cfg /usr/local/icinga/etc/objects
chown icinga:icinga /usr/local/icinga/etc/objects/pagerduty_icinga.cfg
define contactgroup{
contactgroup_name admins
alias Icinga Administrators
members icingaadmin,pagerduty ; <-- Add 'pagerduty' here.
}
wget https://raw.github.com/PagerDuty/pagerduty-icinga-pl/master/pagerduty_icinga.pl
cp pagerduty_icinga.pl /usr/local/bin
chmod 755 /usr/local/bin/pagerduty_icinga.pl
enable_environment_macros=1
crontab -u icinga -e
* * * * * /usr/local/bin/pagerduty_icinga.pl flush
/etc/init.d/icinga restart
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..
You should configure an external ping check service like Pingdom 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_icinga”. On most systems:
grep pagerduty_icinga /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 Icinga messages, please let us know!
PagerDuty customers have built a bi-directional integration package for Nagios/Icinga and PagerDuty making use of PagerDuty’s generic integration API and webhooks to send notifications from Nagios/Icinga to PagerDuty and to keep alert acknowledgment status in sync. Learn more about it here.
Try PagerDuty free for 14 days — no credit card required.