Analyse et visualisation des journaux CSV avec Excel Elastic Stack (docker-compose) - Qu'est-ce qu'Elastic Stack?

introduction

Merci! Un ingénieur en charge du processus d'inspection des produits au sein du département d'ingénierie de production. La tâche principale du processus d'inspection de la technologie de production, qui n'est pas familière à ceux de l'industrie du logiciel, est d'analyser le journal d'inspection pour une production stable de produits en plus de la conception matérielle et de la conception logicielle d'inspection de l'équipement qui inspecte le produit. Nous prendrons des mesures contre les problèmes. L'arrêt du processus d'inspection entraîne directement une détérioration de la productivité, une solution précoce est donc nécessaire.

Jusqu'à présent, les contre-mesures contre les problèmes consistent à ouvrir le journal d'inspection (csv) dans Excel, à filtrer et à analyser les éléments pour lesquels l'inspection est NG, et le commis agrège les données hebdomadaires dans Excel VBA pour gérer les panneaux. C'était ça. Inutile de dire que le temps de travail est long et que c'est loin d'être une solution précoce.

Par conséquent, nous visons à améliorer l'efficacité du travail et la productivité en utilisant Elastic Stack.

Public cible

Cet article est destiné à ceux qui découvrent Elastic Stack et qui envisagent de l'essayer.

Contenu de cet article

Cet article n'est que la partie tactile. Parlons de ce qu'est un Elastic Stack.

Je voudrais vous présenter dans les prochains articles comment écrire le fichier de configuration requis lors du lancement avec docker-compose, comment analyser la date telle que l'heure du Japon, comment gérer le fichier csv, etc.

Tout d'abord, ce que j'ai fait concrètement

En extrayant la date et le résultat de l'inspection du journal d'inspection (sample.csv) et en associant la date au résultat de l'inspection pour chaque ligne, il est possible de les représenter graphiquement sous forme de données chronologiques.

sample.csv


Dummy,1
Date,2020/10/18,20:19:18  <---Date
ID,123456
Step,TestName,Value1,Judge <---Ci-dessous, le résultat de l'inspection
10,Test1,130,OK
20,Test2,1321,OK
30,Test3,50,NG
40,Test4,13432,OK
55,Test5,15,NG
70,Test6,1,OK
100,Test7,1734,OK
120,Test8,54,OK
End               <---Ceci est le résultat du test pour un
Dummy,2
Date,2020/10/19,12:30:50
ID,123457
Step,TestName,Value1,Judge
10,Test1,140,OK
20,Test2,1300,OK
30,Test3,50,NG
40,Test4,13431,OK
55,Test5,20,NG
70,Test6,1,OK
100,Test7,1733,OK
120,Test8,56,OK
End

J'ai juste ajouté le graphique de manière appropriée, mais j'ai confirmé que les données nécessaires avaient été extraites correctement.

image.png

Qu'est-ce que Elastic Stack?

Il y a d'abord ce qu'on appelle la pile ELK. Jusque-là, si vous pouvez le savoir en consultant le Site officiel, ** E ** lasticsearch, ** L ** ogstash, ** K ** ibana est un acronyme pour "ELK". Ce sont tous des produits open source fournis par Elastic et peuvent être combinés en fonction de l'application pour permettre l'analyse et la visualisation des journaux. Et, afin de permettre une réponse plus flexible, Beats est combiné avec ELK Stack et il s'appelle Elastic Stack. Elasticsearch Un moteur de recherche et d'analyse distribué qui enregistre les documents et ajoute des références de recherche aux documents à l'index. Il est utilisé pour la recherche en texte intégral, etc. pour rechercher par mots dans les articles de blog. Officiellement, la recherche est rapide, comme l'expression "La recherche élastique est rapide. C'est rapide de toute façon."

Logstash Il fournit un mécanisme de traitement des données d'entrée. De nombreux filtres de traitement sont préparés et il est possible d'analyser n'importe quel journal. Plus précisément, il existe divers filtres tels que le filtre Grok pour structurer les données non structurées et le filtre csv pour décomposer les données csv dans chaque champ. La liste des filtres est ici.

