


So verwenden Sie PHP-Skripte zur Protokollüberwachung in Linux-Systemen
So verwenden Sie PHP-Skripte zur Protokollüberwachung in Linux-Systemen
Mit der weiten Verbreitung von Linux-Systemen sind Systemüberwachung und Protokollanalyse immer wichtiger geworden. Unter diesen ist die Verwendung von PHP-Skripten zur Protokollüberwachung eine gängige Methode. In diesem Artikel wird die Verwendung von PHP-Skripten zur Implementierung einer einfachen Protokollüberwachung vorgestellt und spezifische Codebeispiele bereitgestellt.
1. Erstellen Sie eine PHP-Skriptdatei
Erstellen Sie zunächst eine Datei mit dem Namen „log_monitor.php“ auf dem Linux-System. Diese Datei wird verwendet, um Änderungen in der angegebenen Protokolldatei zu überwachen.
Verwenden Sie einen Befehlszeileneditor (z. B. vi), um eine leere Datei zu öffnen, und geben Sie dann den folgenden Inhalt ein:
<?php // 指定要监控的日志文件 $logFile = '/var/log/syslog'; // 获取文件的初始大小 $fileSize = filesize($logFile); // 持续监控日志文件的变化 while (true) { clearstatcache(); // 清除文件状态缓存 // 获取文件当前的大小 $currentSize = filesize($logFile); // 判断日志文件是否发生变化 if ($currentSize > $fileSize) { // 日志文件发生变化,输出最新的内容 $handle = fopen($logFile, 'r'); fseek($handle, $fileSize); // 设置文件指针位置到初始大小之后 $content = fread($handle, $currentSize - $fileSize); // 读取从初始大小到当前大小之间的内容 fclose($handle); // 处理日志内容,比如输出到控制台或写入日志文件 echo $content; } // 更新文件的初始大小为当前大小 $fileSize = $currentSize; // 休眠一段时间,避免过于频繁地读取文件 sleep(1); } ?>
Codebeschreibung:
- Zeile 3: Geben Sie hier den Pfad der zu überwachenden Protokolldatei an Überwachen Sie die Systemprotokolldatei. Nehmen Sie var/log/syslog als Beispiel. Sie können diesen Pfad entsprechend den tatsächlichen Anforderungen ändern.
- Zeile 6: Ermitteln Sie die anfängliche Größe der Protokolldatei.
- Zeilen 10–31: Geben Sie eine Endlosschleife ein und überwachen Sie die Protokolldatei im Schleifenkörper. Löschen Sie zunächst den Dateistatus-Cache, ermitteln Sie dann die aktuelle Größe der Datei und vergleichen Sie sie mit der Anfangsgröße, um festzustellen, ob sich die Protokolldatei geändert hat. Bei einer Änderung wird der Inhalt von der Anfangsgröße bis zur aktuellen Größe gelesen und entsprechend verarbeitet, etwa durch Ausgabe auf der Konsole oder Schreiben in eine Protokolldatei. Abschließend wird die Anfangsgröße auf die aktuelle Größe aktualisiert und eine Sekunde lang in den Ruhezustand versetzt, um ein häufiges Lesen der Datei zu vermeiden.
2. Führen Sie das PHP-Skript aus.
Speichern Sie den obigen Code und schließen Sie den Dateieditor.
Dann verwenden Sie den folgenden Befehl, um das PHP-Skript im Linux-System auszuführen:
php log_monitor.php
Nach der Ausführung überwacht das Skript weiterhin die angegebene Protokolldatei und gibt den neuesten Inhalt aus, wenn sich die Protokolldatei ändert.
Es ist zu beachten, dass Sie vor der Ausführung des Skripts sicherstellen müssen, dass der PHP-Interpreter korrekt installiert und zu den Umgebungsvariablen des Systems hinzugefügt wurde, damit das PHP-Skript normal ausgeführt werden kann.
3. Erweiterung und Optimierung
Der obige Beispielcode ist nur ein einfaches Protokollüberwachungsskript, Sie können es entsprechend den tatsächlichen Anforderungen erweitern und optimieren.
Zum Beispiel kann der Inhalt des gelesenen Protokolls flexibler verarbeitet werden, z. B. durch Anpassen bestimmter Schlüsselwörter oder Protokollebenen über reguläre Ausdrücke und anschließendes Durchführen entsprechender Alarm- oder Verarbeitungsvorgänge.
Darüber hinaus können Sie die Verwendung von Protokollanalysetools von Drittanbietern (wie Elasticsearch, Logstash, Kibana usw.) in Betracht ziehen, um Protokolle zentral zu verwalten und zu analysieren und so Systemprobleme besser zu erkennen, zu beheben und zu lösen.
Zusammenfassung
Durch den Einsatz von PHP-Skripten zur Protokollüberwachung können wir Protokolldateiänderungen im Linux-System in Echtzeit überwachen und entsprechende Maßnahmen zeitnah ergreifen. Dieser Artikel stellt die grundlegenden Implementierungsprinzipien und spezifischen Codebeispiele vor und bietet einige Ideen zur Erweiterung und Optimierung. Ich hoffe, dass er Ihnen bei der Protokollüberwachung in Linux-Systemen hilfreich sein wird.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie PHP-Skripte zur Protokollüberwachung in Linux-Systemen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Es gibt viele Fragen, die Linux-Anfänger oft stellen: „Verfügt Linux über einen Task-Manager?“, „Wie öffnet man den Task-Manager unter Linux?“ Windows-Benutzer wissen, dass der Task-Manager sehr nützlich ist. Sie können den Task-Manager öffnen, indem Sie in Windows Strg+Alt+Entf drücken. Dieser Task-Manager zeigt Ihnen alle laufenden Prozesse und den von ihnen belegten Speicher, und Sie können einen Prozess aus dem Task-Manager-Programm auswählen und beenden. Wenn Sie Linux zum ersten Mal verwenden, werden Sie auch nach etwas suchen, das einem Task-Manager unter Linux entspricht. Ein Linux-Experte verwendet am liebsten die Befehlszeile, um Prozesse, Speicherverbrauch usw. zu finden, aber Sie müssen das nicht tun

