Logstash新手求助:基础HTTP GET请求配置运行报错
解决Logstash发起HTTP GET请求的配置问题
嘿,兄弟,你这是踩了Logstash http输入插件的一个经典小坑啦!
问题根源
你用的http输入插件,作用是让Logstash作为HTTP服务端,接收外部发来的请求,而不是主动向外部API发起GET请求。这就是你启动时报错的核心原因——这个插件根本不是干这个活的!
正确解决方案:用http_poller插件
要主动拉取API数据,你需要用专门的http_poller输入插件,它就是用来定时向指定API发起请求并获取数据的。修改你的api.conf配置如下:
input { http_poller { urls => { # 给这个请求起个名字,方便后续识别 jsonplaceholder_albums => "https://jsonplaceholder.typicode.com/albums" } # 设置请求间隔,比如每分钟拉取一次(你也可以改成更短/更长的时间) schedule => { cron => "* * * * *" } # 指定返回数据的格式为JSON codec => "json" # 可选:设置请求超时时间,避免卡住 request_timeout => 10 } } output { stdout { codec => rubydebug } }
执行命令
和你之前的命令一样,在命令提示符里运行:
C:\Users\username\Desktop\logstash-6.2.2>.\bin\logstash.bat -f .\api.conf
额外提示
- 如果你需要一次性拉取而不是定时拉取,可以把
schedule改成{ every => "1m" },启动后等第一次拉取完成就停掉Logstash即可。 - 如果你的网络需要代理,记得在
http_poller里添加proxy => "http://your-proxy:port"配置项。
内容的提问来源于stack exchange,提问作者Lemec Cinq
相关产品推荐
相关产品推荐

