


Comment utiliser des scripts PHP pour la surveillance des journaux dans les systèmes Linux
Comment utiliser les scripts PHP pour la surveillance des journaux dans les systèmes Linux
Avec l'application généralisée des systèmes Linux, la surveillance du système et l'analyse des journaux sont devenues de plus en plus importantes. Parmi eux, l'utilisation de scripts PHP pour la surveillance des journaux est une méthode courante. Cet article explique comment utiliser les scripts PHP pour implémenter une surveillance simple des journaux et fournit des exemples de code spécifiques.
1. Créez un fichier de script PHP
Tout d'abord, créez un fichier nommé "log_monitor.php" sur le système Linux. Ce fichier sera utilisé pour surveiller les modifications dans le fichier journal spécifié.
Utilisez un éditeur de ligne de commande (tel que vi) pour ouvrir un fichier vierge, puis saisissez le contenu suivant :
<?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); } ?>
Description du code :
- Ligne 3 : Spécifiez le chemin du fichier journal à surveiller, ici pour surveiller le fichier journal du système/Prenons var/log/syslog comme exemple. Vous pouvez modifier ce chemin en fonction des besoins réels.
- Ligne 6 : Obtenez la taille initiale du fichier journal.
- Lignes 10 à 31 : entrez dans une boucle infinie et surveillez le fichier journal dans le corps de la boucle. Videz d'abord le cache d'état du fichier, puis obtenez la taille actuelle du fichier et comparez-la avec la taille initiale pour déterminer si le fichier journal a changé. Si un changement se produit, le contenu de la taille initiale à la taille actuelle est lu et traité en conséquence, par exemple en sortie vers la console ou en écriture dans un fichier journal. Enfin, la taille initiale est mise à jour à la taille actuelle et se met en veille pendant 1 seconde pour éviter une lecture fréquente du fichier.
2. Exécutez le script PHP
Enregistrez le code ci-dessus et fermez l'éditeur de fichiers.
Ensuite, utilisez la commande suivante pour exécuter le script PHP dans le système Linux :
php log_monitor.php
Après l'exécution, le script continuera à surveiller le fichier journal spécifié et affichera le dernier contenu lorsque le fichier journal sera modifié.
Il est à noter qu'avant d'exécuter le script, assurez-vous que l'interpréteur PHP a été correctement installé et ajouté aux variables d'environnement du système, afin que le script PHP puisse s'exécuter normalement.
3. Expansion et optimisation
L'exemple de code ci-dessus n'est qu'un simple script de surveillance des journaux, vous pouvez l'étendre et l'optimiser en fonction des besoins réels.
Par exemple, le contenu du journal lu peut être traité de manière plus flexible, par exemple en faisant correspondre des mots-clés ou des niveaux de journal spécifiques via des expressions régulières, puis en effectuant des opérations d'alarme ou de traitement correspondantes.
De plus, vous pouvez envisager d'utiliser des outils d'analyse de journaux tiers (tels que Elasticsearch, Logstash, Kibana, etc.) pour gérer et analyser les journaux de manière centralisée afin de mieux découvrir, dépanner et résoudre les problèmes du système.
Résumé
En utilisant des scripts PHP pour la surveillance des journaux, nous pouvons surveiller les modifications des fichiers journaux dans le système Linux en temps réel et prendre les mesures correspondantes en temps opportun. Cet article présente les principes de mise en œuvre de base et des exemples de code spécifiques, et fournit quelques idées d'expansion et d'optimisation. J'espère qu'il vous sera utile pour la surveillance des journaux dans les systèmes Linux.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Il existe de nombreuses questions que les débutants sous Linux posent souvent : « Linux a-t-il un gestionnaire de tâches ? », « Comment ouvrir le gestionnaire de tâches sous Linux ? » Les utilisateurs de Windows savent que le gestionnaire de tâches est très utile. Vous pouvez ouvrir le Gestionnaire des tâches en appuyant sur Ctrl+Alt+Suppr sous Windows. Ce gestionnaire de tâches vous montre tous les processus en cours d'exécution et la mémoire qu'ils consomment, et vous pouvez sélectionner et tuer un processus à partir du programme gestionnaire de tâches. Lorsque vous utiliserez Linux pour la première fois, vous rechercherez également quelque chose qui équivaut à un gestionnaire de tâches sous Linux. Un expert Linux préfère utiliser la ligne de commande pour rechercher les processus, la consommation de mémoire, etc., mais ce n'est pas obligatoire

La prise en charge du chinois par Zabbix n'est pas très bonne, mais parfois nous choisissons toujours le chinois à des fins de gestion. Dans l'interface Web surveillée par Zabbix, le chinois sous l'icône graphique affichera des petits carrés. Ceci est incorrect et nécessite le téléchargement de polices. Par exemple, "Microsoft Yahei", "Microsoft Yahei.ttf" est nommé "msyh.ttf", téléchargez la police téléchargée dans /zabbix/fonts/fonts et modifiez les deux caractères dans /zabbix/include/defines.inc.php. fichier dans definition('ZBX_GRAPH_FONT_NAME','DejaVuSans');define('ZBX_FONT_NAME'