Die Unterstützung für Chinesisch durch Zabbix ist nicht sehr gut, aber manchmal wählen wir Chinesisch für Verwaltungszwecke. In der von Zabbix überwachten Weboberfläche werden unter dem Grafiksymbol kleine Quadrate angezeigt. Dies ist falsch und erfordert das Herunterladen von Schriftarten. Beispiel: „Microsoft Yahei“, „Microsoft Yahei.ttf“ heißt „msyh.ttf“, laden Sie die heruntergeladene Schriftart nach /zabbix/fonts/fonts hoch und ändern Sie die beiden Zeichen in /zabbix/include/defines.inc.php Datei unter define('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

Wussten Sie, wie man das Erstellungsdatum eines Kontos auf einem Linux-System überprüft? Wenn Sie es wissen, was können Sie tun? War es Ihnen gelungen? Wenn ja, wie geht das? Grundsätzlich verfolgen Linux-Systeme diese Informationen nicht. Welche alternativen Möglichkeiten gibt es also, an diese Informationen zu gelangen? Sie fragen sich vielleicht, warum ich das überprüfe? Ja, es gibt Situationen, in denen Sie diese Informationen möglicherweise noch einmal überprüfen müssen, und sie werden Ihnen zu diesem Zeitpunkt hilfreich sein. Zur Überprüfung können Sie die folgenden 7 Methoden verwenden. Verwenden Sie /var/log/secure. Verwenden Sie das aureport-Tool. Verwenden Sie .bash_logout. Verwenden Sie den Befehl chage. Verwenden Sie den Befehl useradd. Verwenden Sie den Befehl passwd. Verwenden Sie den letzten Befehl. Methode 1: Verwenden Sie /var/l

Systemweite Installation Wenn Sie eine Schriftart systemweit installieren, steht sie allen Benutzern zur Verfügung. Der beste Weg hierfür ist die Verwendung von RPM-Paketen aus den offiziellen Software-Repositories. Bevor Sie beginnen, öffnen Sie das „Software“-Tool in Fedora Workstation oder andere Tools, die das offizielle Repository verwenden. Wählen Sie in der Auswahlleiste die Kategorie „Add-ons“ aus. Wählen Sie dann innerhalb der Kategorie „Schriftarten“ aus. Sie sehen die verfügbaren Schriftarten ähnlich wie im Screenshot unten: Wenn Sie eine Schriftart auswählen, werden einige Details angezeigt. Abhängig von mehreren Szenarios können Sie möglicherweise eine Vorschau einiger Beispieltexte für die Schriftart anzeigen. Klicken Sie auf die Schaltfläche „Installieren“, um es Ihrem System hinzuzufügen. Abhängig von der Systemgeschwindigkeit und der Netzwerkbandbreite kann dieser Vorgang einige Zeit dauern

1. Suchen Sie die Schriftarten Wingdings, Wingdings2, Wingdings3, Webdings und MTExtra im Internet. 2. Öffnen Sie den Hauptordner, drücken Sie Strg+h (versteckte Dateien anzeigen) und prüfen Sie, ob ein .fonts-Ordner vorhanden ist 1. Kopieren Sie die heruntergeladenen Schriftarten wie Wingdings, Wingdings2, Wingdings3, Webdings und MTExtra in den .fonts-Ordner im Hauptordner. Starten Sie dann wps, um zu sehen, ob immer noch ein Erinnerungsdialogfeld „System fehlt“ angezeigt wird Box. Wenn nicht, nur Erfolg!

Experimentelle Umgebung: Betriebssystem: LinuxCentos7.4x86_641. Sehen Sie sich die aktuelle Serverzeitzone an, listen Sie die Zeitzone auf und legen Sie die Zeitzone fest (wenn es bereits die richtige Zeitzone ist, überspringen Sie sie bitte): #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia /Shanghai2. Verständnis der Zeitzonenkonzepte: GMT, UTC, CST, DSTUTC: Die gesamte Erde ist aus Gründen der Vereinheitlichung in vierundzwanzig Zeitzonen unterteilt. Es wird eine einheitliche Zeit verwendet, die als Universal Coordinated Time (UTC) bezeichnet wird

So verwenden Sie ein Netzwerkkabel, um zwei Ubuntu-Hosts mit dem Internet zu verbinden 1. Bereiten Sie Host A: Ubuntu16.04 und Host B: Ubuntu16.042 vor. Host A verfügt über zwei Netzwerkkarten, eine ist mit dem externen Netzwerk verbunden und die andere ist angeschlossen Gastgeber B. Verwenden Sie den Befehl iwconfig, um alle Netzwerkkarten auf dem Host anzuzeigen. Wie oben gezeigt, sind die Netzwerkkarten auf dem A-Host (Laptop) des Autors: wlp2s0: Dies ist eine drahtlose Netzwerkkarte. enp1s0: kabelgebundene Netzwerkkarte, die mit Host B verbundene Netzwerkkarte. Der Rest hat nichts mit uns zu tun, kein Grund zur Sorge. 3. Konfigurieren Sie die statische IP von A. Bearbeiten Sie die Datei #vim/etc/network/interfaces, um eine statische IP-Adresse für die Schnittstelle enp1s0 zu konfigurieren, wie unten gezeigt (wobei #==========

Wenn Sie ein Linux-Befehlszeilenbenutzer sind, möchten Sie möglicherweise manchmal nicht, dass bestimmte Befehle in Ihrem Befehlszeilenverlauf aufgezeichnet werden. Die Gründe dafür können vielfältig sein. Beispielsweise haben Sie eine bestimmte Position in einem Unternehmen inne und verfügen über bestimmte Privilegien, die Sie nicht missbrauchen möchten. Oder es gibt einige besonders wichtige Befehle, die Sie beim Durchsuchen der Verlaufsliste nicht versehentlich ausführen möchten. Gibt es jedoch eine Möglichkeit zu steuern, welche Befehle in die Verlaufsliste aufgenommen werden und welche nicht? Oder mit anderen Worten: Können wir den Inkognito-Modus wie einen Browser im Linux-Terminal aktivieren? Die Antwort lautet „Ja“, und abhängig von den konkreten Zielen, die Sie sich wünschen, gibt es viele Möglichkeiten, diese zu erreichen. In diesem Artikel besprechen wir einige bewährte Methoden. Hinweis: Alle in diesem Artikel vorkommenden Befehle wurden unter Ubuntu getestet. anders
