Monitoring von Asterisk SIP-Peers mit OpenNMS

Wer eine Asterisk-TK-Anlage betreibt, hat verschiedene Möglichkeiten, diese mit OpenNMS zu überwachen. Neben den Standards – wie die Überwachung des Asterisk-Prozesses über SNMP – lassen sich auch Statistiken über aktive Channels per SNMP anfragen und darstellen. OpenNMS bietet mit dem „AsteriskSIPPeerMonitor“ zusätzlich die Möglichkeit, zu überprüfen, ob bestimmte SIP-Peers mit der Anlage verbunden und erreichbar sind. Das Monitoring der Peers wird dabei von Asterisk selbst durchgeführt und lässt sich von OpenNMS auslesen. Damit können beispielsweise wichtige Endgeräte oder SIP-Trunks auf Verfügbarkeit geprüft werden.

Vorbereitung von Asterisk

Um die Überwachung der SIP-Peers in Asterisk einzurichten, muss die SIP-Konfiguration sip.conf angepasst werden. Nachfolgend ein Beispiel-Abschnitt aus der Datei sip.conf:
[42]
type=peer
username=42
secret=secret1234
host=dynamic
callerid="Testuser"
qualify=yes
context=noscreen

Mit der Einstellung qualify=yes überprüft Asterisk in einem regelmäßigen Intervall (Standard: alle 60 Sekunden), ob der Peer noch erreichbar ist. Diese Informationen lassen sich nun über das Asterisk Manager Interface (AMI) durch OpenNMS abfragen. Um den Zugriff per AMI in Asterisk zu konfigurieren, muss die Konfigurationsdatei manager.conf angepasst und folgender Abschnitt eingefügt werden:
[opennms]
secret = secret4321
read = none
write = reporting

Nach einem Reload der Asterisk-Konfiguration sind die Änderungen aktiv.

Konfiguration von OpenNMS

Für die Einrichtung des Monitorings in OpenNMS müssen zwei Konfigurationsdateien angepasst werden.
In der Konfigurationsdatei ami-configuration.xml werden die Zugangsdaten für den AMI-Zugriff hinterlegt:
<ami-config retry="2" timeout="1500" username="opennms" password="secret4321">
<definition username="opennms" password="secret4321">
<specific>192.168.0.1</specific>
</definition>
</ami-config>

In der poller-configuration.xml muss dann ein Service für die Überwachung angelegt werden. Hier kann man den nachfolgenden Konfigurationsabschnitt verwenden:
<service name="SIP-Peer-uplink" interval="60000" user-defined="false" status="on">
<parameter key="retry" value="1"/>
<parameter key="timeout" value="3000"/>
<parameter key="sip-peer" value="42"/>
</service>
<monitor service="SIP-Peer-uplink" class-name="org.opennms.netmgt.asterisk.monitor.AsteriskSIPPeerMonitor"/>

Neben den üblichen Parametern retry und timeout gibt es den Parameter sip-peer, der den Namen des Peers (in unserem Fall „42“) angibt. Nach einem Neustart sind die Änderungen aktiv und nach dem Provisioning des Dienstes SIP-Peer-uplink beginnt OpenNMS mit dem Monitoring.
 

Weitere Informationen

Weiterführende Informationen findet man auch im OpenNMS Wiki. Gerne können Sie sich bei weitergehenden Fragen oder Wünschen an uns wenden. Sprechen Sie uns an – unser fachkundiges Team freut sich auf Ihre Kontaktaufnahme!

EU Efre Dekra