Моніторинг контейнерів Docker є важливим для підтримки здоров'я, продуктивності та безпеки ваших додатків. Два популярних інструментів для цієї мети є Prometheus і Grafana. Разом вони забезпечують потужне, відкрите рішення для візуалізації та сповіщення в режимі реального часу.

Що таке Прометеус?

Prometheus – це система моніторингу відкритого коду, призначена для збору та зберігання метрики в якості даних часових рядів. Він відрізняється високою конфігурацією та підтримує багатовимірну збір даних, що робить його ідеальним для моніторингу контейнерних середовищ, таких як Docker.

Що таке Графана?

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

Налаштування моніторингу для контейнерів Docker

Щоб контролювати контейнери Docker з Prometheus і Grafana, слідуйте за цими кроками:

  • Встановіть Docker і Docker Compose на сервері.
  • Створіть файл Docker Compose, який включає в себе Prometheus, Grafana і Node Exporter.
  • Настроювання Prometheus для змащення метрики з контейнерів Docker та Node Exporter.
  • Налаштуйте панель Grafana для візуалізації зібраних метриків.

Приклад Docker Конфігурація

Ось приклад Docker Compose файл для налаштування Prometheus і Grafana:

version: '3'
services:
 prometheus:
 image: prom/prometheus
 volumes:
 - ./prometheus.yml:/etc/prometheus/prometheus.yml
 ports:
 - "9090:9090"
 grafana:
 image: grafana/grafana
 ports:
 - "3000:3000"
 node-exporter:
 image: prom/node-exporter
 ports:
 - "9100:9100"

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

Створюйте prometheus.yml] файл конфігурації, який визначає цілі брухт, включаючи контейнери Docker та Node Експортер:

global:
 scrape_interval: 15s
scrape_configs:
 - job_name: 'docker'
 static_configs:
 - targets: ['localhost:9090']
 - job_name: 'node'
 static_configs:
 - targets: ['localhost:9100']

Візуалізація даних в Графані

Після того, як Prometheus збирає дані, доступ Grafana на http://localhost:3000]. Використовуйте облікові дані за замовчуванням (адміністратор/адміністратор) для входу в систему. Потім додайте Prometheus як джерело даних і імпорт або створити панельи для моніторингу параметрів контейнера, таких як CPU, пам'ять і використання мережі.

Переваги моніторингу Docker з Prometheus і Grafana

  • В режимі реального часу в контейнерні характеристики
  • Проактивне сповіщення для питань, перш ніж вони впливають на користувачів
  • Історичний аналіз даних для планування потенціалу
  • Призначені для користувача панелі інструментів, адаптовані до вашого середовища

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