Saviez-vous comment vérifier la date de création d'un compte sur un système Linux ? Si vous le savez, que pouvez-vous faire ? Avez-vous réussi ? Si oui, comment faire ? Fondamentalement, les systèmes Linux ne suivent pas ces informations, alors quelles sont les autres manières d'obtenir ces informations ? Vous vous demandez peut-être pourquoi je vérifie cela ? Oui, il existe des situations dans lesquelles vous devrez peut-être consulter ces informations et elles vous seront utiles à ce moment-là. Vous pouvez utiliser les 7 méthodes suivantes pour vérifier. Utilisez /var/log/secure Utilisez l'outil aureport Utilisez .bash_logout Utilisez la commande chage Utilisez la commande useradd Utilisez la commande passwd Utilisez la dernière commande Méthode 1 : Utilisez /var/l

Installation à l'échelle du système Si vous installez une police à l'échelle du système, elle sera disponible pour tous les utilisateurs. La meilleure façon de procéder est d'utiliser les packages RPM des référentiels de logiciels officiels. Avant de commencer, ouvrez l'outil "Logiciel" dans Fedora Workstation, ou d'autres outils utilisant le référentiel officiel. Sélectionnez la catégorie « Modules complémentaires » dans la barre de sélection. Sélectionnez ensuite « Polices » dans la catégorie. Vous verrez les polices disponibles similaires à celle de la capture d'écran ci-dessous : Lorsque vous sélectionnez une police, certains détails apparaîtront. Selon plusieurs scénarios, vous pourrez peut-être prévisualiser un exemple de texte pour la police. Cliquez sur le bouton "Installer" pour l'ajouter à votre système. En fonction de la vitesse du système et de la bande passante du réseau, ce processus peut prendre un certain temps.

1. Recherchez les polices wingdings, wingdings2, wingdings3, Webdings et MTExtra sur Internet 2. Entrez dans le dossier principal, appuyez sur Ctrl+h (afficher les fichiers cachés) et vérifiez s'il existe un dossier .fonts. Sinon, créez. 3. Copiez les polices téléchargées telles que wingdings, wingdings2, wingdings3, Webdings et MTExtra dans le dossier .fonts du dossier principal. Ensuite, démarrez wps pour voir s'il existe toujours une boîte de dialogue de rappel « Police manquante dans le système ». sinon, juste du succès Notes : wingdings, wingdin

Environnement expérimental : OS : LinuxCentos7.4x86_641. Affichez le fuseau horaire actuel du serveur, répertoriez le fuseau horaire et définissez le fuseau horaire (s'il s'agit déjà du fuseau horaire correct, veuillez l'ignorer) : #timedatectl#timedatectllist-timezones#timedatectlset-timezoneAsia. /Shanghai2. Compréhension des concepts de fuseau horaire : GMT, UTC, CST, DSTUTC : La terre entière est divisée en vingt-quatre fuseaux horaires. Dans les situations de communication radio internationale, dans un souci d'unification, une heure unifiée est utilisée, appelée Temps coordonné universel (UTC : UniversalTim).

Comment utiliser un câble réseau pour connecter deux hôtes Ubuntu à Internet 1. Préparez l'hôte A : ubuntu16.04 et l'hôte B : ubuntu16.042. L'hôte A possède deux cartes réseau, l'une est connectée au réseau externe et l'autre est connectée. pour accueillir B. Utilisez la commande iwconfig pour afficher toutes les cartes réseau sur l'hôte. Comme indiqué ci-dessus, les cartes réseau sur l'hôte A (ordinateur portable) de l'auteur sont : wlp2s0 : Il s'agit d'une carte réseau sans fil. enp1s0 : carte réseau filaire, la carte réseau connectée à l'hôte B. Le reste n’a rien à voir avec nous, inutile de s’en soucier. 3. Configurez l'adresse IP statique de A. Modifiez le fichier #vim/etc/network/interfaces pour configurer une adresse IP statique pour l'interface enp1s0, comme indiqué ci-dessous (où #==========

Si vous êtes un utilisateur de ligne de commande Linux, vous ne souhaitez parfois pas que certaines commandes soient enregistrées dans votre historique de ligne de commande. Les raisons peuvent être multiples. Par exemple, vous occupez un certain poste dans une entreprise et disposez de certains privilèges dont vous ne voulez pas que les autres abusent. Il se peut également qu'il y ait des commandes particulièrement importantes que vous ne souhaitez pas exécuter par erreur lors de la navigation dans la liste de l'historique. Cependant, existe-t-il un moyen de contrôler quelles commandes entrent dans la liste d'historique et lesquelles ne le sont pas ? Ou en d’autres termes, pouvons-nous activer le mode incognito comme un navigateur dans le terminal Linux ? La réponse est oui, et selon les objectifs spécifiques que vous souhaitez atteindre, il existe de nombreuses façons d’y parvenir. Dans cet article, nous aborderons quelques méthodes éprouvées. Remarque : Toutes les commandes apparaissant dans cet article ont été testées sous Ubuntu. différent
