Тестирование доступности Jenkins сервисов

Коллеги, в нашей работе используем некоторое количество Jenkins серверов (как докер контейнеры под оркестрацией Rancher) . Прилетело тут задачка , попробовать “запилить нечто”, что могло бы в он-лайне показывать состояние доступности данных Jenkins сервисов + хотелось бы придумать какой-либо smoke тест , который бы показывал , что тот или иной Jenkins “живой” и на нем успешно можно запускать JOB’ы.
В первом приближении мы постарались выделить “узкие места” :

  • “периодические утечки памяти в JVM”, из-за которых через некоторый период времени Jenkins требуется перезапусти;
  • некоторое кол-во плагинов, которые редко , но иногда могут приводить в “проблеме” и "стопорить весь Jenkins;
    Собственно больше на первый раз придумать не получилось.
    За период общения с указанной выше инфраструктурой - кроме как проблем с СХД - всё более или мене работает стабильно.
    Посему вопрос - решал ли кто-то вопросы “мониторинга доступности” Jenkins сервисов?
    Как по вашему , что ещё можно было бы “проверить” , чтобы проверка могла показать, что Jenkins сервис живой и готовый нормально работать (потому как тупой запрос на порт 80 - с успешным ответом не всегда показатель живости самого Jenkins’а)?

Сам Дженкинс же не важен, важна какая-нить настроенная задача. У Дженкинса есть апи.
Советую ознакомиться с урл задачи + /api/ или урл задачи + /api/json?pretty=true
Там много чего полезного можно получить/сделать, и проверить что оно работает более предметно.
Например получить такое /lastBuild/api/json?pretty=true , тоже много полезного.

1 лайк

В том то и дело, что как раз задача ставится “из серии”, важен Jenkins, а не конкретная JOB’а в нем :0)

Попробуйте мониторить сервер Jenkins каким-нибудь средством мониторинга, например, Zabbix

Идея в целом хороша (мы о ней пока думаем) , но какие именно параметры по вашему надо мониторить?