10. Systemüberwachungstools für Ubuntu Server: Ein umfassender Leitfaden

Die Beherrschung von Systemüberwachungstools für Ubuntu Server ist entscheidend für optimale Leistung, die Diagnose von Problemen und die Aufrechterhaltung der Systemzuverlässigkeit. In diesem Tutorial erkunden wir die besten Systemüberwachungstools für Ubuntu-Server, darunter Echtzeit-Ressourcenüberwachung, Festplatten-E/A, Netzwerkaktivität und Server-Dashboards.


Vorheriger Artikel:

01. Einführung in Ubuntu Server – SysOSX: AI & Cloud

02. So richten Sie Ihren ersten Ubuntu-Server ein: Ein Leitfaden für Einsteiger – SysOSX: AI & Cloud

03.Die Linux-Befehlszeile für Ubuntu Server beherrschen – SysOSX: AI & Cloud

04. Benutzer und Berechtigungen auf Ubuntu Server verwalten: Ein umfassender Leitfaden – SysOSX: AI & Cloud

05. Netzwerkgrundlagen für Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud

06. Software auf Ubuntu Server installieren und verwalten: Ein vollständiger Leitfaden – SysOSX: AI & Cloud

07.Patchen und Aktualisieren von Ubuntu Server: Ein umfassender Leitfaden – SysOSX: AI & Cloud

08. Ihren Ubuntu-Server sichern: Praktische Schritte zur Härtung und zum Schutz – SysOSX: AI & Cloud

09. Überwachung und Protokollierung auf dem Ubuntu-Server



Verwenden von htop und top für die Echtzeit-Ressourcenüberwachung

Einführung in htop und top

Beide htop und top sind unverzichtbare Befehlszeilentools zur Überwachung von Systemressourcen in Echtzeit. Sie zeigen Informationen wie CPU-Auslastung, Speicherverbrauch und laufende Prozesse an.

Installieren und Ausführen von htop (es ist standardmäßig installiert)

Zum Installieren von htop, führen Sie Folgendes aus:

sudo apt update
sudo apt install htop

Zum Starten von htop, geben Sie einfach Folgendes ein:

htop

Hauptfunktionen und Anwendungsszenarien für htop

htop ist ideal für:

  1. Identifizieren ressourcenintensiver Prozesse: Sie können Prozesse nach CPU- oder Speicherauslastung sortieren, um Ressourcenfresser schnell zu finden.
  2. Beenden von Prozessen: Verwenden Sie F9 , um nicht reagierende oder problematische Prozesse direkt über die htop -Oberfläche zu beenden.
  3. Überwachen von Threads: Erweitern Sie Prozesse, um einzelne Threads und ihre Ressourcennutzung anzuzeigen.
  4. Anpassen von Spalten: Drücken Sie F2 , um die Anzeige zu konfigurieren und Metriken wie Festplatten-E/A oder Netzwerkauslastung hinzuzufügen oder zu entfernen.

Verwenden von top

top ist ein einfacheres Tool, das auf Ubuntu-Servern vorinstalliert ist. Um es auszuführen:

top

Wichtige Befehle für top:

  • Drücken Sie Shift + p , um nach CPU-Auslastung zu sortieren.
  • Drücken Sie Shift + m , um nach Speicherauslastung zu sortieren.
  • Drücken Sie q , um das Programm zu beenden.

Installieren und Konfigurieren von sysstat für Leistungsmetriken

Was ist sysstat?

sysstat ist eine Sammlung von Tools zum Erfassen und Melden von Systemleistungsmetriken im Laufe der Zeit. Sie enthält Dienstprogramme wie iostat, vmstat, und sar.

Installieren von sysstat

Zum Installieren von sysstat:

sudo apt update
sudo apt install sysstat

Konfigurieren von sysstat

Aktivieren Sie die Datenerfassung, indem Sie die Konfigurationsdatei bearbeiten:

sudo nano /etc/default/sysstat

Ändern Sie ENABLED="false" in ENABLED="true". Speichern und beenden Sie, und starten Sie den Dienst neu:

