如何使用logstash插件--logstash-input-http

时间:2016-05-25 10:43:32

标签: logstash

我正在探索Logstash以接收HTTP上的输入。我使用:

安装了http插件

插件安装logstash-input-http

安装成功。然后我尝试使用以下命令运行logstash:

logstash -e'input {http {port => 8900}}输出{stdout {codec => rubydebug}}“

但是logstash终止而没有给出任何错误。

不知道如何验证插件是否安装正确。以及如何利用http插件测试样本请求。

提前致谢!

2 个答案:

答案 0 :(得分:10)

我能够通过使用 .conf 文件而不是命令行参数来解决问题。

我创建了一个类似于下面的 http-pipeline.conf 文件:

input {
 http {
    host => "0.0.0.0"
    port => "8080"
  }
}

output {
    stdout {}
}

然后执行Logstash,如:

logstash -f http-pipeline.conf

使用POSTMAN工具,我使用示例字符串向Logstash发送了一个POST请求(http://localhost:8080),然后它出现在Logstash控制台上。

答案 1 :(得分:1)

如果您是在同一个域中执行,那么就足够了。

input {
    http {
    port => 5043
  }
}
output {
    file {
        path => "/log_streaming/my_app/app.log"
    }
}

如果要在网站的其他域上执行请求,则需要设置一些响应头

input {
    http {
    port => 5043
    response_headers => {
      "Access-Control-Allow-Origin" => "*"
      "Content-Type" => "text/plain"
      "Access-Control-Allow-Headers" => "Origin, X-Requested-With, Content-Type, 
       Accept"
    }
  }
}
output {
    file {
       path => "/log_streaming/my_app/app.log"
    }
}