有没有办法在
storage.tsdb.retention.size
上设置普罗米修斯警报,假设如果保留大小已达到,我想要发出警报。
--storage.tsdb.retention.size flag
设置为可以存储块的最大字节数,并且无法为此设置警报。支持设置保留大小的单位有:B、KB、MB、GB、TB、PB、EB。例如:“512MB”。根据 2 的幂,1KB 为 1024B。仅在服务器模式下使用此功能。
由于无法设置警报配置,您可以使用此标志
--storage.tsdb.retention.time:
来删除旧数据。通过此确保存储是免费的。该保留时间默认为 15d。支持的单位:y、w、d、h、m、s、ms。仅在服务器模式下使用此功能。
示例:
--storage.tsdb.retention.time=2h
- 2 小时后删除旧信息。这是支持的最低保留时间。
由于这是一个有效的请求,您可以从这个prometheus官方网站获取帮助/支持,或者在prometheus git社区下提出git问题。
如果您需要配置磁盘使用情况的 Prometheus 警报,请使用
node_filesystem_avail_bytes
标志。请参阅 Abraham Dhanyaraj Arumbaka 的如何在 Prometheus 中配置磁盘空间警报。
我不确定
storage.tsdb.retention.size
,但实现此目的的另一种方法是为用作存储的普罗米修斯持久卷创建警报规则。
如果磁盘使用率 > 90%,将会触发下面的示例:
- alert: HighDiskUsageOnPVC
expr: 100 * sum(kubelet_volume_stats_used_bytes) by (persistentvolumeclaim)/sum(kubelet_volume_stats_capacity_bytes) by (persistentvolumeclaim) > 90
for: 1m
labels:
severity: warning
annotations:
summary: High disk usage on Persistent Volume {{ $labels.persistentvolumeclaim }}
description: "More than 90% of the disk was used."