Vielen Dank! Ein Ingenieur, der für den Produktinspektionsprozess in der Abteilung Produktionstechnik verantwortlich ist. Das Analysieren und Visualisieren von CSV-Protokollen mit Excel Elastic Stack (Docker-Compose) - Elastic Stack ist eine Fortsetzung.
Dieser Artikel richtet sich an Personen, die Elastic Stack noch nicht kennen und darüber nachdenken, ihn auszuprobieren.
[So erstellen Sie eine Logstash-Pipeline mit hervorragender Wartbarkeit und Wiederverwendbarkeit](https://www.elastic.co/jp/blog/how-to-create-maintainable-and-reusable], beschrieben im offiziellen Blog -logstash-pipelines) Ich habe es versucht. Es ist in 3 Ordner [Eingabe / Filter / Ausgabe] unterteilt, sodass es auch dann beibehalten werden kann, wenn die Anzahl der Pipelines zunimmt.
Ich habe eine Reihe von Einstellungsdateien in GitLab eingefügt. Bitte beziehen Sie sich darauf. Klicken Sie hier für das Repository-> Elastic-Stack
Teilen Sie logstash.conf in drei Teile: Eingabe, Filter und Ausgabe.
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}"
}
}
Teilen Sie in die folgenden _in, _filter, _out und geben Sie die Erweiterung .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}"
}
}
Hängen Sie den gesamten Pipeline-Ordner ein.
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
Legen Sie drei Dateien in path.config mit der groben Darstellung {}
fest. Da es in die Verzeichnisse [Eingabe / Filter / Ausgabe] unterteilt ist, schreiben Sie wie folgt.
- pipeline.id: filebeat-processing
path.config: "/usr/share/logstash/pipeline/{input/logstash_in,filter/logstash_filter,output/logstash_out}.cfg"
In Situationen, in denen Sie nur den Filter ändern möchten, gibt es meiner Meinung nach einen Vorteil in Bezug auf die Wiederverwendbarkeit, aber bisher habe ich nicht davon profitiert.
Recommended Posts