Visua­li­sie­rung: OpenNMS-Alarme und Perfor­mance­gra­phen in Grafana

Grafana ist ein Open-Source-Projekt zur Visua­li­sie­rung von Metriken, das sich perfekt mit dem IT-Moni­to­ring-Tool OpenNMS kombi­nieren lässt. Das webba­sierte Tool kann aus einer Viel­zahl an Daten­quellen Infor­ma­tionen erhalten - dazu gehören Post­greSQL, Elastic­se­arch, InfluxDB und andere Quellen. 
Der Grund für die Nutzung von Grafana für Fault- und Perfor­mance­ma­nage­ment liegt einer­seits an den Konfi­gu­ra­ti­ons­mög­lich­keiten für die Rech­te­ver­gabe in Grafana - in OpenNMS exis­tiert nur die Option zwischen Admins und “normalen” Usern zu wählen - und ande­rer­seits an der Einfach­heit, mit der sich Dash­boards und Panels konfi­gu­rieren lassen. In OpenNMS ist es nötig, die Graphen­kon­fi­gu­ra­tion über die Shell in den Konfi­gu­ra­ti­ons­da­teien durch­zu­führen, während in Grafana nicht nur durch simples Zusam­men­kli­cken Panels und Dash­board gene­riert werden - Grafana bietet auch mehr Optionen zur Gestal­tung der Panels und Dash­boards. Eine weitere Funk­tion sind die dyna­mi­schen Dash­boards: Mit Template-Varia­blen können Dash­boards per Klick auf eine andere Ressource umge­stellt oder darge­stellte Graphen on-the-fly gefil­tert werden.
Übri­gens: Neben der herkömm­li­chen lokalen Authen­ti­fi­zie­rung kann auch eine Authen­ti­fi­zie­rung durch LDAP konfi­gu­riert werden, um das Anlegen von Usern unnötig zu machen.

Instal­la­tion von Grafana

Die Instal­la­tion von Grafana ist recht simpel. Es ist ledig­lich nötig, ein Package herun­ter­zu­laden und dieses per Kommando zu installieren.
 
Beispiel auf einem Ubuntu Server:
wget https://dl.grafana.com/oss/release/grafana_6.3.3_amd64.deb
sudo dpkg -i grafana_6.3.3_amd64.deb
 
Die Instal­la­tion des OpenNMS-Helm Plugins erfolgt auf der Shell über den Befehl
grafana-cli plugins install opennms-helm-app
 

Konfi­gu­ra­tion

Für die Grund­kon­fi­gu­ra­tion muss als erstes ein User in OpenNMS einge­richtet werden, damit Grafana die Infor­ma­tionen über die REST-API von OpenNMS abfragen kann. Hierfür wurde der User grafana in OpenNMS angelegt.

Nun folgt die Konfi­gu­ra­tion der Data­sources in Grafana. Für unser Beispiel wurden die Data­sources für Alarme und die Perfor­mance­daten einge­richtet. Für die Anbin­dung werden ledig­lich die URL des OpenNMS-Servers und die Login­daten des neu ange­legten OpenNMS Users grafana benötigt.


  
 

Perfor­mance-Dash­board

In Grafana kann nun das erste Dash­board ange­legt werden. Als Panel wurde für das erste Dash­board ein Graph ausge­wählt. In der Konfi­gu­ra­tion des Graphen wählt man nun die Data­source OpenNMS Perfor­mance aus. Nun kann man die Konfi­gu­ra­tion des ersten Graphen durch­führen. Als Type wird meis­tens Attri­bute verwendet, was einfach nur eine simple Abfrage der Metriken ist.
 

 
Gibt man einem Attrigut ein Label, so kann man dieses beim Type Expres­sion verwenden, um so beispiels­weise eine Umrech­nung durch­zu­führen und das Ergebnis der Umrech­nung anstelle der origi­nalen Metrik zu verwenden (bspw.: Octet­um­rech­nung für die Darstel­lung in Mbit). eie Einzelnen Infor­ma­tionen für Node, Resource und Attri­bute erhält man per Klick auf die Label, wodurch ein Popup mit den mögli­chen Auswahl­mög­lich­keiten erscheint.
Im Punkt Visua­liz­a­tion lassen sich die Graphen in ihrer Darstel­lung anpassen. Hier hat man zum Beispiel die Möglich­keit, die Farben der Flächen oder Linien zu ändern.
 

Hat man die Konfi­gu­ra­tion durch­ge­führt, so erhält man den gewünschten Graphen. Hier besteht nun auch die Möglich­keit, mehrere Graphen in einem Panel darzustellen.
 
 

 

Faults Dash­board

Für die Darstel­lung der Alarme stehen eben­falls verschie­denste Optionen zur Verfü­gung. Im Beispiel wurden drei Panels für die Alarme ange­legt - für die Schwe­re­grade Minor, Major und Critical.
 

Die Queries für das Filtern nach Schwe­re­grad, UEI und weiteren Möglich­keiten müssen eben­falls nicht durch eigen­stän­diges Schreiben des SQL-Befehls durch­ge­führt werden - hier reicht wiederum simples “Zusam­men­kli­cken” des Filters aus.
 

Neben dem Filtern besteht auch die Möglich­keit der Alarm­dar­stel­lung im Panel. Hier kann man die Infor­ma­tionen zusam­men­kli­cken, die in den Alarm­mel­dungen ange­zeigt werden sollen.
 

Zusätz­lich können sowohl Perfor­mance- als auch Fault-Panels in einem Dash­board darge­stellt. Deswei­teren können für die Perfor­mance Graphen mehrere Daten­quellen in einem Panel genutzt werden. So kann man zum Beispiel für einen Teil der Graphen die Data­source OpenNMS nutzen und für einen anderen Teil der Graphen die Data­source Elasticsearch.
 

Fazit

Grafana bietet durch seine Viel­zahl an Optionen für die Konfi­gu­ra­tion und die einfache Hand­ha­bung eine ideale Alter­na­tive zur Darstel­lung der Alarme und der Perfor­mance­gra­phen aus OpenNMS. Es ist zudem möglich, sich Dash­boards auto­ma­tisch gene­rieren zu lassen, indem man selbst­ge­schrie­bene Scripte oder Programme verwendet. Ein Beispiel hierfür ist hier zu finden: https://github.com/NETHINKS/cmdbToGrafana
 
Weitere Hinweise sowie die Soft­ware sind hier zu finden:
Grafana : https://grafana.com/
OpenNMS-Helm Plugin
Infor­ma­tionen: https://docs.opennms.org/helm/releases/3.0.1/helm/latest/welcome/index.html
Chan­gelog: https://github.com/OpenNMS/opennms-helm
 
Weitere Fragen zum Thema oder zu OpenNMS im Allge­meinen beant­worten wir auch gerne persön­lich. Nehmen Sie Kontakt mit uns auf!

Schreibe einen Kommentar

Cookie Einstellungen
Diese Website verwendet Cookies, um die bestmögliche Funktionalität zu gewährleisten. Mehr lesen

Akzeptiere alle Cookies Speichern