Підключення JMeter до Prometheus і Grafana для отримання інформації в режимі реального часу

watch 57s
views 2

14:26, 25.08.2026

Зміст статті
arrow

  • Вступний огляд
  • Що таке Prometheus?
  • Що таке Grafana?
  • Що таке плагін JMeter-Prometheus?
  • Необхідні умови
  • Встановлення плагіна JMeter-Prometheus
  • Встановлення Prometheus
  • Встановлення Grafana
  • Налаштування плагіна JMeter-Prometheus у JMeter
  • Налаштування Prometheus
  • Запуск Prometheus
  • Виконання тесту в JMeter
  • Перегляд метрик JMeter у Prometheus
  • Де знаходиться Grafana?
  • Перевірка джерела даних Prometheus у Grafana
  • Створення інформаційної панелі Grafana
  • Приклад інформаційної панелі Grafana
  • Висновок

Apache JMeter — це популярний інструмент для навантажувального тестування та моніторингу продуктивності. Він дає змогу користувачам імітувати високі навантаження та аналізувати поведінку системи в режимі реального часу. Однак його вбудована функція формування звітів може виявитися недостатньою, коли потрібний безперервний моніторинг у реальному часі. 

У цьому випадку можна скористатися допоміжними інструментами, такими як Prometheus і Grafana. Вони дозволяють динамічно візуалізувати показники продуктивності під час виконання тестів.

У цій статті ми розглянемо, як інтегрувати JMeter із Prometheus та Grafana для отримання надійної аналітики продуктивності в режимі реального часу.

Вступний огляд

JMeter надає чудові можливості для виконання тестів, але його інтеграція з Prometheus та Grafana відкриває нові можливості в плані спостережуваності. Prometheus збирає та зберігає показники, а Grafana візуалізує їх за допомогою динамічних інформаційних панелей. Підключивши JMeter до цього стеку за допомогою плагіна JMeter-Prometheus, тестувальники можуть переглядати показники в режимі реального часу, виявляти вузькі місця та вживати негайних заходів.

Що таке Prometheus?

Prometheus — це набір інструментів з відкритим кодом для моніторингу систем та оповіщення, спочатку розроблений компанією SoundCloud. Він збирає та зберігає метрики у вигляді часових рядів, надає гнучку мову запитів (PromQL) та може надсилати сповіщення за заданими умовами. Prometheus отримує (зчитує) метрики з кінцевих точок, відкритих цільовими додатками та сервісами, що робить його ідеальним для моніторингу динамічних середовищ, таких як мікросервіси.

Що таке Grafana?

Grafana — це потужна платформа візуалізації та аналітики, яка працює з різноманітними джерелами даних, зокрема з Prometheus. За допомогою Grafana користувачі можуть створювати інтерактивні та настроювані інформаційні панелі, що дають змогу моніторити ключові показники в режимі реального часу, налаштовувати сповіщення та ділитися інформаційними панелями між командами. Багата екосистема плагінів Grafana ще більше розширює її функціональність.

Що таке плагін JMeter-Prometheus?

Плагін JMeter-Prometheus надає метрики JMeter у вигляді HTTP-кінцевої точки, з якої Prometheus може збирати дані. Він виконує роль мосту між JMeter та Prometheus, збираючи таку інформацію, як кількість запитів на секунду, час відгуку, кількість помилок тощо. Цей плагін є необхідним для забезпечення моніторингу тестів продуктивності в режимі реального часу.

Необхідні умови

Перш ніж розпочинати, переконайтеся, що виконано наступне:

  • Java (JDK 8 або вище)
  • Встановлено Apache JMeter
  • Інтернет-з’єднання для завантаження залежностей

Встановлення плагіна JMeter-Prometheus

Спочатку завантажте JAR-файл плагіна (jmeter-prometheus-plugin-<версія>.jar) з його репозиторію GitHub.

Потім помістіть JAR-файл у каталог /lib/ext вашої інсталяції JMeter.

Після цього можна перезапустити JMeter, щоб активувати плагін.

Встановлення Prometheus

Для цього потрібно завантажити Prometheus з офіційного сайту. Потім розпакуйте архів і знайдіть файл конфігурації prometheus.yml

Коли все готово — додайте нове завдання для збору метрик JMeter:

 - job_name: 'jmeter'

    metrics_path: '/metrics'

    static_configs:

      - targets: ['localhost:9270']

Встановлення Grafana

Завантажте Grafana з grafana.com. Потім дотримуйтесь інструкцій з встановлення для вашої операційної системи.

Після встановлення запустіть Grafana за допомогою терміналу або диспетчера служб.

Налаштування плагіна JMeter-Prometheus у JMeter

  1. Відкрийте JMeter і створіть свій план тестування.
  2. Додайте «Backend Listener» до вашого тесту.
  3. Встановіть для параметра «Backend Listener Implementation» значення io.prometheus.jmeter.backendlistener.PrometheusBackendListenerClient.
  4. Налаштуйте параметри:
  • port: 9270 (або будь-який вільний порт)
  • metric_name: JMeter
  • percentiles: 90;95;99

Тепер плагін надаватиме метрики за адресою http://localhost:9270/metrics.

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

Запуск Prometheus

Запустіть Prometheus за допомогою:

./prometheus --config.file=prometheus.yml

Prometheus почне збирати дані з JMeter та зберігати їх локально.

Виконання тесту в JMeter

Запустіть тест у JMeter. Під час виконання тесту Backend Listener надсилатиме дані про продуктивність на кінцеву точку, налаштовану для Prometheus. 

