• Allgemein
  • systemctl status: Überwachung des Systemstatus unter Linux

systemctl status: Überwachung des Systemstatus unter Linux

systemctl status: Was ist das und wofür wird es verwendet?

systemctl status ist ein leistungsstarkes Befehlstool, das in modernen Linux-Distributionen wie Ubuntu, Debian und Red Hat Enterprise Linux (RHEL) integriert ist. Mit ihm kannst du den Systemstatus überwachen, Dienste und Prozesse verwalten und Fehler beheben.

Was ist systemctl status?

systemctl status ist ein Subsystem von systemd, dem Standard-System- und Service-Manager in vielen Linux-Distributionen. Es bietet eine einheitliche Schnittstelle zur Verwaltung von Diensten, Geräten, Socket-Aktivitäten und anderen Systemkomponenten.

Wofür wird systemctl status verwendet?

systemctl status wird für eine Vielzahl von Aufgaben im Zusammenhang mit der Systemverwaltung verwendet, darunter:

  • Überwachung des Dienststatus: Du kannst den aktuellen Status von Diensten wie HTTP-Servern, Datenbanken und Mail-Servern überprüfen.
  • Fehlerbehebung: systemctl status hilft dir, die Ursache von Systemproblemen zu identifizieren und zu beheben, indem du Informationen über fehlgeschlagene Dienste und Fehlermeldungen bereitstellst.
  • Verwaltung von Diensten: Du kannst Dienste starten, stoppen, neu starten und deaktivieren sowie deren Konfigurationseinstellungen ändern.
  • Überwachung der Systemressourcen: systemctl status ermöglicht es dir, die Nutzung von CPU, Speicher und anderen Systemressourcen zu überwachen und Leistungsprobleme zu erkennen.
  • Automatisierung der Systemverwaltung: Du kannst systemctl status in Skripten und Konfigurationsdateien verwenden, um die Systemverwaltung zu automatisieren und die Betriebszeit zu verbessern.

Überwachung des Systemstatus: Dienste, Einheiten und Prozesse

systemctl status ist ein unverzichtbares Werkzeug zur Überwachung des Systemstatus unter Linux. Es ermöglicht dir, den Status von Diensten, Einheiten und Prozessen einzusehen und zu verwalten.

Dienste

Ein Dienst ist eine Software, die im Hintergrund läuft und bestimmte Funktionen ausführt. Du kannst den Status eines Dienstes mit folgendem Befehl abrufen:

systemctl status <Dienstname>

Beispielsweise:

systemctl status ssh

Dieser Befehl gibt dir Informationen über den Status des SSH-Dienstes, einschließlich seines Aktivitätsstatus, seiner Ladeoptionen und seiner letzten Startzeit.

Einheiten

Eine Einheit ist eine abstraktere Konzept als ein Dienst. Sie kann einen Dienst, ein Gerät, einen Mountpunkt oder eine andere Komponente des Systems darstellen. Du kannst den Status einer Einheit mit folgendem Befehl abrufen:

systemctl status <Einheitsname>

Beispielsweise:

systemctl status bluetooth.service

Dieser Befehl gibt dir Informationen über den Status des Bluetooth-Dienstes, einschließlich seines Aktivitätsstatus, seiner Ladeoptionen und seiner letzten Startzeit.

Prozesse

systemctl status zeigt dir auch den Status laufender Prozesse an. Du kannst den Status eines Prozesses mit folgenden Befehl abrufen:

systemctl status -p <Prozessname>

Beispielsweise:

systemctl status -p sshd

Dieser Befehl gibt dir Informationen über den Status des sshd-Prozesses, einschließlich seiner PID, seinem Speicherverbrauch und seiner Befehlzeile.

Verwendung von systemctl status: Grundlegende Syntax und Optionen

