Скрипт для мониторинга сроков действия токенов GitLab в формате Prometheus.
Скрипт собирает информацию о:
- Персональных токенах доступа
- Проектных токенах
- Групповых токенах
- Времени выполнения скрипта
Результаты экспортируются в формате, пригодном для сбора метрик Prometheus.
- Поддержка всех типов токенов GitLab
- Автоматическая пагинация запросов
- Определение владельцев токенов (пользователь/проект/группа)
- Расчет:
- Дней до истечения срока действия
- Времени с последнего использования
- Длительности выполнения скрипта
- Фильтрация некорректных записей
- Обработка бессрочных токенов (expiry_days=9999)
- Bash 4.0+
curl
jq
- Доступ к GitLab API (версия 13.0+)
# Установите переменные окружения
export GITLAB_URL="https://gitlab.example.com"
export API_TOKEN="your-access-token"
# Запуск скрипта
./gitlab_token_exporter.sh
# Пример вывода в Prometheus:
# gitlab_token_expiry_days{name="ci-bot-token", type="project", owner="android-app", last_used="2023-10-25"} 87
# gitlab_token_script_time{name="gitlab_token_script_time", type="script"} 12