Ü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

Vue implementiert das Umschalten des Anmeldetyps

In diesem Artikelbeispiel wird der spezifische Co...

Centos7.3 startet oder führt beim Booten automatisch angegebene Befehle aus

In CentOS7 wurden die Berechtigungen der Datei /e...

Befehle zum Suchen der Domänen-IP-Adresse im Linux-Terminal (fünf Methoden)

In diesem Tutorial wird erklärt, wie Sie die IP-A...

Beispiel für die Installation von Kong Gateway in Docker

1. Erstellen Sie ein Docker-Netzwerk Docker-Netzw...

MySQL InnoDB-Überwachung (Systemebene, Datenbankebene)

MySQL InnoDB-Überwachung (Systemebene, Datenbanke...

Vue realisiert den Card-Flip-Effekt

In diesem Artikelbeispiel wird der spezifische Co...

Beispiele und Vergleich von 3 Methoden zur Deduplizierung von JS-Objekt-Arrays

Inhaltsverzeichnis 1. Vergleich der Daten vor und...

Player in Webseite einbetten Einbettungselement Autostart falsch ungültig

Kürzlich musste ich einen Player in eine Webseite ...

Verwenden Sie HTML, um eine einfache E-Mail-Vorlage zu schreiben

Heute möchte ich über ein „Low-Tech“-Problem schr...

Vue-Projekt @change mehrere Parameter, um mehrere Ereignisse zu übergeben

Erstens gibt es nur ein Änderungsereignis. change...

Responsive Webdesign lernen (2) — Können Videos responsiv gemacht werden?

Rezension der vorherigen Folge: Gestern haben wir...