Я использую консула-экспортера, чтобы забрать здоровье и статус моих услуг в Прометей. Я хотел бы активировать оповещения, когда статус служб и узлов в Консуле имеет решающее значение, а затем использовать теги, извлеченные из Consul при маршрутизации этих предупреждений.
Я понимаю из этого обсуждения, что теги службы, скорее всего, будут экспортироваться как отдельная метрика, но я не уверен, как присоединиться к одной серии с другой, чтобы я мог использовать теги со статусом работоспособности.
Например, следующий запрос:
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.