Сэкономьте 15% на всех хостинговых услугах

Проверьте свои навыки и получите скидку на любой тарифный план

Используйте код: Skills Начать
Рубрики
Linux Администрация

Как установить Grafana на Ubuntu: полное руководство по настройке и конфигурации

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

Это подробное руководство проведёт вас через каждый этап установки Grafana на Ubuntu — от подготовки системы до настройки источников данных, создания первой панели управления, настройки оповещений и защиты вашего развёртывания.

> Предварительные требования: работающий сервер Ubuntu (рекомендуется 20.04 или 22.04 LTS), привилегии sudo и стабильное интернет-соединение. Если вам нужен надёжный сервер для размещения вашего экземпляра Grafana, рассмотрите VPS Hosting от AlexHost — оптимизированный для критичных по производительности рабочих нагрузок мониторинга.

Шаг 1: Обновление системных пакетов

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

sudo apt update && sudo apt upgrade -y

Дайте процессу завершиться перед продолжением. На недавно подготовленном сервере это может занять несколько минут.

Шаг 2: Установка Grafana через официальный репозиторий APT

Grafana поддерживает официальный репозиторий APT для систем на основе Debian, включая Ubuntu. Использование официального репозитория гарантирует, что у вас всегда будет доступ к последним стабильным выпускам и патчам безопасности.

Шаг 2a: Установка необходимых зависимостей

Сначала установите пакет software-properties-common, который предоставляет утилиту add-apt-repository:

sudo apt install -y software-properties-common apt-transport-https wget gnupg2

Шаг 2b: Импорт ключа подписи GPG Grafana

Добавление ключа GPG позволяет вашей системе проверить подлинность пакетов, загруженных из репозитория Grafana:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -

Шаг 2c: Добавление официального репозитория APT Grafana

sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"

Шаг 2d: Обновление списка пакетов и установка Grafana

sudo apt update
sudo apt install grafana -y

После завершения установки проверьте установленную версию:

grafana-server -v

Шаг 3: Запуск и включение сервиса Grafana

После установки запустите демон сервера Grafana и настройте его на автоматический запуск при загрузке системы:

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

Проверьте, что сервис работает правильно:

sudo systemctl status grafana-server

Вы должны увидеть вывод, похожий на следующий, подтверждающий, что сервис active (running):

● grafana-server.service - Grafana instance
     Loaded: loaded (/lib/systemd/system/grafana-server.service; enabled)
     Active: active (running) since ...

Если сервис не запускается, проверьте логи на предмет ошибок:

sudo journalctl -u grafana-server -f

Шаг 4: Доступ к веб-интерфейсу Grafana

По умолчанию Grafana прослушивает порт 3000. Откройте веб-браузер и перейдите на:

http://your_server_ip:3000

Замените your_server_ip на фактический IP-адрес или имя хоста вашего сервера.

Учетные данные входа по умолчанию

ПолеЗначение
Имя пользователяadmin
Парольadmin

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

> Примечание о брандмауэре: Если вы используете UFW или другой брандмауэр, откройте порт 3000 для доступа браузера:

> “`bash

> sudo ufw allow 3000/tcp

> sudo ufw reload

> “`

Шаг 5: Настройка источников данных

Grafana — это уровень визуализации, который не хранит метрики самостоятельно. Вместо этого он подключается к внешним источникам данных, таким как Prometheus, InfluxDB, Elasticsearch, MySQL, PostgreSQL и многим другим. Настройка источника данных — это необходимый первый шаг перед созданием любой панели управления.

Шаг 5a: Переход к источникам данных

  1. На левой боковой панели нажмите на значок шестеренки (⚙), чтобы открыть меню Конфигурация.
  2. Выберите Источники данных.

Шаг 5b: Добавление нового источника данных

  1. Нажмите Добавить источник данных.
  2. Просмотрите список и выберите нужный тип источника данных (например, Prometheus, InfluxDB, MySQL).

Шаг 5c: Введение параметров подключения

Заполните параметры подключения для выбранного источника данных. Например, если вы подключаетесь к экземпляру Prometheus, работающему локально:

  • URL: http://localhost:9090
  • Доступ: Server (default)
  • Интервал сбора: 15s (должен совпадать с конфигурацией сбора Prometheus)

Для удаленного экземпляра InfluxDB вам потребуется указать URL хоста, имя базы данных и учетные данные для аутентификации.

Шаг 5d: Сохранение и проверка подключения

Нажмите Сохранить и проверить. Grafana попытается подключиться к источнику данных и отобразит сообщение об успехе или ошибке. Зеленое подтверждение «Источник данных работает» означает, что вы готовы к созданию панелей управления.

