1

我在工作中将 Grafana 用于一些仪表板,然后为此添加了一些警报。对于那些不知道的人:警报通过电子邮件发送带有 html 模板的 json,以显示我想查看的一些指标。

问题是警报有点坏了,在我的 json 中添加了一些零,当我想要发送一个像 1422 这样的数字时,我收到 1422.000,当我想发送 23 时,我收到 23.000,这可能会使收到我的电子邮件的人感到困惑。

我尝试了一切可能的方法来从 grafana 更改它,但我做不到,所以我想尝试一些不同的东西。

我为这些警报创建了电子邮件模板,数据显示在如下表格中:

{{if ne .State "ok" }}
<table class="row" style="border-spacing: 0; border-collapse: collapse; vertical-align: top; text-align: left; width: 100%; position: relative; display: block; padding: 0px;">
  <tr style="vertical-align: top; padding: 0;" align="left">
    <td class="last" style="word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0 0px 0 0;" align="left" valign="top">
      <center style="width: 100%; min-width: 580px;">
      <table class="twelve columns" style="border-spacing: 0; border-collapse: collapse; vertical-align: top; text-align: left; width: 580px; margin: 0 auto; padding: 0;">
        <tr style="vertical-align: top; padding: 0;" align="left">
          <td class="six" style="word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; width: 50%; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0px 0px 10px;" align="left" valign="top">
            <h5 style="font-weight: bold; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; line-height: 1.3; word-break: normal; font-size: 18px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0;" align="left">Metric name</h5>
          </td>
          <td class="six last" style="width: 100px; word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0px 0px 10px;" align="right" valign="top">
            <h5 style="font-weight: bold; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; line-height: 1.3; word-break: normal; font-size: 18px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0;" align="right">Value</h5>
          </td>
        </tr>
        {{range .EvalMatches}}
        <tr style="vertical-align: top; padding: 0;" align="left">
          <td class="six" style="word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; width: 50%; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0px 0px 10px;" align="left" valign="top">
            <h5 class="data" style="color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; word-break: normal; font-size: 16px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0;" align="left">{{.Metric}}</h5>
          </td>
          <td class="six last" style="width: 100px; word-break: break-word; -webkit-hyphens: auto; -moz-hyphens: auto; hyphens: auto; border-collapse: collapse !important; color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 19px; font-size: 14px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0px 0px 10px;" align="right" valign="top">
            <h5 class="data" style="color: #222222; font-family: 'Open Sans', 'Helvetica Neue', 'Helvetica', Helvetica, Arial, sans-serif; font-weight: normal; line-height: 1.3; word-break: normal; font-size: 16px; -webkit-font-smoothing: antialiased; -webkit-text-size-adjust: none; margin: 0; padding: 0;" align="right">{{.Value}}</h5>
          
          </td>
        
        </tr>
        {{end}}
      </table>
      </center>
    </td>
  </tr>
</table>

我想将 {{.value}} 中的值更改为不带零的数字。

尝试使用 {{.value | number: "0-0"}} 不起作用,尝试使用 {{.value.tofixed()}} 并且不起作用。

也许是一些脚本,但不知道该怎么做。

附加数据:

  • 无法更改 Json

来自警报触发的 json:

{
  "firing": true,
  "state": "pending",
  "conditionEvals": "true = true",
  "timeMs": "-363.790ms",
  "matches": [
    {
      "metric": "44",
      "value": 681
    }
  "logs": [
    {
      "message": "Condition[0]: Query",
      "data": {
        "from": 1627055525472,
        "queries": [
        
    {
      "message": "Condition[0]: Eval: true, Metric: 44, Value: 681.000",
      "data": null
    }
  ]
}

我不知道为什么数据会改变

收到这封电子邮件 https://imgur.com/3ePQJNp

任何帮助都会很好,谢谢

4

0 回答 0