Frage Systemüberwachungstools für Ubuntu


Ich suche nach Systemüberwachungswerkzeugen, die sind GUI und Cli oder Web-basiert die einschließen Basic  Funktionen sowie

  • CPU auslastung

  • RAM-Nutzung

  • Verwendung tauschen

  • Festplattennutzung (Speicherplatz / I / O)

  • Wärmeüberwachung

Ich weiß, dass es viele Werkzeuge gibt, die ich benutzen kann, aber ich suche nach einem einzelnen Werkzeug, das diese grundlegenden Funktionen hat.


135
2018-05-10 09:13


Ursprung




Antworten:


Blicke - Ein Auge auf Ihr System

Blicke ist eine freie Software (lizenziert unter LGPL) zur Überwachung Ihres GNU / Linux- oder BSD-Betriebssystems über eine Textschnittstelle. Glances verwendet die Bibliothek libstatgrab, um Informationen von Ihrem System abzurufen, und es wird in Python entwickelt.

Installation

Öffnen Sie ein Terminal (Strg+Alt+T) und folgende Befehle ausführen:

Ab Ubuntu 16.04 können Sie einfach tippen sudo apt install glances, aber Version 2.3 habe diesen Fehler. Sonst:

Einfache Skript-Installation  Blicke

curl -L https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

ODER

wget -O- https://raw.githubusercontent.com/nicolargo/glancesautoinstall/master/install.sh | sudo /bin/bash

Manuelle Installation 

sudo apt-get install python-pip build-essential python-dev lm-sensors
sudo pip install psutil logutils bottle batinfo https://bitbucket.org/gleb_zhulik/py3sensors/get/tip.tar.gz zeroconf netifaces pymdstat influxdb elasticsearch potsdb statsd pystache docker-py pysnmp pika py-cpuinfo bernhard
sudo pip install glances

Grundlegende Verwendung

Anfangen glances einfach eingeben glances im Terminal.

screenshot

Auf einen Blick sehen Sie viele Informationen über die Ressourcen Ihres Systems: CPU, Laden, Speicher, Netzwerk austauschen, Disk I / O und Prozesse auf einer Seite, standardmäßig bedeutet der Farbcode:

GREEN : the statistic is “OK”
BLUE : the statistic is “CAREFUL” (to watch)
VIOLET : the statistic is “WARNING” (alert)
RED : the statistic is “CRITICAL” (critical)

Wenn Glances ausgeführt wird, können Sie einige spezielle Tasten drücken, um Befehle zu geben:

c: Sort processes by CPU%  
m: Sort processes by MEM%  
p: Sort processes by name  
i: Sort processes by IO Rate  
d: Show/hide disk I/O stats  
f: Show/hide file system stats  
n: Show/hide network stats  
s: Show/hide sensors stats  
b: Bit/s or Byte/s for network IO  
w: Delete warning logs  
x: Delete warning and critical logs  
1: Global CPU or Per Core stats  
h: Show/hide this help message  
q: Quit (Esc and Ctrl-C also work)  
l: Show/hide log messages

CPU-, Ram-, Swap-Überwachung

screenshot

Festplattenüberwachung

screenshot

Systemwärmeüberwachung

