


Création d'un système d'analyse des journaux à l'aide de Python et Redis : comment surveiller l'état du système en temps réel
Créer un système d'analyse de journaux à l'aide de Python et Redis : Comment surveiller la santé du système en temps réel
Introduction :
Lors du développement et de la maintenance d'un système, il est très important de surveiller la santé du système. Un bon système de surveillance nous permet de comprendre l'état du système en temps réel, de découvrir et de résoudre les problèmes à temps et d'améliorer la stabilité et les performances du système. Cet article expliquera comment utiliser Python et Redis pour créer un système d'analyse de journaux simple mais pratique afin de surveiller l'état de fonctionnement du système en temps réel.
-
Créer l'environnement :
Tout d'abord, nous devons configurer l'environnement de développement pour Python et Redis. Python est un langage de programmation puissant et Redis est une base de données en mémoire rapide. Vous pouvez configurer l'environnement en suivant les étapes suivantes :- Installer Python : Téléchargez et installez Python depuis le site officiel (https://www.python.org/).
- Installer Redis : téléchargez et installez Redis depuis le site officiel (https://redis.io/).
-
Configuration de Redis :
Dans le fichier de configuration Redis, nous devons activer la fonction de journalisation pour enregistrer le journal des opérations du système. Modifiez le fichier de configuration Redis et décommentez les éléments de configuration suivants :logfile /path/to/redis.log loglevel debug
Copier après la connexionParmi eux,
/path/to/redis.log
est le chemin de stockage du fichier journal./path/to/redis.log
为日志文件的存放路径。 - 开发Python脚本:
接下来,我们将使用Python开发一个脚本,实时监听Redis的日志文件,并分析日志内容。创建一个名为log_analyzer.py
的文件,并将以下代码粘贴到文件中:
import redis import time import re # Redis连接信息 redis_host = "localhost" redis_port = 6379 redis_password = None # 实时监听Redis日志文件 def follow_redis_log(): r = redis.Redis(host=redis_host, port=redis_port, password=redis_password) p = r.pubsub() p.subscribe("__keyevent@0__:set") for message in p.listen(): # 提取日志信息 log_message = message['data'] if log_message.startswith("set"): log_time = time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) log_key = re.findall(r'set "(.*?)"', log_message)[0] log_value = re.findall(r'(.*?)s+noreply', log_message)[0] # 分析日志内容(这里以打印日志为例) print(f"[{log_time}] Key: {log_key}, Value: {log_value}") if __name__ == "__main__": follow_redis_log()
在脚本中,我们使用Redis的pub/sub功能订阅了__keyevent@0__:set
频道,监听Redis中set
- Développer un script Python :
- Ensuite, nous utiliserons Python pour développer un script permettant de surveiller les fichiers journaux Redis en temps réel et d'analyser le contenu des journaux. Créez un fichier appelé
log_analyzer.py
et collez le code suivant dans le fichier :Dans le script, nous nous abonnons àpython log_analyzer.py
Copier après la connexion__keyevent@0__ en utilisant la fonctionnalité pub/sub de Redis :set
, surveillez le journal de l'opérationset
dans Redis. Lorsqu'un nouveau journal est généré, nous extrayons les informations clés du journal et les analysons.
Après avoir terminé les étapes de développement ci-dessus, nous pouvons exécuter le système pour surveiller l'état d'exécution de Redis en temps réel. Ouvrez le terminal, entrez le répertoire où se trouve le script et exécutez la commande suivante :
[2021-01-01 12:00:00] Key: mykey, Value: myvalue [2021-01-01 12:01:00] Key: anotherkey, Value: anothervalue
rrreee
Ces sorties sont les informations clés que nous avons extraites du Journal Redis. Vous pouvez le modifier si nécessaire. Ces informations sont ensuite traitées et affichées. 🎜🎜Conclusion : 🎜En utilisant le système d'analyse des journaux construit avec Python et Redis, nous avons réalisé une surveillance en temps réel de l'état de fonctionnement du système. En analysant le journal des opérations Redis, nous pouvons obtenir de nombreuses informations précieuses, telles que la durée de l'opération, les modifications des paires clé-valeur, etc. Ces informations peuvent nous aider à localiser et à résoudre rapidement les problèmes et à garantir la stabilité et les performances du système. 🎜🎜Bien sûr, cet article n'est qu'un exemple simple, et les applications réelles peuvent être plus complexes et diverses. Vous pouvez encore améliorer et étendre ce système en fonction de vos besoins spécifiques. Je vous souhaite du succès dans le développement de votre système de surveillance ! 🎜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)

PHP et Python ont leurs propres avantages et inconvénients, et le choix dépend des besoins du projet et des préférences personnelles. 1.Php convient au développement rapide et à la maintenance des applications Web à grande échelle. 2. Python domine le domaine de la science des données et de l'apprentissage automatique.

Docker utilise les fonctionnalités du noyau Linux pour fournir un environnement de fonctionnement d'application efficace et isolé. Son principe de travail est le suivant: 1. Le miroir est utilisé comme modèle en lecture seule, qui contient tout ce dont vous avez besoin pour exécuter l'application; 2. Le Système de fichiers Union (UnionFS) empile plusieurs systèmes de fichiers, ne stockant que les différences, l'économie d'espace et l'accélération; 3. Le démon gère les miroirs et les conteneurs, et le client les utilise pour l'interaction; 4. Les espaces de noms et les CGROUP implémentent l'isolement des conteneurs et les limitations de ressources; 5. Modes de réseau multiples prennent en charge l'interconnexion du conteneur. Ce n'est qu'en comprenant ces concepts principaux que vous pouvez mieux utiliser Docker.

Activer l'accélération du GPU Pytorch sur le système CentOS nécessite l'installation de versions CUDA, CUDNN et GPU de Pytorch. Les étapes suivantes vous guideront tout au long du processus: CUDA et CUDNN Installation détermineront la compatibilité de la version CUDA: utilisez la commande NVIDIA-SMI pour afficher la version CUDA prise en charge par votre carte graphique NVIDIA. Par exemple, votre carte graphique MX450 peut prendre en charge CUDA11.1 ou plus. Téléchargez et installez Cudatoolkit: visitez le site officiel de Nvidiacudatoolkit et téléchargez et installez la version correspondante selon la version CUDA la plus élevée prise en charge par votre carte graphique. Installez la bibliothèque CUDNN:

Python et JavaScript ont leurs propres avantages et inconvénients en termes de communauté, de bibliothèques et de ressources. 1) La communauté Python est amicale et adaptée aux débutants, mais les ressources de développement frontal ne sont pas aussi riches que JavaScript. 2) Python est puissant dans les bibliothèques de science des données et d'apprentissage automatique, tandis que JavaScript est meilleur dans les bibliothèques et les cadres de développement frontaux. 3) Les deux ont des ressources d'apprentissage riches, mais Python convient pour commencer par des documents officiels, tandis que JavaScript est meilleur avec MDNWEBDOCS. Le choix doit être basé sur les besoins du projet et les intérêts personnels.