Шаг 6: Создайте свою первую панель управления Grafana

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

Шаг 6a: Создайте новую панель управления

  1. В левой боковой панели нажмите значок + (плюс).
  2. Выберите Dashboard.
  3. Нажмите Add new panel.

Шаг 6b: Настройте панель

Откроется редактор панели, дающий вам полный контроль над тем, какие данные отображаются и как они визуализируются.

  • Data Source: Выберите источник данных, который вы настроили на шаге 5.
  • Query: Напишите запрос метрики. Для Prometheus используйте PromQL. Например, для визуализации использования CPU:
  100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)
  • Visualization Type: Выбирайте из Time series, Gauge, Bar chart, Table, Stat, Heatmap и других — в зависимости от характера ваших данных.
  • Panel Title: Дайте вашей панели описательное имя (например, «CPU Usage — Last 1 Hour»).

Шаг 6c: Настройте и сохраните

Используйте параметры панели справа для настройки пороговых значений, цветовых схем, подписей осей и легенд. Когда вы будете удовлетворены:

  1. Нажмите Apply, чтобы добавить панель на вашу панель управления.
  2. Повторите процесс, чтобы добавить несколько панелей — каждая отслеживает другую метрику.
  3. Нажмите значок Save dashboard (дискета) в верхнем правом углу, дайте вашей панели управления имя и нажмите Save.

> Pro Tip: Официальная библиотека панелей управления Grafana предлагает сотни предварительно созданных панелей управления, созданных сообществом, для популярных стеков, таких как Node Exporter, Kubernetes, MySQL и NGINX. Вы можете импортировать их непосредственно, используя ID панели управления.

Шаг 7: Настройка оповещений

Встроенный механизм оповещений Grafana позволяет определить правила на основе пороговых значений и получать уведомления, когда метрики превышают критические уровни — информируя вас до того, как небольшие проблемы превратятся в серьезные сбои.

Шаг 7a: Создание правила оповещения

  1. Откройте панель, которую вы хотите отслеживать, и нажмите Edit.
  2. Перейдите на вкладку Alert в редакторе панели.
  3. Нажмите Create Alert.

Шаг 7b: Определение условий оповещения

Настройте условия, которые запускают оповещение. Например:

  • Condition: WHEN avg() OF query(A, 5m, now) IS ABOVE 90
  • Это запускает оповещение, когда среднее значение вашей метрики превышает 90 за последние 5 минут.

Установите поля Evaluate every и For, чтобы контролировать, как часто правило оценивается и как долго условие должно сохраняться перед срабатыванием.

Шаг 7c: Настройка каналов уведомлений

  1. Перейдите в Alerting → Notification channels на левой боковой панели.
  2. Нажмите Add channel и выберите предпочитаемый способ:
  • Email — требует конфигурации SMTP в grafana.ini
  • Slack — требует URL webhook Slack
  • PagerDuty, OpsGenie, Webhook и другие

Назначьте канал уведомлений вашему правилу оповещения, чтобы нужные люди были уведомлены при превышении пороговых значений.

Шаг 8: Защитите Grafana с помощью HTTPS и контроля доступа

Запуск Grafana в производственной среде без надлежащего усиления безопасности представляет серьезный риск. Следуйте этим лучшим практикам для защиты вашей инфраструктуры мониторинга.

8a: Включите HTTPS с SSL-сертификатом

Шифрование трафика к вашему экземпляру Grafana необходимо, особенно если он доступен через общественный интернет. Вам понадобится действительный SSL-сертификат — AlexHost предлагает доступные SSL-сертификаты, которые легко развернуть.

Когда у вас есть сертификат и приватный ключ, отредактируйте файл конфигурации Grafana:

sudo nano /etc/grafana/grafana.ini

Найдите раздел [server] и обновите следующие параметры:

[server]
protocol = https
http_port = 3000
cert_file = /etc/grafana/ssl/grafana.crt
cert_key = /etc/grafana/ssl/grafana.key

Сохраните файл и перезагрузите Grafana:

sudo systemctl restart grafana-server

Grafana теперь будет доступна по HTTPS на порту 3000.

> Рекомендуемая альтернатива: Поместите Grafana за обратный прокси (например, Nginx или Apache) и завершите SSL на уровне прокси. Это более гибкий и широко используемый подход в производственных средах.

