Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
wiki:programme:icinga2:pushover [2018/01/22 16:10] – wikiadmin | wiki:programme:icinga2:pushover [2020/01/16 10:58] (aktuell) – [Vorarbeiten:] wikiadmin | ||
---|---|---|---|
Zeile 4: | Zeile 4: | ||
* Anmeldung bei Pushover | * Anmeldung bei Pushover | ||
- | * Device registrieren | + | * Device registrieren |
+ | * 7 Tage kostenlos | ||
+ | * danach | ||
* erstellung eines Application/ | * erstellung eines Application/ | ||
Zeile 13: | Zeile 15: | ||
Grund: Man kann die Unterschiede zum Original besser sehen und weitere Notifications für andere Dienste (SMS, Pushbullet, Signal, Telegram, ...) erstellen | Grund: Man kann die Unterschiede zum Original besser sehen und weitere Notifications für andere Dienste (SMS, Pushbullet, Signal, Telegram, ...) erstellen | ||
- | <file bash / | + | <note tip>Um nicht alles umständliche aus diesem Wiki kopieren zu müssen, stehen alle Scripte und Konfigurationsdateien in meinem Git-Repo unter: \\ |
+ | https:// | ||
+ | |||
+ | <file bash / | ||
#!/bin/bash | #!/bin/bash | ||
Zeile 53: | Zeile 58: | ||
ICINGA2HOST=" | ICINGA2HOST=" | ||
CURLPROXY="" | CURLPROXY="" | ||
- | debug=" | + | debug=" |
##################################################### | ##################################################### | ||
# | # | ||
# | # | ||
- | # | + | # PUSHOVERUSER = " |
- | # | + | # PUSHOVERTOKEN = " |
- | #PUSHOVERPRIORITY | + | # |
- | #PUSHOVERDEVICE | + | # |
- | #$PUSHOVERRETRY = "$user.vars.pushover_retry$" | + | # PUSHOVERPRIORITY |
- | #$PUSHOVEREXPIRE = "$user.vars.pushover_expire$" | + | # PUSHOVERRETRY = "$host.vars.pushover_retry$" |
+ | # PUSHOVEREXPIRE = "$host.vars.pushover_expire$" | ||
+ | # | ||
+ | # NOTIFICATIONTYPE = " | ||
+ | # NOTIFICATIONCOMMENT = " | ||
+ | # NOTIFICATIONAUTHOR = " | ||
+ | # | ||
+ | # ICINGALONGDATETIME = " | ||
+ | # | ||
+ | # HOSTNAME = " | ||
+ | # HOSTDISPLAYNAME = " | ||
+ | # HOSTSTATE = " | ||
+ | # HOSTOUTPUT = " | ||
# | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | # | ||
- | #HOSTNAME = " | ||
##################################################### | ##################################################### | ||
+ | #***** Host Monitoring on $ICINGA2HOST ***** | ||
PUSHOVERMESSAGE=$(cat << EOF | PUSHOVERMESSAGE=$(cat << EOF | ||
- | ***** Service | + | ***** Host Monitoring on icinga |
- | $SERVICEDISPLAYNAME on $HOSTDISPLAYNAME is ${SERVICESTATE}! | + | $HOSTDISPLAYNAME is $HOSTSTATE! |
- | Info: $SERVICEOUTPUT | + | Info: $HOSTOUTPUT |
When: $ICINGALONGDATETIME | When: $ICINGALONGDATETIME | ||
- | Service: $SERVICENAME | ||
Host: $HOSTNAME | Host: $HOSTNAME | ||
EOF | EOF | ||
) | ) | ||
- | PUSHOVERTITLE=" | + | #Wenn ein Kommentar eingetragen wurde (Downtimekommentar, |
+ | if [ -n " | ||
+ | then | ||
+ | PUSHOVERMESSAGE=$(cat << EOF | ||
+ | $PUSHOVERMESSAGE | ||
+ | Comment: $NOTIFICATIONCOMMENT | ||
+ | Author: | ||
+ | EOF | ||
+ | ) | ||
+ | fi | ||
+ | |||
+ | PUSHOVERTITLE=" | ||
#Wenn die Priorität 2 vergeben wurde, ist ein retry zwingend erforderlich | #Wenn die Priorität 2 vergeben wurde, ist ein retry zwingend erforderlich | ||
Zeile 114: | Zeile 134: | ||
--form-string " | --form-string " | ||
--form-string " | --form-string " | ||
- | --location https:// | + | --location https:// |
Zeile 133: | Zeile 153: | ||
PUSHOVERRETRY: | PUSHOVERRETRY: | ||
PUSHOVEREXPIRE: | PUSHOVEREXPIRE: | ||
- | NOTIFICATIONTYPE: | ||
HOSTDISPLAYNAME: | HOSTDISPLAYNAME: | ||
- | SERVICEDISPLAYNAME: | ||
- | SERVICESTATE: | ||
ICINGALONGDATETIME: | ICINGALONGDATETIME: | ||
+ | NOTIFICATIONTYPE: | ||
+ | NOTIFICATIONCOMMENT: | ||
+ | NOTIFICATIONAUTHOR: | ||
ICINGA2HOST: | ICINGA2HOST: | ||
- | SERVICEOUTPUT: $SERVICEOUTPUT | + | HOSTNAME: $HOSTNAME |
- | SERVICENAME: $SERVICENAME | + | HOSTSTATE: $HOSTSTATE |
+ | HOSTOUTPUT: | ||
pushover json output: | pushover json output: | ||
EOF | EOF | ||
fi | fi | ||
- | |||
</ | </ | ||
- | <file bash / | + | <file bash / |
#!/bin/bash | #!/bin/bash | ||
Zeile 193: | Zeile 213: | ||
# | # | ||
# | # | ||
- | # | + | # PUSHOVERUSER = " |
- | # | + | # PUSHOVERTOKEN = " |
- | #PUSHOVERPRIORITY | + | # |
- | #PUSHOVERDEVICE | + | # |
- | #$PUSHOVERRETRY = "$user.vars.pushover_retry$" | + | # PUSHOVERPRIORITY |
- | #$PUSHOVEREXPIRE = "$user.vars.pushover_expire$" | + | # PUSHOVERRETRY = "$service.vars.pushover_retry$" |
+ | # PUSHOVEREXPIRE = "$service.vars.pushover_expire$" | ||
+ | # | ||
+ | # NOTIFICATIONTYPE = " | ||
+ | # NOTIFICATIONCOMMENT = " | ||
+ | # NOTIFICATIONAUTHOR = " | ||
+ | # | ||
+ | # ICINGALONGDATETIME = " | ||
+ | # | ||
+ | # HOSTNAME = " | ||
+ | # SERVICENAME = " | ||
+ | # HOSTDISPLAYNAME = " | ||
+ | # SERVICESTATE = " | ||
+ | # SERVICEOUTPUT = " | ||
# | # | ||
- | # | ||
- | # | ||
- | # | ||
- | #HOSTNAME = " | ||
- | #HOSTSTATE = " | ||
- | #HOSTOUTPUT = " | ||
- | |||
##################################################### | ##################################################### | ||
+ | #***** Service Monitoring on $ICINGA2HOST ***** | ||
PUSHOVERMESSAGE=$(cat << EOF | PUSHOVERMESSAGE=$(cat << EOF | ||
- | ***** Host Monitoring on $ICINGA2HOST | + | ***** Service |
- | $HOSTDISPLAYNAME is $HOSTSTATE! | + | $SERVICEDISPLAYNAME on $HOSTDISPLAYNAME is ${SERVICESTATE}! |
- | Info: $HOSTOUTPUT | + | Info: $SERVICEOUTPUT |
When: $ICINGALONGDATETIME | When: $ICINGALONGDATETIME | ||
+ | Service: $SERVICENAME | ||
Host: $HOSTNAME | Host: $HOSTNAME | ||
EOF | EOF | ||
) | ) | ||
- | PUSHOVERTITLE=" | + | #Wenn ein Kommentar eingetragen wurde (Downtimekommentar, |
+ | if [ -n " | ||
+ | then | ||
+ | PUSHOVERMESSAGE=$(cat << EOF | ||
+ | $PUSHOVERMESSAGE | ||
+ | Comment: $NOTIFICATIONCOMMENT | ||
+ | Author: | ||
+ | EOF | ||
+ | ) | ||
+ | fi | ||
+ | |||
+ | PUSHOVERTITLE=" | ||
#Wenn die Priorität 2 vergeben wurde, ist ein retry zwingend erforderlich | #Wenn die Priorität 2 vergeben wurde, ist ein retry zwingend erforderlich | ||
Zeile 247: | Zeile 286: | ||
--form-string " | --form-string " | ||
--form-string " | --form-string " | ||
- | --location https:// | + | --location https:// |
Zeile 266: | Zeile 305: | ||
PUSHOVERRETRY: | PUSHOVERRETRY: | ||
PUSHOVEREXPIRE: | PUSHOVEREXPIRE: | ||
+ | NOTIFICATIONTYPE: | ||
+ | NOTIFICATIONCOMMENT: | ||
+ | NOTIFICATIONAUTHOR: | ||
HOSTDISPLAYNAME: | HOSTDISPLAYNAME: | ||
+ | SERVICEDISPLAYNAME: | ||
+ | SERVICESTATE: | ||
ICINGALONGDATETIME: | ICINGALONGDATETIME: | ||
- | NOTIFICATIONTYPE: | ||
ICINGA2HOST: | ICINGA2HOST: | ||
- | HOSTNAME: $HOSTNAME | + | SERVICEOUTPUT: $SERVICEOUTPUT |
- | HOSTSTATE: $HOSTSTATE | + | SERVICENAME: $SERVICENAME |
- | HOSTOUTPUT: | + | |
pushover json output: | pushover json output: | ||
EOF | EOF | ||
fi | fi | ||
- | |||
</ | </ | ||
+ | |||
+ | < | ||
<file bash / | <file bash / | ||
Zeile 284: | Zeile 327: | ||
import " | import " | ||
- | command = [ SysconfDir + "/ | + | command = [ SysconfDir + "/ |
env = { | env = { | ||
PUSHOVERUSER = " | PUSHOVERUSER = " | ||
PUSHOVERTOKEN = " | PUSHOVERTOKEN = " | ||
- | PUSHOVERPRIORITY = " | ||
PUSHOVERDEVICE = " | PUSHOVERDEVICE = " | ||
- | | + | |
- | PUSHOVEREXPIRE = "$user.vars.pushover_expire$" | + | PUSHOVERPRIORITY = " |
+ | | ||
+ | PUSHOVEREXPIRE = "$host.vars.pushover_expire$" | ||
NOTIFICATIONTYPE = " | NOTIFICATIONTYPE = " | ||
- | | + | |
+ | NOTIFICATIONAUTHOR = " | ||
ICINGALONGDATETIME = " | ICINGALONGDATETIME = " | ||
+ | |||
HOSTNAME = " | HOSTNAME = " | ||
+ | HOSTDISPLAYNAME = " | ||
HOSTSTATE = " | HOSTSTATE = " | ||
HOSTOUTPUT = " | HOSTOUTPUT = " | ||
- | |||
} | } | ||
} | } | ||
Zeile 307: | Zeile 354: | ||
import " | import " | ||
- | command = [ SysconfDir + "/ | + | command = [ SysconfDir + "/ |
env = { | env = { | ||
PUSHOVERUSER = " | PUSHOVERUSER = " | ||
PUSHOVERTOKEN = " | PUSHOVERTOKEN = " | ||
- | PUSHOVERPRIORITY = " | ||
PUSHOVERDEVICE = " | PUSHOVERDEVICE = " | ||
- | | + | |
- | PUSHOVEREXPIRE = "$user.vars.pushover_expire$" | + | PUSHOVERPRIORITY = " |
+ | | ||
+ | PUSHOVEREXPIRE = "$service.vars.pushover_expire$" | ||
NOTIFICATIONTYPE = " | NOTIFICATIONTYPE = " | ||
+ | NOTIFICATIONCOMMENT = " | ||
+ | NOTIFICATIONAUTHOR = " | ||
+ | |||
+ | ICINGALONGDATETIME = " | ||
+ | |||
+ | HOSTNAME = " | ||
+ | SERVICENAME = " | ||
HOSTDISPLAYNAME = " | HOSTDISPLAYNAME = " | ||
- | SERVICEDISPLAYNAME = " | ||
SERVICESTATE = " | SERVICESTATE = " | ||
- | ICINGALONGDATETIME = " | ||
SERVICEOUTPUT = " | SERVICEOUTPUT = " | ||
- | SERVICENAME = " | ||
- | HOSTNAME = " | ||
} | } | ||
} | } | ||
- | |||
</ | </ | ||
Zeile 381: | Zeile 431: | ||
display_name = " | display_name = " | ||
- | # groups = [ " | + | |
groups = [ " | groups = [ " | ||
Zeile 389: | Zeile 439: | ||
vars.pushover_user = " | vars.pushover_user = " | ||
vars.pushover_token = " | vars.pushover_token = " | ||
+ | #Devices | ||
+ | #(mehrere devices = [ " | ||
vars.pushover_device = [ " | vars.pushover_device = [ " | ||
- | # vars.pushover_priority = " | + | |
- | # retry >= 30 | + | # retry >= 30 |
- | # vars.pushover_retry = " | + | # vars.pushover_retry = " |
- | # expire <= 10800 | + | # expire <= 10800 |
- | # vars.pushover_expire = " | + | # vars.pushover_expire = " |
} | } | ||
- | |||
</ | </ | ||