Maison >Java >javaDidacticiel >Spring Boot s'intègre à ELK pour mettre en œuvre l'analyse et la surveillance des journaux
Avec le développement continu de la technologie Internet et de la technologie Big Data, la complexité des systèmes d'application est de plus en plus élevée. Dans le même temps, la gestion des journaux est également devenue un sujet important. La visualisation manuelle traditionnelle des fichiers journaux ne peut plus répondre aux besoins des administrateurs système. Afin de mieux gérer les journaux système, une solution efficace consiste à utiliser la pile technologique ELK.
La pile technologique ELK est un ensemble de logiciels open source, comprenant Elasticsearch, Logstash et Kibana. Elasticsearch est un moteur de recherche distribué, RESTful et open source qui peut stocker, rechercher et analyser de grands ensembles de données en temps quasi réel ; Logstash est un pipeline de traitement de données open source côté serveur qui peut collecter des données provenant de plusieurs sources et analyser les données. . Transformation et transfert ; Kibana est une plate-forme de visualisation de données open source qui peut afficher de manière interactive les données dans l'index Elasticsearch et effectuer des opérations de recherche, d'analyse et interactives.
Visant les problèmes de gestion des journaux des systèmes d'application, cet article présentera comment mettre en œuvre l'analyse et la surveillance des journaux grâce à l'intégration de Spring Boot et ELK.
1. Collection de journaux Spring Boot
Spring Boot est un framework de développement rapide qui a été utilisé par de plus en plus de développeurs. Dans l'implémentation de Spring Boot, l'impression des journaux est un outil de débogage et de dépannage d'erreurs couramment utilisé. Spring Boot intègre par défaut la journalisation en tant que cadre de journalisation, qui peut être géré uniformément via des fichiers de configuration.
Exemple de code :
@Slf4j @RestController public class HelloController { @RequestMapping("/hello") public String hello() { log.info("hello world"); return "Hello world"; } }
Dans l'exemple de code ci-dessus, nous définissons l'objet journal en annotant @Slf4j et imprimons le journal dans la méthode. Dans le processus de développement actuel, nous pouvons définir le niveau de journalisation, l'emplacement de sortie, le nom du fichier et d'autres informations dans le fichier de configuration Spring Boot.
2. Intégration d'ELK
Après avoir compris la collection de journaux de Spring Boot, nous examinons ensuite comment implémenter l'intégration d'ELK.
Elasticsearch est le composant principal de la pile technologique ELK. Il doit être installé et configuré avant de passer à l'étape suivante.
Adresse de téléchargement officielle : https://www.elastic.co/cn/downloads/elasticsearch
Une fois l'installation terminée, vous pouvez vérifier l'installation et le fonctionnement d'Elasticsearch via http://localhost:9200.
Logstash est un composant utilisé pour la collecte, l'agrégation et la transmission des journaux, et doit être utilisé avec Elasticsearch. Logstash doit également être installé et configuré en premier.
Adresse de téléchargement du site Web officiel : https://www.elastic.co/cn/downloads/logstash
Configurez l'entrée, le filtre et la sortie dans Logstash, où l'entrée consiste à obtenir des informations à partir du journal Spring Boot et le filtre doit être effectué traitement des données, la sortie est envoyée à Elasticsearch.
Exemple de fichier de configuration :
input { tcp { port => 9500 codec => "json_lines" } } filter { if [type] == "springboot" { mutate { add_field => { "ip" => "%{host}" } } } } output { elasticsearch { hosts => ["http://localhost:9200"] index => "springboot-%{+YYYY.MM.dd}" document_id => "%{fingerprint}" } }
Dans le fichier de configuration, nous spécifions Logstash pour écouter les informations de journal sur le port 9500, traiter les entrées de journaux de Springboot et les afficher dans un index au format nommé springboot-yyyy.mm.dd .
Kibana est une plateforme de visualisation de données open source utilisée pour afficher des données dans Elasticsearch. Vous devez également d'abord installer et configurer Kibana.
Adresse de téléchargement officielle : https://www.elastic.co/cn/downloads/kibana
Dans Kibana, vous pouvez analyser les données Spring Boot collectées en créant des graphiques de visualisation de données, en recherchant, en filtrant et en utilisant des tableaux de bord. analyse et suivi.
3. Analyse et surveillance des journaux
Avec le support de la pile technologique ELK, nous pouvons mettre en œuvre rapidement et efficacement l'analyse et la surveillance des journaux des applications Spring Boot. Grâce au tableau de bord de Kibana, nous pouvons visualiser l'état de santé et les anomalies du système d'application en temps réel et utiliser des graphiques de visualisation des données pour comprendre l'état de fonctionnement du système de manière plus intuitive.
Dans le même temps, nous pouvons également mener des analyses et des recherches plus approfondies basées sur les données de Kibana. Les clusters à grande échelle et les données de journaux multidimensionnelles peuvent être traitées et analysées plus efficacement. Ceci est incomparable à la visualisation manuelle traditionnelle des fichiers journaux.
Conclusion
Cet article explique comment mettre en œuvre l'analyse et la surveillance des journaux grâce à l'intégration de Spring Boot et ELK. Parmi eux, Spring Boot collecte les informations des journaux, Logstash effectue le traitement et la transmission des données, Elasticsearch effectue le stockage et la recherche des données et Kibana fournit. visualisation des données et opérations interactives.
Pour les développeurs d'applications d'entreprise et les administrateurs système, les journaux d'applications sont des objets de surveillance et d'analyse très importants. La pile technologique ELK fournit des solutions efficaces, flexibles et évolutives, rendant la gestion des journaux des systèmes d'application plus simple, plus efficace et plus visuelle.
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!