Grafana и Prometheus на Ubuntu 24.04: пошаговая установка
Ubuntu 24.04 LTS — надёжная база под стек Prometheus и Grafana: свежий systemd, актуальные пакеты и долгая поддержка. Связка соберёт метрики всех ваших серверов и покажет их на красивых дашбордах, а настраивается за час. В этом руководстве — пошаговая установка Grafana и Prometheus на Ubuntu 24.04 с systemd-юнитами, node_exporter и первым дашбордом, с учётом особенностей именно этой системы.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Логика стека и что даёт Ubuntu 24.04
Разберём роли, чтобы установка была осмысленной. Prometheus — движок сбора: по расписанию ходит к экспортёрам, забирает метрики и хранит их в своей базе временных рядов. Grafana — витрина: подключается к Prometheus и рисует дашборды. Node Exporter — агент, отдающий метрики операционной системы. Три части, каждая ставится отдельно.
Ubuntu 24.04 удобна для этого стека тем, что несёт свежий systemd, через который мы оформим все три компонента как управляемые службы с автозапуском. Grafana ставится из официального apt-репозитория и обновляется штатно, а Prometheus и node_exporter — из бинарников, потому что в репозиториях Ubuntu они часто устаревшие. Такой смешанный подход — норма для этого стека.
Требования скромные: 2 ядра, 2 ГБ RAM и 20–40 ГБ диска под историю метрик закрывают небольшую инфраструктуру. Диск важнее всего — временные ряды копятся. Локацию держите ближе к наблюдаемым узлам. MAATRIX даёт VPS на Ubuntu 24.04 в нужной локации с оплатой картами российских банков, СБП, криптовалютой или токеном MAAT — иностранная карта не нужна.
Шаг 1: подготовка и пользователь Prometheus
Обновите систему и создайте служебного пользователя без возможности входа — это базовая безопасность для сервиса мониторинга:
apt update && apt upgrade -y
useradd --no-create-home --shell /bin/false prometheus
mkdir /etc/prometheus /var/lib/prometheus
Отдельный пользователь prometheus без домашнего каталога и оболочки означает, что даже при компрометации процесса злоумышленник не получит рабочий аккаунт в системе. Это стандарт для всех фоновых служб на Ubuntu 24.04.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под мониторингШаг 2: установка Prometheus
Скачайте свежий релиз Prometheus и разложите бинарники по местам:
cd /tmp
wget https://github.com/prometheus/prometheus/releases/download/v2.53.0/prometheus-2.53.0.linux-amd64.tar.gz
tar xzf prometheus-2.53.0.linux-amd64.tar.gz
cd prometheus-2.53.0.linux-amd64
cp prometheus promtool /usr/local/bin/
cp -r consoles console_libraries /etc/prometheus/
chown -R prometheus:prometheus /etc/prometheus /var/lib/prometheus /usr/local/bin/prometheus
Создайте конфиг /etc/prometheus/prometheus.yml, описывающий, что опрашивать:
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'prometheus'
static_configs:
- targets: ['localhost:9090']
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
Интервал 15 секунд — разумный дефолт. Два job'а описывают источники: сам Prometheus на порту 9090 и node_exporter на 9100.
Модель Prometheus называется pull: не узлы шлют данные в центр, а центр сам по расписанию ходит и забирает метрики у экспортёров. Это упрощает масштабирование и делает очевидным, какой узел отвалился, — неответивший target сразу виден на странице /targets. Каждый job_name — логическая группа целей одного типа; когда серверов станет много, вы будете добавлять их адреса в список targets соответствующего job'а, а не плодить отдельные конфиги. Такой подход хорошо ложится на Ubuntu 24.04: один центральный Prometheus опрашивает десятки машин, на каждой из которых крутится лёгкий node_exporter, и вся картина инфраструктуры собирается в одном месте.
Шаг 3: node_exporter и systemd-юниты
Поставьте экспортёр метрик системы:
cd /tmp
wget https://github.com/prometheus/node_exporter/releases/download/v1.8.0/node_exporter-1.8.0.linux-amd64.tar.gz
tar xzf node_exporter-1.8.0.linux-amd64.tar.gz
cp node_exporter-1.8.0.linux-amd64/node_exporter /usr/local/bin/
useradd --no-create-home --shell /bin/false node_exporter
Оформите Prometheus как службу systemd — файл /etc/systemd/system/prometheus.service:
[Unit]
Description=Prometheus
After=network.target
[Service]
User=prometheus
ExecStart=/usr/local/bin/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/var/lib/prometheus/ --storage.tsdb.retention.time=30d
[Install]
WantedBy=multi-user.target
Флаг --storage.tsdb.retention.time=30d сразу ограничивает историю 30 днями, чтобы диск не рос бесконечно. Сделайте аналогичный юнит для node_exporter и запустите обе службы:
systemctl daemon-reload
systemctl enable --now prometheus node_exporter
Проверьте, что оба источника живы: страница http://IP:9090/targets должна показать их в статусе UP.
Флаг enable --now делает сразу две вещи — включает автозапуск при загрузке системы и стартует службу немедленно, поэтому после перезагрузки VPS мониторинг поднимется сам. Это важный момент именно для systemd на Ubuntu 24.04: служба, запущенная вручную без enable, не переживёт ребута, и вы потеряете сбор метрик после первого же обновления ядра с перезагрузкой. Убедиться, что всё оформлено правильно, просто — выполните systemctl is-enabled prometheus node_exporter: обе службы должны ответить enabled. Если видите disabled, повторите enable, иначе автозапуск не сработает.
Шаг 4: установка Grafana из репозитория
Grafana на Ubuntu 24.04 ставится из официального apt-репозитория — это удобно для обновлений:
apt install -y apt-transport-https software-properties-common
wget -q -O /usr/share/keyrings/grafana.key https://apt.grafana.com/gpg.key
echo "deb [signed-by=/usr/share/keyrings/grafana.key] https://apt.grafana.com stable main" > /etc/apt/sources.list.d/grafana.list
apt update && apt install -y grafana
systemctl enable --now grafana-server
Grafana поднимется на порту 3000. Откройте в firewall только его и SSH — порты Prometheus (9090) и node_exporter (9100) наружу не нужны, они опрашиваются локально:
ufw allow 22/tcp
ufw allow 3000/tcp
ufw enable
Наружу торчит только Grafana, а движок сбора и экспортёры остаются недоступны из интернета — это правильный принцип минимума открытых портов.
Шаг 5: источник данных и дашборд
Откройте http://IP_СЕРВЕРА:3000, войдите с admin/admin и сразу смените пароль — открытая панель со стандартным паролем небезопасна. Подключите источник данных: Connections → Data sources → Add data source → Prometheus, в URL укажите http://localhost:9090, сохраните.
Не рисуйте дашборд с нуля — импортируйте готовый: Dashboards → Import и введите ID 1860 (Node Exporter Full). Grafana подтянет десятки панелей: CPU, память, диск, сеть — и вы сразу увидите состояние сервера. Для алертов настройте правила в Alerting: задайте условие (например, свободного места меньше 10%) и канал уведомления в Telegram. Связка Prometheus + Grafana + алерты и есть полноценный мониторинг, предупреждающий о проблемах заранее.
Комьюнити Grafana выложило тысячи готовых дашбордов под самые разные экспортёры — для MySQL, Nginx, Docker, PostgreSQL и десятков других сервисов. Принцип везде один: ставите нужный экспортёр, добавляете его как job в конфиг Prometheus, импортируете дашборд по ID — и получаете детальную картину без ручной сборки панелей. Начав с базового Node Exporter Full, вы постепенно обрастаете дашбордами под конкретные сервисы своей инфраструктуры. Это и есть сила стека: единый движок сбора и единая витрина, к которым легко подключать всё новые источники по мере роста проекта на Ubuntu 24.04.
Чтобы развернуть этот стек на Ubuntu 24.04 без возни с оплатой, нужен VPS в нужной локации. У MAATRIX сервер готов за пару минут, с оплатой картой РФ, СБП или криптой — иностранная карта не требуется.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS под мониторингОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Почему Prometheus ставим из бинарника, а Grafana из apt?
В репозиториях Ubuntu Prometheus и node_exporter часто устаревшие, поэтому их берут бинарником со свежим релизом. У Grafana есть официальный apt-репозиторий с актуальными версиями и удобным обновлением.
Нужно ли открывать порты 9090 и 9100 наружу?
Нет. Prometheus и node_exporter опрашиваются локально, наружу выставляется только Grafana на 3000. Это повышает безопасность — движок и экспортёры недоступны из интернета.
Как не дать диску переполниться метриками?
Задайте флаг --storage.tsdb.retention.time в systemd-юните Prometheus (например, 30d), чтобы старые данные удалялись автоматически. Следите за размером /var/lib/prometheus.
Как оплатить VPS под мониторинг из России?
Картой РФ, по СБП, криптовалютой или токеном MAAT. Иностранная карта не нужна, сервер на Ubuntu 24.04 поднимается за пару минут.
Нужны сами нейросети для контента?
Генерируйте изображения, видео и озвучку нейросетями на falapi.io — десятки моделей в одном окне. Оплата картой РФ и по СБП.