Icinga 2 can generate its own alerts when a host or service has reached a certain state (hosts: UP, DOWN, or UNREACHABLE, services: OK, WARNING, CRITICAL, or UNKNOWN). With the right configuration the monitoring software sends out emails, text or instant messages, etc. to users or user groups. (Check out our documentation to learn more about Notification objects.) As soon as you want to organise notifications for more than a few people or several teams with different on-call duties, things can become a bit uncomfortable in Icinga 2.
Why not send Icinga’s reports to an external service provider like AlertOps? The alerting platform can help you to customise your notifications and to plan on-call scheduling; it can automate escalations, collaborate with other teams and team members, optimise team work and the response time. Here is a list of features included:
- Sends voice, SMS, push notifications and email alerts to support teams (multi-modal communication).
- Connects to a service desk, to a monitoring stack, and to a chat tool (3-way integration).
- Manages users, roles, and groups; allows bulk import via Excel sheets.
- Supports multi-team hierarchies (combination of teams, delegation of administration, etc.).
- Allows flexible on-call schedules (fixed and rotating), escalation to a team leader or manager, when necessary.
- Keeps records of the person or team it has alerted, remembers the alerting method, along with escalations and acknowledgements.
Thanks to an open API there are several ways of integrating with different monitoring tools. In order to combine the alerting features of AlertOps with the monitoring merits of Icinga 2, we’ve written a Perl script called alertops_notification.pl. It uses the AlertOps Generic REST API to send incidents reported by Icinga 2 to an AlertOps account. We’ve also included some suggestions for AlertOps rulesets to automatically open and close incidents, depending on whether Icinga 2 reports a problem or a recovery. For more information, have a look at the README and the AlertOps documentation.