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

introduction

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.

Public cible

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

Contenu de cet article

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

Préparez des modèles personnalisés

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}

Utilisez des modèles personnalisés

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}" }
  }
}

Définir le fuseau horaire sur Asia / Tokyo

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"
  }
}

finalement

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

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) - Configurez avec docker-compose
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
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) - (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.
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) - Deux façons de gérer Logstash OutOfMemoryError