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