sudo systemctl restart sysstat

Verwenden von sysstat -Tools

  • iostat: Überwachen der Festplatten-E/A-Leistung.iostat
  • vmstat: Überwachen von Speicher-, CPU- und E/A-Statistiken.vmstat
  • sar: Erstellen historischer Berichte über Systemaktivitäten. sar -u 5 10 # CPU usage every 5 seconds for 10 intervals

Überwachung von Festplatten-E/A und Netzwerkaktivität

Überwachung der Festplatten-E/A mit iotop

Verwenden Sie Tools wie iostat (aus sysstat) oder iotop für die Echtzeitüberwachung der Festplatten-E/A.

Zum Installieren von iotop:

sudo apt update
sudo apt install iotop

Führen Sie iotop aus:

sudo iotop

Einige Benutzer erhalten jedoch möglicherweise den folgenden Fehler beim Ausführen von iotop:

CONFIG_TASK_DELAY_ACCT not enabled in kernel, cannot determine SWAPIN and IO %

Beheben des iotop -Fehlers

Dieses Problem tritt auf, weil dem Kernel die Funktion CONFIG_TASK_DELAY_ACCT fehlt, die für iotop erforderlich ist, um SWAPIN- und IO-Prozentsätze anzuzeigen. Glücklicherweise kann dies durch Aktualisieren der GRUB-Konfiguration behoben werden.

Schritte zur Behebung des Fehlers

  • Bearbeiten Sie die GRUB-Konfigurationsdatei:
sudo nano /etc/default/grub
  • Fügen Sie die Option delayacct zum Eintrag GRUB_CMDLINE_LINUX_DEFAULT hinzu. Wenn die Zeile anfangs leer ist (GRUB_CMDLINE_LINUX_DEFAULT=""), aktualisieren Sie sie wie folgt: GRUB_CMDLINE_LINUX_DEFAULT="delayacct" Wenn die Zeile bereits andere Optionen enthält, hängen Sie delayacct an die vorhandenen Optionen an, durch ein Leerzeichen getrennt. Zum Beispiel:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash delayacct"
  • Aktualisieren Sie GRUB, um die Änderungen anzuwenden:
