首页 > 解决方案 > Logstash Http 输入插件

问题描述

我希望实现一个 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-serviceselasticsearchlogstashelastic-stackelk

解决方案


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

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

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


推荐阅读