systemctl status ist ein leistungsstarkes Befehlszeilenwerkzeug, das dir eine Echtzeit-Einsicht in den Status von Diensten, Einheiten und Prozessen auf deinem Linux-System bietet. Um systemctl status effektiv zu nutzen, musst du mit seiner grundlegenden Syntax und den verfügbaren Optionen vertraut sein.

Syntax

Die allgemeine Syntax für systemctl status lautet:

systemctl status [Einheit]

wobei [Einheit] der Name der Einheit ist, deren Status du überwachen möchtest. Dies kann ein Dienst, eine Einheit oder ein Prozess sein.

Optionen

systemctl status bietet eine Reihe nützlicher Optionen, darunter:

  • -a, –all: Zeigt den Status aller Einheiten an.
  • -e, –extended: Zeigt erweiterte Statusinformationen an, einschließlich des Zeitstempels und der Fehlermeldungen.
  • -l, –legend: Zeigt eine Legende der möglichen Statuscodes an.
  • –quiet: Unterdrückt die Ausgabe des Einheitsstatus.
  • -n, –no-legend: Zeigt keine Legende der Statuscodes an.
  • -b, –beginning: Zeigt den Status der Einheit seit ihrem letzten Start an.
  • –user: Zeigt den Status von Einheiten an, die vom aktuellen Benutzer erstellt wurden.

Beispiel

Um den Status des SSH-Dienstes anzuzeigen, kannst du folgenden Befehl ausführen:

systemctl status ssh

Die Ausgabe enthält Informationen zum aktuellen Status des Dienstes, einschließlich seines aktiven Status, ob er aktiviert ist und ob er ausgeführt wird.

Fehlerbehebung bei Systemproblemen mit systemctl status

Beim Beheben von Systemproblemen unter Linux ist systemctl status ein unverzichtbares Werkzeug. Es hilft dir dabei, den Status von Diensten, Einheiten und Prozessen zu überwachen und zu diagnostizieren, warum sie nicht wie erwartet funktionieren.

Häufige Fehlerermittlungsoptionen

Systemd bietet eine Reihe von Optionen, die dir bei der Diagnose von Problemen helfen können:

  • –failed: Zeigt nur fehlgeschlagene Dienste an
  • –all: Zeigt alle Dienste an, auch die inaktiven
  • –no-legend: Unterdrückt die Legende, um die Ausgabe zu vereinfachen
  • –no-ask-password: Unterdrückt Aufforderungen zur Eingabe des Passworts, wenn erhöhte Berechtigungen erforderlich sind

Dienstausfälle erkennen und beheben

Um Ausfälle von Diensten zu ermitteln, kannst du den Befehl systemctl status gefolgt vom Namen des Dienstes ausführen. Die Ausgabe zeigt dir den Status, den Fehlercode (falls vorhanden) und andere relevante Informationen an.

Wenn ein Dienst nicht ausgeführt wird, kannst du versuchen, ihn mit systemctl start zu starten. Wenn der Start fehlschlägt, überprüfe die Ausgabe von systemctl status auf Fehlermeldungen, die dir helfen können, die Ursache zu identifizieren.

Überwachung der Systemleistung und Ressourcen

Systemd sammelt auch Statistiken über Systemleistung und Ressourcenverbrauch. Du kannst diese Informationen mit systemctl status anzeigen, um Engpässe oder Probleme zu identifizieren.

Um beispielsweise den Speicherverbrauch eines Dienstes anzuzeigen, führe den folgenden Befehl aus:

systemctl status <Dienstname> --unit

Dies zeigt dir Informationen über die von der Einheit belegten Ressourcen an, einschließlich Arbeitsspeicher, CPU-Auslastung und Dateideskriptoren.

Fazit

systemctl status ist ein leistungsstarkes Werkzeug zur Fehlerbehebung und Überwachung von Systemstatus, Diensten, Einheiten und Prozessen unter Linux. Durch die Verwendung der beschriebenen Optionen kannst du Probleme schnell identifizieren und beheben und sicherstellen, dass dein System reibungslos läuft.