Wenn Sie eingeben glances --help du wirst finden ( -e Aktivieren Sie das Sensor-Modul (nur Linux)

glances -e

screenshot

screenshot

Konfigurationsdatei

Sie können Ihre Schwellenwerte in der Glances-Konfigurationsdatei unter GNU / Linux festlegen, in der sich die Standardkonfigurationsdatei befindet /etc/glances/glances.conf.

Client / Server-Modus

Ein weiteres interessantes Merkmal dieses Überwachungstools ist, dass Sie es im Servermodus starten können, indem Sie einfach tippen glances -s, dies wird eine Ausgabe geben wie Glances Server läuft auf 0.0.0.0:61209 und jetzt können Sie eine Verbindung von einem anderen Computer herstellen, indem Sie glances -c @server verwenden, wobei @server die IP-Adresse oder der Hostname des Servers ist.

Glances verwendet einen XML / RPC-Server und kann von einer anderen Client-Software verwendet werden. Im Servermodus können Sie die Bindungsadresse (-B ADDRESS) und den empfangenden TCP-Port (-p PORT) festlegen, die Standard-Bindungsadresse ist 0.0.0.0 (Glances überwacht alle Netzwerkschnittstellen) und der TCP-Port ist 61209. Im Client-Modus können Sie den TCP-Port des Servers (-p port) festlegen. Im Client / Server-Modus werden die Grenzen serverseitig festgelegt. Die Version 1.6 führt ein optionales Passwort für den Zugriff auf den Server ein (-P-Passwort), das, falls auf dem Server festgelegt, auch auf dem Client verwendet werden muss.

Zusätzliche Quellen:  PyPI, Github, Linuxaria

Aktualisieren

Juju container überwachen zum beispiel wie die dinge aussehen Großes Bild

In Terminal Nr. 1 läuft Glances im Server-Modus, im Terminal Nr. 2 läuft der juju-Container apt-get update& In Terminal 3 glances -c 192.168.1.103 Glances ist mit Container-IP verbunden

screenshot

Zeigt die CPU-Auslastung an

Glances selbst scheint, während es aktiv ist, zeitweise Spitzenzeiten der CPU-Nutzung zu benötigen, wie das eingebaute Nutzungsdiagramm des Systemmonitors zeigt. Wenn der Graph genau ist - dann gibt man durch die Verwendung von Blickwinkeln etwa 1/4 einer CPU auf einem System auf. Dies hat Auswirkungen auf diejenigen, die CPU-Lasten auf Servern überwachen.

glances cpu usage


174
2018-05-10 10:00



:), Ja, es ist @ B4NZ41 - Qasim
Bestes Werkzeug, das ich gesehen habe .... - Dinesh VG
Ich empfehle dringend die hier vorgeschlagene "einfache" Installationsmethode! Die Übertragung von Daten aus dem Internet an einen privilegierten BASH-Interpreter ist sehr unsicher. Wenn jemand den DNS falsch konfiguriert oder Bit.ly gehackt hat, könnten Sie irgendetwas in Ihrem System installieren und Sie werden es vielleicht nie erfahren. - Luke Stanley
ich empfehle nicht Installieren Sie die "Easy Script Installation" nur mit Paketen. - Pablo Bianchi
Deinstallieren gerade sudo pip uninstall glances. - Pablo Bianchi


Indikator-SysMonitor

Indicator-SysMonitor macht ein wenig, tut es aber gut. Nach der Installation und Ausführung zeigt es die CPU- und RAM-Auslastung auf der Oberseite an. Einfach.

enter image description here

Herunterladen von Hier

Conky 

Einer meiner persönlichen Favoriten

enter image description here

Bildschirmset Sie werden eine Reihe unterschiedlich gestalteter CPU- und RAM-Monitore finden, die in den Screolen enthalten sind - alles im Ubuntu Software Center verfügbare Paket.

enter image description here

Blicke

Installieren:

sudo apt-get install python-pip build-essential python-dev
sudo pip install Glances
sudo pip install PySensors

enter image description here

VMSTAT

Zeigt Informationen über CPU, Speicher, Prozesse usw. an.

IOSTAT

Dieses Befehlszeilentool zeigt Statistiken über Ihre CPU, E / A-Informationen für Ihre Festplattenpartitionen, Network File System (NFS) usw. an. Um Iostat zu installieren, führen Sie folgenden Befehl aus:

sudo apt-get install sysstat

Führen Sie diesen Befehl aus, um den Bericht zu starten:

iostat

Verwenden Sie diesen Befehl, um nur CPU-Statistiken zu überprüfen:

iostat -c

Verwenden Sie für weitere Parameter diesen Befehl:

iostat --help

MPSTAT

Das Befehlszeilenprogramm mpstat zeigt die durchschnittliche CPU-Auslastung pro Prozessor an. Um es auszuführen, benutze einfach diesen Befehl:

mpstat

Verwenden Sie für die CPU-Nutzung pro Prozessor diesen Befehl:

mpstat -P ALL

Saidar

Saidar ermöglicht auch die Überwachung von Systemgeräteaktivitäten über die Befehlszeile.

enter image description here

Sie können mit diesem Befehl installieren:

sudo apt-get install saidar

Führen Sie diesen Befehl aus, um die Überwachung zu starten:

saidar -c -d 1

Die Statistiken werden jede Sekunde aktualisiert.

GKrellM

GKrellM ist ein anpassbares Widget mit verschiedenen Themen, das auf Ihrem Desktop-System Geräteinformationen (CPU, Temperatur, Speicher, Netzwerk, etc.) anzeigt.

enter image description here

Führen Sie diesen Befehl aus, um GKrellM zu installieren:

sudo apt-get install gkrellm

Monitorix

Monitorix ist eine weitere Anwendung mit einer webbasierten Benutzeroberfläche zur Überwachung von Systemgeräten.

enter image description here

