jenkins – налаштування моніторингу з використанням плагіну prometheus-metrics

Опис

Завдання — потрібно налаштувати моніторинг jenkins, а саме цікавить статус нод, оскільки вихід ноди з онлайну буде зупиняти виконання завдань. Інші метрики також будуть важливими(jenkins status, jenkins jobs).

Рішення —  оскільки основною системою моніторингу є prometheus, скористаємось плагіном jenkins prometheus. Детальніше про метрики читаємо тут.

Для реалізації нам знадобиться:

  • Встановлена та налаштована Grafana (з підключеним datasource prometheus);
  • Встановлений та налаштований Prometheus;
  • Звісно сам Jenkins на який будемо встановлювати плагін;

План виконання:

  • Встановлення плагіну на Jenkins;
  • Перевірки отримання метрик в браузері або за допомогою curl;
  • Додавання нового job в prometheus.yml на сервері прометеус;
  • Створення борди в Grafana;

Встановлення плагіну

Переходимо в Jenkins > Manage Jenkins  > Manage Plugins > Available Plugins  в пошуковому полі вводимо prometheus, завантажуємо плагін, після завантаження jenkins перезапуститься:

 

Коли плагін встановлено метрики будуть доступні за посиланням https://JENKINS_URL/prometheus/ або http://JENKINS_IP:8080/prometheus/:

 

Налаштування плагіну доступне в налаштуваннях Jenkins > Manage Jenkins > Configure System > Prometheus:

Налаштування Prometheus

На сервері прометеус додаємо в конфігураційний файл prometheus.yml наступні налаштування:

- job_name: jenkins
  metrics_path: '/prometheus/'
  scrape_interval: 5s
  static_configs:
  - targets:
    - "<JENKINS_URL_or_JENKINS_IP:PORT>"

Перевіряємо валідність конфігураційного файлу:

# promtool check config prometheus.yml
Checking prometheus.yml
 SUCCESS: prometheus.yml is valid prometheus config file syntax

Перезапускаємо prometheus.

Далі відкриємо UI прометеуса та перевіримо підключення в Status > Targets:

Jenkins доступний, можемо переходити до створення борди графана.

Створення dashboard в Grafana

Пошукавши та знайшовши декілька цікавих Dasnboards, в Marketplace взяв за основу один з доступних, переробив під потреби та видалив зайве, в кінцевому результаті маємо наступне:

На цьому все. Переглянути доступні борди для Jenkins можемо тут, а завантажити для імпорту створений мною дашборд тицяємо сюди.

Корисні посилання

Click to rate this post!
[Total: 0 Average: 0]