我正在尝试设置 Bosun 和 Graphite 以警告错误率,这些错误率是从两个不同的来源编译的:API 流量和 Web 应用程序流量。这是我现在拥有的:
$web_rate = avg(graphite("sumSeries(collectd.*.statsd.web.*.rate)", "5m", "", ""))
$api_rate = avg(graphite("sumSeries(collectd.*.statsd.api.*.rate)", "5m", "", ""))
$web_error_rate = avg(graphite("sumSeries(collectd.*.statsd.web.*.errorRate)", "5m", "", ""))
$api_error_rate = avg(graphite("sumSeries(collectd.*.statsd.api.*.errorRate)", "5m", "", ""))
$total_rate = ungroup($web_rate) + ungroup($api_rate)
$total_error_rate = ungroup($web_error_rate) + ungroup(api_error_rate)
$error_ratio = $total_error_rate / $total_rate
我们的计数器在非零之前不存在于石墨中,因此对于我们的预生产环境,上述失败并出现以下情况:
ungroup: requires exactly one group
当我在表达式浏览器中查看时,graphite(...)
调用按预期返回一个空集,但结果不avg(graphite(...))
显示任何内容。
有谁知道如何处理这个?