2015-08-12 3 views
7

В шаблоне Bosun можно форматировать вывод оцениваемой переменной из предупреждения на менее десятичные точки точности?Как мне форматировать числа в шаблонах 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 секунд

ответ

3

В ВПЕРЕД шаблоны, которые можно использовать 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 
} 
+1

Вы также можете подключиться к printf, поэтому '{{.Eval .Alert.Vars.Foo | printf "% .2f"}} '. У нас также есть 2 функции форматирования чисел для обычных экземпляров, 'pct' и' bytes' –

+0

Спасибо, отлично работает! – Jon

Смежные вопросы