gpt4 book ai didi

prometheus 在警报注释中使用 html 内容并在电子邮件模板中使用它

转载 作者:行者123 更新时间:2023-12-03 01:19:48 25 4
gpt4 key购买 nike

所以我们的警报看起来像

ALERT alert_name
condition
FOR 30s
LABELS {some labels}
ANNOTATIONS {
header = "<b> data is {{ $labels.label_name }} </b>"
}

电子邮件模板看起来像。

{{ define "our_default_template" }}
{{range .Alerts}}
{{ .Annotations.header }}
{{ end }}
{{ end }}

alertmanager.yml 看起来像

receivers:
- name: 'email-sender'
email_configs:
- to: "email address"
send_resolved: true
html: '{{ template "our_default_template" . }}'

templates:
- '<path to templates>/*tmpl'

我们收到电子邮件,但内容不正确。

我们在邮件中收到的内容:

<b> data is label_value </b>

我们想要什么:

数据是label_value

所以我们想要的是html输出。

有人可以帮忙吗?

最佳答案

首先,我建议不要在 Prometheus 端执行 HTML,因为随着系统的发展,这可能会导致维护问题。

看起来 Go 的 HTML 自动转义就是这里发生的情况,因此您需要一种方法来告诉 Go 的模板语言这是安全的。 Alertmanager没有这个功能(Prometheus有),所以我提交了https://github.com/prometheus/alertmanager/issues/314为此。

一旦修复,您将能够执行{{ .Annotations.header | safeHtml }}

关于prometheus 在警报注释中使用 html 内容并在电子邮件模板中使用它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36735479/

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