Glances ist ein plattformübergreifendes Überwachungstool für Open-Source-Systeme. Es ermöglicht die Echtzeitüberwachung verschiedener Aspekte Ihres Systems wie CPU, Speicher, Festplatte, Netzwerknutzung usw. Es ermöglicht auch die Überwachung laufender Prozesse, angemeldeter Benutzer, Temperaturen, Spannungen, Lüftergeschwindigkeiten usw. Es unterstützt auch die Containerüberwachung, Es unterstützt verschiedene Containerverwaltungssysteme wie Docker, LXC. Die Informationen werden in einem übersichtlichen Dashboard dargestellt und können auch zur Fernüberwachung von Systemen über eine Webschnittstelle oder Befehlszeilenschnittstelle verwendet werden. Es ist einfach zu installieren und zu verwenden und kann so angepasst werden, dass nur die Informationen angezeigt werden, die Sie interessieren.
Im Client/Server-Modus könnte die Fernüberwachung über Terminal, Webschnittstelle oder API (XML-RPC und RESTful) erfolgen. Statistiken können auch in Dateien oder externe Zeit-/Wertdatenbanken, CSV oder direkte Ausgabe auf STDOUT exportiert werden.
Glances ist in Python geschrieben und verwendet Bibliotheken, um Informationen aus Ihrem System abzurufen. Es basiert auf einer offenen Architektur, in der Entwickler neue Plugins hinzufügen oder Module exportieren können.
Sie können mir helfen, meine Ziele, dieses Open-Source-Projekt zu verbessern, zu erreichen oder einfach „Danke“ sagen, indem Sie:
Jeder einzelne Beitrag wird sehr geschätzt.
python>=3.9
(verwenden Sie Glances 3.4.x für niedrigere Python-Versionen)psutil
(besser mit der neuesten Version)defusedxml
(um xmlrpc zu patchen)packaging
(für den Versionsvergleich)orjson
(eine optimierte Alternative zum Standard-JSON-Modul)Hinweis für Python 2-Benutzer
Glances Version 4 oder höher unterstützt Python 2 (und Python 3 < 3.9) nicht. Bitte verwenden Sie Glances Version 3.4.x, wenn Sie Python 2-Unterstützung benötigen.
Optionale Abhängigkeiten:
batinfo
(zur Batterieüberwachung)bernhard
(für das Riemann-Exportmodul)cassandra-driver
(für das Cassandra-Exportmodul)chevron
(für die Action-Script-Funktion)docker
(für die Container-Docker-Überwachungsunterstützung)elasticsearch
(für das Elastic Search-Exportmodul)FastAPI
und Uvicorn
(für den Webservermodus)graphitesender
(Für das Graphite-Exportmodul)hddtemp
(zur Unterstützung der HDD-Temperaturüberwachung) [nur Linux]influxdb
(für das Exportmodul InfluxDB Version 1)influxdb-client
(für das Exportmodul InfluxDB Version 2)jinja2
(für Vorlagen, wird unter der Haube von FastAPI verwendet)kafka-python
(für das Kafka-Exportmodul)netifaces
(für das IP-Plugin)nvidia-ml-py
(für das GPU-Plugin)pycouchdb
(für das CouchDB-Exportmodul)pika
(für das RabbitMQ/ActiveMQ-Exportmodul)podman
(für die Container-Podman-Überwachungsunterstützung)potsdb
(für das OpenTSDB-Exportmodul)prometheus_client
(für das Prometheus-Exportmodul)pygal
(für das Diagrammexportmodul)pymdstat
(für RAID-Unterstützung) [nur Linux]pymongo
(für das MongoDB-Exportmodul)pysnmp-lextudio
(für SNMP-Unterstützung)pySMART.smartx
(für HDD Smart-Unterstützung) [nur Linux]pyzmq
(für das ZeroMQ-Exportmodul)requests
(für die Ports, Cloud-Plugins und das RESTful-Exportmodul)sparklines
(für die Quick-Plugin-Sparklines-Option)statsd
(für das StatsD-Exportmodul)wifi
(für das WLAN-Plugin) [nur Linux]zeroconf
(für den Autodiscover-Modus) Es gibt verschiedene Methoden, Glances auf Ihrem System zu testen/installieren. Wähle deine Waffe!
Glances ist auf PyPI
. Durch die Verwendung von PyPI verwenden Sie die neueste stabile Version.
Um Glances zu installieren, verwenden Sie einfach die pip
-Befehlszeile.
Warnung: Auf modernen Linux-Betriebssystemen erhalten Sie möglicherweise eine Fehlermeldung zu einer extern verwalteten Umgebung, wenn Sie versuchen, pip
zu verwenden. Gehen Sie in diesem Fall zum Abschnitt PipX weiter unten.
pip install --user glances
Hinweis : Für die Installation von psutil, einer Glances-Abhängigkeit, sind Python-Header erforderlich. Unter Debian/Ubuntu ist es beispielsweise am einfachsten , apt install python3-psutil
. Alternativ müssen Sie zuerst das Paket python-dev und gcc ( python-devel unter Fedora/CentOS/RHEL) installieren. Für Windows installieren Sie einfach psutil aus der binären Installationsdatei.
Standardmäßig wird Glances ohne die Webschnittstellenabhängigkeiten installiert. Um es zu installieren, verwenden Sie den folgenden Befehl:
pip install --user 'glances[web]'
Für eine vollständige Installation (mit allen Funktionen):
pip install --user 'glances[all]'
So aktualisieren Sie Glances auf die neueste Version:
pip install --user --upgrade glances
Der aktuelle Entwicklungszweig wird im Paketindex test.pypi.org veröffentlicht. Wenn Sie die Entwicklungsversion testen möchten (möglicherweise instabil), geben Sie Folgendes ein:
pip install --user -i https://test.pypi.org/simple/ Glances
Installieren Sie PipX auf Ihrem System (apt install pipx auf Ubuntu).
Glances installieren (mit allen Funktionen):
pipx install 'glances[all]'
Das Looks-Skript wird im Ordner ~/.local/bin installiert.
Glances Docker-Images sind verfügbar. Sie können damit Ihren Server und alle Ihre Container überwachen!
Holen Sie sich den Glances-Container:
docker pull nicolargo/glances:latest-full
Die folgenden Tags sind verfügbar:
Führen Sie die letzte Version des Glances-Containers im Konsolenmodus aus:
docker run --rm -e TZ="${TZ}" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host --network host -it nicolargo/glances:latest-full
Standardmäßig wird die Datei /etc/glances/glances.conf verwendet (basierend auf docker-compose/glances.conf).
Wenn Sie außerdem Ihre eigene „glances.conf“-Datei verwenden möchten, können Sie Ihre eigene Docker-Datei erstellen:
FROM nicolargo/glances:latest
COPY glances.conf /root/.config/glances/glances.conf
CMD python -m glances -C /root/.config/glances/glances.conf $GLANCES_OPT
Alternativ können Sie etwas Ähnliches mit den Docker-Ausführungsoptionen angeben (beachten Sie die Einstellungsparameter der Umgebungsvariablen GLANCES_OPT für den Startbefehl „glances“):
docker run -e TZ="${TZ}" -v $HOME/.config/glances/glances.conf:/glances.conf:ro -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host -e GLANCES_OPT="-C /glances.conf" -it nicolargo/glances:latest-full
Wobei $HOME/.config/glances/glances.conf ein lokales Verzeichnis ist, das Ihre „glances.conf“-Datei enthält.
Führen Sie den Container im Webservermodus aus:
docker run -d --restart="always" -p 61208-61209:61208-61209 -e TZ="${TZ}" -e GLANCES_OPT="-w" -v /var/run/docker.sock:/var/run/docker.sock:ro -v /run/user/1000/podman/podman.sock:/run/user/1000/podman/podman.sock:ro --pid host nicolargo/glances:latest-full
Eine vollständige Liste der Optionen finden Sie auf der Glances Docker-Dokumentationsseite.
Glances ist auf vielen Linux-Distributionen verfügbar, Sie sollten es also mit Ihrem bevorzugten Paketmanager installieren können. Beachten Sie, dass bei Verwendung dieser Methode das Betriebssystempaket für Glances möglicherweise nicht die neueste Version ist und nur grundlegende Plugins aktiviert sind.
Hinweis: Das Debian-Paket (und alle anderen Debian-basierten Distributionen) enthalten nicht mehr die von der Webschnittstelle verwendeten JS-Statikdateien (siehe issue2021
). Wenn Sie es zu Ihrer Glances-Installation hinzufügen möchten, befolgen Sie die Anweisungen: issue2021comment
. In Glances Version 4 und höher ist der Pfad zur Statikdatei konfigurierbar (siehe issue2612
).
So installieren Sie das Binärpaket:
# pkg install py39-glances
So installieren Sie Glances über Ports:
# cd /usr/ports/sysutils/py-glances/
# make install clean
Wenn Sie das Skript „glancesautoinstall“ nicht verwenden möchten, gehen Sie wie folgt vor.
macOS-Benutzer können Glances mit Homebrew
oder MacPorts
installieren.
$ brew install glances
$ sudo port install glances
Installieren Sie Python für Windows (Python 3.4+ wird mit pip ausgeliefert) und führen Sie dann den folgenden Befehl aus:
$ pip install glances
Sie benötigen ein gerootetes Gerät und die Termux-Anwendung (verfügbar im Google Play Store).
Starten Sie Termux auf Ihrem Gerät und geben Sie Folgendes ein:
$ apt update
$ apt upgrade
$ apt install clang python
$ pip install fastapi uvicorn jinja2
$ pip install glances
Und starten Sie Glances:
$ glances
Sie können Glances auch im Servermodus (-s oder -w) ausführen, um Ihr Android-Gerät aus der Ferne zu überwachen.
So installieren Sie Glances aus dem Quellcode:
$ pip install https://github.com/nicolargo/glances/archive/vX.Y.tar.gz
Hinweis : Für die Installation von psutil sind Python-Header erforderlich.
Zur Überwachung Ihrer Infrastruktur steht ein fantastisches Chef
-Kochbuch zur Verfügung: https://supermarket.chef.io/cookbooks/glances (Danke an Antoine Rouyer)
Sie können Glances mit Puppet
installieren: https://github.com/rverchere/puppet-glances
Eine Glances Ansible
Rolle ist verfügbar: https://galaxy.ansible.com/zaxos/glances-ansible-role/
Führen Sie für den Standalone-Modus einfach Folgendes aus:
$ glances
Führen Sie für den Webservermodus Folgendes aus:
$ glances -w
und geben Sie die URL http://<ip>:61208
in Ihren bevorzugten Webbrowser ein.
Führen Sie für den Client/Server-Modus Folgendes aus:
$ glances -s
auf der Serverseite und führen Sie Folgendes aus:
$ glances -c < ip >
auf dem Client.
Sie können auch alle in Ihrem Netzwerk verfügbaren oder in der Konfigurationsdatei definierten Glances-Server erkennen und anzeigen:
$ glances --browser
Sie können Rohstatistiken auch auf stdout anzeigen:
$ 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 im CSV-Format dank der Option stdout-csv:
$ 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
...
oder in einem JSON-Format dank der Option stdout-json (Attribut wird in diesem Modus nicht unterstützt, um ein echtes JSON-Objekt in der Ausgabe zu haben):
$ glances --stdout-json cpu,mem
cpu: {"total": 29.0, "user": 24.7, "nice": 0.0, "system": 3.8, "idle": 71.4, "iowait": 0.0, "irq": 0.0, "softirq": 0.0, "steal": 0.0, "guest": 0.0, "guest_nice": 0.0, "time_since_update": 1, "cpucore": 4, "ctx_switches": 0, "interrupts": 0, "soft_interrupts": 0, "syscalls": 0}
mem: {"total": 7837949952, "available": 2919079936, "percent": 62.8, "used": 4918870016, "free": 2919079936, "active": 2841214976, "inactive": 3340550144, "buffers": 546799616, "cached": 3068141568, "shared": 788156416}
...
und RTFM, immer.
Eine vollständige Dokumentation finden Sie auf der readthedocs-Website.
Wenn Sie Fragen haben (nach RTFM!), posten Sie diese bitte im offiziellen Q&A-Forum.
Glances kann Statistiken exportieren in: CSV
Datei, JSON
Datei, InfluxDB
, Cassandra
, CouchDB
, OpenTSDB
, Prometheus
, StatsD
, ElasticSearch
, RabbitMQ/ActiveMQ
, ZeroMQ
, Kafka
, Riemann
, Graphite
und RESTful
Server.
Wenn Sie zum Glances-Projekt beitragen möchten, lesen Sie diese Wiki-Seite.
Es gibt auch einen Chat, der den Glances-Entwicklern gewidmet ist:
Nicolas Hennion (@nicolargo) <[email protected]>
Glances wird unter der LGPL-Lizenz Version 3 vertrieben. Weitere Einzelheiten finden Sie COPYING
.