Beatmetric が http パイプラインによって捕捉されるという問題があります。
Logstash、Elastic、および Metricbeat の両方が Kubernetes で実行されています。
私の Beatmetric は、ポート 5044 で Logstash に送信し、/tmp のファイルにログを記録するようにセットアップされています。これはうまくいきます。しかし、http
入力を使用してパイプラインを作成するたびに、これはビートメトリック入力もキャッチindex2
し、パイプラインで定義されているように Elastic に送信するようhttp
です。
なぜこのように振る舞うのですか?
/usr/share/logstash/pipeline/http.conf
input {
http {
port => "8080"
}
}
output {
#stdout { codec => rubydebug }
elasticsearch {
hosts => ["http://my-host.com:9200"]
index => "test2"
}
}
/usr/share/logstash/pipeline/beats.conf
input {
beats {
port => "5044"
}
}
output {
file {
path => '/tmp/beats.log'
codec => "json"
}
}
/usr/share/logstash/config/logstash.yml
pipeline.id: main
pipeline.workers: 1
pipeline.batch.size: 125
pipeline.batch.delay: 50
http.host: "0.0.0.0"
http.port: 9600
config.reload.automatic: true
config.reload.interval: 3s
/usr/share/logstash/config/pipeline.yml
- pipeline.id: main
path.config: "/usr/share/logstash/pipeline"