Hat man gerade weder Lust noch Zeit jedes Mal das Mail-Programm zu öffnen und möchte auch kein GSM Modem für SMS an das Monitoring System anschließen, besteht noch die Möglichkeit das Ganze via Telegram zu organisieren.
Wenn gerade der Mailserver ein Problem hat bekommt man so zumindest noch eine Meldung.
Die Nachteile sind dass man auf dem Telefon Telegram benötigt, natürlich das Monitoring System Internet benötigt und auf dem Client Gerät Empfang gegeben sein muss.
Zuerst erstellt man, direkt in der App, seinen eigenen Bot, wie hier (https://core.telegram.org/bots#6-botfather) beschrieben.
Mit diesem erhält man einen Token, der später noch benötigt wird. Ist der Bot soweit einsatzbereit, benötigt man noch eine "Chat ID" welche man mittels:
Code: Select all
curl https://api.telegram.org/bot<TOKEN>/getUpdates
Unter Icinga wird ein neues Kommando definiert:
Code: Select all
define command {
command_name notify-host-by-telegram
command_line /usr/local/bin/curl -X POST --data chat_id=<CHAT ID>
--data text="Host: $HOSTNAME$%0AGroup:
$HOSTGROUPNAME$%0AState: $HOSTSTATE$%0AAddress: $HOSTADDRESS$%0AInfo:
$HOSTOUTPUT$%0A%0ADate/Time:
$LONGDATETIME$%0A%0AAck
by: $HOSTACKAUTHOR$%0AAck reason: $HOSTACKCOMMENT$%0Astate change
%: $HOSTPERCENTCHANGE$%0AA"
"https://api.telegram.org/bot<TOKEN>/sendMessage"
}
define command {
command_name notify-service-by-telegram
command_line /usr/local/bin/curl -X POST --data chat_id=<CHAT ID>
--data text="Notification Type: $NOTIFICATIONTYPE$%0A%0AService:
$SERVICEDESC$%0AHost: $HOSTALIAS$%0AAddress: $HOSTADDRESS$%0AState:
$SERVICESTATE$%0A%0ADate/Time: $LONGDATETIME$%0A%0AAdditional Info:%0A%0A$SERVICEOUTPUT$%0A" "https://api.telegram.org/bot<TOKEN>/sendMessage"
}
Ein Beispiel für Monit, wenn irgendetwas klemmt:
Code: Select all
check host localhorst with address 254.255.256.257
if failed icmp type echo count 2 with timeout 45 seconds then exec "/usr/local/bin/alert_telegram.sh"
Code: Select all
/usr/local/bin/curl -X POST --data chat_id=<CHAT ID>
--data text="Monit Meldung - 254.255.256.257 hat ein Problem" "https://api.telegram.org/bot<TOKEN>/sendMessage"
Ein Hinweis, komplett auf Mails zu verzichten ist keine gute Idee, daher ist das Ganze als zusätzliche Methode zu verstehen.
Probleme / Fragen / Kommentare - immer her damit