Metrics Queries
Metrics Queries 可以用来计算日志错误率或最近一段时间日志最多的前 N 个日志源.
LogQL 范围聚合查询函数
函数 |
说明 |
rate(log-range) |
计算每秒的条目数 |
count_over_time(log-range) |
计算给定范围内每个日志流的条目 |
bytes_rate(log-range) |
计算每个流每秒的字节数 |
bytes_over_time(log-range) |
计算给定范围内每个日志流使用的字节数 |
absent_over_time(log-range) |
如果传递给它的范围向量有任何元素,则返回一个空向量;如果传递给它的范围向量没有元素,则返回一个值为 1 的 1 元素向量。(absent_over_time对于在一段时间内不存在标签组合的时间序列和日志流时发出警报很有用。) |
示例
count_over_time({job="mysql"}[5m])
sum by (host) (rate({job="mysql"} |= "error" != "timeout" | json | duration > 10s [1m]))
内置聚合运算符
函数 |
说明 |
sum |
计算标签的总和 |
avg |
计算标签的平均值 |
min |
在标签上选择最小值 |
max |
选择最大标签 |
stddev |
计算标签的总体标准差 |
stdvar |
计算标签的总体标准方差 |
count |
计算向量中的元素个数 |
topk |
通过样本值选择最大的 k 个元素 |
bottomk |
通过样本值选择最小的 k 个元素 |
示例
topk(10,sum(rate({region="us-east1"}[5m])) by (name))
topk(10,sum(rate({namespace="ns1"}[5m])) by (pod))
sum(count_over_time({job="mysql"}[5m])) by (level)
avg(rate(({job="nginx"} |= "GET" | json | path="/home")[10s])) by (region)
参考链接