Installieren Sie es mit diesen Befehlen:

sudo add-apt-repository ppa:upubuntu-com/ppa
sudo apt-get update
sudo apt-get install monitorix

Starten Sie Monitorix über diese URL:

http://localhost/monitorix/


31
2018-03-08 09:43



@Qasim Danke Freund. das freut mich - Maythux
Blicke sind gut. Was es mir zeigt, sind manchmal kritische Protokolle. Wo finden Sie das Problem? Wo sind die Logs? WARNING | CRITICAL logs (dauert 9 Einträge) 2016-03-23 ​​19:09:48> 2016-03-23 ​​19:09:54 CPU Benutzer (72.7 / 76.6 / 80.6) 2016-03-23 ​​19:09:28> 2016-03-23 ​​19:09:32 CPU IOwait (62.5 / 62.5 / 62.5) 2016-03-23 ​​19:08:45> 2016-03-23 ​​19:08:48 CPU-Benutzer (86.3 / 86.3 / 86.3) ~ 2016-03-23 ​​19:08:16> ___________________ LADEN 5-min (1.0 / 1.1 / 1.2) - Top-Prozess: php5-cgi 2016-03-23 ​​19:08:09> 2016-03-23 ​​19:08: 19 CPU IOwait (74.3 / 74.6 / 75.0) - Kangarooo
@ Thuener Es ist besser für dich nur zu lesen und vor solchen Unsinn zu lesen und ja, es ist ppa :: upubuntu-com / ppa ... siehe diesen Link launchpad.net/~upubuntu-com/+archive/ubuntu/ppa  und ich denke besser für dich, den downvote zu entfernen :) - Maythux
Ich habe GKrellM benutzt und mag es wirklich, besonders das Temperatursensor-Display. Ich wünschte, sie wären grafisch, aber es lässt mich wissen, wie es meinem Laptop geht, da es ein Überhitzungsproblem hat. - Heather92065


Im Folgenden sind die Tools für die Überwachung eines Linux-Systems

  1. Systembefehle wie top, free -m, vmstat, iostat, iotop, sar, netstat usw. Nichts kommt in die Nähe dieses Linux-Dienstprogramms, wenn Sie ein Problem debuggen. Diese Befehle geben Ihnen ein klares Bild, das in Ihren Server geht
  2. Seelöwe: Der Agent führt alle in # 1 genannten Befehle (auch benutzerdefiniert) aus und die Ausgaben dieser Befehle können in einem schönen Web-Interface aufgerufen werden. Dieses Tool ist praktisch, wenn Sie über Hunderte von Servern debuggen, da die Installation einfach ist. Und es ist KOSTENLOS
  3. Nagios: Es ist die Mutter aller Überwachungs / Alarmierungs-Tools. Es ist sehr viel Anpassung, aber sehr schwierig für Anfänger einzurichten. Es gibt Tools, sogenannte Nagios-Plugins, die so ziemlich alle wichtigen Linux-Metriken abdecken
  4. Munin
  5. Serverdichte: Ein cloudbasierter kostenpflichtiger Dienst, der wichtige Linux-Messwerte sammelt und Benutzern die Möglichkeit gibt, eigene Plugins zu schreiben.
  6. New Relic: Ein weiterer bekannter Hosting-Monitoring-Service.
  7. Zabbix

19
2017-11-20 13:30





In den letzten Jahren habe ich benutzt:

Systemlastanzeige

enter image description here

Verfügbar ab Softwarezentrum


9
2018-02-22 21:50



netter: Systemlastanzeige - Qasim


oben

top ist die Monitoring Software, die alle Prozesse mit CPU / RAM-Auslastung, Gesamt-CPU / RAM-Auslastung und mehr auflistet Außerdem ist es meistens standardmäßig installiert

htop

htop ist wie eine erweiterte Version von top. Es hat alle Funktionen von oben, aber Sie können untergeordnete Prozesse sehen und die Anzeige von allem anpassen. Es hat auch Farben.

Iotop

iotop ist speziell für die Überwachung von Hard-Rive-I / O Es listet alle Prozesse auf und zeigt ihre Festplattennutzung zum Lesen und Schreiben an.


7
2018-05-10 10:43



Wo ist die Wärmeüberwachung? und in deiner antwort hast du bereits 3 hilfsprogramme miteingeschlossen ... überprüfe die frage ** ich suche nach einem einzigen werkzeug, das eine grundlegende funktion hat ** - Qasim
Mit den drei Tools gebe ich nur verschiedene Optionen für das OP, aber ich bin enttäuscht zu sagen, dass keiner von diesen eine Wärmeüberwachung hat - BeryJu
zumindest hast du versucht, die Frage zu beantworten ... danke - Qasim
google (Saidar ubuntu) - Qasim