Überwachung des Systemstatus: Dienste, Einheiten und Prozesse

Um den Systemstatus unter Linux effektiv zu überwachen, musst du die verschiedenen Komponenten des Systems verstehen, die systemctl überwacht. Dienstverwaltung unter Linux erfolgt über systemd, ein Dienst-Manager und Init-System.

Dienste

Dienste sind die primären Einheiten, die von systemctl verwaltet werden. Sie repräsentieren Hintergrundprozesse oder Daemons, die im System ausgeführt werden, wie z. B. der SSH-Dienst oder der Webserver. systemctl ermöglicht dir, den Status von Diensten abzufragen, sie zu starten, zu stoppen, neu zu starten und zu deaktivieren.

Einheiten

In systemd werden Dienste als Einheiten bezeichnet. Einheiten sind generalisierte Entitäten, die neben Diensten auch andere Systemobjekte wie Geräte, Sockets und Mounts umfassen. Durch die Verwendung der einheitlichen Bezeichnung "Einheit" bietet systemd eine konsistente Schnittstelle für die Verwaltung aller Systemkomponenten.

Prozesse

Dienste und Einheiten werden durch Prozesse implementiert. Wenn du den Status einer Einheit abfragst, zeigt systemctl den Status des zugehörigen Prozesses an. Dies ist hilfreich, um Probleme mit einzelnen Prozessen zu identifizieren und zu beheben, die einen Dienst oder eine Einheit beeinträchtigen können.

Um den Status einer Einheit zu prüfen, verwende den Befehl systemctl status <einheit>. Er gibt Informationen zum aktuellen Status, zur Beschreibung und zu den Abhängigkeiten der Einheit sowie zum Status des zugehörigen Prozesses aus.

Beispiel:

systemctl status sshd.service

Dies zeigt den Status des SSH-Dienstes und des zugehörigen Prozesses sshd an. Du kannst auch zusätzliche Informationen mit der Option --full abrufen:

systemctl status --full sshd.service

Überwachung des Systemstatus: Dienste, Einheiten und Prozesse

Dienste und Einheiten

Systemd verwaltet Dienste, die ausführbare Programme sind, die im Hintergrund laufen und bestimmte Aufgaben ausführen. Sie werden als "Einheiten" bezeichnet und können auch andere Entitäten wie Geräte, Mounts oder Sockets umfassen.

Um den Status eines Dienstes anzuzeigen, verwende:

systemctl status <dienstname>

Beispiel:

systemctl status sshd

Dies zeigt dir Informationen zum SSH-Dienst, einschließlich seines Status, ob er aktiv oder inaktiv ist, sowie die zuletzt gemeldete Fehlermeldung.

Prozesse

Systemd verfolgt auch Prozesse, die vom System ausgeführt werden. Um den Status eines laufenden Prozesses anzuzeigen, verwende:

systemctl status <prozessname>

Beispiel:

systemctl status mysqld

Dies zeigt dir Informationen zum MySQL-Prozess, einschließlich seines Status, seiner PID und der Befehlszeile, mit der er gestartet wurde.

Überwachung mehrerer Einheiten

Du kannst den Status mehrerer Einheiten gleichzeitig überwachen, indem du ihre Namen durch Leerzeichen trennst:

systemctl status sshd nginx mysql

Überwachungsoptionen

Systemd bietet eine Reihe von Optionen für die Überwachung des Systemstatus. Einige nützliche Optionen sind:

  • –no-pager: Zeigt die Ausgabe nicht in einem Pager an.
  • –raw: Zeigt die Ausgabe in einem Rohformat an.
  • –json: Zeigt die Ausgabe im JSON-Format an, was für die automatisierte Verarbeitung nützlich sein kann.
  • –lines=n: Legt die Anzahl der angezeigten Zeilen fest.

Fehlerbehebung bei Systemproblemen mit systemctl status

systemctl status bietet eine umfassende Möglichkeit, Systemprobleme zu identifizieren und zu beheben.

