Grafana: установка на Ubuntu и первый дашборд

Мониторинг сервера: Grafana установка и первый дашборд

Марина
Марина
📅 13 сентября 2026
Мониторинг сервера: Grafana установка и первый дашборд

Grafana ставится на сервер с Ubuntu примерно за 15 минут: подключаете официальный APT-репозиторий, устанавливаете пакет, запускаете службу и открываете панель в браузере по адресу вида http://IP-сервера:3000. Сама Grafana ничего не измеряет — она рисует графики по числам, которые ей отдаёт отдельная база метрик, чаще всего Prometheus или Zabbix. Поэтому «установка Grafana» на практике всегда означает установку двух-трёх программ сразу. Минимум под такую связку — 2 ГБ оперативной памяти, и тарифы с такой памятью есть почти у каждого хостера из раздела VPS с Ubuntu.

Материал написан для тех, кто раньше не собирал мониторинг руками. Разберём, чем Grafana отличается от сборщика метрик, сколько ресурсов реально нужно, как поставить связку Grafana + Prometheus + node_exporter командами из репозитория, как собрать первый дашборд и как закрыть панель от посторонних, чтобы графики вашего сервера не индексировались поисковиками.

Что делает Grafana, а что за неё делает сборщик метрик

Grafana — это веб-панель для визуализации. Она умеет подключаться к десяткам источников данных, строить графики, таблицы и индикаторы, раскладывать их по дашбордам — экранам, где собраны нужные графики, — и слать уведомления, когда значение выходит за границу. Собственных измерений у неё нет: если не подключить источник, вы увидите пустой интерфейс.

Метрики собирает отдельная программа. Prometheus раз в 15 секунд опрашивает так называемые экспортёры — маленькие агенты, которые отдают текущие числа по HTTP. Zabbix работает иначе: его агент сам отправляет данные серверу Zabbix на порт 10051, а сервер складывает их в обычную базу данных. В обеих схемах Grafana стоит сверху и только читает готовые ряды.

Из-за этого разделения ошибка новичка выглядит одинаково: человек ставит Grafana, открывает :3000, видит логин-форму, входит — и не понимает, где графики нагрузки. Графиков нет, потому что нечему их питать. Сначала источник данных, потом панель.

Grafana с Prometheus или Zabbix: что выбрать под свою задачу

Prometheus проще в установке и хранит данные в собственном файловом формате — никакой отдельной СУБД, то есть системы управления базами данных, поднимать не нужно. Он идеален, когда серверов немного, а метрики нужны технические: загрузка ядер, память, диск, сетевой трафик, ответы веб-сервера.

Zabbix тяжелее: ему нужны MySQL или PostgreSQL, веб-интерфейс на PHP и собственный агент на каждой машине. Зато он умеет автообнаружение узлов, инвентаризацию оборудования и сложные триггеры из коробки. Разворачивание Zabbix подробно описано в гайде по установке Zabbix — если вы уже используете его, Grafana подключается к нему как источник данных за пять минут.

Сравнение по ресурсам и сложности выглядит так.

Связка Что нужно поставить Минимум памяти Когда брать
Grafana + Prometheus + node_exporter 3 пакета, без СУБД 2 ГБ 1–20 серверов, технические метрики
Grafana + Zabbix Сервер, агент, СУБД, веб-часть 4 ГБ Парк от 20 машин, сетевое оборудование
Grafana + внешний облачный источник 1 пакет 512 МБ Только визуализация чужих данных
Без Grafana, лёгкий пингер 1 контейнер 512 МБ Проверка доступности сайтов

Сколько памяти и диска нужно под панель мониторинга

Одна Grafana занимает мало: службе хватает 512 МБ оперативной памяти, потому что настройки и пользователей она держит в файле SQLite в каталоге /var/lib/grafana. Как только рядом появляется Prometheus, аппетит растёт: сборщик держит в памяти свежие серии метрик, и комфортный минимум для пары — 2 ГБ.

Диск расходуется на историю. По умолчанию Prometheus хранит метрики 15 дней, и данные 20 хостов за месяц занимают ориентировочно 12–24 ГБ. Один сервер с базовым node_exporter укладывается в 300–600 МБ за 15 дней, поэтому диска на 10 ГБ хватает для старта.

Вывод простой: берут не самый дешёвый тариф, а тариф с 2 ГБ памяти и NVMe-диском. На медленном HDD сборщик подтормаживает уже на десятке хостов.

