From 483af2368b5d33a7e3cb224b62d3c2f81eba92b8 Mon Sep 17 00:00:00 2001 From: Marianne Spiller Date: Sun, 12 Apr 2020 12:06:28 +0200 Subject: [PATCH] Update README.md --- README.md | 145 +++++++++++++++++++++++++++++++++++++++++++++--------- 1 file changed, 121 insertions(+), 24 deletions(-) diff --git a/README.md b/README.md index c58ab48..94801fe 100644 --- a/README.md +++ b/README.md @@ -43,28 +43,54 @@ If you do not want to notify a group i.e. just **a direct user notification**: Sending a test notification – replace the token, botname and chat id obviously. -`sudo -u nagios ./service-by-telegram.sh -4 127.0.0.1 -l myhostname -o testingTGnotifiy -p -q -r "<1234134325:blafasel>" -s CRITICAL -c mycomment -b mycommentuser -i https://myicingaserver/icingaweb2 -n maaaaaaaaaaa -d"$(date +%F-%T)" -e serviceshort -u fullservicename -D` - - -### Icinga2 objects -#### Example Notification Object - -```ini -apply Notification "Host by Telegram" to Host { - command = "Notify Host By Telegram" - interval = 1h - assign where host.vars.notification_type == "Telegram" - users = [ "telegram_unixe" ] - vars.notification_logtosyslog = true - vars.telegram_bot = "" - vars.telegram_chatid = "" - vars.telegram_bottoken = "" -} +``` +sudo -u nagios ./service-by-telegram.sh -4 127.0.0.1 \ +-l myhostname \ +-o testingTGnotifiy \ +-p \ +-q \ +-r "<1234134325:blafasel>" \ +-s CRITICAL \ +-c mycomment \ +-b mycommentuser \ +-i https://myicingaserver/icingaweb2 \ +-n maaaaaaaaaaa \ +-d"$(date +%F-%T)" \ +-e serviceshort \ +-u fullservicename \ +-D ``` -#### Example Command Definitions +### Icinga2 objects +#### Example user templates
- object NotificationCommand "Notify Host By Telegram" + Generic user template + +```ini +template User "Generic User Template" { + enable_notifications = true +} +``` +
+ +
+ User "telegram_bot" + +```ini +object User "telegram_bot" { + import "Generic User Template" + + display_name = "Bot via Telegram" + email = "you@yourdomain.tld" + states = [ Critical, Down, OK, Unknown, Up, Warning ] + types = [ Custom, Problem, Recovery ] +} +``` +
+ +#### Example command definitions +
+ Notification Command: Hosts by Telegram ```ini object NotificationCommand "Notify Host By Telegram" { @@ -116,11 +142,10 @@ object NotificationCommand "Notify Host By Telegram" { } } ``` -
- object NotificationCommand "Notify Service By Telegram" + Notification Command: Services by Telegram ```ini object NotificationCommand "Notify Service By Telegram" { @@ -180,9 +205,81 @@ object NotificationCommand "Notify Service By Telegram" { } } ``` -
- -#### Example Director config +#### Example notification objects + +
+ Notification Template: Telegram Generic + +```ini +template Notification "Template: Telegram (Generic)" { + vars.telegram_bot = "" + vars.telegram_bottoken = "" + vars.telegram_chatid = "" + vars.telegram_notification_logtosyslog = true +} +``` +
+ +
+ Notification Template: Host Notifications + +```ini +template Notification "Template: Host Notifications via Telegram" { + import "Template: Telegram (Generic)" + + command = "Notify Host By Telegram" + interval = 1h +} +``` +
+ +
+ Notification Template: Service Notifications + +```ini +template Notification "Template: Service Notifications via Telegram" { + import "Template: Telegram (Generic)" + + command = "Notify Service By Telegram" + interval = 4h +} +``` +
+ + +#### Example notification apply rules +
+ Apply rule for host notifications + +```ini + apply Notification "Host Alert via @telegram_bot" to Host { + import "Template: Host Notifications via Telegram" + + interval = 1h + assign where host.vars.notification_type == "Telegram" + states = [ Down, Up ] + types = [ Custom, Problem, Recovery ] + users = [ "telegram_bot" ] +} +``` +
+ +
+ Apply rule for service notifications + +```ini +apply Notification "Service Alerts via @telegram_bot" to Service { + import "Template: Service Notifications via Telegram" + + interval = 12h + assign where host.vars.notification_type == "Telegram" + users = [ "telegram_bot" ] +} +``` +
+ + +#### Example Director screenshot ![Icinga Director Config](img/Telegram_Notification_in_Icinga_Director.jpg)