У меня проблема, из-за которой моя метрика перехватывается моим http-конвейером.
И Logstash, и Elastic, и Metricbeat работают в Kubernetes.
Мой beatmetric настроен на отправку в Logstash через порт 5044 и запись в файл в /tmp. Это прекрасно работает. Но всякий раз, когда я создаю конвейер с входом http
, кажется, что он также перехватывает входные данные beatmetric и отправляет их в 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"