Провайдер Стартовая цена Что в базовом тарифе Под что хватит
Cloudcore от 59 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe Только Grafana к внешнему источнику
Hosting-Russia от 99 ₽/мес Базовая конфигурация раздела Тест связки на 1 хосте
HostVDS от 127 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe Тест связки на 1 хосте
RuVDS от 139 ₽/мес 1 ядро, 0,5 ГБ, 10 ГБ HDD Мало для Prometheus, нужен апгрейд
Selectel от 200 ₽/мес 1 ядро, 1 ГБ, 10 ГБ NVMe Grafana + Prometheus на 3–5 хостов
Timeweb Cloud от 477 ₽/мес 1 ядро, 1 ГБ, 15 ГБ NVMe Grafana + Prometheus на 3–5 хостов

Данные проверены 03.09.2026.

Всего в разделе собрано 44 предложения на Linux со стартовыми ценами от 59 до 651 ₽/мес. Для личного мониторинга логично взять вариант из подборки недорогих VPS и добить память до 2 ГБ апгрейдом.

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

Пакет Grafana есть в стандартных репозиториях Ubuntu, но там он отстаёт на год и больше. Правильный путь — подключить репозиторий разработчика. Репозиторий — это сервер с готовыми пакетами программ, откуда система их скачивает; после подключения обновления будут приходить обычной командой apt upgrade. Все команды выполняются от root или через sudo.

Порядок действий на Ubuntu 22.04 и 24.04 одинаковый.

  1. Обновите список пакетов и поставьте утилиты: apt update && apt install -y apt-transport-https wget. Они нужны, чтобы APT ходил по HTTPS и проверял подписи.
  2. Скачайте GPG-ключ репозитория в каталог /etc/apt/keyrings/. Ключ подтверждает, что пакеты действительно собраны разработчиком, а не подменены по дороге.
  3. Добавьте строку репозитория в /etc/apt/sources.list.d/grafana.list, указав в ней путь к скачанному ключу.
  4. Выполните apt update ещё раз, затем apt install -y grafana. Пакет весит около 100 МБ и тянет за собой только системные зависимости.
  5. Включите автозапуск и стартуйте службу: systemctl enable --now grafana-server. Команда одновременно прописывает запуск при перезагрузке и поднимает сервис сейчас.
  6. Проверьте состояние: systemctl status grafana-server. В выводе должно быть active (running), иначе смотрите причину в journalctl -u grafana-server -n 50.

После старта Grafana слушает порт 3000 на всех интерфейсах. Откройте http://IP-сервера:3000 и войдите с логином admin и паролем admin — интерфейс сразу потребует задать новый. Пароль от 16 символов здесь не перестраховка: адрес панели быстро находят сканеры.

Где лежат настройки и данные Grafana

Основной конфигурационный файл — /etc/grafana/grafana.ini. В нём меняют порт, домен, режим анонимного доступа и параметры почты для уведомлений. Файл разбит на секции в квадратных скобках, и почти все строки в нём закомментированы символом ; — чтобы параметр заработал, точку с запятой нужно убрать.

Пользователи, дашборды и подключённые источники хранятся в базе SQLite по пути /var/lib/grafana/grafana.db. Это один файл, и его достаточно скопировать, чтобы получить резервную копию всей настройки панели. При переезде на другой сервер вы ставите чистую Grafana, останавливаете службу, кладёте на место старый файл и запускаете снова — все дашборды возвращаются.

После каждой правки grafana.ini службу перезапускают командой systemctl restart grafana-server, иначе изменения не подхватятся. Копирование конфига и базы стоит поставить на расписание сразу же: файл базы обычно весит меньше 5 МБ, поэтому ежедневная копия почти ничего не занимает. Логи службы пишутся в journald и читаются командой journalctl -u grafana-server — туда смотрят, когда панель не открывается после правки конфига.

Установка Prometheus и node_exporter

Prometheus — это и есть база, из которой Grafana читает числа. Он ставится одним исполняемым файлом: распаковываете архив с готовой сборкой, кладёте prometheus в /usr/local/bin/, конфиг — в /etc/prometheus/prometheus.yml, данные — в /var/lib/prometheus.

Рядом ставится node_exporter — агент, который отдаёт метрики хоста: загрузку ядер, свободную память, занятость диска, счётчики сети. Он слушает порт 9100 и отвечает на запрос /metrics простым текстом — несколько сотен строк вида «имя метрики и значение».

