Loki Ruler不向alert Manager发送警报



我有loki + grafana + prometheus运行在EKS使用官方的helm图表。

我想根据错误日志消息发送警报,为此我正在尝试使用loki标尺。

下面是标尺配置

ruler:
storage:
type: local
local:
directory: /rules
rule_path: /tmp
alertmanager_url: http://prometheus-alertmanager.prometheus.svc.cluster.local
ring:
kvstore:
store: inmemory
enable_api: true
enable_alertmanager_v2: true

和我有以下警报规则/组

alerting_groups:
- name: testrule
interval: 60s
rules:
- alert: SnowplowError
expr: sum(count_over_time({namespace="snowplow",app="stream-collector"}|="INFO" [30m]))>0
for: 1m
labels:
source: loki
target: easystack
annotations:
summary: High request latency
message: '{{ $labels.clustername }} alert: {{ $labels.message }}.'

部署成功,但我没有收到任何电子邮件提醒。pod的日志显示查询正在执行。

level=info ts=2022-05-04T18:07:18.823133872Z caller=metrics.go:92 org_id=fake latency=fast query="(sum(count_over_time({namespace="snowplow", app="stream-collector"} |= "INFO"[30m])) > 0)" query_type=metric range_type=instant length=0s step=0s duration=47.290222ms status=200 limit=0 returned_lines=0 throughput=0B total_bytes=0B

,我没有得到任何警告或任何错误。它只是运行,没有错误,没有警报。我怀疑查询中的限制0可能是罪魁祸首,但我不知道如何改变这个限制。

如果有人能帮忙,会很高兴。我已经被困在这里一个星期了。

尝试将enable_alertmanager_v2: true添加到Loki配置

因为loki pod会发送只读文件系统错误

最新更新