Vorwort Auf dem Markt sind zahlreiche Open-Source-Überwachungstools erhältlich, mit denen die Leistung von Linux-Systemen überwacht werden kann. Es können E-Mail-Benachrichtigungen gesendet werden, wenn das System bestimmte Schwellenwerte erreicht. Es kann alles überwachen, von der CPU-Auslastung, Speicherauslastung, Swap-Auslastung, Festplattenspeicherauslastung und mehr. Wenn Sie nur wenige Systeme haben und diese überwachen möchten, kann das Schreiben eines kleinen Shell-Skripts Ihre Aufgabe erheblich vereinfachen. In diesem Tutorial haben wir zwei Shell-Skripte hinzugefügt, um die Speicherauslastung auf einem Linux-System zu überwachen. Wenn das System einen bestimmten Schwellenwert erreicht, sendet es eine E-Mail an eine bestimmte E-Mail-Adresse. Methode 1: Speicherauslastung überwachen und E-Mails mit einem Linux-Bash-Skript senden Wenn Sie den aktuellen Prozentsatz der Speicherauslastung nur dann per E-Mail erhalten möchten, wenn das System einen bestimmten Schwellenwert erreicht, verwenden Sie das folgende Skript. Dies ist ein sehr einfaches und unkompliziertes einzeiliges Skript. In den meisten Fällen bevorzuge ich diesen Ansatz. Wenn die Speicherauslastung Ihres Systems 80 % erreicht, wird eine E-Mail ausgelöst. */5 * * * * /usr/bin/free | awk '/Mem/{printf("RAM-Nutzung: %.2f%\n"), $3/$2*100}' | awk '{print $3}' | awk '{ if($1 > 80) print $0;}' | mail -s "Warnung: hoher Arbeitsspeicher" [email protected] HINWEIS: Sie müssen Ihre E-Mail-Adresse ändern, anstatt unsere E-Mail-Adresse zu verwenden. Darüber hinaus können Sie den Schwellenwert für die Speicherauslastung nach Bedarf ändern. Ausgabe: Sie erhalten eine E-Mail-Benachrichtigung ähnlich der folgenden.
Wir haben in der Vergangenheit viele nützliche Shell-Skripte hinzugefügt. Wenn Sie diese anzeigen möchten, navigieren Sie bitte zu den folgenden Links. * Wie lassen sich tägliche Aktivitäten mithilfe von Shell-Skripten automatisieren? Methode 2: Speicherauslastung überwachen und E-Mails mit einem Linux-Bash-Skript senden Wenn Sie weitere Informationen zur Speicherauslastung in E-Mail-Benachrichtigungen erhalten möchten. Verwenden Sie das folgende Skript, das die maximale Speicherauslastung und Prozessdetails basierend auf den Befehlen „Top“ und „PS“ enthält. Dadurch erhalten Sie sofort einen Überblick über die Leistungsfähigkeit Ihres Systems. Wenn Ihr System eine Speicherauslastung von „80 %“ erreicht, wird eine E-Mail ausgelöst. HINWEIS: Sie müssen Ihre E-Mail-Adresse ändern, anstatt unsere E-Mail-Adresse zu verwenden. Darüber hinaus können Sie den Schwellenwert für die Speicherauslastung nach Bedarf ändern. # vi /opt/scripts/memory-alert.sh #!/bin/sh ramusage=$(frei | awk '/Mem/{printf("RAM-Nutzung: %.2f\n"), $3/$2*100}' | awk '{print $3}') wenn [ "$ramusage" > 20 ]; dann SUBJECT="ACHTUNG: Die Speicherauslastung auf $(Hostname) ist um $(Datum) hoch" NACHRICHT="/tmp/Mail.out" AN="[email protected]" echo "Aktuelle Speichernutzung ist: $ramusage%" >> $MESSAGE echo "" >> $NACHRICHT echo "-----------------------------------------------------------------" >> $NACHRICHT echo "Der Prozess mit dem höchsten Speicherverbrauch verwendet den Top-Befehl" >> $MESSAGE echo "-----------------------------------------------------------------" >> $NACHRICHT echo "$(top -b -o +%MEM | head -n 20)" >> $MESSAGE echo "" >> $NACHRICHT echo "-----------------------------------------------------------------" >> $NACHRICHT echo "Prozess mit dem höchsten Speicherverbrauch, der den Befehl ps verwendet" >> $MESSAGE echo "-----------------------------------------------------------------" >> $NACHRICHT echo "$(ps -eo pid,ppid,%mem,%Speicher,cmd --sort=-%mem | head)" >> $MESSAGE mail -s "$BETREFF" "$AN" < $NACHRICHT rm /tmp/Mail.out fi Fügen Sie abschließend einen Cron-Job hinzu, um diesen Vorgang zu automatisieren. Es wird alle 5 Minuten ausgeführt. # crontab -e */5 * * * * /bin/bash /opt/scripts/memory-alert.sh HINWEIS: Da die Ausführung des Skripts alle 5 Minuten geplant ist, erhalten Sie nach maximal 5 Minuten (je nach Uhrzeit jedoch auch nach nicht allen 5 Minuten) eine Erinnerung per E-Mail. Wenn Ihr System beispielsweise einen bestimmten Grenzwert von 8,25 erreicht, erhalten Sie innerhalb von 5 Minuten eine E-Mail-Benachrichtigung. Hoffe, das ist jetzt klar. Ausgabe: Sie erhalten eine E-Mail-Benachrichtigung ähnlich der folgenden. Aktuelle Speichernutzung: 80,71 % +----------------------------------------------------------------------------------+ Der speicherintensivste Prozess mit dem Top-Befehl +----------------------------------------------------------------------------------+ oben – 12:00:58, 5 Tage aktiv, 9:03, 1 Benutzer, durchschnittliche Auslastung: 1,82, 2,60, 2,83 Aufgaben: 314 insgesamt, 1 läuft, 313 schläft, 0 gestoppt, 0 Zombie %Cpu0: 8,3 us, 12,5 sy, 0,0 ni, 75,0 id, 0,0 wa, 0,0 hi, 4,2 si, 0,0 st %Cpu1: 13,6 us, 4,5 sy, 0,0 ni, 81,8 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu2: 21,7 us, 21,7 sy, 0,0 ni, 56,5 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu3: 13,6 us, 9,1 sy, 0,0 ni, 77,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu4: 17,4 us, 8,7 sy, 0,0 ni, 73,9 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu5: 20,8 us, 4,2 sy, 0,0 ni, 70,8 id, 0,0 wa, 0,0 hi, 4,2 si, 0,0 st %Cpu6: 9,1 us, 0,0 sy, 0,0 ni, 90,9 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st %Cpu7: 17,4 us, 4,3 sy, 0,0 ni, 78,3 id, 0,0 wa, 0,0 hi, 0,0 si, 0,0 st KiB-Speicher: 16248588 gesamt, 5015964 frei, 6453404 verwendet, 4779220 Buff/Cache KiB-Austausch: 17873388 gesamt, 16928620 frei, 944768 genutzt. 6423008 verfügbare Mem PID USER PR NI VIRT RES SHR S %CPU %MEM ZEIT+ BEFEHL 17163 daygeek 20 2033204 487736 282888 S 10.0 3.0 8:26.07 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 9408 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /u+ 1121 daygeek 20 4191388 419180 100552 S 5.0 2.6 126:02.84 /usr/bin/gnome-shell 1902 daygeek 20 1701644 327216 82536 S 20.0 2.0 153:27.92 /opt/google/chrome/chrome 2969 daygeek 20 1051116 324656 92388 S 15.0 2.0 149:38.09 /opt/google/chrome/chrome --type=renderer --field-trial-handle=10346122902703263820,11905758137655502112,131072 --service-pipe-token=1339861+ 1068 daygeek 20 1104856 309552 278072 S 5.0 1.9 143:47.42 /usr/lib/Xorg vt2 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -nolisten tcp -background none -noreset -keeptty -verbose 3 27246 daygeek 20 907344 265600 108276 S 30,0 1,6 10:42,80 /opt/google/chrome/chrome --type=renderer --field-trial-handle=10346122902703263820,11905758137655502112,131072 --service-pipe-token=8587368+ +----------------------------------------------------------------------------------+ Der speicherintensivste Prozess bei Verwendung des Befehls „ps“ +----------------------------------------------------------------------------------+ PID PPID %MEM %CPU CMD 8223 1 6.4 6.8 /usr/lib/firefox/firefox --neues Fenster 13948 1121 6.3 1.2 /usr/bin/../lib/notepadqq/notepadqq-bin 8671 8223 4.4 7.5 /usr/lib/firefox/firefox -contentproc -childID 5 -isForBrowser -prefsLen 6999 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab 17163 8223 3.0 0.6 /usr/lib/firefox/firefox -contentproc -childID 15 -isForBrowser -prefsLen 9408 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab 1121 1078 2.5 1.6 /usr/bin/gnome-shell 17937 8223 2,5 0,8 /usr/lib/firefox/firefox -contentproc -childID 16 -isForBrowser -prefsLen 9410 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab 8499 8223 2.2 0.6 /usr/lib/firefox/firefox -contentproc -childID 4 -isForBrowser -prefsLen 6635 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab 8306 8223 2.2 0.8 /usr/lib/firefox/firefox -contentproc -childID 1 -isForBrowser -prefsLen 1 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab 9198 8223 2.1 0.6 /usr/lib/firefox/firefox -contentproc -childID 7 -isForBrowser -prefsLen 8604 -prefMapSize 184979 -parentBuildID 20190521202118 -greomni /usr/lib/firefox/omni.ja -appomni /usr/lib/firefox/browser/omni.ja -appdir /usr/lib/firefox/browser 8223 true tab über: https://www.2daygeek.com/linux-bash-script-to-monitor-memory-utilization-usage-and-send-email/ Autor: Magesh Maruthamuthu Thema: lujun9972 Übersetzer: wxy Korrekturleser: wxy Zusammenfassen Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Lernwert für Ihr Studium oder Ihre Arbeit hat. Vielen Dank für Ihre Unterstützung von 123WORDPRESS.COM. Das könnte Sie auch interessieren:
|
<<: Detaillierte Erklärung zum Anzeigen der Anzahl der MySQL-Server-Threads
Async Hooks ist eine neue Funktion von Node8. Sie...
Da wir Bilder hochladen möchten, müssen wir zunäc...
Inhaltsverzeichnis 1. Prototyp-Modus Beispiel 1 B...
Während des Entwicklungsprozesses stoße ich häufi...
Inhaltsverzeichnis 1. Grammatik 2. Beispiele 3. A...
Vorwort Es ist ein Klischee. Hier werde ich über ...
Inhaltsverzeichnis 1. Datenbankbeschränkungen 1.1...
1. <body background=Bilddateiname bgcolor=Farb...
Die Betriebsumgebung dieses Tutorials: Windows 7-...
Inhaltsverzeichnis Indextyp Indexstruktur Nicht g...
Apache SkyWalking Apache SkyWalking ist ein Tool ...
Einführung Es ist in Ordnung, am Ende eines JS-Co...
Inhaltsverzeichnis Vorwort 1. Der Prozess der Ver...
Schritt 1: Ändern Sie DATABASES in setting.py # D...
Heute habe ich eine Menüschaltfläche erstellt. Wen...