1

是否有一个简单的测试来确保我有正确的 influxdb 通信?

我的配置看起来像这样

influxHost = influxhost:8086
smtpHost = mail:25
emailFrom = user@domain.com


template cpu {
    body = `Alert definition:
        Name: {{.Alert.Name}}
Crit: {{.Alert.Crit}}

Tags:{{range $k, $v := .Tags}}
     {{$k}}: {{$v}}{{end}}
     `
         subject = cpu idle at {{.Alert.Vars.q | .E}} on {{.Tags.host}}
}



notification default {
    email = user@domain.com
        next = default
        timeout = 1h
}

在我正在做的 bosun expression evulator 上

influx("db",'''SELECT mean(usage_idle) FROM "cpu"  group by host''',"10m","","2m")

我不断得到

influx: did not get a valid result from InfluxDB
4

1 回答 1

2

确保您拥有正确的流入数据库,并且在指定的时间范围内有数据。我通常首先从管理站点尝试:

涌入数据库管理站点

然后将查询插入到 influx(...) 表达式中

bosun 流入表达

Bosun 会根据需要将时间条件添加到 WHERE 和 GROUP BY 子句中,因此生成的完整 influxql 应该是这样的:

SELECT mean(usage_idle) FROM cpu WHERE time >= '2016-12-07 20:00:00' AND time <= '2016-12-07 20:10:00' GROUP BY host,time(2m)

如果它仍然不起作用,请尝试SELECT * FROM cpu在管理页面上查看表中的数据(telegraf 已经进行了一些更改)。另请注意,在最近的版本中,您可能希望添加cpu = 'cpu-total'到 WHERE 子句以获得总体平均值。

于 2016-12-07T20:44:03.803 回答