我正在尝试将时间戳(StartsAt的值)获取到任何警报的电子邮件正文中。 需要迭代警报,以从元素获取时间戳。 需要帮助,如何正确执行操作,以便在yaml文件的描述中收集所生成警报的确切时间戳?
答案 0 :(得分:0)
这是Prometheus文档中的一个示例(用于遍历所有警报):https://prometheus.io/docs/alerting/notification_examples/#ranging-over-all-received-alerts
复制并粘贴,然后将.Annotations.summary
替换为.startsAt
。即
"{{ range .Alerts }}{{ .StartsAt }}\n{{ end }}"
作为参考,Alertmanager通知模板可用的数据结构记录在这里:https://prometheus.io/docs/alerting/notifications/
答案 1 :(得分:0)
- alert: Alert
for: 5m
expr: ...
annotations:
timestamp: >
time: {{ with query "time()" }}{{ . | first | value | humanizeTimestamp }}{{ end }}
我没有迭代警报,而是通过上述方式解决了这个问题。 它有效,并且我可以在电子邮件正文中获得时间戳。干杯!!