Vielleicht möchten Sie es versuchen sysmon. Obwohl es nicht so schick wie Glances ist, ist es sehr einfach und einfach zu bedienen.

Wenn Sie sich schmutzig machen und ein wenig Scripting in Python machen wollen, hier sind einige Grundlagen der Systemüberwachung mit Python, um Ihnen den Einstieg zu erleichtern.

Sie benötigen ein externes Modul namens psutil um die meisten Dinge zu überwachen. Am einfachsten ist es, ein externes Modul-Installationsprogramm zu verwenden, anstatt aus der Quelle zu bauen.

Hinweis: Diese Beispiele sind in Python 2.7 geschrieben

sudo apt-get install pip
sudo pip install psutil

Jetzt, da wir die Module installiert haben, können wir mit der Programmierung beginnen.

Erstellen Sie zuerst eine Datei namens usage.py.

gedit ~/usage.py

Beginnen Sie mit dem Importieren psutil

import psutil

Erstellen Sie dann eine Funktion, um den Prozentsatz zu überwachen, auf dem Ihre CPU-Kerne ausgeführt werden.

def cpu_perc(): 

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True) 
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

Lasst uns das ein bisschen brechen, sollen wir?

Die erste Zeile, cpu_num = psutil.cpu_percent(interval=1, percpu=True), findet den Prozentsatz, in dem die Kerne in Ihrer CPU laufen, und ordnet ihn einer Liste mit Namen zu cpu_perc.

Diese Schleife genau hier

for i in range(len(cpu_num)):
    print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

ist eine for-Schleife, die den aktuellen Prozentsatz jedes Ihrer CPU-Kerne ausgibt.

Fügen wir die RAM-Nutzung hinzu.

Erstellen Sie eine Funktion namens ram_perc.

def ram_perc():
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    print "RAM: ", mem_perc, "%"

psutil.virtual_memory gibt einen Datensatz mit verschiedenen Fakten über den Arbeitsspeicher in Ihrem Computer.

Als Nächstes können Sie einige Fakten zu Ihrem Netzwerk hinzufügen.

def net():
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv

Schon seit psutil.net_io_counters() gibt uns nur Informationen über Pakete, die in Bytes gesendet und empfangen wurden, einige Konvertierungen waren notwendig.

Fügen Sie diese Funktion hinzu, um Informationen zu Swap Space zu erhalten.

def swap_perc():
    swap = psutil.swap_memory()
    swap_perc = swap.percent

Dieser ist ziemlich einfach.

Die Temperatur ist ziemlich schwierig, daher müssen Sie möglicherweise eigene Nachforschungen anstellen, um herauszufinden, was mit Ihrer Hardware funktioniert. Sie müssen den Inhalt einer bestimmten Datei anzeigen.

Die Plattennutzung ist viel einfacher als die Temperatur. Alles, was Sie tun müssen, ist, die Festplatte zu übergeben, die Sie überwachen möchten (d. H. /) durch eine bestimmte Funktion.

def disks():
    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

Die ursprüngliche Ausgabe von psutil.disk_usage ist das,

>>>psutil.disk_usage('/')
sdiskusage(total=21378641920, used=4809781248, free=15482871808, percent=22.5)

aber du kannst auch einfach empfangen total, used, free, oder percent.

Das abgeschlossene Programm: (die oben genannten Funktionen wurden kombiniert)

import psutil, os, sys
mem_perc = 0 #init var
swap_perc = 0 #init var
mbytes_sent = 0 #init var
mbytes_recv = 0 #init var
cpu_perc = 0 #init var
swap = 0 #init var
mem = 0 #init var
net = 0 #init var



