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
  • Docker !!!
  • Monitor
  • Alert
  • System info
  • Uptime
  • Quicklook

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):

GLANCES Fullscreen im Terminal

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

Übersicht GLANCES

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“.

Nachfolgend ein Screenshot von Chrome auf einem Android Smartphone:

GLANCES auf dem Handy
Bei weitergehenden Fragen hilft die Originaldokumentation, das WIKI oder die Community viel Spaß mit dem Tool.

One thought on “kleines Server Monitoring”

Kommentar verfassen