Перейти к содержанию

Обзор развертывания Grafana на сервере

Предварительные требования

Для успешного развертывания приложения требуются следующие условия:

  • Операционная система: Debian, Ubuntu, CentOS, Rocky Linux или AlmaLinux.

  • Права доступа: Права суперпользователя (root) для установки пакетов и управления Docker.

  • Доступные порты:

  • 80/tcp — для HTTP (используется Certbot).

  • 443/tcp — для HTTPS.

  • 22/tcp — SSH.

  • 3000/tcp — внутренний порт приложения.

FDQN итоговой панели на домене hostkey.in

Для доступа к интерфейсу используется следующий шаблон домена:

Параметр Значение
Префикс grafana
Домен hostkey.in
Полный шаблон grafana{Server_ID_from_Invapi}.hostkey.in

Процесс установки приложения

Приложение развертывается с использованием Docker Compose и включает в себя настройку веб-сервера для обеспечения SSL-соединения.

Процесс установки включает следующие этапы:

  1. Подготовка операционной системы (остановка процессов автоматического обновления unattended-upgr на Debian/Ubuntu).

  2. Настройка сетевых правил брандмауэра (ufw или firewalld) для открытия портов 80 и 443.

  3. Установка Docker и подготовка конфигурации прокси-сервера с поддержкой SSL через Certbot.

  4. Создание рабочей директории /root/grafana.

  5. Создание Docker-объема grafana-data для хранения данных приложения.

  6. Развертывание контейнеров с помощью docker compose up -d.

  7. Сброс пароля администратора через CLI внутри контейнера.

Контейнеры Docker и их запуск

Приложение работает в составе двух основных контейнеров, управляемых через файл compose.yml в директории /root/grafana.

Контейнер Nginx (Proxy)

  • Образ: jonasal/nginx-certbot:latest

  • Порты: 80:80, 443:443

  • Тома (volumes):

  • nginx_secrets:/etc/letsencrypt — для хранения SSL-сертификатов.

  • /data/nginx/user_conf.d:/etc/nginx/user_conf.d — пользовательские конфигурации Nginx.

  • Переменные окружения: CERTBOT_EMAIL=hkadm@hostkey.com.

  • Политика перезапуска: unless-stopped.

Контейнер Grafana

  • Образ: grafana/grafana-oss:8.2.6

  • Порты: 3000:3000

  • Тома (volumes):

  • /data/grafana/datasources:/etc/grafana/provisioning/datasources — конфигурации источников данных.

  • grafana-data:/var/lib/grafana — постоянное хранилище данных приложения.

  • Политика перезапуска: unless-stopped.

Кастомные скрипты и дополнительные настройки

В процессе развертывания выполняются следующие действия:

  • Настройка проксирования: В конфигурационный файл Nginx вносится изменение, чтобы перенаправлять трафик с доменного имени на внутренний адрес контейнера http://grafana:3000.

  • Сброс пароля администратора: Выполняется команда внутри запущенного контейнера для установки пароля администратора (используется значение из системных переменных).

Инструкция по обновлению приложения

Для обновления основного приложения необходимо выполнить следующие действия в директории /root/grafana:

docker compose pull && docker compose up -d

Расположение конфигурационных файлов и данных

  • Рабочая директория приложения: /root/grafana

  • Конфигурация Docker Compose: /root/grafana/compose.yml

  • Данные Grafana (Docker Volume): grafana-data

  • Источники данных (Provisioning): /data/grafana/datasources

  • Конфигурации Nginx: /data/nginx/user_conf.d/

Доступные порты для подключения

Порт Назначение Тип доступа
443 HTTPS (основной интерфейс) Внешний
80 HTTP (перенаправление на HTTPS) Внешний
3000 Интерфейс Grafana Внутренний
question_mark
Я могу вам чем-то помочь?
question_mark
ИИ Помощник ×