Thola

Aus Thomas-Krenn-Wiki
Zur Navigation springen Zur Suche springen

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:

Thola-identify.png

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:

Thola-read-interfaces.png

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.

Thola-read-ups.png

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:

Thola-check-cpu-load.png

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.

Thola-check-interface-metrics.png

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.

Thola-api.png

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.

Thola-client-check-memory-usage.png

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


Foto Thola Team.jpg

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.

Icon-Github.png 

Das könnte Sie auch interessieren

GPU Sensor Monitoring Plugin
InfluxDB2 + Grafana Konfiguration eines Metric-Servers für Proxmox VE
Performance Graphen für check procs erstellen