sudo update-grub
  • Starten Sie den Server neu:
 sudo reboot

    Nach dem Neustart sollte der Fehler behoben sein und iotop ordnungsgemäß funktionieren.

    Verwenden von `iotop

    Sobald das Problem behoben ist, können Sie iotop zur Überwachung der Festplatten-E/A ausführen:

    sudo iotop
    
    

    Möglichkeiten mit iotop

    • Identifizieren von Prozessen, die eine hohe Festplatten-E/A verursachen.
    • Überwachen von Lese-/Schreibvorgängen in Echtzeit.
    • Sortieren von Prozessen nach Festplattennutzung.

    Überwachung der Netzwerkaktivität

    Verwenden von iftop

    Zum Installieren von iftop:

    sudo apt update
    sudo apt install iftop
    

    Führen Sie iftop aus:

    sudo iftop
    
    

    Verwenden von nload

    Zum Installieren von nload:

    sudo apt update
    sudo apt install nload
    

    Führen Sie nload aus:

    nload
    
    

    Einrichten von Server-Dashboards mit Cockpit

    Was ist Cockpit?

    Cockpit ist ein webbasiertes grafisches Dashboard zur Überwachung und Verwaltung von Servern. Es bietet Echtzeiteinblicke in CPU, Speicher, Festplattennutzung und Netzwerkaktivität.

    Installieren von Cockpit

    So installieren Sie Cockpit:

    sudo apt update
    sudo apt install cockpit
    

    Zugreifen auf Cockpit

    Starten Sie den Cockpit-Dienst:

    sudo systemctl start cockpit.socket
    sudo systemctl enable cockpit.socket
    

    Rufen Sie das Dashboard über folgende Adresse auf:

    https://<your-server-ip>:9090
    
    

    Funktionen von Cockpit

    • Visuelles Überwachen der Systemleistung.
    • Verwalten von Diensten, Protokollen und Benutzerkonten.
    • Anzeigen von Festplattennutzung und Netzwerkaktivität.

    Während Tools wie htop, sysstat, und Cockpit für die meisten Anforderungen an die Serverüberwachung ausgezeichnet sind, gibt es andere erweiterte Tools, die tiefere Einblicke und eine bessere Visualisierung für komplexe Umgebungen bieten. Im Folgenden finden Sie einige weitere Überwachungstools, die Sie in Betracht ziehen können:

    Prometheus und Grafana

    Prometheus

    Prometheus ist ein Open-Source-Toolkit für Überwachung und Alarmierung, das auf Zuverlässigkeit und Skalierbarkeit ausgelegt ist. Es wird häufig in Cloud-nativen Umgebungen eingesetzt und eignet sich besonders gut für die Überwachung verteilter Systeme und Microservices.

    Hauptfunktionen:

    • Zeitreihendatenbank: Speichert Metriken effizient mit Zeitstempeln.
    • Leistungsstarke Abfragesprache (PromQL) zur Analyse von Metriken.
    • Alarmsystem: Integriert mit Tools wie Alertmanager für Benachrichtigungen.
    • Pull-basierte Architektur: Prometheus ruft Metriken aktiv von Zielen ab.

    Anwendungsfälle:

    • Überwachen von CPU-, Speicher- und Festplattennutzung auf mehreren Servern.
    • Verfolgen anwendungsspezifischer Metriken (z. B. HTTP-Anfragelatenz, Fehlerraten).
    • Erstellen von Warnungen bei ungewöhnlichen Metriken oder Systemausfällen.

    Installationsanleitung:
    So installieren Sie Prometheus unter Ubuntu:

    sudo apt update
    wget https://github.com/prometheus/prometheus/releases/download/v2.44.0/prometheus-2.44.0.linux-amd64.tar.gz
    tar xvf prometheus-2.44.0.linux-amd64.tar.gz
    cd prometheus-2.44.0.linux-amd64
    ./prometheus
    

    Rufen Sie Prometheus über folgende Adresse auf:

    http://<your-server-ip>:9090
    
    

    Bitte beachten Sie, dass sowohl Prometheus als auch Cockpit standardmäßig Port 9090 verwenden; wenn Sie beide gleichzeitig verwenden, sollten Sie den Standardport ändern:
    Beheben von Portkonflikten zwischen Prometheus und Cockpit

    Option 1: Prometheus-Port ändern

    Sie können Prometheus so konfigurieren, dass es einen anderen Port verwendet, indem Sie seine Konfigurationsdatei ändern.

    • Öffnen Sie die Prometheus-Konfigurationsdatei:
     nano prometheus.yml
    
    • Fügen Sie das Flag --web.listen-address im Startbefehl oder in der Dienstdatei von Prometheus hinzu oder ändern Sie es, um einen anderen Port anzugeben (z. B. 9091):
    --web.listen-address=:9091
    
    • Starten Sie Prometheus neu, um die Änderungen anzuwenden:
     sudo systemctl restart prometheus
    
    • Rufen Sie Prometheus über den neuen Port auf:
     http://<your-server-ip>:9091
    

      Option 2: Cockpit-Port ändern

      Der Standardport von Cockpit kann ebenfalls geändert werden, wenn Sie Prometheus lieber auf Port 9090 belassen möchten.

      • Erstellen Sie eine benutzerdefinierte Konfigurationsdatei für Cockpit:
      sudo nano /lib/systemd/system/cockpit.socket
      
      • Fügen Sie die folgenden Zeilen hinzu, um einen neuen Port anzugeben (z. B. 9092): ListenStream=9092
      • Starten Sie den Cockpit-Dienst neu:
      systemctl daemon-reload
      systemctl restart cockpit.socket
      
      • Rufen Sie Cockpit über den neuen Port auf: https://<your-server-ip>:9092

      Option 3: Verwenden eines Reverse-Proxys

      Wenn das Ändern der Ports nicht ideal ist, können Sie einen Reverse-Proxy verwenden (z. B. Nginx oder Apache), um beide Dienste unterschiedlichen URLs zuzuordnen und dabei ihre Standardports beizubehalten.

      Zum Beispiel:

      • Prometheus: 
      http://<your-server-ip>/prometheus
      
      • Cockpit: 
      http://<your-server-ip>/cockpit
      

        Empfehlung

        Wenn Sie beide Tools häufig verwenden:

        Dokumentieren Sie die Portänderungen für spätere Referenz oder für andere Administratoren.

        Ändern Sie Prometheus auf Port 9091 , da häufiger über den Standardport auf Cockpit zugegriffen wird 9090.


        Grafana

        Grafana ist eine leistungsstarke Visualisierungsplattform, die sich nahtlos in Prometheus integrieren lässt. Sie können damit dynamische Dashboards erstellen, um Metriken und Trends zu visualisieren.

        Hauptfunktionen:

        • Unterstützung mehrerer Quellen: Funktioniert mit Prometheus, Elasticsearch, MySQL und mehr.
        • Benutzerdefinierte Dashboards: Erstellen Sie interaktive Diagramme, Heatmaps und Tabellen.
        • Alarmierung: Richten Sie Warnungen basierend auf Schwellenwerten für wichtige Metriken ein.
        • Freigabe: Teilen Sie Dashboards ganz einfach mit Teams.

        Anwendungsfälle:

        • Visualisieren von Serverleistungsmetriken, die von Prometheus erfasst wurden.
        • Überwachen von Trends im Zeitverlauf für eine bessere Kapazitätsplanung.
        • Anzeigen von Daten aus mehreren Quellen in einem einheitlichen Dashboard.

        Installationsanleitung:
        So installieren Sie Grafana unter Ubuntu:

        sudo apt update
        sudo apt install -y software-properties-common
        sudo wget -q -O - https://packages.grafana.com/gpg.key | gpg --dearmor | sudo tee /usr/share/keyrings/grafana.gpg > /dev/null
        sudo echo "deb [signed-by=/usr/share/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | sudo tee -a /etc/apt/sources.list.d/grafana.list
        sudo apt update
        sudo apt install grafana
        sudo systemctl start grafana-server
        sudo systemctl enable grafana-server
        sudo systemctl status grafana-server
        

        Rufen Sie Grafana über folgende Adresse auf:

        http://<your-server-ip>:3000
        
        

        Nagios

        Nagios ist eines der beliebtesten Tools zur Überwachung von Infrastrukturen. Es bietet umfassende Überwachung und Alarmierung für Server, Netzwerkgeräte und Anwendungen. Es ist hochgradig anpassbar und unterstützt Plugins für erweiterte Funktionen.

        Hauptfunktionen:

        • Überwachen des Serverzustands: Verfolgen von CPU-, Speicher- und Festplattennutzung und mehr.
        • Netzwerküberwachung: Erkennen von Problemen mit Routern, Switches und Firewalls.
        • Alarmierung: Senden von Benachrichtigungen per E-Mail, SMS oder Integrationen mit Slack.
        • Umfangreiche Plugin-Bibliothek: Überwachen von Datenbanken, Webservern und anderen Diensten.

        Anwendungsfälle:

        • Überwachen kritischer Server und Anwendungen in Produktionsumgebungen.
        • Erhalten von Warnungen bei knappem Festplattenspeicher oder hoher CPU-Auslastung.
        • Überwachen von Betriebszeit und Verfügbarkeit von Netzwerkgeräten.

        Installationsanleitung:
        So installieren Sie Nagios unter Ubuntu:

        sudo apt install nagios4 nagios-plugins
        sudo a2enmod rewrite cgi
        systemctl restart apache2
        sudo systemctl status nagios4
        sudo systemctl enable nagios4
        sudo systemctl start nagios4
        
        

        Nagios erfordert zusätzliche Konfiguration, um Überwachungsziele einzurichten. Ausführliche Informationen zur Konfiguration finden Sie in der Nagios-Dokumentation.


        Netdata: Echtzeit-Tool zur Systemüberwachung

        Netdata ist ein leichtgewichtiges Echtzeit-Überwachungstool, das detaillierte Einblicke in die Systemleistung bietet. Es ist einfach zu installieren und verfügt über eine ansprechende Weboberfläche zur Visualisierung von Metriken.


        Schritt 1: Systempakete aktualisieren

        Stellen Sie sicher, dass Ihr System auf dem neuesten Stand ist, indem Sie die folgenden Befehle im Terminal ausführen:

        sudo apt update
        sudo apt upgrade
        

        Schritt 2: Netdata installieren

        Installieren Sie Netdata aus dem Standard-Ubuntu-Repository:

        sudo apt install netdata
        
        

        Schritt 3: Netdata konfigurieren

        Bearbeiten Sie die Netdata-Konfigurationsdatei, um Fernzugriff zu ermöglichen:

        sudo nano /etc/netdata/netdata.conf
        
        

        Suchen Sie das Feld bind socket to IP und ersetzen Sie 127.0.0.1 durch die IP-Adresse Ihres Servers:

        [global]
        bind socket to IP = <your-server-ip>
        
        

        Speichern Sie die Datei und starten Sie den Netdata-Dienst neu:

        sudo systemctl restart netdata
        
        

        Schritt 4: Firewall konfigurieren

        Erlauben Sie den Zugriff auf den Standardport von Netdata (19999) und aktivieren Sie die Firewall:

        sudo ufw allow 19999
        sudo ufw allow OpenSSH
        sudo ufw enable
        sudo ufw status
        

        Schritt 5: Auf die Netdata-Weboberfläche zugreifen

        Öffnen Sie Ihren Webbrowser und rufen Sie folgende Adresse auf:

        http://<your-server-ip>:19999
        


        Vergleich der Tools

        ToolAm besten geeignet fürBenutzerfreundlichkeitVisualisierungAlarmierung
        PrometheusErfassung von Metriken in großem MaßstabMittelBegrenztJa
        GrafanaErweiterte DashboardsEinfachAusgezeichnetJa
        NagiosInfrastrukturüberwachungMittelGrundlegendJa
        NetdataLeichtgewichtige EchtzeitüberwachungEinfachAusgezeichnetJa

        Fazit

        Die Überwachung Ihres Ubuntu-Servers ist entscheidend für die Aufrechterhaltung der Leistung, die Diagnose von Problemen und die Vermeidung von Ausfallzeiten. Tools wie htop, top, sysstat, Cockpit und andere bieten Administratoren die Möglichkeit, Ressourcen effektiv zu überwachen. Ob Sie Befehlszeilentools oder grafische Dashboards bevorzugen – diese Anleitung behandelt alles, was Sie für den Aufbau eines robusten Überwachungssystems benötigen.

        Als Nächstes: Zentralisierte Protokollierung und Überwachung

        Im nächsten Artikel konzentrieren wir uns auf zentralisierte Protokollierung und Überwachung , um die Serververwaltung und die Leistungsverfolgung weiter zu optimieren. Zu den Themen gehören:

        • Einrichten von rsyslog oder syslog-ng für die zentrale Protokollierung.
        • Weiterleiten von Protokollen an einen Remote-Protokollserver für bessere Organisation und Analyse.
        • Integrieren Ihres Ubuntu-Servers in robuste Überwachungsplattformen wie Nagios, Zabbix, oder Prometheus , um tiefere Einblicke in den Systemzustand und die Leistung zu gewinnen.

        Bleiben Sie dran und erfahren Sie, wie Sie Ihre Protokollinfrastruktur zentralisieren und Überwachungstools nutzen, um den Serverbetrieb effektiv zu optimieren!

        2 thoughts on “10. System Monitoring Tools for Ubuntu Server: A Comprehensive Guide”

        Kommentar hinterlassen