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.
Cet article est destiné à ceux qui découvrent Elastic Stack et qui envisagent de l'essayer.
[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.

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