Table des matières
1, Présentation
2. Architecture de déploiement commune ELK
Problèmes et solutions
4. Résumé
Maison développement back-end tutoriel php Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

May 05, 2018 pm 03:10 PM
分布式 分析 解决方案

ELK est devenue la solution de journalisation centralisée la plus populaire à l'heure actuelle. Elle est principalement composée de Beats, Logstash, Elasticsearch, Kibana et d'autres composants pour compléter conjointement la collecte, le stockage, l'affichage et d'autres solutions uniques de journaux en temps réel. . Cet article vous présente principalement l'architecture de déploiement ELK de la solution distribuée d'analyse des journaux en temps réel. Les amis dans le besoin peuvent consulter

Recommandation de cours → : 《 elasticsearch. recherche en texte intégral en pratique" (vidéo de combat réelle)

Extrait du cours "Solution simultanée pour des dizaines de millions de données (théorie + combat pratique)"

1, Présentation

ELK est devenue la solution de journalisation centralisée la plus populaire à l'heure actuelle. Elle est principalement composée de Beats, Logstash, Elasticsearch, Kibana et d'autres composants pour compléter conjointement la collecte, le stockage et l'affichage. de journaux en temps réel dans une solution unique. Cet article présentera l'architecture commune d'ELK et résoudra les problèmes associés.

  • Filebeat : Filebeat est un moteur de collecte de données léger qui consomme très peu de ressources de service. Il s'agit d'un nouveau membre de la famille ELK et peut remplacer Logstash en tant que collecte de journaux sur le serveur d'applications. Le moteur prend en charge la sortie des données collectées vers des files d'attente telles que Kafka et Redis.

  • Logstash : moteur de collecte de données, plus lourd que Filebeat, mais il intègre un grand nombre de plug-ins et prend en charge une riche collecte de sources de données. Les données collectées peuvent être filtrées et analysées. . Formater le format du journal.

  • Elasticsearch : un moteur de recherche de données distribué, implémenté sur la base d'Apache
    Lucene, peut être mis en cluster et fournit un stockage et une analyse centralisés des données, ainsi qu'une recherche et une agrégation de données puissantes fonctions.

  • Kibana : une plateforme de visualisation de données. Cette plateforme Web vous permet de visualiser des données pertinentes dans Elasticsearch en temps réel et fournit des statistiques graphiques riches.

2. Architecture de déploiement commune ELK

2.1. Logstash en tant que collecteur de journaux

Cette architecture est une architecture de déploiement relativement primitive. : déployez un composant Logstash sur chaque serveur d'applications en tant que collecteur de journaux, puis filtrez, analysez et formatez les données collectées par Logstash et envoyez-les au stockage Elasticsearch, et enfin utilisez Kibana pour l'affichage visuel. Cette architecture est insuffisante. Le point clé est : Logstash consomme plus de ressources serveur, ce qui augmentera la pression de charge sur le serveur d'applications.

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

2.2. Filebeat comme collecteur de logs

La seule différence entre cette architecture et la première architecture Oui : le collecteur de journaux côté application est remplacé par Filebeat. Filebeat est léger et consomme moins de ressources du serveur. Filebeat est donc utilisé comme collecteur de journaux côté serveur d'application. Généralement, Filebeat est également utilisé avec Logstash. l'architecture la plus couramment utilisée à l'heure actuelle.

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

2.3 Architecture de déploiement qui introduit la file d'attente de cache

Cette architecture est basée sur la deuxième architecture La La file d'attente de messages Kafka (peut également être d'autres files d'attente de messages) est introduite, les données collectées par Filebeat sont envoyées à Kafka, puis les données dans Kafka sont lues via Logstasth. Cette architecture est principalement utilisée pour résoudre des solutions de collecte de journaux sous de gros volumes de données. , l'utilisation des files d'attente de cache vise principalement à résoudre la sécurité des données et à équilibrer la pression de charge de Logstash et Elasticsearch.

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

2.4.Résumé des trois architectures ci - dessus

La première architecture de déploiement présente des problèmes d'occupation des ressources, est désormais rarement utilisée, et la deuxième architecture de déploiement est actuellement la plus utilisée. Quant à la troisième architecture de déploiement, je pense personnellement qu'il n'est pas nécessaire d'introduire une file d'attente de messages, sauf s'il y a d'autres besoins, car dans le cas de gros montants. des données, pression d'utilisation de Filebeat Les protocoles sensibles envoient des données à Logstash ou Elasticsearch. Si Logstash est occupé à traiter des données, il demande à Filebeat de ralentir ses lectures. Une fois la congestion résolue, Filebeat reprendra sa vitesse d'origine et continuera à envoyer des données.

