Мне нужно запросить сетевой трафик c потребление для моих модулей Kubernetes и графика временных рядов Prometheus на панели инструментов Grafana.
Основное выражение c будет таким:
sum by(pod) (rate(container_network_receive_bytes_total{}[1m]))
Он будет сообщать имена модулей, такие как "XXXX-57d84d77b7-px6g5, где XXXX - это имя развертывания, а остальное, если оно автоматически сгенерировано Kubernetes.
Теперь я хочу дать пользователям своей панели мониторинга фильтр для запроса при развертывании (который будет иметь по одному или в каждом модуле), поэтому я создал переменную и извлек туда имена развертываний с помощью запроса, поэтому у меня есть XXXX или ZZZZ, без автоматически сгенерированных пардов, nice и dandy, запрос теперь выглядит так:
sum by(pod) (rate(container_network_receive_bytes_total{pod_name=~"$deployment.*"}[1m]))
Я получаю свои результаты просто отлично, волхвы c в действии.
Теперь я включаю «многозначность» и «все значения» (с выражением «. *»), и мой запрос на экзамене становится
sum by(pod) (rate(container_network_receive_bytes_total{pod_name=~"XXX|YYY|ZZZ.*"}[1m]))
Очевидно, я получу только результаты ZZZ, так как остальные мои замена должна стать pod_name=~"XXX.*|YYY.*|ZZZ.*"
К настоящему времени, Я старался изо всех сил пытаться сделать все, что мог, но этот многозначный случай не работает для меня.
Есть альтернативные идеи, пожалуйста?