Thola
Thola ist ein Open Source Tool zum Auslesen und Überwachen von Netzwerkgeräten. Es fungiert als einheitliche Schnittstelle zwischen Nutzern und ihren Geräte und ermöglicht somit eine einheitliche Kommunikation mit verschiedenen, unterschiedlichen Gerätetypen.
Features
- Auslesen, Monitoring und Provisionieren von Netzwerkgeräten von Cisco, Juniper, Brocade, Huawei, Nokia/ISAM und vielen anderen
- Support für diverse Netzwerkgerätetypen wie beispielsweise Switches, Router, WDM, Richtfunk, USVs, DSLAMs/OLTs, ... inklusive typspezifischer Abfragen und Checks
- einfaches Hinzufügen neuer Gerätetypen und Hersteller über YAML Konfigurationsdateien
- Kompatibilität mit Icinga, Nagios, CheckMK und weiteren Monitoring-Systemen über einen Check-Plugin Modus
- einen REST-API Modus
- geringer Ressourcenbedarf
Geräte Abfragen per CLI
Thola ermöglicht eine direkte Kommunikation mit Netzwerkgeräten über das Command Line Interface. Hierbei werden dem Thola-Binary alle benötigten Informationen zur Verfügunggestellt, um ein Gerät zu kontaktieren und die gewünschte Aktion durchzuführen.
Um ein Gerät zu identifizieren, kann das Kommando thola identify [host]
verwendet werden:
Identify liefert einige grundlegende Informationen zu einem Gerät, wie beispielsweise den Hersteller und die Modellbezeichnung. Die hierbei zurückgegebene Klasse bestimmt, wie sich Thola bei diesem Gerät verhält und welche Requests über Thola möglich sind.
Das Kommando thola read [information] [host]
kann dazu verwendet werden, um ein Gerät auszulesen. Abhängig von der Geräteklasse, welche dem Gerät zugeordnet wird, können verschiedene Informationen ausgelesen werden.
Hat ein Gerät Netzwerkinterfaces, so lassen sich diese über thola read interfaces
ausgeben:
Für verschiedene Gerätetypen gibt es eigene Auslesemodi. Spezifische Informationen über eine USV können beispielsweise mit dem Kommando thola read ups
ausgelesen werden.
Monitoring mit Thola
Für das Monitoring von Netzwerkgeräten bietet Thola einen eigenen Check-Modus, welcher durch das Kommando thola check [check-type] [host]
gestartet werden kann.
Dieser Modus gibt das Ergebnis standardmäßig im Check-Plugin-Format[1] zurück und ist somit mit Icinga, Nagios und weiteren Monitoringsystemen kompatibel. Verschiedene Metriken werden als Performance Daten ausgegeben und es können Schwellwerte definiert werden, welche das Ergebnis des Checks bestimmen.
Das folgende Beispiel zeigt einen CPU-Load Check:
Der Check Modus kann auch verwendet werden, um Metriken seiner Netzwerkgeräte periodisch über ein Monitoringsystem wie Icinga auszulesen. Ein Beispiel hierfür ist thola check interface-metrics
, welcher alle verfügbaren Metriken zu den Interfaces als Performance Daten zurück liefert.
Optional kann das Rückgabe-Format über ein Flag --format
angepasst werden. Dies gilt nicht nur bei Checks, sondern bei allen Thola-Modi. Hierbei stehen verschiedene Formate zur Auswahl, aktuell `json`, `xml` und `pretty` ( = ein für Menschen lesbares Format).
REST API
Thola bietet neben der direkten Kommunikation mit Geräten über das Command-Line-Interface auch einen REST-API Modus. Zum Starten einer API kann einfach das Kommando thola api
aufgerufen werden. Optional kann die API zusätzlich mit einigen Flags konfiguriert werden, um beispielsweise den Port zu definieren oder TLS Informationenzu setzen.
Anschließend können Anfragen per HTTP(S) an die API gesendet werden. Somit wird ermöglicht, Thola in bestehende Systeme zu integrieren und beliebig zu skalieren.
Eine einfache Möglichkeit, Anfragen an eine Thola API zu senden, bietet das thola-client
Binary. Hierbei handelt es sich um ein leichtgewichtiges Binary, welches das gleiche Command-Line-Interface wie Thola bietet und zusätzlich über ein Flag --target-api
die
Adresse einer Thola API erhält. Das Client-Binary reicht den Request anschließend an die API weiter, wo er dann ausgeführt wird.
Da sich das Client-Binary genauso wie das normale Thola-Binary verhält, kann es ebenfalls über den Check-Mode in Icinga oder ein ähnliches Monitoringsystem integriert werden.
Installation
Informationen zur Installation befinden sich in der offiziellen Dokumentation.[2]
Weitere Informationen
Weitere Informationen über das Projekt, den aktuellen Entwicklungsstand und kommende Features befinden sich auf GitHub, der offiziellen Website und der bereits erwähnten Dokumentation:
Einzelnachweise
Autor: Thola Team Das Thola Team besteht aus einer kleinen Gruppen von Softwareentwicklern, die sich für Network Monitoring und Provisioning begeistern. Sie haben sich zum Ziel gesetzt, mit Thola eine innovative Lösung für die Kommunikation mit Netzwerkgeräten zu erstellen. |