Logstashの定義ファイルの記載について、質問させて頂きます。
Filebeat→Logstash→Amazon S3,Elasticsearch
Logstashにて
inputは同一でoutputを複数に分けかつoutputによりfilerを定義したいです。
下記例のようにMultiple Pipelinesで定義した場合、
2つのconfigを同期をとる方法があれば教えてください。
同期
…S3.cfgがエラーの場合、ES.cfgもエラーとする。
ES.cfgがエラーの場合、S3.cfgもエラーとする。
▼例
pipelines.yml
pipeline.id: S3
path.config: "…/S3.cfg"
pipeline.id: ES
path.config: "…/ES.cfg"
S3.cfg
input {
beats {
port => "…"
}
}
output {
s3 {
region => "…"
bucket => "…"
prefix => "…"
temporary_directory => "…"
}
}
ES.cfg
input {
beats {
port => "…"
}
}
filter {
grok {
match => […]
}
output {
elasticsearch {
hosts => ["XXX"]
index => ["…"}
}
}
追記
下記例のように1つのconfigにて定義する場合、
2つのtypeを同期をとる方法があれば教えてください。
同期
…type => S3がエラーの場合、type => ESもエラーとする。
type => ESがエラーの場合、type => S3もエラーとする。
input {
beats {
port => "…"
type => S3
}beats {
port => "…"
type => ES
}filter {
if [type] == "ES" {
grok {…}
}
}
}
output {
if [type] == "S3" {
region => "…"
bucket => "…"
prefix => "…"
temporary_directory => "…"
}
if [type] == "ES" {
elasticsearch {
hosts => ["…"]
index => "…"}
}
}