LFCA: Wie man grundlegende Systemmetriken in Linux überwacht – Teil 8

Dieser Artikel ist Teil 8 der LFCA-Serie. Hier in diesem Teil werden Sie sich mit den allgemeinen Systemverwaltungsbefehlen vertraut machen, um grundlegende Systemmetriken zu überwachen und administrative Aufgaben im Linux-System zu planen.

Das Überwachen der Leistung Ihres Systems ist eine der entscheidenden Aufgaben, die Sie als Systemadministrator übernehmen müssen. Sicher, es gibt genügend Open-Source-Überwachungstools wie Grafana und Nagios zur Überwachung von Systemmetriken.

Glücklicherweise bietet Linux einige Befehlszeilen-Dienstprogramme, mit denen Sie sich einen Überblick über einige der wichtigen Systemstatistiken und Informationen wie CPU- und Speicherauslastung und laufende Prozesse verschaffen können.

Lassen Sie uns kurz einige der Befehlszeilentools betrachten, die Ihnen helfen können, grundlegende Systemmetriken zu überwachen:

1. uptime-Befehl

Der uptime-Befehl gibt die Dauer an, die das System läuft, seit es eingeschaltet wurde. Ohne Befehlsoptionen liefert er die aktuelle Zeit, die Betriebsdauer des Systems, eingeloggte Benutzer und den Lastdurchschnitt.

$ uptime

Mit der Option -s erhalten Sie das Datum des Systems und die Zeit, zu der das System eingeschaltet wurde.

$ uptime -s

Verwenden Sie die Option -p, um nur die Betriebszeit zu erhalten.

$ uptime -p
Check Linux System Uptime

2. free-Befehl

Um einen Blick auf den Gesamt- und verfügbaren Speicher sowie den Swap-Speicher auf Ihrem System zu werfen, verwenden Sie das free Befehl wie folgt. Die -h Option gibt die Ausgabe in einem für Menschen lesbaren Format aus.

$ free -h
Check Linux Memory Usage

3. top Befehl

Der top Befehl hat zwei Funktionen: Er bietet eine Zusammenfassung der Echtzeit-Systemmetriken und zeigt die aktuell ausgeführten Prozesse an, die vom Linux-Kernel verwaltet werden.

Zusätzlich zur Anzeige der laufenden Prozesse kombiniert der top Befehl die Ausgabe der Befehle uptime und free, die sich ganz oben befindet.

$ top
Check Linux Running Processes

Eine Verbesserung des top Befehls ist das htop Dienstprogramm, das die Statistiken in einem intuitiven und für Menschen lesbaren Format anzeigt.

Auf Linux können Sie htop mit dem Befehl installieren:

$ sudo apt install htop  [On Debian-based]
$ sudo dnf install htop  [On RHEL-based]

Um htop zu starten, führen Sie einfach den Befehl aus:

$ htop
htop – an interactive process viewer

4. df Befehl

Wir haben zuvor das df (disk-free) Dienstprogramm in den grundlegenden Linux-Befehlen diskutiert. Der df Befehl liefert Informationen zur Festplattenauslastung pro Dateisystem. Verwenden Sie die -Th Flagge, um Informationen in einem menschenlesbaren Format auszugeben.

$ df -Th
Check Linux Disk Usage

5. CPU-Informationen anzeigen

Um CPU-Informationen wie Herstellerkennung, Prozessorkerne, Modellname und vieles mehr anzuzeigen, führen Sie den Befehl aus:

$ cat /proc/cpuinfo
Check Linux Cpu Info

Automatisierung von Systemverwaltungsaufgaben

Aufgaben oder Jobs planen, die zu einem festgelegten Zeitpunkt ausgeführt werden sollen, ist eine der grundlegenden Fähigkeiten, die jeder Systemadministrator haben sollte. Sie möchten vielleicht administrative Aufgaben planen, die regelmäßig ausgeführt werden müssen, wie z.B. Backups und periodische Neustarts.