8b: Ограничьте доступ администратора и управляйте пользователями

  1. Перейдите в Server Admin → Users в интерфейсе Grafana.
  2. Проверьте и отрегулируйте роли пользователей:
  • Admin — полный доступ
  • Editor — может создавать и редактировать панели мониторинга
  • Viewer — доступ только для чтения
  1. Отключите или удалите неиспользуемые учетные записи.
  2. Рассмотрите возможность включения LDAP или OAuth (Google, GitHub, GitLab) для централизованной аутентификации.

8c: Дополнительные рекомендации по усилению безопасности

  • Отключите анонимный доступ в grafana.ini:
  [auth.anonymous]
  enabled = false
  • Измените порт HTTP по умолчанию, если Grafana открыта для общественного доступа.
  • Ограничьте исходящие соединения с сервера Grafana, используя правила брандмауэра.
  • Включите логирование аудита для отслеживания активности пользователей.

Шаг 9: Управление и обновление Grafana

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

Обновление Grafana

sudo apt update
sudo apt upgrade grafana -y

Общие команды управления сервисом

ДействиеКоманда
Запустить Grafanasudo systemctl start grafana-server
Остановить Grafanasudo systemctl stop grafana-server
Перезагрузить Grafanasudo systemctl restart grafana-server
Перезагрузить конфигурациюsudo systemctl reload grafana-server
Проверить статусsudo systemctl status grafana-server
Просмотр логовsudo journalctl -u grafana-server -f

Резервная копия данных Grafana

Grafana по умолчанию хранит свою конфигурацию, панели мониторинга и данные пользователей в базе данных SQLite, расположенной по адресу:

/var/lib/grafana/grafana.db

Регулярно создавайте резервные копии этого файла, особенно перед выполнением обновлений:

sudo cp /var/lib/grafana/grafana.db /var/lib/grafana/grafana.db.backup-$(date +%F)

Для более крупных развертываний рассмотрите возможность миграции на выделенный бэкенд MySQL или PostgreSQL для повышения надежности и упрощения управления резервными копиями.

Устранение распространенных проблем

ПроблемаВероятная причинаРешение
Невозможно получить доступ к порту 3000Брандмауэр блокирует портЗапустите sudo ufw allow 3000/tcp
Служба не запускаетсяОшибка конфигурации или конфликт портовПроверьте journalctl -u grafana-server
"Ошибка подключения к источнику данных"Неправильный URL или правила брандмауэраПроверьте URL источника данных и доступ в сети
Вход не работает после изменения пароляКэш браузераОчистите кэш или используйте режим инкогнито
Grafana работает медленноНедостаточно ресурсов сервераОбновитесь на более высокий уровень VPS Hosting

Выбор правильного хостинга для вашего стека Grafana

Производительность вашего развертывания Grafana во многом зависит от базовой инфраструктуры. Вот краткое руководство по выбору правильного уровня хостинга:

  • Небольшие команды / личные проекты: Shared Web Hosting может работать для легких установок, хотя VPS обычно рекомендуется для Grafana.
  • Стеки мониторинга в production: План VPS Hosting предоставляет вам выделенные ресурсы, root доступ и гибкость для запуска Grafana вместе с Prometheus, InfluxDB или другими компонентами.
  • Высокий объем приема данных / наблюдаемость на основе ML: Рассмотрите GPU Hosting для рабочих нагрузок, которые включают крупномасштабную обработку данных или обнаружение аномалий на основе AI.
  • Развертывания корпоративного уровня: Dedicated Servers обеспечивают максимальную производительность, изоляцию и безопасность для критически важной инфраструктуры мониторинга.

Заключение

Установка и настройка Grafana на Ubuntu — это простой процесс, который обеспечивает мощную, реальную видимость ваших систем и приложений. Следуя этому руководству, вы научились:

  • Устанавливать Grafana из официального репозитория на Ubuntu
  • Запускать, включать и проверять сервис Grafana
  • Подключать источники данных, такие как Prometheus, InfluxDB и MySQL
  • Создавать интерактивные панели с пользовательскими панелями и визуализациями
  • Настраивать оповещения на основе пороговых значений с многоканальными уведомлениями
  • Защищать ваш экземпляр Grafana с помощью HTTPS и управления доступом на основе ролей
  • Поддерживать и обновлять Grafana с помощью стандартных команд APT

Независимо от того, мониторите ли вы один VPS или сложную многоузловую инфраструктуру, Grafana предоставляет основу наблюдаемости, необходимую вам, чтобы опережать проблемы производительности и принимать решения на основе данных. Объедините это с надежной хостинг-средой от AlexHost, и у вас будет все необходимое для создания мирового мониторингового стека.