#!/bin/sh SITE="$1" # Sitename OBJECT="$2" # H = Host S = Service TYPE="$3" # $NOTIFICATIONTYPE$ http://nagios.sourceforge.net/docs/3_0/macrolist.html#notificationtype STATE="$4" # $HOSTSTATE$ / $SERVICESTATE$ http://nagios.sourceforge.net/docs/3_0/macrolist.html#hoststate # http://nagios.sourceforge.net/docs/3_0/macrolist.html#servicestate case "$OBJECT" in H) # Host HOST="$5" # $HOSTNAME$ http://nagios.sourceforge.net/docs/3_0/macrolist.html#hostname shift 5 ;; S) # Service HOST="$5" # $HOSTNAME$ http://nagios.sourceforge.net/docs/3_0/macrolist.html#hostname SERVICE="$6" # $SERVICEDESC$ http://nagios.sourceforge.net/docs/3_0/macrolist.html#servicedesc shift 6 ;; *) exit 1 ;; esac OUTPUT="$@" # $SERVICEOUTPUT$ http://nagios.sourceforge.net/docs/3_0/macrolist.html#serviceoutput # Pushover Parameter https://pushover.net/api URL="https://api.pushover.net/1/messages.json" TOKEN="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" USER="XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX" SEND=1 TITLE="Nagios - $SITE" case "$STATE" in WARNING | UNKNOWN | UNREACHABLE) PRIORITY=0 ;; CRITICAL | DOWN) PRIORITY=1 ;; OK) PRIORITY=-1 ;; *) PRIORITY=-1 ;; esac case "$OBJECT" in H) case "$TYPE" in PROBLEM) MESSAGE="$HOST: $STATE - $OUTPUT" ;; RECOVERY) # vorerst keine Recovery-Messages ;; *) SEND=0 ;; esac ;; S) case "$TYPE" in PROBLEM) MESSAGE="$SERVICE@$HOST: $STATE - $OUTPUT" ;; RECOVERY) # vorerst keine Recovery-Messages ;; *) SEND=0 ;; esac ;; *) SEND=0 ;; esac if [ $SEND ]; then /usr/bin/curl -s -F "token=$TOKEN" -F "user=$USER" -F "priority=$PRIORITY" -F "title=$TITLE" -F "message=$MESSAGE" $URL fi