Ü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

Lassen Sie uns über die Speicher-Engine in MySQL sprechen

Grundlagen In einer relationalen Datenbank entspr...

Ein Artikel bringt Ihnen die Vererbung von JS-Funktionen bei

Inhaltsverzeichnis 1. Einleitung: 2. Vererbung de...

UCenter-Homepage fügt Statistikcode hinzu

UCenter Home ist ein von Comsenz veröffentlichtes ...

So überwachen und löschen Sie abgelaufene Sitzungen in Tomcat

Vorwort Ich habe zufällig entdeckt, dass die halb...

Details zur Verwendung regulärer Ausdrücke in MySQL

Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...

CSS löst das Fehlausrichtungsproblem von Inline-Blöcken

Schluss mit Unsinn, Postleitzahl HTML-Teil <di...

Klasse in Front-End-JavaScript

Inhaltsverzeichnis 1. Klasse 1.1 Konstruktor() 1....

So zeigen Sie den Datenbankinstallationspfad in MySQL an

Wir können den Installationspfad von MySQL über d...

Tutorial zur Installation von RabbitMQ mit Yum auf CentOS8

Geben Sie den Ordner /etc/yum.repos.d/ ein Erstel...

So führen Sie MySQL mit Docker-Compose aus

Verzeichnisstruktur . │ .env │ docker-compose.yml...

Tutorial zu HTML-Tabellen-Tags (34): Zeilenspannen-Attribut ROWSPAN

In einer komplexen Tabellenstruktur erstrecken si...