#!/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"