
Um einfach mal einen schnelles Server Monitoring zu etablieren gibt es eine ganze Menge Tools. Die meisten sind IMHO zu mächtig für viele Anwendungsfälle. Ein Tool das viele nicht kennen, aber bei fast allen Linux Distributionen in den Anwendungs Repositories verfügbar ist, ist GLANCES.
Funktionen
Eine kurze Übersicht der Funktionen.
Was wird visualisiert
- CPU
- Memory
- Load
- Process list
- Network interface
- Disk I/O
- IRQ / Raid
- Sensors
- Filesystem (and folders)
- Docker !!!
- Monitor
- Alert
- System info
- Uptime
- Quicklook (CPU, MEM, LOAD)
Ja, auch Docker kann beobachtet werden, man sieht in der Übersicht immer welche und ob noch die Container laufen.
Cross-platform
Das Ganze ist in Python geschrieben, deswegen sollte Glances auf nahezu jeder Plattform laufen: GNU/Linux, FreeBSD, OS X und Windows.
API
Glances besitzt eine XML-RPC Server und eine RESTful JSON API so das die Ergebnisse auch durch andere Systeme genutzt werden können.
Export
Es können alle Systemwerte als CSV, InfluxDB, Cassandra, OpenTSDB, StatsD, ElasticSearch oder als RabbitMQ exportiert werden. Außwerdem bietet Glances ein dediziertes Grafana Dashboard an.
Web UI
Und damit zu der für mich interessantesten Funktion. Es ist möglich GLANCES als Webserver zu starten und die Messungen und Metriken live auf einem entfernten Browser zu betrachten. Ich nutze das zum Beispiel um auf einem separaten Monitor immer ein Auge auf meinen ROOT-Server im Internet zu haben.
Installation
Der beste Weg ist das Auto Install script
Um eine betriebsfähige Installation zu bekommen einfach die nachfolgende Kommandozeile eingeben:
$ curl -L https://bit.ly/glances | /bin/bash
oder
$ wget -O- https://bit.ly/glances | /bin/bash
Hinweis: Das ist nicht in allen Distributionen möglich.
PyPI: Der schnelle Weg
Glances ist auf PyPI. Wenn du PyPI nutzt gehst du sicher immer die neuste Version zu benutzen.
Zur Installation wird einfach pip benutzt:
$ pip install glances
Weitere Installationsmechanismen kannst du auf der offiziellen GIT Seite finden.
Nutzung
Kommen wir jetzt zu dem Hauptpunkt, wie benutzt du GLANCES? Es gibt dazu 3 Möglichkeiten:
- Standalone
- Client/Server
- Web server
Ich reduziere mich hier auf meine Anwendungsfälle. Das ist die Nutzung im Standalone Mode oder als Webserver.
Server Monitoring Standalone
Wenn du einfach nur deine lokale Maschine überwachen möchtest gibst du einfach in der Konsole glances ein::
$ glances
GLANCES wird gestartet (drücke ‘q’ oder ‘ESC’ zum Beenden):
Es ist auch möglich RAW JSON Statistiken direkt auf Standard out auszugeben:
$ glances --stdout cpu.user,mem.used,load cpu.user: 30.7 mem.used: 3278204928 load: {'cpucore': 4, 'min1': 0.21, 'min5': 0.4, 'min15': 0.27} cpu.user: 3.4 mem.used: 3275251712 load: {'cpucore': 4, 'min1': 0.19, 'min5': 0.39, 'min15': 0.27} ...
oder direkt im CSV Format dank der stdout-csv Option:
$ glances --stdout-csv now,cpu.user,mem.used,load now,cpu.user,mem.used,load.cpucore,load.min1,load.min5,load.min15 2018-12-08 22:04:20 CEST,7.3,5948149760,4,1.04,0.99,1.04 2018-12-08 22:04:23 CEST,5.4,5949136896,4,1.04,0.99,1.04 ...
Hinweis: Das gibt eine Zeile pro Refresh aus.
Server Monitoring im Web Server Mode
Mein Haupteinsatz für GLANCES ist das Monitoring meines ROOT Server. Wenn ihr auch einen Server remote überwachen möchtet reicht dazu im Normalfall die Option -w:
server$ glances -w
Dann reicht es einfach die URL im Webbrowser einzugeben:
http://@server:61208
wobei @server
die IP Nummer des Servers ist.
Es kann beim Einsatz vorkommen das Firewalls oder das eingestellte Default Netzwerkgerät den Zugriff im ersten Schritt unterbinden.
Um das Refresh Intervall anzupassen reixcht es aus das gewünschte Intervall in Sekunden an die URL anzuhängen. Für eine Aktualisierung alle 10 Sekunden lautet die URL also:
http://@server:61208/10
Die Anzeige der GALNCES Web Seiten folgen den Grundsätzen des „Responsiv Design“.

Hier ein Screenshot von Chrome auf einem Android Smartphone:
Bei weitergehenden Fragen hilft die Originaldokumentation, das WIKI oder die Community viel Spaß mit dem Tool.
2 thoughts on “kleines Server Monitoring”