Überwachung sowie Betrieb und Wartung von Linux-Diensten

Überwachung sowie Betrieb und Wartung von Linux-Diensten

1. Installieren Sie das psutil-Paket

1.1. Installieren Sie das komprimierte Paket: Melden Sie sich als Root bei CentOS an und führen Sie die folgenden Befehle nacheinander aus:

wget https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz

Wenn wget es nicht herunterladen kann, kopieren Sie den Link https://pypi.python.org/packages/source/p/psutil/psutil-2.1.3.tar.gz und fügen Sie ihn direkt in den Browser ein, um es herunterzuladen. Verwenden Sie das FTP-Übertragungstool, um es auf Linux zu übertragen, und führen Sie dann die folgenden Vorgänge aus

1.2 Entpacken: tar zxvf psutil-2.1.3.tar.gz

1.3 Wechseln Sie in das entpackte Verzeichnis: cd psutil-2.1.3/

1.4 Starten Sie die Installation: python3 setup.py install install

1.5 Überprüfung: Geben Sie python3 in das Befehlsfenster ein und geben Sie dann Folgendes ein:

Wenn import psutil keinen Fehler meldet, war die Installation erfolgreich.

Geben Sie dann ein:

res = psutil.process_iter()

für var in res:

drucken(var)

Eine Reihe von Informationen werden angezeigt

Zweitens finden Sie den Namen und die PID aller Dienste im Betriebssystem

psutil importieren
proc_dict = {}
#ID: Prozessname proc_name = set()
#Informationen zum Prozesssatz: Legen Sie die Deduplizierung für p in psutil.process_iter() fest:
    proc_dict[p.pid] = p.name()
    proc_name.add(p.name())
drucken(proc_dict)
drucken('\n\n--------------------------\n')
drucken(proc_name)


3. Suchen Sie den Dienst, der überwacht werden muss, aber nicht gestartet ist

proc_stop = Monitorname - proc_name

Das heißt: der Name des zu überwachenden Dienstes abzüglich der Namen aller Dienste im Betriebssystem

4. Überwachungsdienst: Wenn dieser nicht aktiviert ist, wird er automatisch aktiviert und eine E-Mail zur Benachrichtigung des Personals gesendet.

1. Aktivieren Sie den Dienst mit os.system(Befehl).
Der vollständige Code lautet wie folgt:

psutil importieren
Betriebssystem importieren
#Wenn Sie eine E-Mail senden müssen, um den Administrator zu benachrichtigen, müssen Sie möglicherweise Anfrage und JSON verwenden
#Importanfrage
#json importieren
Importzeit

Zeit_jetzt = Zeit.strftime('%Y-%m-%d %H:%M:%S',Zeit.localtime())
#Zu überwachender Dienst monitor_name = {'nginx'}
#Befehl starten monitor_map = {'nginx':'service nginx start'}

während True:
    #Wörterbuch aller Prozesse im Betriebssystem proc_dict = {}

    #Satz aller Prozessnamen im Betriebssystem proc_name = set()

    #psutil.process_iter() gibt alle Prozessnamen und Prozess-IDs im Betriebssystem zurück
    für p in psutil.process_iter():
        proc_dict[p.pid] = p.name()
        proc_name.add(p.name())
    drucken(proc_dict)
    drucken('\n\n--------------------------\n')
    drucken(proc_name)

    # monitor_name - proc_name == Name des gestorbenen Prozesses
    #Extrahieren Sie den Überwachungsprozess, der nicht gestartet wurde proc_stop = monitor_name - proc_name
    drucken(proc_stop)
    wenn proc_stop:
        für p in proc_stop:
             p_status = "Stopp"
             p_name = p
             Daten = {p_status, p_name, aktuelle Zeit}
             Header = {'Inhaltstyp':'application/json;charset=utf-8'}
             #senden_daten = json.dumps(daten).encode('utf-8')
             #Senden Sie eine E-Mail an den Administrator#request.post(url=url,data=send_data,headers=headers)

             os.system(monitor_map[p])
             proz_name = set()

             für p2 in psutil.process_iter():
                 proc_name.add(p2.name())

             wenn p in proc_name:
                  print("Neustart erfolgreich")
              anders:
                  print("Neustart fehlgeschlagen")
 Zeit.Schlaf(2000)

Der Effekt nach dem Ausführen:

Dies ist das Ende dieses Artikels über die Überwachung und den Betrieb und die Wartung von Linux-Diensten. Weitere relevante Inhalte zu Linux-Diensten finden Sie in früheren Artikeln auf 123WORDPRESS.COM oder in den folgenden verwandten Artikeln. Ich hoffe, dass jeder 123WORDPRESS.COM in Zukunft unterstützen wird!

Das könnte Sie auch interessieren:
  • Detaillierte Erläuterung der Implementierungsmethode zur Linux-Überwachung wichtiger Prozesse
  • Shell-Skript zur Implementierung der Überwachung von Linux-System- und Prozessressourcen
  • Einfache Implementierungsmethode zur Linux-Prozessüberwachung und zum automatischen Neustart
  • Linux-Betrieb und -Wartung, grundlegendes Prozessmanagement, Echtzeitüberwachung und -steuerung

<<:  CSS realisiert den Sprechblaseneffekt mit scharfen Ecken im kleinen Chat-Dialogfeld mit scharfen Ecken

>>:  Die spezifische Implementierung von div, das nicht automatisch umschließt und das Nichtumschließen in HTML erzwingt

Artikel empfehlen

Detaillierte Erklärung des Linux Namespace-Benutzers

Der Benutzer-Namespace ist ein neuer Namespace, d...

Transplantieren des Befehls mkfs.vfat in Busybox unter Linux

Um die Lebensdauer der Festplatte zum Speichern v...

Tutorial zur Konfiguration des Nginx/Httpd-Reverseproxys für Tomcat

Im vorherigen Blog erfuhren wir die Verwendung un...

Erläuterung der MySQL-Leistungsprüfung durch den Befehl „show processlist“

Der Befehl „show processlist“ ist sehr nützlich. ...

Informationen zur ROS2-Installation und zur Verwendung der Docker-Umgebung

Inhaltsverzeichnis Warum Docker verwenden? Docker...

Schritte der MySQL-Methode zum Bestimmen, ob es sich um eine Teilmenge handelt

Inhaltsverzeichnis 1. Problem 2. Lösung Option 1:...

Tutorial zur Migration von MySQL von phpstudy nach Linux

Projektzweck Migrieren Sie die Daten in MySQL 5.5...

So installieren Sie eine MySQL-Datenbank auf einem Debian 9-System

Vorwort Beim Anblick des Titels sollte sich jeder...

Detailliertes Tutorial zur Installation des Quellcodes von CentOS6.9+Mysql5.7.18

Bei der Installation des Quellcodes von CentOS6.9...

Installieren Sie Apache2.4+PHP7.0+MySQL5.7.16 auf macOS Sierra

Obwohl Mac-Systeme mit PHP und Apache ausgeliefer...

Angular Dependency Injection erklärt

Inhaltsverzeichnis Überblick 1. Abhängigkeitsinje...