Запускать оповещение только тогда, когда ярлык соответствует ярлыку в другой метрике

Так что я не люблю promQL.:)

Я читал о том, что возможно или нет, но это становится довольно сложно, и я не уверен, возможно ли это вообще (то, что я хочу).

Итак, я использую ресничку. Ресничка имеет метрику, называемуюcilium_drop_count_total. Это указывает на наличие незаконного доступа к ресурсу ИЛИ наличие проблемы с политикой. Теперь это проблематично, потому что мы используем настоящие политики ресничек для запрета доступа к определенным ресурсам, и счетчик увеличивается, даже если доступ идет изнутри кластера.

Теперь у нас есть такое предупреждение:

irate(cilium_drop_count_total{reason="Policy denied"}[5m]) > 0.05

Это все нормально, однако мне нужно отфильтровать те, которые являются внутренними доступами. У этого показателя есть поле под названиемinstance который содержит IP-адрес отправителя.

Есть еще одна метрика - cilium_ip_addresses. Эта метрика содержит IP-адрес на основе метки модуля, который также имеет другая метрика... Теперь.:)

Я хотел бы изменить приведенное выше предупреждение, чтобы оно срабатывало только в том случае, если IP в поле экземпляра НЕ является IP-адресом модуля, который соответствует значению модуля в другой метрике.:)

В основном ->

Пример общего количества капель ресничек (за исключением некоторых других полей, которые не представляют интереса):

| pod         | instance      |
|-------------|---------------|
| cilium-1234 | 10.1.1.1:9090 |

Примеры ip-адресов ресничек (исключая некоторые другие поля, которые не представляют интереса):

| pod         | instance      |
|-------------|---------------|
| cilium-1234 | 10.1.1.1:9090 |

Надеюсь, в этом есть смысл.

Также приветствуются любые указатели на то, что читать и где, чтобы заставить это работать.

Благодарность!

0 ответов

Другие вопросы по тегам