7

在 Bosun 模板中,是否可以将评估变量的输出从警报格式化为更少的小数位精度?

简单示例:

template test_template{
    subject = test
    body = {{.Eval .Alert.Vars.average_runtime}} seconds
}
alert test_alert{
    template test_template
    $average_runtime = avg(q("avg:metric_name", "24h",""))
    crit = $average_runtime > 150.0
}

结果是

190.71165892385326 秒

在模板正文中,这是不必要的精确。理想情况下,我希望看到:

190.71 秒

4

1 回答 1

3

在 go 模板中,您可以使用printf您想要的任何格式字符串来格式化输出。这个片段对我有用:

template test_template{
  subject = test
  body = {{printf "%.3f" (.Eval .Alert.Vars.average_runtime)}} seconds
}

alert test_alert{
  template = test_template
  $average_runtime = 1234.5678999
  crit = 1
}
于 2015-08-12T18:22:56.607 回答