如何在Prometheus Alertmanager中迭代警报?

如何在Prometheus Alertmanager中迭代警报?,prometheus,prometheus-alertmanager,Prometheus,Prometheus Alertmanager,我正在尝试将时间戳(StartsAt的值)放入任何警报的电子邮件正文中。 需要迭代警报,以从元素获取时间戳。 需要帮助,如何正确地做到这一点,以便在yaml文件的描述中收集生成的警报的准确时间戳 以下是普罗米修斯文档中的一个示例(关于如何迭代所有警报): 复制粘贴,并将.Annotations.summary替换为.startsAt。即 "{{ range .Alerts }}{{ .StartsAt }}\n{{ end }}" 此处记录了Alertmanager通知模板可用的数据结构,以供

我正在尝试将时间戳(StartsAt的值)放入任何警报的电子邮件正文中。 需要迭代警报,以从元素获取时间戳。
需要帮助,如何正确地做到这一点,以便在yaml文件的描述中收集生成的警报的准确时间戳

以下是普罗米修斯文档中的一个示例(关于如何迭代所有警报):

复制粘贴,并将
.Annotations.summary
替换为
.startsAt
。即

"{{ range .Alerts }}{{ .StartsAt }}\n{{ end }}"
此处记录了Alertmanager通知模板可用的数据结构,以供参考:

我没有迭代警报,而是用上面的方法解决了这个问题。
它可以工作,我可以在邮件正文中获得时间戳。干杯

谢谢你,Alin,我在'alertmanager.yml'中添加了text:line```文本:{{range.Alerts}}{{.startsAt}}}\n{{end}}}````。。。警报管理器日志中仍然存在错误。级别=错误ts=2019-02-05T09:54:17.691429576Z调用者=调度。转到:280组件=调度程序msg=“通知警报失败”num\u警报=1 err=“取消通知重试”电子邮件\“由于不可恢复的错误:执行电子邮件文本模板:模板::1:22:执行\“\”at:无法评估类型模板中的字段开始。警报”如何将其用于电子邮件警报?抱歉,我查看了错误的文档(JSON格式与通知模板参考)。似乎您需要在
.StartsAt
中使用大写的
S
。用一个模板更新了我的答案,该模板应该可以正常工作(尽管还没有测试)。谢谢您,Alin,使用后,行文本:{{range.Alerts}{{.StartsAt}\n{end},错误消失了。现在尝试在电子邮件正文中显示该时间。试图在标签或注释(摘要、描述等)下获取时间价值,仍然很难将Alerts.StartsAt或Alerts.StartsAt或.StartsAt或alert.StartsAt或alert.StartsAt获取到通知的电子邮件正文中。亲爱的@Chintaman,char'>'在时间戳中作为值是什么意思?我在这里找到了答案
- alert: Alert
  for: 5m
  expr: ...
  annotations:
    timestamp: >
      time: {{ with query "time()" }}{{ . | first | value | humanizeTimestamp }}{{ end }}