Les méthodes de base de données de Redis incluent les bases de données en mémoire et le stockage de valeurs de clé. 1) Redis stocke les données en mémoire, lit et écrit rapidement. 2) Il utilise des paires de valeurs clés pour stocker des données, prend en charge des structures de données complexes telles que les listes, les collections, les tables de hachage et les collections ordonnées, adaptées aux caches et aux bases de données NoSQL.

Minio Object Storage: Déploiement haute performance dans le système Centos System Minio est un système de stockage d'objets distribué haute performance développé sur la base du langage Go, compatible avec Amazons3. Il prend en charge une variété de langages clients, notamment Java, Python, JavaScript et GO. Cet article introduira brièvement l'installation et la compatibilité de Minio sur les systèmes CentOS. Compatibilité de la version CentOS Minio a été vérifiée sur plusieurs versions CentOS, y compris, mais sans s'y limiter: CentOS7.9: fournit un guide d'installation complet couvrant la configuration du cluster, la préparation de l'environnement, les paramètres de fichiers de configuration, le partitionnement du disque et la mini

CENTOS L'installation de Nginx nécessite de suivre les étapes suivantes: Installation de dépendances telles que les outils de développement, le devet PCRE et l'OpenSSL. Téléchargez le package de code source Nginx, dézippez-le et compilez-le et installez-le, et spécifiez le chemin d'installation AS / USR / LOCAL / NGINX. Créez des utilisateurs et des groupes d'utilisateurs de Nginx et définissez les autorisations. Modifiez le fichier de configuration nginx.conf et configurez le port d'écoute et le nom de domaine / adresse IP. Démarrez le service Nginx. Les erreurs communes doivent être prêtées à prêter attention, telles que les problèmes de dépendance, les conflits de port et les erreurs de fichiers de configuration. L'optimisation des performances doit être ajustée en fonction de la situation spécifique, comme l'activation du cache et l'ajustement du nombre de processus de travail.

Lors de l'installation et de la configuration de GitLab sur un système CentOS, le choix de la base de données est crucial. Gitlab est compatible avec plusieurs bases de données, mais PostgreSQL et MySQL (ou MARIADB) sont le plus couramment utilisés. Cet article analyse les facteurs de sélection de la base de données et fournit des étapes détaillées d'installation et de configuration. Guide de sélection de la base de données Lors du choix d'une base de données, vous devez considérer les facteurs suivants: PostgreSQL: la base de données par défaut de GitLab est puissante, a une évolutivité élevée, prend en charge les requêtes complexes et le traitement des transactions et convient aux grands scénarios d'application. MySQL / MARIADB: une base de données relationnelle populaire largement utilisée dans les applications Web, avec des performances stables et fiables. MongoDB: base de données NoSQL, se spécialise dans
