Merci! Un ingénieur en charge du processus d'inspection des produits au sein du département d'ingénierie de production. Ceci est une continuation de Analyse et visualisation des journaux csv avec Excel Elastic Stack (docker-compose) --Qu'est-ce qu'Elastic Stack.
Cet article est destiné à ceux qui découvrent Elastic Stack et qui envisagent de l'essayer.
Date,2020/10/30,12:20:50
J'ai mis un ensemble de fichiers de paramètres dans GitLab, veuillez donc vous y référer. Cliquez ici pour le dépôt-> élastique-stack
Tout d'abord, les grok-patterns fournis en standard sont comme ça. Si vous utilisez DATE, la date ne sera pas dans l'ordre. De plus, TIMESTAMP_ISO8601 est séparé par des tirets. La description des modèles personnalisés sur le site officiel est ici.
# Months: January, Feb, 3, 03, 12, December
MONTHNUM (?:0?[1-9]|1[0-2])
MONTHDAY (?:(?:0[1-9])|(?:[12][0-9])|(?:3[01])|[1-9])
# Years?
YEAR (?>\d\d){1,2}
# datestamp is YYYY/MM/DD-HH:MM:SS.UUUU (or something like it)
DATE_US %{MONTHNUM}[/-]%{MONTHDAY}[/-]%{YEAR}
DATE_EU %{MONTHDAY}[./-]%{MONTHNUM}[./-]%{YEAR}
TIMESTAMP_ISO8601 %{YEAR}-%{MONTHNUM}-%{MONTHDAY}[T ]%{HOUR}:?%{MINUTE}(?::?%{SECOND})?%{ISO8601_TIMEZONE}?
DATE %{DATE_US}|%{DATE_EU}
Préparez DATE_JP par ordre de date et combinez TIMESTAMP_JP avec TIME standard séparés par des virgules.
logstash/extra_patterns/date_jp
DATE_JP %{YEAR}[/-]%{MONTHNUM}[/-]%{MONTHDAY}
TIMESTAMP_JP %{DATE_JP}[,]%{TIME}
Attribuez le fichier date_jp créé à / opt / logstash / extra_patterns
.
docker-compose.yml
logstash01:
build: ./logstash
container_name: logstash01
links:
- es01:elasticsearch
volumes:
- ./logstash/config/logstash.yml:/usr/share/logstash/config/logstash.yml
- ./logstash/config/jvm.options:/usr/share/logstash/config/jvm.options
- ./logstash/config/log4j2.properties:/usr/share/logstash/config/log4j2.properties
- ./logstash/config/pipelines.yml:/usr/share/logstash/config/pipelines.yml
- ./logstash/pipeline/logstash.conf:/usr/share/logstash/pipeline/logstash.conf
- ./logstash/extra_patterns/date_jp:/opt/logstash/extra_patterns
networks:
- esnet
Définissez extra_patterns dans patterns_dir. Créez un champ read_timestamp à l'aide du modèle personnalisé TIMESTAMP_JP.
logstash.conf
filter {
grok {
patterns_dir => ["/opt/logstash/extra_patterns"]
match => { "message" => "%{TIMESTAMP_JP:read_timestamp}" }
}
}
Puisque logstash est par défaut de type chaîne, read_timestamp est également de type chaîne. Comme il n'est pas reconnu comme horodatage, il est converti en type de date à l'aide du filtre de date. Définissez le fuseau horaire du filtre de date sur Asie / Tokyo et attribuez la cible à @timestamp.
logstash.conf
filter {
grok {
patterns_dir => ["/opt/logstash/extra_patterns"]
match => { "message" => "%{TIMESTAMP_JP:read_timestamp}" }
}
date {
match => ["read_timestamp", "yyyy/MM/dd,HH:mm:ss"]
timezone => "Asia/Tokyo"
target => "@timestamp"
}
}
Expliqué comment analyser les dates et définir les fuseaux horaires à l'aide de modèles personnalisés. À l'avenir, j'aimerais vous présenter comment gérer les fichiers csv.
Recommended Posts