Развёртывание стека мониторинга: Prometheus, InfluxDB и Grafana

В статье приведён пример развёртывания базового стека мониторинга на Debian/Ubuntu. Во внешнюю сеть публикуется только Grafana. Prometheus и InfluxDB работают во внутреннем контуре и не проксируются через Nginx.

Шаг 1. Установка Prometheus

Устанавливаем Prometheus из стандартного репозитория и запускаем сервис.

💻
BASH
sudo apt update
sudo apt install -y prometheus

sudo systemctl enable prometheus
sudo systemctl start prometheus

Prometheus запускается как systemd-сервис и доступен на порту 9090.

Шаг 2. Установка вспомогательных пакетов

💻
BASH
# Пакеты необходимы для работы с HTTPS и внешними репозиториями.
sudo apt install -y curl gnupg ca-certificates wget apt-transport-https

Шаг 3. Установка InfluxDB 2

Подключаем официальный репозиторий InfluxData и устанавливаем InfluxDB 2.

💻
BASH
curl -fsSL https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | \
sudo tee /usr/share/keyrings/influxdata-archive.gpg > /dev/null

echo "deb [signed-by=/usr/share/keyrings/influxdata-archive.gpg] https://repos.influxdata.com/debian stable main" | \
sudo tee /etc/apt/sources.list.d/influxdata.list

sudo apt update
sudo apt install -y influxdb2

sudo systemctl enable influxdb
sudo systemctl start influxdb

InfluxDB 2 использует аутентификацию на основе токенов и доступна на порту 8086.

Шаг 4. Установка Grafana

Устанавливаем Grafana из официального репозитория.

💻
BASH
sudo mkdir -p /etc/apt/keyrings

wget -q -O - https://packages.grafana.com/gpg.key | \
sudo gpg --dearmor -o /etc/apt/keyrings/grafana.gpg

echo "deb [signed-by=/etc/apt/keyrings/grafana.gpg] https://packages.grafana.com/oss/deb stable main" | \
sudo tee /etc/apt/sources.list.d/grafana.list

sudo apt update
sudo apt install -y grafana

sudo systemctl enable grafana-server
sudo systemctl start grafana-server

Grafana по умолчанию доступна локально на порту 3000.

Шаг 5. Публикация Grafana через Nginx

💻
BASH
# Установка NGINX
sudo apt install -y nginx
📄
Добавляем сайт /etc/nginx/sites-available/monitor
server {
    listen 80;
    server_name monitor.example.com;

    location / {
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        proxy_pass http://127.0.0.1:3000;
    }
}
💻
BASH
sudo ln -s /etc/nginx/sites-available/monitor /etc/nginx/sites-enabled/
sudo rm -f /etc/nginx/sites-enabled/default
sudo nginx -t
sudo systemctl reload nginx

Результат:

  • Grafana доступна по HTTPS через Nginx
  • Prometheus работает напрямую на порту 9090
  • InfluxDB 2 работает напрямую на порту 8086

На данном этапе стек мониторинга полностью готов к работе. Далее в интерфейсе Grafana необходимо добавить источники данных (Prometheus и InfluxDB) и подключить используемые сборщики метрик.

После добавления источников данных можно приступать к созданию и импорту дашбордов для визуализации метрик и мониторинга состояния системы.

Обновлено 14.12.2025
comments

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *