我已设置HTTP节拍,该节拍轮询一个端点并将数据存储到logstash。我可以使用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节拍每5秒不断轮询一次相同的数据。谁能提出在ELK中实现增量提要提取的各种替代方案?
我查看了logstash的HTTP_POLLER输入-不确定是否可以帮忙。
注意:我是ELK的新手
答案 0 :(得分:0)
只是一个建议,生成用于响应的哈希,并每次检查哈希是否与先前响应相比有所变化,而不是仅存储哈希。 (还要在存储的文档中添加时间戳)。