Logstash输出来自另一个输入

问题描述 投票:0回答:1

我有一个问题,我的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
kubernetes logstash pipeline metricbeat
1个回答
2
投票

即使您有多个配置文件,它们也会通过logstash读取为单个管道,连接输入,过滤器和输出,如果您需要运行,那么您可以选择单独的管道作为单独的管道。

更改你的qazxsw poi并创建差异qazxsw poi,每个指向一个配置文件。

- pipeline.id: main
  path.config: "/usr/share/logstash/pipeline"

或者你可以在你的pipelines.ymlpipeline.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的推荐方法

© www.soinside.com 2019 - 2024. All rights reserved.