【问题标题】:Logstash Http input pluginLogstash Http 输入插件
【发布时间】:2020-05-06 00:45:16
【问题描述】:

我希望实现一个 HTTP 侦听器,以通过 AWS EC2 实例上的特定端口接收 JSON。目前我在同一个集群上运行了 Elasticsearch、Logstash 和 Kibana,并且我已经验证它们都可以相互协同工作。当我尝试为 logstash-http-input 插件打开一个端口(5602)时,我无法点击它。 这是我的 .conf 文件(位于 /etc/logstash/conf.d)

input {
  http {
    port => 5602
    host => "0.0.0.0"
  }
}
output {
  elasticsearch {
    hosts => ["http://localhost:9200"]
    index => "%{[@metadata][http]}-%{[@metadata][version]}-%{+YYYY.MM.dd}"
  }
}

我一般不熟悉 ELK 堆栈,所以任何事情都会有所帮助!

【问题讨论】:

    标签: amazon-web-services elasticsearch logstash elastic-stack elk


    【解决方案1】:

    您使用的插件用于传入 http 流量,logstash 充当 http 服务器。你需要一些可以向外部世界发出 http 请求的东西,这里有一个 http-poller-plugin,你应该看看:https://www.elastic.co/guide/en/logstash/current/plugins-inputs-http_poller.htmland 同一个插件的博文:https://www.elastic.co/de/blog/introducing-logstash-http-poller

    如果您需要更像爬虫的东西,请查看 apache nutch:https://nutch.apache.org/

    【讨论】:

    • 我认为我没有很好地解释我的问题。我不是在寻找爬虫或轮询器,而是我需要一个持续公开的宁静端点,以便我可以输入来自 http post 请求的日志数据。
    【解决方案2】:

    恐怕它与 AWS 的端口策略有关,而不是与 Logstash 本身有关:我非常习惯于使用 https 输入插件,并且在 Docker 环境中,使用你告诉的任何端口都没有问题它 - 就像你做的那样。

    您的 EC2 实例是否有防火墙,或者 AWS 是否有任何手动打开端口的方法?如果是,请检查端口 5602;很可能它在 0.0.0.0 接口上关闭。

    另一种检查Logstash是否正常工作的方法是打开管道,使用其他一些本地服务向localhost上的5602端口发送一些数据;很可能该端口已在该界面上打开。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-24
      • 1970-01-01
      • 2017-08-06
      • 1970-01-01
      • 1970-01-01
      • 2016-08-19
      相关资源
      最近更新 更多