Überprüfung von Dienstefehlern

  • Überprüfen des Dienststatus: Führe systemctl status <Dienstname> aus, um den aktuellen Status eines Dienstes zu ermitteln. Der Status kann "running", "stopped", "failed" oder "inactive" sein.
  • Prüfung des Dienstprotokolls: Wenn ein Dienst fehlgeschlagen ist, kannst du das Dienstprotokoll mit journalctl -u <Dienstname> prüfen. Das Protokoll kann Aufschluss darüber geben, warum der Dienst fehlgeschlagen ist.

Identifizierung von Einheitsproblemen

  • Überprüfung des Einheitenstatus: Einheiten sind abstrakte Konfigurationseinheiten, die Dienste, Geräte oder Dateisysteme darstellen. Verwende systemctl status <Einheitsname> um den Status einer Einheit zu ermitteln.
  • Fehlersuche bei Einheitenabhängigkeiten: Einheiten können von anderen Einheiten abhängig sein. Wenn eine abhängige Einheit fehlschlägt, kann dies auch dazu führen, dass die übergeordnete Einheit fehlschlägt. Verwende systemctl list-dependencies <Einheitsname> um die Abhängigkeiten einer Einheit anzuzeigen.
  • Überprüfung von Einheitenmasken: Einheitenmasken können verwendet werden, um Einheiten zu deaktivieren. Wenn eine Einheit maskiert ist, kann sie nicht gestartet werden. Verwende systemctl list-unit-files --type=mask um aktive Einheitenmasken aufzulisten.

Fehlerbehebung bei Prozessproblemen

  • Überprüfung laufender Prozesse: Führe ps aux aus, um eine Liste der laufenden Prozesse anzuzeigen.
  • Ermittlung des Prozesses eines Dienstes: Verwende systemctl show <Dienstname> um den Prozess eines Dienstes zu identifizieren.
  • Beenden von Prozessen: Du kannst Prozesse mit kill -9 <PID> beenden. Sei vorsichtig, da das Beenden von Systemprozessen das System instabil machen kann.

Weitere Tipps zur Fehlerbehebung

  • Prüfung von Protokollen: Systemprotokolle können wertvolle Informationen über Systemfehler liefern. Verwende journalctl oder dmesg um Protokollnachrichten anzuzeigen.
  • Verwenden von Systemüberwachungswerkzeugen: Werkzeuge wie Nagios und Zabbix bieten umfassende Systemüberwachung und können bei der Fehlerbehebung helfen.
  • Suche nach Hilfe in Online-Foren: Wenn du Probleme hast, die du nicht selbst lösen kannst, kannst du in Online-Foren nach Hilfe suchen, wie z. B. Stack Exchange.

Überwachung des Systemstatus: Dienste, Einheiten und Prozesse

systemctl status ist ein leistungsstarkes Werkzeug, mit dem du den Status verschiedener Systemkomponenten überwachen kannst, darunter Dienste, Einheiten und Prozesse.

Dienste

Dienste sind Prozesse, die im Hintergrund ausgeführt werden und bestimmte Aufgaben für das System ausführen, wie z. B. den Druckerspooler oder den SSH-Server. Du kannst den Status eines Dienstes mit dem Befehl systemctl status <dienstname> überprüfen. Beispielsweise:

systemctl status sshd

Einheiten

Einheiten sind eine erweiterte Abstraktion von Diensten, die eine größere Granularität bieten. Sie können nicht nur Dienste, sondern auch Geräte, Sockets und sogar Mountpoints darstellen. Um den Status einer Einheit zu überprüfen, verwende den Befehl systemctl status <einheitsname>. Beispielsweise:

systemctl status network.service

Prozesse

Prozesse sind Instanzen von Programmen, die im System ausgeführt werden. Du kannst den Status eines Prozesses mit dem Befehl systemctl status <pid> überprüfen, wobei <pid> die Prozess-ID ist. Beispielsweise:

