我已经设置了轮询端点并将数据存储到logstash的HTTP beat。我可以使用 Kibana 上的特定索引查看事件。间隔已设置为每 5 秒一次。
但是,我希望 ELK 堆栈捕获随时间变化的数据(增量馈送),而不是每 5 秒内的所有数据。有什么办法吗?
我的 HTTPbeat.yml 看起来像这样:
httpbeat:
hosts:
# Each - Host endpoints to call. Below are the host endpoint specific configurations
-
# Optional cron expression, defines when to poll the host endpoint.
# Default is every 1 minute.
schedule: '@every 5s'
# The URL endpoint to call by Httpbeat
url: #sample end point
method: get
basic_auth:
# Basic authentication username
username:
# Basic authentication password
password:
output_format: json
#----------------------------- Logstash output --------------------------------
output.logstash:
# The Logstash hosts
hosts: ["localhost: 5400"]
logstash.conf 如下:
input {
# Accept input from the console.
beats {
port => "5400"
}
}
filter {
# Add filter here. This sample has a blank filter.
}
output {
# Output to the console.
stdout {
codec => "json"
}
elasticsearch {
hosts => [ "localhost:9200" ]
index => "test_jira2_idx"
}
}
如果我通过邮递员访问端点,则 JSON 正文大小约为 1.08 MB。但是在监控 Kibana 索引:test_jira2_idx 时,1 小时就已经是 340MB 并且还在不断增加。
这可能是由于 HTTP beat 每 5 秒不断轮询相同的数据。任何人都可以建议在 ELK 中实施增量提要提取的各种替代方案吗?
我查看了 logstash 的 HTTP_POLLER 输入 - 不确定这是否有帮助。
注意:我对 ELK 很陌生