Send Icinga2 notification to Microsoft Teams as Incoming Webhooks


This is an modified version of https://github.com/seffparker/icinga2-rich-slack-notification made compatible with Microsoft Teams' Webhook JSON payload.


Sample Notification Preview


  1. Colored Notifications for states like OK, Warning, Critical etc.
  2. Includes raw plugin outputs.
  3. Shows alert state-duration in human readable format.
  4. Shows comment with owner for Acknowledgement and Custom notifications.
  5. Can send notifications to multiple Teams endpoints
  6. The default re-notification interval can be changed.
  7. The re-notification interval can be customized per host or service.
  8. When the notification for a host is enabled, it will be inherited to all of its services checks, unless disabled for the specific service(s).

Installation and Basic Configuration

  1. Copy the two teams-notification-* confs to /etc/icinga2/conf.d/ directory
  2. Modify the vars.teams_notifications_icinga2_base_url in teams-notifications-configuration.conf with your IcingaWeb2 Base URL. This is to jump to Alert Dashboard right from Teams channel.
  3. Configure the existing host or service configuration like the provided one in sample.conf
  4. Get the webhook_url of the Teams Channel and add in to the object User section of required notification user(s). Read more here
  5. Validate the Icinga2 configuration and restart the service.

Advanced Configuration

  1. The notification color can be changed in the array variable vars.teams_notifications_color using HEX notation.
  2. Notifications for Scheduled DOWNTIME alerts are disabled by default. It can be enabled in the variable types