systemctl status 1234

Auswertung des Status

Der Befehl systemctl status gibt eine Reihe von Informationen über den Status einer Komponente zurück, darunter:

  • Active: Der aktuelle Status der Komponente (aktiv, inaktiv, fehlgeschlagen usw.)
  • Sub: Name der untergeordneten Einheit, wenn vorhanden
  • Load: Zeitpunkt der letzten Ladezeit
  • Active Enter: Zeitpunkt des Übergangs in den aktuellen Status
  • Main PID: Prozess-ID des Hauptprozesses
  • CPU: CPU-Auslastung in Prozent
  • Memory: Arbeitsspeicherauslastung in Kilobyte

Durch die Überwachung dieser Informationen kannst du den Systemstatus verstehen, Probleme identifizieren und sicherstellen, dass alle wichtigen Komponenten ordnungsgemäß funktionieren.

Erkennen und Beheben von Diensteausfällen

Wenn ein Dienst nicht wie erwartet funktioniert, kannst du systemctl status verwenden, um die Ursache zu ermitteln und das Problem zu beheben.

Fehlermeldungen interpretieren

systemctl status gibt dir eine Fehlermeldung, wenn ein Dienst nicht aktiv ist. Diese Meldung kann dir Hinweise auf die Ursache des Problems geben. Beispielsweise bedeutet der Fehler Active: failed (Result: exit-code.service) normalerweise, dass der Dienst mit einem Nicht-Null-Exit-Code beendet wurde.

Logs überprüfen

Logs können wertvolle Einblicke in die Ursache eines Dienstausfalls geben. Um die Logs eines Dienstes anzuzeigen, verwende folgenden Befehl:

journalctl -u <dienstname>

Hierdurch werden alle Logs für den angegebenen Dienst aufgelistet. Durchsuchen die Logs nach Fehlermeldungen oder anderen Anzeichen, die auf das zugrunde liegende Problem hinweisen.

Abhängigkeiten überprüfen

Einige Dienste hängen von anderen Diensten ab, um ordnungsgemäß zu funktionieren. Wenn ein abhängiger Dienst inaktiv ist, kann dies zu einem Dienstausfall führen. Um die Abhängigkeiten eines Dienstes anzuzeigen, verwende folgenden Befehl:

systemctl list-dependencies <dienstname>

Wenn einer der abhängigen Dienste inaktiv ist, starte ihn mit systemctl start <abhängiger-dienstname>.

Prozesse untersuchen

Manchmal kann ein Dienstausfall durch einen fehlerhaften Prozess verursacht werden. Um die Prozesse aufzulisten, die zu einem Dienst gehören, verwende folgenden Befehl:

systemctl list-processes <dienstname>

Wenn ein Prozess nicht ausgeführt wird, starte ihn mit systemctl start <prozessname>.

Automatische Wiederherstellung konfigurieren

Du kannst die automatische Wiederherstellung von Diensten in /etc/systemd/system/<dienstname>.service konfigurieren. Füge die folgenden Zeilen zur Dienstkonfigurationsdatei hinzu:

[Service]
Restart=always
RestartSec=30

Dadurch wird der Dienst automatisch neu gestartet, wenn er fehlschlägt, und zwar alle 30 Sekunden.

Verwendung von systemctl status: Grundlegende Syntax und Optionen

systemctl status ist ein leistungsstarkes Kommandozeilenwerkzeug zur Überwachung des Systemstatus unter Linux. Mit ihm kannst du Informationen zu Diensten, Einheiten und Prozessen abrufen.

Grundlegende Syntax

Die grundlegende Syntax von systemctl status lautet:

systemctl status [Optionen] <Einheit>

Dabei ist <Einheit> der Name des Dienstes, der Einheit oder des Prozesses, dessen Status du abrufen möchtest.

Optionen