Дальше связываете их между собой.

  1. В prometheus.yml в секции scrape_configs добавьте job — задание на опрос — с целью localhost:9100. Интервал опроса по умолчанию — 15 секунд, для одного сервера этого достаточно.
  2. Запустите Prometheus как systemd-службу и убедитесь, что он поднялся на порту 9090.
  3. Откройте в браузере http://IP-сервера:9090/targets — цель node_exporter должна быть в состоянии UP. Если она красная, чаще всего мешает закрытый порт или опечатка в адресе.
  4. Чтобы добавить второй сервер, поставьте на него node_exporter и допишите адрес в тот же job. Сам Prometheus нужен в одном экземпляре.

Важная деталь: порты 9090 и 9100 нельзя оставлять открытыми в интернет — метрики раскрывают имена интерфейсов, точки монтирования и версию ядра. Между серверами их пускают по приватной сети провайдера либо ограничивают файрволом по IP.

Дашборд Grafana с метриками сервера
Первый дашборд: процессор, память, диск и аптайм (иллюстрация интерфейса)

Подключение источника данных и первый дашборд

Вернитесь в Grafana. В меню Connections выберите Data sources, добавьте тип Prometheus и укажите адрес http://localhost:9090. Нажмите Save & test — панель должна ответить, что источник доступен. Если ответа нет, проверьте, что Prometheus запущен, а адрес указан без лишнего слэша на конце.

Собирать первый дашборд с нуля не нужно. У сообщества есть готовые наборы панелей, которые импортируют по числовому номеру: в разделе Dashboards выбираете Import, вводите номер, указываете созданный источник данных — и получаете 30–40 готовых графиков по хосту сразу. Самый известный набор под node_exporter содержит блоки по процессору, памяти, дискам и сети.

После импорта пройдитесь по графикам и уберите лишнее. Дашборд на 40 панелей открывается медленно и на слабой машине грузит браузер, а реально смотрят обычно на пять-шесть показателей: загрузку ядер, свободную память, свободное место на диске, load average и сетевой трафик.

Как закрыть панель Grafana от посторонних

Панель на порту 3000 работает по открытому HTTP, без шифрования. Пароль в такой схеме уходит на сервер в читаемом виде, а сам порт находят автоматические сканеры за считаные часы после запуска сервера. Поэтому сразу после установки панель прячут.

Рабочая схема выглядит так: Grafana слушает только 127.0.0.1:3000, снаружи стоит веб-сервер nginx в режиме обратного прокси, наружу открыты только порты 80 и 443, а сертификат выпускают бесплатно через Let’s Encrypt: он живёт 90 дней и продлевается автоматически.

Файрвол настраивается в три команды через UFW: разрешить 22, 80 и 443, запретить всё остальное входящее, включить правила. После этого прямой заход на :3000 перестаёт работать, а панель открывается по домену с замком в адресной строке. Подробнее правила разобраны в материале про настройку файрвола на Linux-сервере.

Дополнительно в grafana.ini выключают регистрацию новых пользователей и анонимный просмотр, а администратору включают двухфакторный вход.

Объём хранения метрик Prometheus по числу хостов
Retention по умолчанию — 15 дней, дальше диск растёт линейно

Сколько хранить метрики и как не забить диск

Prometheus по умолчанию удаляет данные старше 15 дней. Этот срок называют retention — глубина хранения истории. Меняют его ключом запуска --storage.tsdb.retention.time: например, значение 90d оставит историю за квартал. Увеличение срока в 6 раз примерно во столько же раз увеличивает занятое место, поэтому срок подбирают под размер диска.

Ориентиры простые. Один хост с базовым набором метрик — это 20–40 МБ в сутки, десять хостов — 200–400 МБ в сутки. Отсюда и получается диапазон 12–24 ГБ на 20 хостов за месяц: разброс даёт количество экспортёров и частота опроса.

Число хостов Retention Место под метрики Рекомендуемый диск
1 15 дней 0,3–0,6 ГБ 10 ГБ
5 30 дней 3–6 ГБ 15 ГБ
20 30 дней 12–24 ГБ 40 ГБ
20 90 дней 36–72 ГБ 100 ГБ

Если история нужна за год, метрики прореживают: свежие данные хранят с шагом 15 секунд, а старые — усреднёнными до пяти минут. Это отдельная настройка долговременного хранилища, и на одном сервере с 20 хостами она обычно не нужна.

Уведомления: чтобы не смотреть в графики круглосуточно

Дашборд полезен при разборе инцидента, но караулить его руками бессмысленно. В Grafana есть встроенные правила оповещений: вы задаёте условие, период и канал доставки, и панель сама отправляет сообщение, когда условие держится дольше заданного времени.