Recommander un groupe de communication et d'apprentissage : 478030634 qui partagera quelques vidéos enregistrées par des architectes senior : Spring, MyBatis, analyse du code source Netty, principes de haute concurrence, hautes performances, architecture distribuée et microservices, optimisation des performances JVM a devenir un système de connaissances nécessaire pour les architectes. Vous pouvez également recevoir des ressources d'apprentissage gratuites et en bénéficier jusqu'à présent :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

Problèmes et solutions

Problème. : Comment implémenter la fonction de fusion multi-lignes des logs ?

Les journaux dans les applications système sont généralement imprimés dans un format spécifique. Par conséquent, lorsque vous utilisez ELK pour collecter des journaux, vous devez séparer plusieurs lignes de données appartenant au même journal. . Fusionner.

Solution : utilisez le plug-in de fusion multiligne multiligne dans Filebeat ou Logstash pour obtenir

Lorsque vous utilisez le plug-in de fusion multiligne multiligne, vous devez faire attention aux différents déploiements ELK L'architecture peut également utiliser le multiligne de différentes manières. S'il s'agit de la première architecture de déploiement dans cet article, alors le multiligne doit être configuré et utilisé dans Logstash. S'il s'agit de la deuxième architecture de déploiement, alors le multiligne doit être configuré. à configurer et à utiliser dans Filebeat, et il n'est pas nécessaire de le configurer dans Logstash Configure multiline.

1. Comment configurer le multiligne dans Filebeat :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

  • modèle : Expression régulière

  • negate : La valeur par défaut est false, ce qui signifie que les lignes correspondant au motif sont fusionnées dans la ligne précédente ; true signifie que les lignes qui ne correspondent pas au motif sont fusionnées dans la ligne précédente

  • match : après signifie fusionner vers la fin de la ligne précédente, avant signifie fusionner vers le début de la ligne précédente

Par exemple :

modèle : '['
négation : vrai
match : après

Cette configuration consiste à fusionner les lignes qui ne correspondent pas au motif à la fin de la ligne précédente

2. Multiligne dans la méthode de configuration de Logstash

Solution distribuée danalyse des journaux en temps réel Architecture de déploiement ELK

(1) La valeur de l'attribut quoi configuré dans Logstash est précédente, ce qui est équivalent à after dans Filebeat. La valeur de l'attribut what configuré dans Logstash est équivalente à before dans Filebeat.
(2) pattern => "%{LOGLEVEL}s*]" Le LOGLEVEL dans "%{LOGLEVEL}s*]" est le modèle de correspondance régulier prédéfini de Logstash. Il existe de nombreux modèles de correspondance réguliers prédéfinis pour. Pour plus de détails, veuillez consulter : https://github .com/logstash-p…

Question : Comment remplacer le champ d'heure du journal affiché dans Kibana par l'heure dans les informations du journal ?

Par défaut, le champ d'heure que nous visualisons dans Kibana n'est pas cohérent avec l'heure dans les informations du journal, car la valeur du champ d'heure par défaut est l'heure actuelle à laquelle le journal est collecté, l'heure de ce champ. doit être modifié. Remplacez-le par l'heure indiquée dans le message du journal.

Solution : utilisez le plug-in de segmentation de mots grok et le plug-in de formatage de date et d'heure pour obtenir

Configurez le plug-in de segmentation de mots grok et le format de date et d'heure dans le filtre du plug-in de configuration du fichier de configuration Logstash, tel que :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

Si le format de journal à faire correspondre est : "DEBUG[DefaultBeanDefinitionDocumentReader : 106] Chargement des définitions de bean", analyser le journal. Les méthodes du champ temporel sont :