systemctl status bietet eine Reihe nützlicher Optionen, darunter:

  • -a, –all: Zeigt den Status aller Einheiten an.
  • -l, –long: Zeigt detailliertere Informationen an, einschließlich der Prozessliste.
  • -b, –brief: Zeigt eine kürzere Zusammenfassung des Status an.
  • -r, –recursive: Zeigt den Status rekursiver Abhängigkeiten an.
  • -F, –field=<Feld>: Zeigt nur das angegebene Feld an, z. B. "ActiveState".

Statusfelder

Die Ausgabe von systemctl status enthält verschiedene Felder, die Informationen zum Status der Einheit liefern:

  • ActiveState: Der aktuelle Aktivierungsstatus der Einheit, z. B. "aktiv", "inaktiv" oder "fehlgeschlagen".
  • UnitState: Der gewünschte Aktivierungsstatus der Einheit, z. B. "enabled" oder "disabled".
  • SubState: Zusätzliche Informationen zum Aktivierungsstatus, falls vorhanden.
  • Loaded: Gibt an, ob die Einheit geladen ist oder nicht.
  • Active: Gibt an, ob die Einheit aktiv ist oder nicht.
  • Sub: Gibt an, ob die Einheit untergeordnete Einheiten hat, die aktiv sind oder nicht.
  • Process: Die Prozess-ID der Einheit, falls sie aktiv ist.
  • ExecMainCode: Der Rückgabecode des Hauptprozesses der Einheit.
  • ExecMainStatus: Der Status des Hauptprozesses der Einheit, z. B. "erfolgreich" oder "fehlgeschlagen".

Durch die Verwendung von systemctl status mit den entsprechenden Optionen kannst du den Systemstatus gründlich überwachen und Probleme schnell identifizieren und beheben.

Überwachung der Systemleistung und Ressourcen

Die Überwachung der Systemleistung und Ressourcen ist entscheidend für die Sicherstellung eines reibungslosen Betriebs deines Linux-Systems. systemctl status bietet dir umfassende Informationen zu diesen Aspekten.

Systemleistung überwachen

Du kannst die Gesamtleistung deines Systems mit Befehlen wie diesem überwachen:

systemctl status systemd-logind

Dieser Befehl zeigt dir den Status des Systemd-Login-Managers an, der für die Verwaltung von Benutzersitzungen zuständig ist. Weitere wichtige Dienste, die du überwachen kannst, sind:

  • systemd-journald: Protokolldienst
  • systemd-networkd: Netzwerkdienst
  • systemd-timesyncd: Zeitsynchronisationsdienst

Ressourcenverbrauch überwachen

Neben der Überwachung des Dienststatus kannst du auch den Ressourcenverbrauch prüfen. Zum Beispiel kannst du so die CPU-Auslastung mit diesem Befehl überprüfen:

systemctl status systemd-cpu-manager

Dieser Befehl liefert Informationen über die CPU-Auslastung, die Zeit, die Prozesse im Leerlauf verbracht haben, und andere relevante Messwerte. Weitere Ressourcen, die du überwachen kannst, sind:

  • Speicherverbrauch: systemctl status systemd-oomd
  • Datenträgerauslastung: systemctl status systemd-logind
  • Netzwerkbandbreite: systemctl status systemd-resolved

Tools für erweiterte Überwachung

Neben systemctl status kannst du auch andere Tools für eine umfassendere Überwachung verwenden:

  • htop: Interaktives Echtzeit-Task-Manager-Tool
  • dstat: Sammelt und zeigt Echtzeitstatistiken über Systemressourcen an
  • iostat: Überwacht Eingabe-/Ausgabegerätestatistiken

Diese Tools bieten detailliertere Einblicke in die Systemleistung und -ressourcen und ermöglichen es dir, Engpässe oder Probleme frühzeitig zu erkennen.

Überwachung des Systemstatus: Dienste, Einheiten und Prozesse

