@EladAmit - да, отлично! Благодарю. Я изменил пост, чтобы отразить ваше улучшение.
ользуюконсул экспортер глотать здоровье и статус моих услуг в Прометей. Я хотел бы запускать оповещения, когда состояние сервисов и узлов в Консуле является критическим, а затем использовать теги, извлеченные из Консула, при маршрутизации этих оповещений.
Я понимаю изэто обсуждение эти сервисные теги, вероятно, будут экспортированы как отдельная метрика, но я не уверен, как объединить одну серию с другой, чтобы использовать теги с состоянием работоспособности.
Например, следующий запрос:
max(consul_health_service_status{status="critical"}) by (service_name, status,node) == 1
может вернуться:
{node="app-server-02",service_name="app-server",status="critical"} 1
но я также хотел бы 'env' из этой серии:
consul_service_tags{node="app-server-02",service_name="app-server",env="prod"} 1
чтобы соединить узел и имя_службы, чтобы передать следующее в Alertmanager как одну серию:
{node="app-server-02",service_name="app-server",status="critical",env="prod"} 1
Я мог тогда соответствовать 'env' в моей маршрутизации.
Есть какой-либо способ сделать это? Мне не кажется, что какие-либо операции или функции дают мне возможность группировать или объединять таким образом. Насколько я вижу, теги уже должны быть метками в метрике consul_health_service_status.