Разумный стартовый набор — четыре правила: свободное место на диске меньше 15 %, загрузка процессора выше 90 % дольше 10 минут, свободная память меньше 10 %, и цель в Prometheus не отвечает дольше 5 минут. Условие «дольше N минут» здесь ключевое: без него вы получите десятки ложных срабатываний на коротких всплесках. Порог по диску лучше ставить именно на 15 %, а не на 5 % — за оставшиеся проценты вы успеете почистить логи без аварийной остановки сервисов.

Каналы доставки настраиваются в разделе Contact points. Самый удобный вариант для одного администратора — бот в мессенджере, самый универсальный — почта, но для неё в grafana.ini придётся прописать SMTP-сервер, иначе письма просто не уйдут. Более широкий обзор схем оповещения есть в гайде о том, как настроить мониторинг сервера.

Частые ошибки при установке Grafana

Большая часть проблем возникает не в установке, а в том, что делают сразу после неё. Отдельно про диск: HDD под метрики — плохая идея, потому что Prometheus пишет мелкими порциями каждые 15 секунд.

Ниже — случаи, которые встречаются чаще всего при первой настройке связки.

  • Оставить пароль admin и открытый порт 3000: панель находят сканеры, а через источник данных видно внутреннюю сеть.
  • Ставить мониторинг на тот же сервер, за которым он следит: когда машина ляжет, уведомление отправлять будет некому.
  • Брать тариф с 512 МБ памяти под связку с Prometheus: система будет аварийно закрывать сборщик из-за нехватки памяти.
  • Оставлять retention 15 дней, а потом искать причину аварии месячной давности, которой в базе уже нет.
  • Импортировать десяток чужих дашбордов сразу: интерфейс становится медленным, а нужные графики теряются.
  • Забыть про бэкап /var/lib/grafana/grafana.db и потерять все настроенные панели при переустановке.

Частые вопросы

Можно ли поставить Grafana без Prometheus? Да, если у вас уже есть другой источник данных — Zabbix, база InfluxDB, MySQL с вашими бизнес-метриками. Одной Grafana хватает 512 МБ памяти. Но без источника графиков не будет: она не собирает метрики сама.

Какой порт использует Grafana и можно ли его сменить? По умолчанию 3000/TCP. Порт меняется параметром http_port в секции [server] файла /etc/grafana/grafana.ini. Смена порта не заменяет файрвол — она лишь снижает шум от сканеров.

Сколько ресурсов заказывать под мониторинг небольшого проекта? Для панели плюс Prometheus на 1–5 хостов достаточно 1 ядра, 2 ГБ памяти и 10–15 ГБ NVMe. Такие конфигурации в каталоге начинаются примерно от 200 ₽/мес, а варианты с 2 ядрами и 2 ГБ встречаются от 145 ₽/мес.

Что выбрать новичку — Grafana с Prometheus или Zabbix? До десяти серверов ставьте связку с Prometheus: меньше компонентов, не нужна СУБД, хватает 2 ГБ памяти. Zabbix оправдан на парке от 20 машин с сетевым оборудованием.

Почему дашборд импортировался, но панели пустые? Причина обычно одна: при импорте не выбран источник данных. Проверьте страницу /targets — если цель в состоянии DOWN, node_exporter не запущен либо его порт 9100 закрыт файрволом.

Нужен ли для панели российский дата-центр? Для личного мониторинга — нет, важнее задержка до наблюдаемых серверов. Но если Grafana собирает данные о клиентах или сотрудниках, размещение внутри страны упрощает вопросы с персональными данными, и такие площадки есть в разделе VPS в России.

Итог

Установка Grafana занимает 15 минут, а рабочий мониторинг — примерно час: подключить репозиторий, поставить панель, поднять рядом Prometheus с node_exporter на порту 9100, импортировать дашборд и закрыть всё это обратным прокси с сертификатом. Ресурсов нужно немного — 2 ГБ памяти и 10–15 ГБ быстрого диска, при retention 15 дней один хост занимает меньше 600 МБ.

Главное решение принимается до установки: не ставьте мониторинг на ту же машину, за которой он следит, и не экономьте на памяти — на 512 МБ Prometheus падает под нагрузкой. Подобрать отдельный сервер под панель можно в разделе VPS на Linux, где собрано 44 предложения со стартовыми тарифами от 59 ₽/мес.

Поделиться:
👁 54 просмотров
Марина
Редактор · FREEHOSTING
Главный редактор FREEHOSTING. С 2020 года тестирует VDS, VPS и хостинг-провайдеров — арендует серверы, нагружает их реальными проектами и пишет честные обзоры по итогам. Помогает читателям выбирать хостинг под свои задачи: от Telegram-бота до production-сайта.