Скрипт, удаляющий в Grafana давно не заходивших пользователей, количество неактивных дней указывается в коде скрипта
Имеется реализация whitelist'a - список пользователей которых нельзя удалять, даже если время инактива выше заданного. Список также указывается в коде скрипта
Все вводные данные указаны в начале кода.
В случае, если скрипт отработал и удалил пользователей - он выгружает список(лог) удаленных пользователей. Путь к логам указывается в переменной "logs"
Также у скрипта 2 реализации :
-
Запуск скрипта без аргументов (python3 script.py) : Вывод пользователей-кандидатов на удаление.
-
Запуск скрипта с аргументом delete (python3 script.py delete): Удаляет неактивных пользователей и формирует список удаленных и сохраняет его.
Использующиеся библиотеки для скрипта находятся в файле requirements.txt
pip install -r requirements.txt.
Для работы скрипта с API grafana требуется API-ключ с правами админа и логин с паролем пользователя с правами grafana admin. Возможно создать кастомную роль с нужными правами и тем самым убрать из кода логин и пароль, и выдать API-ключу права с нужной ролью
Action Scope
users:read global.users:*
API ключ указывается в
headers: { "Authorization" : "Bearer <внеси сюда api ключ без кавычек>" }