Il prend également en charge divers types d'entrées et de destinations de sortie. Vous pouvez recevoir des journaux Web, des fichiers tels que csv, des journaux système, etc. La liste des entrées prises en charge est ici. Bien sûr, vous pouvez spécifier Elasticsearch comme destination de sortie, mais vous pouvez également sélectionner le courrier, la marge, les fichiers, etc. La liste des destinations de sortie prises en charge est ici.

Logstash semble souvent comparé à Fluentd, un outil de collecte de journaux. Kibana C'est un outil pour représenter graphiquement les données agrégées dans Elasticsearch. Aucune opération compliquée n'est requise et les graphiques peuvent être créés de manière intuitive. Vous pouvez également créer un tableau de bord, et si vous ajoutez les graphiques nécessaires sur le tableau, vous pouvez vérifier les graphiques quand vous le souhaitez sans aucun problème.

Les alertes sont une autre caractéristique importante. Vous pouvez définir un seuil et notifier les e-mails et relâcher lorsque le seuil est dépassé. Il prend également en charge la coopération avec PagerDuty. Cela permet la gestion des incidents.

Kibana semble souvent comparé à Grafana.

Beats Le Filebeat utilisé cette fois appartient à une catégorie appelée Beats, et Beats est appelé un expéditeur de données léger. C'est pour transférer des données vers Elasticsearch et Logstash, et en plus de Filebeat, il y a Metricbeat, Packetbeat, Winlogbeat, Audiobeat, Heartbeat et Functionbeat. Filebeat, comme son nom l'indique, sert au transfert des fichiers journaux.

Flux spécifique utilisant Elastic Stack

Transférez le fichier csv ajouté au dossier vers Logstash avec Filebeat, extrayez la date et le résultat de l'inspection avec Logstash, stockez les données traitées dans Elasticsearch et tracez-les avec Kibana.

finalement

Cette fois, j'ai essayé de le visualiser en utilisant Elastic Stack pour la première fois. Je n'ai présenté que les fonctions que j'utilisais réellement, mais il semble qu'il y ait beaucoup d'autres fonctions que je ne connais pas. J'aimerais essayer diverses choses à partir de maintenant. À l'avenir, j'aimerais vous présenter le fichier de paramètres requis lors du lancement avec docker-compose, la méthode d'analyse de la date, comment gérer le fichier csv, etc.

Recommended Posts

Analyse et visualisation des journaux CSV avec Excel Elastic Stack (docker-compose) - Qu'est-ce qu'Elastic Stack?
Analysez et visualisez les journaux csv avec Excel Elastic Stack (docker-compose) - Deux façons de gérer Logstash OutOfMemoryError
Analysez et visualisez les journaux CSV avec Excel Elastic Stack (docker-compose) - Configurez avec docker-compose
Analysez et visualisez les journaux csv avec Excel Elastic Stack (docker-compose) - Divisez PipelineFilter en 3 fichiers [entrée / filtre / sortie] pour améliorer la maintenabilité et la réutilisation
Analysez et visualisez les journaux CSV avec Excel Elastic Stack (docker-compose) - Recevez des entrées de plusieurs battements avec Pipeline-to-Pipeline de Logstash
Analysez et visualisez les journaux csv avec Excel Elastic Stack (docker-compose) --Parse "année / mois / jour, heure: minute: seconde" en multiligne avec filtre grok et traitez-le comme du temps japonais
Analysez et visualisez les journaux csv avec Excel Elastic Stack (docker-compose) - (1ère ligne: date, 2ème ligne et lignes suivantes: données csv) la date est ajoutée à chaque ligne après la 2ème ligne en tant que champ d'horodatage.
Qu'est-ce que `docker-compose up`?
Qu'est-ce que Docker-compose (mémorandum personnel)
Qu'est-ce que les microservices et les frameworks de microservices