停止容器的描述



我在规则中添加了一条规则。以便在容器停止时获得警报。
为了在每个停止的容器中获得带有"dev-23"后缀的警报,我使用了以下规则:

- alert: ContainerKilled
expr:  absent(container_start_time_seconds{name=~".*dev-23"})
for: 0m
labels:
severity: 'critical'
annotations:
summary: 'Container killed (instance {{ $labels.instance }})'
description: 'A container has disappearedn  VALUE = {{ $value }}n  LABELS: {{ $labels }}'

这确实有效,并且每当容器以"dev-23"结尾时,我都会收到警报。停止。但是,收到的警报的摘要和描述并没有告诉我停止的容器的名称是什么。在警报中,我得到了这样的描述:

description = A container has disappearedn VALUE = 1n LABELS: map[]
summary = Container killed (instance )

我应该使用什么来获得停止容器的确切名称?

问题是,用absent()函数创建的指标没有任何标签,其值始终是1(如果查询的指标不存在)

如果你只是想检查是否没有容器在运行,而没有任何关于其先前状态的详细信息,并且这些信息足以检测问题,则可以这样保留它,不带任何标签。

或者你可以使用UP指标,它有标签,但可能消失,例如当你有一个动态的服务发现。

一般来说,在UP{...}==0absent({...})上设置警报是一个很好的做法

最新更新