4

したがって、アラートは次のようになります

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 出力です。

誰かがこれを手伝ってくれますか?

4

1 に答える 1

4

まず、システムが進化するにつれてメンテナンスの問題が発生する可能性があるため、Prometheus 側で HTML を使用しないことをお勧めします。

Go の HTML の自動エスケープがここで起こっているように見えるので、Go のテンプレート言語にそれが安全であることを伝える方法が必要です。alertmanager にはその機能がありません (Prometheus にはあります)

それが修正されたら、あなたはできるようになります{{ .Annotations.header | safeHtml }}

于 2016-04-20T10:55:24.243 に答える