Heim Backend-Entwicklung PHP-Tutorial So verwenden Sie PHP-Skripte zur Protokollüberwachung in Linux-Systemen

So verwenden Sie PHP-Skripte zur Protokollüberwachung in Linux-Systemen

Oct 05, 2023 am 11:36 AM
linux系统 日志监控 PHP-Skript

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);
}
?>
Nach dem Login kopieren

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 dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Beste grafische Einstellungen
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. So reparieren Sie Audio, wenn Sie niemanden hören können
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Wie man alles in Myrise freischaltet
1 Monate vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden des Task-Managers unter Linux Verwenden des Task-Managers unter Linux Aug 15, 2024 am 07:30 AM

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

Lösen Sie das Problem der verstümmelten Anzeige von Grafiken und Diagrammen auf dem chinesischen Überwachungsserver Zabbix Lösen Sie das Problem der verstümmelten Anzeige von Grafiken und Diagrammen auf dem chinesischen Überwachungsserver Zabbix Jul 31, 2024 pm 02:10 PM

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'

7 Möglichkeiten, wie Sie das Registrierungsdatum von Linux-Benutzern überprüfen können 7 Möglichkeiten, wie Sie das Registrierungsdatum von Linux-Benutzern überprüfen können Aug 24, 2024 am 07:31 AM

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

Erfahren Sie in 5 Minuten, wie Sie Schriftarten zu Fedora hinzufügen Erfahren Sie in 5 Minuten, wie Sie Schriftarten zu Fedora hinzufügen Jul 23, 2024 am 09:45 AM

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

Was soll ich tun, wenn die fehlenden WPS-Schriftarten unter dem Linux-System dazu führen, dass die Datei verstümmelt wird? Was soll ich tun, wenn die fehlenden WPS-Schriftarten unter dem Linux-System dazu führen, dass die Datei verstümmelt wird? Jul 31, 2024 am 12:41 AM

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!

Centos 7 Installation und Konfiguration NTP-Netzwerk-Zeitsynchronisationsserver Centos 7 Installation und Konfiguration NTP-Netzwerk-Zeitsynchronisationsserver Aug 05, 2024 pm 10:35 PM

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 verbinden Sie zwei Ubuntu-Hosts mit einem Netzwerkkabel mit dem Internet So verbinden Sie zwei Ubuntu-Hosts mit einem Netzwerkkabel mit dem Internet Aug 07, 2024 pm 01:39 PM

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 #==========

So verbergen Sie Ihren Linux-Befehlszeilenverlauf So verbergen Sie Ihren Linux-Befehlszeilenverlauf Aug 17, 2024 am 07:34 AM

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

See all articles