Cron ist ein Zeitplaner, der hilft, Aufgaben zu automatisieren. Die Cron-Einrichtung besteht aus dem Cron-Dämonen und einer Reihe von Tabellen, aus denen er seine Konfiguration liest, die als crontab bezeichnet wird. Die crontab beschreibt die auszuführenden Aufgaben.

Um einen Cron-Job zu erstellen, müssen wir zuerst seine Architektur verstehen. Ein Cron-Job besteht aus fünf Feldern, denen der auszuführende Befehl oder das Skript folgt. Hier ist eine diagrammatische Darstellung der verschiedenen Felder eines Cron-Jobs.

Cron Architecture

Lassen Sie uns einige der Cron-Beispiele und deren Interpretationen erkunden:

0	12	*	*	*   <command>   Executes a task daily  at noon
30	06	*	*	*   <command>   Executes a task daily  at 6:30 am 
30      *	*	*	*   <command>   Executes a task  every 30 minutes
0	0	*	*	*   <command>   Executes a task  at midnight 
30	06	*	* 	5   <command>  Executes a task at 6:30 am every Fri
*	* 	*	* 	*   <command>  Executes a task every minute
0	0	1	* 	*   <command>  Executes a task at midnight on the first day of every month
0	3 	*	* 	Mon-fri   <command> Executes a task at 3:00am on every day of the week from Monday to Friday.

Lassen Sie uns jetzt einen Cron-Job erstellen.

Zuerst werden wir ein Backup-Skript erstellen, das unseren Downloads-Ordner unter /home/tecmint/Downloads in das Verzeichnis /home/documents sichert.

Unter Verwendung des Vim-Editors werden wir die Skriptdatei erstellen und öffnen, wie unten gezeigt.

$ vim backup.sh

Wir beginnen mit einem Shebang-Header oben, um den Beginn des Shell-Skripts zu markieren.

#!/bin/bash

Der Befehl zum Sichern des Verzeichnisses wird unten angezeigt.

tar -cvf /home/tecmint/Documents/downloads.tar.gz /home/tecmint/Downloads
File Backup Script

Der erste Pfad stellt den vollständigen Pfad zur Sicherungsdatei dar, die downloads.tar.gz ist, während der zweite Pfad auf den Pfad des zu sichernden Verzeichnisses zeigt.

Speichern Sie die Datei, indem Sie ESC drücken, dann :wq eingeben und ENTER drücken.

Weisen Sie anschließend dem Backup-Skript Ausführungsberechtigungen zu. Dies ist notwendig, damit das Cron-Dienstprogramm das Skript ausführen kann.

$ chmod +x backup.sh

Um einen Cron-Job zu erstellen, der das Skript ausführt, führen Sie den folgenden Befehl aus:

$ crontab -e

Wir definieren den Cron-Job, um das Backup-Skript täglich um 14:30 Uhr wie folgt auszuführen.

30 14 * * * /home/tecmint/backup.sh
Create Cron Job in Linux

Speichern Sie die Datei, indem Sie ESC drücken, dann :wq eingeben und ENTER drücken. Sobald Sie die Datei verlassen, erhalten Sie die Meldung crontab: installing a new crontab, was darauf hindeutet, dass der Cron-Job initialisiert wurde.

Cron Job Added Succesfully

Um die aktuellen Cron-Jobs aufzulisten, führen Sie den Befehl aus:

$ crontab -l
List Cron Jobs

Also wurde für unsere Backup-Aufgabe erfolgreich ein Cron-Job erstellt, der einmal der Uhrzeit von 14:30 Uhr einen komprimierten Datei des Verzeichnisses ‚Downloads‚ im Verzeichnis ‚Documents‚ erstellt hat.

$ ls Documents/
Verify Backup

Wenn Sie einen Cron-Job nicht mehr möchten, können Sie ihn mit dem Befehl löschen:

$ crontab -r
Fazit

Es gibt noch viele andere Aufgaben, die Systemadministratoren täglich durchführen, wie zum Beispiel die Bestandsaufnahme und vieles mehr.

Source:
https://www.tecmint.com/monitor-basic-system-metrics-in-linux/