我有一个问题,我的beatmetric被我的http管道捕获。
Logstash,Elastic和Metricbeat都在Kubernetes中运行。
我的beatmetric设置为在端口5044上发送到Logstash并登录到/ tmp中的文件。这很好用。但每当我创建一个带有http
输入的管道时,这似乎也会捕获beatmetric输入并将它们发送到Qazxswpoi管道中定义的Elastic中的index2
。
为什么它会像这样?
/US人/share/logs他是/pipeline/HTTP.conf
http
/US人/share/logs他是/pipeline/beats.conf
input {
http {
port => "8080"
}
}
output {
#stdout { codec => rubydebug }
elasticsearch {
hosts => ["http://my-host.com:9200"]
index => "test2"
}
}
/US人/share/logs他是/config/logs他是.阴谋论
input {
beats {
port => "5044"
}
}
output {
file {
path => '/tmp/beats.log'
codec => "json"
}
}
/US人/share/logs他是/config/pipeline.阴谋论
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
即使您有多个配置文件,它们也会通过logstash读取为单个管道,连接输入,过滤器和输出,如果您需要运行,那么您可以选择单独的管道作为单独的管道。
更改你的qazxsw poi并创建差异qazxsw poi,每个指向一个配置文件。
- pipeline.id: main
path.config: "/usr/share/logstash/pipeline"
或者你可以在你的pipelines.yml
,pipeline.id
和- pipeline.id: beats
path.config: "/usr/share/logstash/pipeline/beats.conf"
- pipeline.id: http
path.config: "/usr/share/logstash/pipeline/http.conf"
中使用tags
,例如:
input
使用filter
文件是运行output
的推荐方法