计算最近 5 分钟的文件总数
lscount
根据指定的过滤器返回 LogStash 索引中匹配文档的时间分配计数。
对此的一个简单用法是检查在 5 分钟内收到的文件总数,并在其低于某个阈值时发出警报。
针对此的 Bosun 警报可能如下所示:
alert logstash.docs {
$notes = This alerts if there hasn't been any logstash documents in the past 5 minutes
template = logstash.docs
$count_by_minute = lscount("logstash", "", "", "5m", "5m", "")
$count_graph = lscount("logstash", "", "", "1m", "60m", "")
$q = avg($count_by_minute)
crit = $q < 1
critNotification = default
}
template logstash.docs {
body = `{{template "header" .}}
{{.Graph .Alert.Vars.count_graph }}
{{template "def" .}}
{{template "computation" .}}`
subject = {{.Last.Status}}: Logstash docs per second: {{.Eval .Alert.Vars.q | printf "%.2f"}} in the past 5 minutes
}
这有两个 lscount 实例:
- $ count_by_minute = lscount(
logstash
,“”,“”,5m
,5m
,“”)- 这将计算最近 5 分钟内单个 5 分钟内的文档数。你将在返回的 seriesSet 中获得一个数据点,其中包含最近的
logstash
索引中最近 5 分钟的文档总数
- 这将计算最近 5 分钟内单个 5 分钟内的文档数。你将在返回的 seriesSet 中获得一个数据点,其中包含最近的
- $ count_graph = lscount(
logstash
,“”,“”,1m
,60m
,“”)- 这将计算最后一小时的文档数量,以 1 分钟为单位。返回的 seriesSet 中总共有 60 个数据点,在本例中用于图表。