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

How to use logstash plugin - logstash-input-http

我正在探索 Logstash 以接收 HTTP 上的输入。我已经使用以下方法安装了 http 插件:

插件安装 logstash-input-http

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

logstash -e 'input {http {port => 8900}} output {stdout{codec => rubydebug}}'

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

不知道如何验证插件是否安装正确。以及如何使用 http 插件来测试示例请求。

提前致谢!

我能够通过使用 .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 控制台上。

如果您从同一个域执行以下内容就足够了。

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

如果你想在网站的不同域上执行请求,那么你需要设置一些响应 headers

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"
    }
}