Затем, под легкий и приятный хмель, приходит мысль "а чойта мы давно код не писали" и желанием написать свой велосипед.
❕Я в курсе про экспортёры и в частности https://github.com/webdevops/helm-charts
Задача: мониторить протухшесть аппрегистрейшн в ажуре.
Сложности: тенантов десятки и в каждом из них десятки/сотни сабскрипшнов.
Идея:
- сделать единый мультитенанси аппрегистрейшн
- напилить скриптом по нужным нам тенантам(а вот так ещё усложним, что нужно часть, а не все) сервиспринципл
- раскинуть всем сервиспринципал права на сбор метрик по протухшести кердов и не более
- напилить приложение, которое при помощи кредов подключается ко всем тенантам и их сабскрипшнам
- приложение умеет отдавать стандартные метрики прометеус и отдавать на http эндпойнт
Реализация:
- первичная инициация AR + SP + Permissions (я не стал писать код автоматизации, достаточно скрипта в ридми, это же один раз)
https://gist.github.com/kruchkov-alexandr/bd0bd7289d984751f3a92e7f4981c286
- Dockerfile с массивным azure cli и реквайрментс для питона
https://gist.github.com/kruchkov-alexandr/25817a9d2ed0c5daa713cedb1e3da0a1
- сам питон скрипт
https://gist.github.com/kruchkov-alexandr/8c41c33aff606463a17315447e62c25f
- можем смело отслеживать алёрты типа
app_credential_expiry_days < 15
Дальше пихаем его куда угодно, хоть на виртуальную машину, хоть в кубернетисы и забираем метрики на 8000 порту.
Раз в 30 минут по циклу опрашивает срок жизни всех токенов всех сабскрипшнов и тенантов, куда есть доступ.
Затем этим метрики забирает виктория метрикс.
Практической ценности этот код не имеет, лишь тренировка "давно мы ничего не писали и, судя по коду, лучше и не надо".