我目前正在 Grafana v8.0.3 上使用 Loki 作为数据源构建一些 Grafana 托管警报。
我有以下查询(A):
count_over_time({type="ErrorLogs",fullPipelineName="Test"} [20s])
Run Code Online (Sandbox Code Playgroud)
我有一个表达式 (B),当 A 的总和大于 0 且持续 10 秒时,它会触发警报。
警报似乎按预期触发,这基本上就像任何带有上述标签的日志进入 Loki 一样。但是,这些日志还附加了各种其他标签,我想在警报标签和注释中使用它们,例如它们有 和reason标签resolution。但我不知道如何访问这些值,或者是否可能。{{ $labels.reason }}我已经尝试了诸如、{{ reason }}、等的每一种排列{{ $reason }},但似乎没有任何效果。
如果我的想法完全错误,并且有人可以提供更好的查询或方法,最终我想做的是:
每当 Loki 中出现与某些标签匹配的日志时,就会创建警报并将其发送到 OpsGenie。日志进入后应立即(或尽快)创建警报,并且应为每个匹配的日志创建警报(这是我上面的查询的一个潜在问题,就好像两个匹配的日志在 20 秒的窗口内通过一样,警报只会触发一次,尽管在这种情况下这是意外行为)。我想将日志中的其他标签值(查询中未使用的标签)与警报一起传递给 OpsGenie。
任何帮助,将不胜感激。