什么是最好的&在不使用graphite,statsd的情况下,在我的环境中每秒计算logstash事件的简单方法?
谢谢!
答案 0 :(得分:0)
使用像marvel这样的东西,你可以查看这种数据 - 尽管它不是特定于logstash的 - 它通常都是所有索引。基础数据可通过_stats/indexing
网址获取,但您需要做一些工作才能使其可用。您需要轮询它,然后计算增量并除以轮询之间的间隔,得出每秒的速率。
例如:
curl -s http://localhost:9200/_stats/indexing
返回如下数据:
"_all" : {
"primaries" : {
"indexing" : {
"index_total" : 98241849,
"index_time_in_millis" : 23590766,
"index_current" : 1,
"delete_total" : 8,
"delete_time_in_millis" : 4,
"delete_current" : 0
}
},
"total" : {
"indexing" : {
"index_total" : 195892197,
"index_time_in_millis" : 46639803,
"index_current" : 2707,
"delete_total" : 16,
"delete_time_in_millis" : 14,
"delete_current" : 0
}
}
...
答案 1 :(得分:0)
logstash文档建议使用名为“metrics”的过滤器插件,以生成此信息。我个人使用输出插件“file”来将结果与管道分开
以下是the documentation提供的示例:
input {
generator {
type => "generated"
}
}
filter {
if [type] == "generated" {
metrics {
meter => "events"
add_tag => "metric"
}
}
}
output {
# only emit events with the 'metric' tag
if "metric" in [tags] {
stdout {
codec => line {
format => "rate: %{[events][rate_1m]}"
}
}
}
}