gpt4 book ai didi

grafana - Grafana消息模板中的metric名称如何获取?

转载 作者:行者123 更新时间:2023-12-05 04:28:22 25 4
gpt4 key购买 nike

我正在设置 Grafana v8.3.4 警报。如果我使用如下模板

{{ define "test_message" }}

{{ range .Alerts.Firing }}
{{ print .ValueString }}
{{ end }}

{{ end }}

enter image description here

并使用此模板和预定义消息测试电子邮件通知:

enter image description here

我得到:

[ metric='foo' labels={instance=bar} value=10 ]

在上面的示例中只有一个指标,但可以有更多。

问题:有什么方法可以遍历返回的指标并将其显示为电子邮件中的表格吗?

它看起来像:

<表类="s-表"><头>指标名称值(value)<正文>富10x22是7

...

[2022 年 6 月 24 日更新]@Luis Almeida 的回答让我走上了正确的道路,所以我将其标记为正确答案,即使我的最终解决方案有点不同。

这里有几个其他链接也有帮助:

How to template annotations and labels - Grafana's Official Documentatio n Unified Alerting Grafana 8 | Prometheus | Victoria | Telegraf | Notifications | Alert Templating

最佳答案

所以您基本上拥有多个警报(其中一个具有由 [ metric='foo' labels={instance=bar} value=10 ] 定义的指标)并且您想要提取所有这会在表格中发出警报?

我正在使用带有中值函数的经典条件,顺便说一下,为了移除最终的异常值。如果你想访问值:

  • 您应该放置的第一个条件{{ $values.B0.Value }}
  • 你应该输入的第二个条件{{ $values.B1.Value }}
  • 您应该放置的第 n 个条件 {{ $values.Bn.Value }} classic condition如果你想访问一个普通的查询值,我认为变量 {{ $values.A.Value }} 其中 A 是查询的名称,但是由于 grafana 文档低于 9 的版本消失了 我无法确认

您可以使用注释来提供更具可读性的指标名称,如上图所示。

我相信 html 标签被转义了,因为 html 标签作为文本出现在模板上。因此,现在您有了具有给定值的注释,您必须编辑位于/usr/share/grafana/public/emails/ng_alert_notification.html

警告:请备份此文件以防出现问题

在下图中,注释是如何在电子邮件中呈现的,现在您只需将该代码替换为呈现表格的一些代码。我相信现在自己做起来相当简单。 (我没有把代码放在这里,因为我对 golang 不太满意)。如果你想要不同的东西,你可以分析这个文件并根据需要进行更改。 ng_alert_notification注意:要使在 ng_alert_notification.html 中所做的更改生效,您必须重新启动 grafana 服务器

Good looking HTML and CSS example

注意:我使用的是 v8.5.2

关于grafana - Grafana消息模板中的metric名称如何获取?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72637948/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com