1. Installieren Sie das psutil-Paket1.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: 1.3 Wechseln Sie in das entpackte Verzeichnis: 1.4 Starten Sie die Installation: 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 Betriebssystempsutil 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 istproc_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). 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:
|
Grundlagen In einer relationalen Datenbank entspr...
Lösungsprozess: Methode 1: Die Standard-Kernelver...
Inhaltsverzeichnis 1. Einleitung: 2. Vererbung de...
UCenter Home ist ein von Comsenz veröffentlichtes ...
Vorwort Ich habe zufällig entdeckt, dass die halb...
Inhaltsverzeichnis 1. Einleitung 2. Bereiten Sie ...
Inhaltsverzeichnis Vorwort Umsetzungsideen Implem...
Schluss mit Unsinn, Postleitzahl HTML-Teil <di...
Inhaltsverzeichnis 1. Klasse 1.1 Konstruktor() 1....
Beim Abspielen von Musik werden die Liedtexte im ...
Wir können den Installationspfad von MySQL über d...
Früher wurden manche Alarme aus verschiedenen Grü...
Geben Sie den Ordner /etc/yum.repos.d/ ein Erstel...
Verzeichnisstruktur . │ .env │ docker-compose.yml...
In einer komplexen Tabellenstruktur erstrecken si...