В статье приведён пример развёртывания базового стека мониторинга на Debian/Ubuntu. Во внешнюю сеть публикуется только Grafana. Prometheus и InfluxDB работают во внутреннем контуре и не проксируются через Nginx.
Шаг 1. Установка Prometheus
Устанавливаем Prometheus из стандартного репозитория и запускаем сервис.
sudo apt update
sudo apt install -y prometheus
sudo systemctl enable prometheus
sudo systemctl start prometheus
Prometheus запускается как systemd-сервис и доступен на порту 9090.
Шаг 2. Установка вспомогательных пакетов
# Пакеты необходимы для работы с HTTPS и внешними репозиториями.
sudo apt install -y curl gnupg ca-certificates wget apt-transport-https
Шаг 3. Установка InfluxDB 2
Подключаем официальный репозиторий InfluxData и устанавливаем InfluxDB 2.
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 из официального репозитория.
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
# Установка NGINX
sudo apt install -y nginx
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;
}
}
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) и подключить используемые сборщики метрик.
После добавления источников данных можно приступать к созданию и импорту дашбордов для визуализации метрик и мониторинга состояния системы.
Добавить комментарий