-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathbash_Public
74 lines (66 loc) · 2.5 KB
/
bash_Public
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
#!/bin/bash
# Rocket.Chat.check_mk-integration
# First line after shebang will be used in check_mk as plugin-name
#Created by Christian Schuster and Tobias Orth.
#This script is used to get check_mk notifications in RocketChat
# Place into /omd/sites/$YOURSITENAME/local/share/check_mk/notifications/rocketchat
# chown YOURSITENAME:YOURSITENAME /omd/sites/$YOURSITENAME/local/share/check_mk/notifications/rocketchat
# chmod +x /omd/sites/$YOURSITENAME/local/share/check_mk/notifications/rocketchat
#Modify this variable for your environment
MY_ROCKET_CHAT="Your WEBHook URL"
if [ "$NOTIFY_WHAT" == "SERVICE" ]
then
#Set the message icon based on Check_mk host state
if [ "$NOTIFY_SERVICESHORTSTATE" = "CRIT" ]
then
ICON=":exclamation:"
elif [ "$NOTIFY_SERVICESHORTSTATE" = "WARN" ]
then
ICON=":warning:"
elif [ "$NOTIFY_SERVICESHORTSTATE" = "OK" ]
then
ICON=":white_check_mark:"
elif [ "$NOTIFY_SERVICESHORTSTATE" = "UNKN" ]
then
ICON=":question:"
else
ICON=":grey_exclamation:"
fi
curl -X POST --data "payload={ \"text\": \"${ICON} *$NOTIFY_HOSTNAME - $NOTIFY_SERVICEDESC - $NOTIFY_PREVIOUSSERVICEHARDSHORTSTATE->$NOTIFY_SERVICESHORTSTATE* \n\
DATE: $NOTIFY_LONGDATETIME \n \
WHAT: $NOTIFY_WHAT \n \
TYPE: $NOTIFY_NOTIFICATIONTYPE \n \
HOST: $NOTIFY_HOSTNAME \n \
HOSTALIAS: $NOTIFY_HOSTALIAS \n \
HOSTADDRESS: $NOTIFY_HOSTADDRESS \n \
SERVICE: $NOTIFY_SERVICEDESC \n \
STATE: $NOTIFY_PREVIOUSSERVICEHARDSHORTSTATE -> $NOTIFY_SERVICESHORTSTATE \n \
MESSAGE: $NOTIFY_SERVICEOUTPUT \n \
\"}" $MY_ROCKET_CHAT
else
#Set the message icon based on Check_mk host state
if [ "$NOTIFY_HOSTSHORTSTATE" = "UNREACH" ]
then
ICON=":exclamation:"
elif [ "$NOTIFY_HOSTSHORTSTATE" = "DOWN" ]
then
ICON=":warning:"
elif [ "$NOTIFY_HOSTSHORTSTATE" = "UP" ]
then
ICON=":white_check_mark:"
else
ICON=":grey_exclamation:"
fi
curl -X POST --data "payload={ \"text\": \"${ICON} *$NOTIFY_HOSTNAME - $NOTIFY_HOSTCHECKCOMMAND - $NOTIFY_PREVIOUSHOSTHARDSHORTSTATE->$NOTIFY_HOSTSHORTSTATE* \n\
DATE: $NOTIFY_LONGDATETIME \n \
WHAT: $NOTIFY_WHAT \n \
TYPE: $NOTIFY_NOTIFICATIONTYPE \n \
HOST: $NOTIFY_HOSTNAME \n \
HOSTALIAS: $NOTIFY_HOSTALIAS \n \
HOSTADDRESS: $NOTIFY_HOSTADDRESS \n \
SERVICE: $NOTIFY_HOSTCHECKCOMMAND \n \
STATE: $NOTIFY_PREVIOUSHOSTHARDSHORTSTATE -> $NOTIFY_HOSTSHORTSTATE \n \
MESSAGE: $NOTIFY_HOSTOUTPUT \n \
\"}" $MY_ROCKET_CHAT
fi
#Do what you want with it