Sip AMT Gateway mit nagios überwachen

Hallo,

gibt es eine Möglichkeit das AMT per Nagios zu überwachen?
So das man eine Meldung bekommt, wenn die Telefonie ausgefallen ist?

Hätte ich auch schon länger gerne gehabt. Bis jetzt war die Antwort vom Support immer: nein.

Hallo,
Ich habe aktuell eine rudimentäre Überwachung (sind alle Ämter registriert) der Ämter mit Icinga am laufen. Sollte eventuell weiterhelfen da Icinga ja ein Fork von nagios ist.

Danke aber das habe ich schon versucht und der nagios Prometheus check zeigt mir nur CSD Dienst und Datenbanken check an. Das Sip Trunk Beispiel funktioniert bei mir nicht bringt er mir immer null. Und das “EXPOSE_PROMETHEUS”: “on” habe ich auch schon eingestellt.
Wir haben die Pascom Version: 7.19.08.R.

Das geht aber nur on premise … oder habe ich etwas übersehen?

Kann sein, dass es in der cloud nicht geht, kann ich aber nicht testen. Wir haben nur eine onpremise Anlage.

Wenn die Doku noch passt: https://www.pascom.net/doc/de/howto/icinga/ dann steht da: Self Hosted only

Es wäre schon gut wenn man auch die Cloundanlagen überwachen könnten, besonders die Ämter. Vielleicht kennt ja jemand einen Weg.

Ja, wir haben auch nur onpremise.Und ich würde auch gerne die Ämter überwachen.

Hi @Marcus1982,

wir überwachen die Ämter hier mit Nagios. Bei Fehlern werden wir per Telegram informiert. Läuft ziemlich gut.

Dazu fragen wir über die Rest Schnittstelle den Trunk Status ab und ziehen dann die Infos aus dem json heraus die wir benötigen.

Das Check-Script sieht wie folgt aus (kritische Passagen sind geändert). Es ist nicht perfekt aber erfüllt seinen Zweck. Sicherlich kann man noch einige Verbesserungen einbauen aber dafür fehlte uns einfach die Zeit.
Zum Auswerten benötigst du noch jhson. (https://github.com/mmilad/jhson.git)

#!/bin/bash
SERVER=$1
USERNAME=$2
PASSWORD=$3

ENDPOINT=“https://${SERVER}:12345/voip-xx-xx/services/trunk/status”
CURL=curl -k -m 10 -u ${USERNAME}:${PASSWORD} -X GET ${ENDPOINT} -H "accept: */*"
CHCK=echo $CURL | grep register

if [[ “$CHCK” == “” ]]; then
CHECK=“Failed”
else
CHECK=“OK”
PEER=echo $CURL | jshon -e "BlaBla AG" -e "peer" -e "10XXXXXXXXX3" -u
REGISTER=echo $CURL | jshon -e "BlaBla AG" -e "register" -e "10XXXXXXXX3" -u
SECHELP=echo ${PEER//ok (}
SECONDS=echo ${SECHELP// ms)}
SECONDS=$((SECONDS+10))
if [[ “$REGISTER” == false ]];then
CHECK=“Critical”
else
CHECK=“OK”
fi
fi
SECONDS=$((SECONDS-10))
if [[ “$CHECK” == “OK” ]]; then
echo “INFO: Trunk Status ist $PEER, $REGISTER. | rta=0.$SECONDS”
echo date “INFO: Trunk Status ist $PEER, $REGISTER.” >> /var/log/voip-xx-xx.log
exit 0
elif [[ “$CHECK” == “Warning” ]]; then
echo "WARNING: Trunk Status ist lagged: $SECONDS ms. Status Amt: $REGISTER | rta=0.$SECONDS "
echo date “WARNING: Trunk Status ist lagged: $SECONDS ms. Status Amt: $REGISTER” >> /var/log/voip-xx-xx.log
exit 1
elif [[ “$CHECK” == “Critical” ]]; then
echo “CRITICAL: Trunk Status: $REGISTER, connect $PEER. | rta=0.$SECONDS”
echo date “CRITICAL: Trunk Status: $REGISTER, connect $PEER.” >> /var/log/voip-xx-xx.log
exit 2
elif [[ “$CHECK” == “Failed” ]]; then
echo “CRITICAL: voip-un-01 | rta=0.$SECONDS”
echo date “CRITICAL: voip-xx-xx” >> /var/log/voip-xx-xx.log
exit 2
else
echo “Check failed | rta=0.$SECONDS”
echo date “Check failed” >> /var/log/voip-xx-xx.log
exit 3
fi

Gruß,

Jens

P.S.: Ich sehe gerade, dass es sich hier schon um die Version für Pascom 19 handelt. Da ist die Auswertung der Qualifiy-Zeit bereits rausgenommen, da es bei 19 ja nur “not in use” oder “in use” gibt. Die Verbindungsqualität wird nicht mehr angezeigt. Nimm es einfach mal als Idee für ein eigenes Script.