Ви можете перевірити це, перейшовши за адресою http://localhost:9270/metrics у своєму браузері.

Перегляд метрик JMeter у Prometheus

Коли тест запущено і Prometheus збирає дані, відкрийте http://localhost:9090 (інтерфейс користувача Prometheus). Введіть зразок запиту PromQL, наприклад:

rate(jmeter_sample_count[1m])

Це відобразить кількість зразків (запитів), які JMeter генерує за хвилину. Серед інших корисних метрик — jmeter_sample_duration та jmeter_sample_failure_count.

Де знаходиться Grafana?

Grafana за замовчуванням працює за адресою http://localhost:3000. Увійдіть, використовуючи стандартні облікові дані (admin / admin), і встановіть новий пароль, коли з’явиться відповідне запит.

Перевірка джерела даних Prometheus у Grafana

  1. Перейдіть до Конфігурація > Джерела даних.
  2. Натисніть Додати джерело даних та виберіть Prometheus.
  3. Введіть URL-адресу Prometheus (http://localhost:9090) та натисніть «Зберегти та перевірити».
  4. Grafana має підтвердити успішне підключення.

Створення інформаційної панелі Grafana

Тепер, коли джерело даних підключено, створіть свою першу інформаційну панель.

  1. Натисніть «Створити»> «Панель інструментів»> «Додати нову панель».
  2. Використовуйте запити на мові Prometheus Query Language (PromQL) для отримання метрик JMeter.

Приклад:
rate(jmeter_sample_count{label="Login"}[1m])

  1. Налаштуйте типи візуалізації (наприклад, графік, індикатор, стовпчаста діаграма).
  2. Збережіть інформаційну панель для подальшого використання.

Приклад інформаційної панелі Grafana

Функціональна інформаційна панель для тестування продуктивності може містити таке:

  • Кількість запитів на секунду (RPS)
  • Середній час відгуку та час відгуку за процентилями (90-й, 95-й, 99-й)
  • Частота помилок у динаміці
  • Активні користувачі
  • Пропускна здатність

Ці візуалізації надають інформацію в режимі реального часу про продуктивність системи під навантаженням, що полегшує виявлення проблем та перевірку ефективності вдосконалень.

Висновок

Інтеграція JMeter з Prometheus та Grafana дає змогу тестувальникам та інженерам відстежувати продуктивність у реальному часі та вживати негайних заходів у разі потреби. Плагін JMeter-Prometheus виступає важливим сполучною ланкою, надаючи Prometheus метрики для збору, а Grafana потім перетворює ці дані на змістовні та практичні інформаційні панелі. Незалежно від того, чи проводите ви навантажувальне тестування веб-додатку, чи моделюєте велике навантаження користувачів у середовищах, що імітують виробничі умови, така конфігурація забезпечує вам необхідну наочність для підтримки працездатності та продуктивності системи.

Всього за кілька кроків з інсталяції та налаштування ви зможете вивести свої практики тестування продуктивності з рівня статичних звітів на рівень спостережності в режимі реального часу.

Поділитися

Чи була ця стаття корисною для вас?

Популярні пропозиції VPS

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
10Ge-KVM-SSD 16384 Linux

231

При оплаті за рік

-9.3%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
150 GB SSD
Bandwidth
Bandwidth
Unlimited
wKVM-SSD 16384 Windows

53.99

При оплаті за рік

-9.7%

CPU
CPU
10 Epyc Cores
RAM
RAM
64 GB
Space
Space
300 GB NVMe
Bandwidth
Bandwidth
Unlimited
wKVM-NVMe 65536 Windows

139.49

При оплаті за рік

-10%

CPU
CPU
3 Epyc Cores
RAM
RAM
2 GB
Space
Space
20 GB NVMe
Bandwidth
Bandwidth
Unlimited
KVM-NVMe 2048 Linux

8.8

При оплаті за рік

-18.6%

CPU
CPU
4 Xeon Cores
RAM
RAM
4 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
4 TB
wKVM-SSD 4096 Metered Windows

38

При оплаті за рік

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
16 GB
Space
Space
400 GB HDD
Bandwidth
Bandwidth
300 Gb
KVM-HDD HK 16384 Linux

40.17

При оплаті за рік

-10%

CPU
CPU
3 Epyc Cores
RAM
RAM
2 GB
Space
Space
20 GB NVMe
Bandwidth
Bandwidth
Unlimited
aiKVM-NVMe 2048 Linux

8.96

При оплаті за рік

-10%

CPU
CPU
6 Xeon Cores
RAM
RAM
8 GB
Space
Space
100 GB SSD
Bandwidth
Bandwidth
Unlimited
MT5 KVM 8192 Windows

29.99

При оплаті за рік

-10%

CPU
CPU
10 Xeon Cores
RAM
RAM
64 GB
Space
Space
300 GB SSD
Bandwidth
Bandwidth
Unlimited
KVM-SSD 65536 Linux

134.99

При оплаті за рік

-9.6%

CPU
CPU
8 Xeon Cores
RAM
RAM
32 GB
Space
Space
200 GB SSD
Bandwidth
Bandwidth
12 TB
wKVM-SSD 32768 Metered Windows

156

При оплаті за рік

Інші статті на цю тему

cookie

Чи приймаєте ви файли cookie та політику конфіденційності?

Ми використовуємо файли cookie, щоб забезпечити вам найкращий досвід роботи на нашому сайті. Якщо ви продовжуєте користуватися сайтом, не змінюючи налаштувань, вважайте, що ви згодні на отримання всіх файлів cookie на сайті HostZealot.