def disp(degree):
    global cpu_perc
    global swap
    global swap_perc
    global mem
    global mem_perc
    global net
    global mbytes_sent
    global mbytes_recv

    cpu_perc = psutil.cpu_percent(interval=1, percpu=True)
    swap = psutil.swap_memory()
    swap_perc = swap.percent
    mem = psutil.virtual_memory()
    mem_perc = mem.percent
    net = psutil.net_io_counters()
    mbytes_sent = float(net.bytes_sent) / 1048576
    mbytes_recv = float(net.bytes_recv) / 1048576

    os.system('clear') #clear the screen

    print "-"*30
    print "CPU"
    print "-"*30
    print "CPU Temperature: " , degree, "'C"
    for i in range(len(cpu_perc)):
        print "CPU Core", str(i+1),":", str(cpu_perc[i]), "%"

    print "-"*30
    print "MEMORY"
    print "-"*30
    print "RAM: ", mem_perc, "%"
    print "Swap: ", swap_perc, "%"
    print "-"*30
    print "NETWORK"
    print "-"*30
    print "MB sent: ", mbytes_sent
    print "MB received: ", mbytes_recv
    print "-"*30
    print "DISKS"
    print "-"*30

    if len(sys.argv) > 1:
        for disk in range(1, len(sys.argv)):
            tmp = psutil.disk_usage(sys.argv[disk])
            print sys.argv[disk], "\n"
            print "Megabytes total: ",
            print str(float(tmp.total) / 1048576)
            print "Megabytes used: ",
            print str(float(tmp.used) / 1048576)
            print "Megabytes free: ",
            print str(float(tmp.free) / 1048576)
            print "Percentage used: ",
            print tmp.percent, "\n"

def main():
    print("Press Ctrl+C to exit")
    while True:
        temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C')
        temp = float(temp) / 1000
        disp(temp)

main()

Die Linie temp = open("/sys/class/thermal/thermal_zone0/temp").read().strip().lstrip('temperature :').rstrip(' C') funktioniert möglicherweise nicht mit Ihrer Hardwarekonfiguration.

Führen Sie dieses Programm über die Befehlszeile aus. Übergeben Sie die Platten, die Sie überwachen möchten, als Argumente von der Befehlszeile.

$ python usage.py /

Press Ctrl+C to exit

------------------------------
CPU
------------------------------
CPU Temperature:  39.0 'C
CPU Core 1 : 4.8 %
CPU Core 2 : 1.0 %
CPU Core 3 : 0.0 %
CPU Core 4 : 4.9 %
------------------------------
MEMORY
------------------------------
RAM:  33.6 %
Swap:  6.4 %
------------------------------
NETWORK
------------------------------
MB sent:  2.93382358551
MB received:  17.2131490707
------------------------------
DISKS
------------------------------
/ 

Megabytes total:  13952.484375
Megabytes used:  8542.6640625
Megabytes free:  4678.5703125
Percentage used:  61.2 

/media/calvin/Data 

Megabytes total:  326810.996094
Megabytes used:  57536.953125
Megabytes free:  269274.042969
Percentage used:  17.6 

Hoffe das hilft! Kommentar, wenn Sie Fragen haben.

https://github.com/calthecoder/sysmon-1.0.1


4
2018-06-13 20:43



Während dieser Link die Frage beantworten kann, ist es besser, hier die wesentlichen Teile der Antwort einzubeziehen und den Link als Referenz bereitzustellen. Nur-Link-Antworten können ungültig werden, wenn sich die verknüpfte Seite ändert. - Ron
@Ron - Okay, ich füge meiner Post eine Bearbeitung hinzu und zeige die grundlegenden Scripting-Teile von sysmon in ein paar Tagen. Danke für den Hinweis! - calthecoder
Auschecken meta.askubuntu.com/questions/13900/.... Was hast du genau versucht? - muru
@muru - Nevermind, jetzt funktioniert es. Danke für den Link! - calthecoder
@muru - Aber um deine Frage zu beantworten, habe ich den Codeblock mit drei Backticks gestartet, gefolgt von der Sprache, in der die Syntax hervorgehoben werden soll, und mit drei Backticks beendet. - calthecoder


Paket systat hat ein Werkzeug namens sar das macht alles was du willst. Es kann auch historische Daten sammeln, so dass Sie sehen können, was vor einiger Zeit passiert ist.


2
2018-05-10 13:22



thegeekstuff.com/2011/03/sar-examples - Qasim


Seelöwe Dies kann ein praktisches Werkzeug sein, da es eingebaute Befehle zur Überwachung der Serverleistung enthält, sowie Sie können Ihre eigenen benutzerdefinierten Befehle hinzufügen, scrpten und die Ausgabe protokollieren. Es ist sehr einfach einzurichten und herauszufinden, was zu einem bestimmten Zeitpunkt falsch gelaufen ist.

2


2
2017-07-08 07:48





ich empfehle http://conky.sourceforge.net/

Sehr einfach zu konfigurieren und minimale Nutzung von Ressourcen.


1
2018-05-27 12:30



Während dies theoretisch die Frage beantworten könnte, es wäre vorzuziehen um die wesentlichen Teile der Antwort hier einzubeziehen und den Link als Referenz bereitzustellen. - Warren Hill