15.Prometheus 2.0: Новый формат Alert rules

Thank you for reading this post, don't forget to subscribe!

Как при­зна­ют­ся сами разработчики:

Alerting and recording rules are one of the critical features of Prometheus

С этим функ­ци­о­на­лом свя­за­но несколь­ко узких мест / багов, а именно:

  • все пра­ви­ла (rules) запус­ка­ют­ся с одним и тем же интервалом;
  • все пра­ви­ла выпол­ня­ют­ся одновременно;
  • напи­са­ние пра­вил тре­бу­ет от поль­зо­ва­те­ля зна­ния еще одно­го DSL.

Пере­вод rules-фай­лов в .YML-фор­мат — часть улуч­ше­ний, направ­лен­ных на устра­не­ние озву­чен­ных проблем.

Рас­смот­рим изме­не­ние син­так­си­са на при­ме­ре фай­ла containers.rules, ранее он выгля­дел так:

[codesyntax lang="php"]

[/codesyntax]

В новом вари­ан­те файл дол­жен назы­вать­ся containers.rules.yml, а содер­жи­мое его будет следующим:

[codesyntax lang="php"]

[/codesyntax]

Пере­пи­сы­вать файл(ы) вруч­ную — не вари­ант, поэто­му вос­поль­зу­ем­ся ути­ли­той promtool для авто­ма­ти­че­ско­го обнов­ле­ния всех фай­лов пра­вил. Сна­ча­ла полу­чим послед­нюю вер­сию дан­ной ути­ли­ты (2.0):

Пере­хо­дим в ката­лог с ути­ли­той и запус­ка­ем про­цесс обнов­ле­ния для всех rules-фай­лов:

После успеш­но­го обнов­ле­ния фай­лов изме­нят­ся так­же из име­на, поэто­му в кон­фи­гу­ра­ци­он­ном фай­ле prometheus.yml так­же меня­ем соот­вет­ству­ю­щие стро­ки на:

[codesyntax lang="php"]

[/codesyntax]

После при­ме­не­ния изме­не­ний не забы­ва­ем пере­за­пу­стить prometheus.