① En introduisant un fichier d'expression écrit, par exemple, le fichier d'expression est customer_patterns et le contenu est :
CUSTOMER_TIME % {YEAR}%{MONTHNUM}%{MONTHDAY}s+ %{TIME}
Remarque : Le format du contenu est : [nom de l'expression personnalisée] [expression régulière]
Il peut ensuite être cité comme ceci dans logstash :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

② Sous forme d'éléments de configuration, la règle est : (?Règle de correspondance régulière), telle que :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK

Question : Comment afficher les données dans Kibana en sélectionnant différents modules de journal système

Généralement, les données de journal affichées dans Kibana mélange les données de différents modules système, alors comment sélectionner ou filtrer pour afficher uniquement les données de journal du module système spécifié ?

Solution : ajoutez des champs qui identifient différents modules système ou créez des index ES basés sur différents modules système

1. Ajoutez des champs qui identifient différents modules système, puis Kibana peut le faire. filtrer et interroger les données de différents modules en fonction de ce champ
Nous expliquerons ici la deuxième architecture de déploiement. Le contenu de la configuration dans Filebeat est :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK
Identifier les différents. journaux du module système en ajoutant : champ log_from

2. Configurez l'index ES correspondant en fonction des différents modules système, puis créez le modèle d'index correspondant correspondant dans Kibana, et vous pouvez transmettre l'index sur la page Mode drop- la case vers le bas sélectionne différentes données du module système.
La deuxième architecture de déploiement est expliquée ici, qui est divisée en deux étapes :
① Le contenu de la configuration dans Filebeat est :

Solution distribuée d'analyse des journaux en temps réel Architecture de déploiement ELK
via document_type Identifier différents modules système

② Modifiez le contenu de la configuration de sortie dans Logstash comme suit :
Ajoutez l'attribut index à la sortie, %{type} signifie construire l'index ES en fonction de différentes valeurs de document_type

4. Résumé

Cet article présente principalement les trois architectures de déploiement de l'analyse des journaux en temps réel ELK, ainsi que les problèmes que différentes architectures peuvent résoudre. Parmi ces trois architectures, la deuxième méthode de déploiement est la. La méthode de déploiement la plus populaire et la plus couramment utilisée, et présente enfin certains problèmes et solutions d'ELK dans l'analyse des journaux. En fin de compte, ELK peut non seulement être utilisé pour une requête et une gestion centralisées des données de journaux distribuées, mais peut également être utilisé comme outil. application de projet. Ainsi que la surveillance des ressources du serveur et d’autres scénarios.

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!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Solution pour Win11 impossible d'installer le pack de langue chinoise Solution pour Win11 impossible d'installer le pack de langue chinoise Mar 09, 2024 am 09:15 AM

Win11 est le dernier système d'exploitation lancé par Microsoft. Par rapport aux versions précédentes, Win11 a considérablement amélioré la conception de l'interface et l'expérience utilisateur. Cependant, certains utilisateurs ont signalé avoir rencontré le problème de l'impossibilité d'installer le module linguistique chinois après l'installation de Win11, ce qui leur a posé des problèmes lors de l'utilisation du chinois dans le système. Cet article fournira quelques solutions au problème selon lequel Win11 ne peut pas installer le pack de langue chinoise pour aider les utilisateurs à utiliser le chinois en douceur. Tout d’abord, nous devons comprendre pourquoi le pack de langue chinoise ne peut pas être installé. D'une manière générale, Win11

Une solution efficace pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. Une solution efficace pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. Mar 03, 2024 am 09:57 AM

Titre : Une solution efficace pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. Dans la base de données Oracle, lorsque le jeu de caractères est modifié, le problème des caractères tronqués se produit souvent en raison de la présence de caractères incompatibles dans les données. Afin de résoudre ce problème, nous devons adopter des solutions efficaces. Cet article présentera des solutions spécifiques et des exemples de code pour résoudre le problème des caractères tronqués provoqués par la modification du jeu de caractères Oracle. 1. Exportez les données et réinitialisez le jeu de caractères. Tout d’abord, nous pouvons exporter les données de la base de données à l’aide de la commande expdp.

Problèmes courants et solutions liés à la fonction Oracle NVL Problèmes courants et solutions liés à la fonction Oracle NVL Mar 10, 2024 am 08:42 AM

Problèmes courants et solutions pour la fonction OracleNVL La base de données Oracle est un système de base de données relationnelle largement utilisé et il est souvent nécessaire de gérer des valeurs nulles lors du traitement des données. Afin de résoudre les problèmes causés par les valeurs nulles, Oracle fournit la fonction NVL pour gérer les valeurs nulles. Cet article présentera les problèmes courants et les solutions des fonctions NVL, et fournira des exemples de code spécifiques. Question 1 : Utilisation inappropriée de la fonction NVL La syntaxe de base de la fonction NVL est : NVL(expr1,default_value).

Implémentation d'algorithmes d'apprentissage automatique en C++ : défis et solutions courants Implémentation d'algorithmes d'apprentissage automatique en C++ : défis et solutions courants Jun 03, 2024 pm 01:25 PM

Les défis courants rencontrés par les algorithmes d'apprentissage automatique en C++ incluent la gestion de la mémoire, le multithread, l'optimisation des performances et la maintenabilité. Les solutions incluent l'utilisation de pointeurs intelligents, de bibliothèques de threads modernes, d'instructions SIMD et de bibliothèques tierces, ainsi que le respect des directives de style de codage et l'utilisation d'outils d'automatisation. Des cas pratiques montrent comment utiliser la bibliothèque Eigen pour implémenter des algorithmes de régression linéaire, gérer efficacement la mémoire et utiliser des opérations matricielles hautes performances.

Causes courantes et solutions aux caractères chinois tronqués dans l'installation de MySQL Causes courantes et solutions aux caractères chinois tronqués dans l'installation de MySQL Mar 02, 2024 am 09:00 AM

Raisons et solutions courantes pour les caractères chinois tronqués dans l'installation de MySQL MySQL est un système de gestion de base de données relationnelle couramment utilisé, mais vous pouvez rencontrer le problème des caractères chinois tronqués lors de l'utilisation, ce qui pose des problèmes aux développeurs et aux administrateurs système. Le problème des caractères chinois tronqués est principalement dû à des paramètres de jeu de caractères incorrects, à des jeux de caractères incohérents entre le serveur de base de données et le client, etc. Cet article présentera en détail les causes courantes et les solutions des caractères chinois tronqués dans l'installation de MySQL pour aider tout le monde à mieux résoudre ce problème. 1. Raisons courantes : paramètre du jeu de caractères

Analyse et solutions des vulnérabilités de sécurité du framework Java Analyse et solutions des vulnérabilités de sécurité du framework Java Jun 04, 2024 pm 06:34 PM

L'analyse des vulnérabilités de sécurité du framework Java montre que XSS, l'injection SQL et SSRF sont des vulnérabilités courantes. Les solutions incluent : l'utilisation des versions du cadre de sécurité, la validation des entrées, le codage des sorties, la prévention de l'injection SQL, l'utilisation de la protection CSRF, la désactivation des fonctionnalités inutiles, la définition des en-têtes de sécurité. Dans les cas réels, la vulnérabilité d'injection ApacheStruts2OGNL peut être résolue en mettant à jour la version du framework et en utilisant l'outil de vérification d'expression OGNL.

Analyse et solutions expliquant pourquoi le téléphone mobile Black Shark s'éteint et s'allume automatiquement pendant le chargement Analyse et solutions expliquant pourquoi le téléphone mobile Black Shark s'éteint et s'allume automatiquement pendant le chargement Mar 24, 2024 pm 02:09 PM

Le téléphone mobile Black Shark est un téléphone de jeu populaire auprès des jeunes. Ses excellentes performances et son design unique ont attiré les faveurs de nombreux joueurs. Cependant, lors d'une utilisation quotidienne, certains utilisateurs ont signalé que les téléphones Black Shark s'éteignaient automatiquement lors du chargement ou ne démarraient pas après avoir été connectés à un chargeur, ce qui causait des problèmes aux utilisateurs. Cet article abordera le problème de l'arrêt et du démarrage automatiques des téléphones mobiles Black Shark du point de vue de l'analyse des causes et des solutions pour aider les utilisateurs à mieux résoudre ce problème. 1. Analyse des causes des problèmes de qualité du chargeur : les chargeurs de mauvaise qualité peuvent provoquer une instabilité de la tension, ou

Causes courantes et solutions pour les caractères chinois tronqués en PHP Causes courantes et solutions pour les caractères chinois tronqués en PHP Mar 16, 2024 am 11:51 AM

Causes courantes et solutions aux caractères chinois tronqués PHP Avec le développement d'Internet, les sites Web chinois jouent un rôle de plus en plus important dans nos vies. Cependant, dans le développement PHP, le problème des caractères chinois tronqués reste un problème courant qui trouble les développeurs. Cet article présentera les causes courantes des caractères chinois tronqués en PHP et fournira des solutions. Il joindra également des exemples de code spécifiques pour référence aux lecteurs. 1. Raisons courantes : Codage de caractères incohérent : Des incohérences dans le codage de fichiers PHP, dans l'encodage de bases de données, dans l'encodage de pages HTML, etc. peuvent conduire à des caractères chinois tronqués. base de données

See all articles