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

introduction

Merci! Un ingénieur en charge du processus d'inspection des produits au sein du département d'ingénierie de production. Analyse et visualisation des journaux csv avec Excel Elastic Stack (docker-compose) --Elastic Stack est une continuation.

Public cible

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

Contenu de cet article

[Comment créer un pipeline Logstash avec une excellente maintenabilité et réutilisabilité](https://www.elastic.co/jp/blog/how-to-create-maintainable-and-reusable] décrit dans le blog officiel -logstash-pipelines) J'ai essayé. Il est divisé en 3 dossiers [entrée / filtre / sortie] afin de pouvoir être maintenu même si le nombre de pipelines augmente.

image.png

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

Méthode de division

Divisez logstash.conf en trois parties: entrée, filtre et sortie.

logstash/pipeline/logstash.conf


input {
  beats {
    port => "5044"
  }
}

filter {
  csv {
    columns => ["Step","TestName","Value1","Judge"]
    separator => ","
  }
}

output {
  elasticsearch {
    hosts    => [ 'elasticsearch' ]
    index    => "%{[@metadata][beat]}-csv-%{+YYYY}-%{+MM}"
  }
}

Divisez en les suivants _in, _filter, _out et donnez l'extension .cfg.

logstash/pipeline/input/logstash_in.cfg


input {
  beats {
    port => "5044"
  }
}

logstash/pipeline/lfilter/ogstash_filter.cfg


filter {
  csv {
    columns => ["Step","TestName","Value1","Judge"]
    separator => ","
  }
}

logstash/pipeline/output/logstash_output.cfg


output {
  elasticsearch {
    hosts    => [ 'elasticsearch' ]
    index    => "%{[@metadata][beat]}-csv-%{+YYYY}-%{+MM}"
  }
}

paramètres de composition du menu fixe

Montez tout le dossier du pipeline.

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/:/usr/share/logstash/pipeline/
      - ./logstash/extra_patterns/date_jp:/opt/logstash/extra_patterns
    networks:
      - esnet

paramètres de pipeline

Définissez trois fichiers dans path.config en utilisant la représentation grob {}. Puisqu'il est divisé en répertoires [input / filter / output], écrivez comme suit.

- pipeline.id: filebeat-processing
  path.config: "/usr/share/logstash/pipeline/{input/logstash_in,filter/logstash_filter,output/logstash_out}.cfg"

finalement

Dans les situations où l'on souhaite changer uniquement le filtre, je pense qu'il y a un avantage en termes de réutilisabilité, mais jusqu'à présent je n'en ai pas profité.

Recommended Posts

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
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) - 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.