30 lines
1.1 KiB
Bash
Executable File
30 lines
1.1 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
baseurl="https://matrix.br0tkasten.de"
|
|
roomId="!30E9BL9QJp3BJqWp:matrix.br0tkasten.de"
|
|
|
|
message="${MONIT_HOST} (${MONIT_SERVICE}) ${MONIT_EVENT}: ${MONIT_DESCRIPTION}"
|
|
|
|
if [ "x$message" = "x" ]
|
|
then
|
|
exit 1
|
|
fi
|
|
|
|
# login
|
|
token=$(curl --connect-timeout 5 -m 10 -s $baseurl/_matrix/client/r0/login -H 'Accept: application/json' -X POST -d @/etc/monit/matrix_login.json | jq -r .access_token)
|
|
|
|
# send message
|
|
msgId=$(date +%s%N)
|
|
#curl --connect-timeout 5 -m 10 -s -XPUT -H "Content-Type: application/json;charset=utf-8" -d "{ \"msgtype\": \"m.text\", \"body\": \"$message\" }" "$baseurl/_matrix/client/r0/rooms/$roomId/send/m.room.message/$msgId?access_token=$token" >/dev/null
|
|
curl --connect-timeout 5 -m 10 -s -XPUT -H "Content-Type: application/json;charset=utf-8" "$baseurl/_matrix/client/r0/rooms/$roomId/send/m.room.message/$msgId?access_token=$token" --data-binary @- << EOF >/dev/null
|
|
{
|
|
"msgtype": "m.text",
|
|
"body": "$message"
|
|
}
|
|
EOF
|
|
|
|
# logout
|
|
curl --connect-timeout 5 -m 10 -s $baseurl/_matrix/client/r0/logout?access_token=$token -X POST >/dev/null
|
|
|
|
logger "alert: $message"
|