systemctl status ist ein leistungsstarkes Werkzeug, das dir einen umfassenden Überblick über den Status deines Linux-Systems bietet. Es ermöglicht dir, den Zustand verschiedener Systemkomponenten im Auge zu behalten, darunter:

Dienste

Dienste sind Softwareanwendungen, die im Hintergrund laufen. Sie bieten wichtige Funktionen wie die Netzwerkverbindung, die Verwaltung von Benutzerkonten und den Druckersupport. Mit systemctl status kannst du den Status eines Dienstes überprüfen, indem du folgenden Befehl ausführst:

systemctl status [Dienstname]

Der Befehl gibt Informationen über den aktuellen Status des Dienstes aus, einschließlich, ob er aktiv ist, deaktiviert ist oder gerade gestartet wird.

Einheiten

Einheiten sind eine umfassendere Kategorie, die Dienste, Geräte und andere Systemressourcen umfasst. systemctl status kann verwendet werden, um den Status einer Einheit zu überprüfen, indem du Folgendes eingibst:

systemctl status [Einheitsname]

Dadurch erhältst du Informationen über den Status der Einheit sowie zugehörige Dienste und Abhängigkeiten.

Prozesse

Prozesse sind laufende Programme auf deinem System. Sie können mit systemctl status überwacht werden, indem ein Befehl wie der folgende ausgeführt wird:

systemctl status -l [Prozessname]

Dieser Befehl zeigt dir Details zum Prozess an, einschließlich seiner Prozess-ID (PID), Status und Ressourcenverbrauch.

Automatisierung der Systemverwaltung mit systemctl status

Aufgabenplanung mit systemd Timern

Du kannst mit systemctl status auch Aufgaben planen, indem du systemd-Timer verwendest. Diese Timer ermöglichen es dir, Befehle oder Skripte zu bestimmten Zeitpunkten oder in regelmäßigen Abständen auszuführen. Um einen Timer zu erstellen, führe folgende Schritte aus:

  • Erstelle eine Timer-Einheitsdatei in /etc/systemd/system/.
  • Gib den Zeitpunkt oder die Intervalle im Feld OnCalendar an.
  • Gib den auszuführenden Befehl im Feld ExecStart an.

Beispielsweise erstellt der folgende Befehl einen Timer, der täglich um Mitternacht das Skript /path/to/my_script.sh ausführt:

sudo systemctl edit --full my_timer.timer

Überwachung von Diensten mit systemd Notifications

systemctl status kann auch verwendet werden, um Benachrichtigungen über Dienststatusänderungen zu überwachen. Du kannst Benachrichtigungen einrichten, um dich per E-Mail oder Textnachricht zu informieren, wenn ein Dienst ausfällt oder wiederherstellt wird.

Um eine Benachrichtigung einzurichten, füge das Feld NotifyAccess zu einer Diensteinheitsdatei hinzu. Beispielsweise benachrichtigt die folgende Konfiguration dich per E-Mail, wenn der Redis-Dienst ausfällt:

[Service]
ExecStart=/usr/bin/redis-server
ExecStop=/usr/bin/redis-cli shutdown
NotifyAccess=main

Automatisierte Berichterstellung

systemctl status kann auch verwendet werden, um automatisierte Berichte über den Systemstatus zu erstellen. Du kannst Bash-Skripte oder Python-Programme verwenden, um den Befehl systemctl status auszuführen und die Ausgabe in eine Datei oder Datenbank zu schreiben. Diese Berichte können verwendet werden, um den Systemstatus im Zeitverlauf zu verfolgen und Trends zu identifizieren.

Beispielsweise erstellt das folgende Skript einen täglichen Bericht über den Systemstatus und sendet ihn per E-Mail an dich:

#!/bin/bash

# Führe systemctl status aus und speichere die Ausgabe in einer Datei
systemctl status > /tmp/system_status.txt

# Sende die Datei per E-Mail
mail -s "Systemstatusbericht" [email protected] < /tmp/system_status.txt