Как установить Grafana на Ubuntu: полное руководство по настройке и конфигурации
Grafana — одна из самых мощных платформ с открытым исходным кодом для визуализации данных и мониторинга инфраструктуры. Независимо от того, отслеживаете ли вы производительность сервера, метрики приложений или бизнес-KPI, гибкие панели управления Grafana и широкая поддержка источников данных делают её незаменимым инструментом для любого системного администратора или инженера DevOps.
Это подробное руководство проведёт вас через каждый этап установки Grafana на Ubuntu — от подготовки системы до настройки источников данных, создания первой панели управления, настройки оповещений и защиты развёртывания.
> Предварительные требования: работающий сервер Ubuntu (рекомендуется 20.04 или 22.04 LTS), привилегии sudo и стабильное интернет-соединение. Если вам нужен надёжный сервер для размещения экземпляра Grafana, рассмотрите VPS Hosting от AlexHost — оптимизированный для критичных по производительности рабочих нагрузок мониторинга.
Оглавление
- Обновление системных пакетов
- Установка Grafana через официальный репозиторий APT
- Запуск и включение сервиса Grafana
- Доступ к веб-интерфейсу Grafana
- Настройка источников данных
- Создание первой панели управления
- Настройка оповещений
- Защита Grafana с помощью HTTPS и контроля доступа
- Управление и обновление Grafana
Шаг 1: Обновление системных пакетов {#step-1}
Перед установкой нового программного обеспечения критически важно синхронизировать индекс пакетов и применить все доступные обновления. Это обеспечивает совместимость и снижает риск конфликтов зависимостей.
sudo apt update && sudo apt upgrade -yДождитесь завершения процесса перед продолжением. На недавно подготовленном сервере это может занять несколько минут.
Шаг 2: Установка Grafana через официальный репозиторий APT {#step-2}
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 {#step-3}
После установки запустите демон сервера 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 {#step-4}
По умолчанию 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: Настройка источников данных {#step-5}
Grafana — это уровень визуализации — она не хранит метрики сама по себе. Вместо этого она подключается к внешним источникам данных, таким как Prometheus, InfluxDB, Elasticsearch, MySQL, PostgreSQL и многим другим. Настройка источника данных — это необходимый первый шаг перед созданием любой панели управления.
Шаг 5a: Переход к источникам данных
- В левой боковой панели нажмите на значок шестерёнки (⚙), чтобы открыть меню Конфигурация.
- Выберите Источники данных.
Шаг 5b: Добавление нового источника данных
- Нажмите Добавить источник данных.
- Просмотрите список и выберите нужный тип источника данных (например, Prometheus, InfluxDB, MySQL).
Шаг 5c: Ввод деталей подключения
Заполните параметры подключения для выбранного источника данных. Например, если вы подключаетесь к экземпляру Prometheus, работающему локально:
- URL:
http://localhost:9090 - Доступ:
Server (default) - Интервал скрейпинга:
15s(совпадает с конфигурацией скрейпинга Prometheus)
Для удалённого экземпляра InfluxDB вы должны предоставить URL хоста, имя базы данных и учётные данные аутентификации.
Шаг 5d: Сохранение и тестирование подключения
Нажмите Сохранить и тестировать. Grafana попытается подключиться к источнику данных и отобразит сообщение об успехе или ошибке. Зелёное подтверждение «Источник данных работает» означает, что вы готовы создавать панели управления.
Шаг 6: Создание первой панели управления Grafana {#step-6}
С подключённым источником данных вы теперь можете создавать панели управления для визуализации ваших метрик в реальном времени.
Шаг 6a: Создание новой панели управления
- В левой боковой панели нажмите на значок + (плюс).
- Выберите Панель управления.
- Нажмите Добавить новую панель.
Шаг 6b: Настройка панели
Откроется редактор панели, предоставляя вам полный контроль над тем, какие данные отображаются и как они визуализируются.
- Источник данных: выберите источник данных, который вы настроили на шаге 5.
- Запрос: напишите запрос метрики. Для Prometheus используйте PromQL. Например, для визуализации использования CPU:
100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[5m])) * 100)- Тип визуализации: выберите из Временной ряд, Датчик, Столбчатая диаграмма, Таблица, Статистика, Тепловая карта и другие — в зависимости от характера ваших данных.
- Название панели: дайте панели описательное имя (например, «Использование CPU — последний час»).
Шаг 6c: Настройка и сохранение
Используйте параметры в правой панели для настройки пороговых значений, цветовых схем, меток осей и легенд. После этого:
- Нажмите Применить, чтобы добавить панель на вашу панель управления.
- Повторите процесс, чтобы добавить несколько панелей — каждая отслеживает другую метрику.
- Нажмите значок Сохранить панель управления (дискета) в верхнем правом углу, дайте вашей панели управления имя и нажмите Сохранить.
> Совет профессионала: библиотека официальных панелей управления Grafana предлагает сотни предварительно созданных панелей управления, созданных сообществом, для популярных стеков, таких как Node Exporter, Kubernetes, MySQL и NGINX. Вы можете импортировать их напрямую, используя ID панели управления.
Шаг 7: Настройка оповещений {#step-7}
Встроенный механизм оповещений Grafana позволяет вам определять правила на основе пороговых значений и получать уведомления, когда метрики превышают критические уровни — держа вас в курсе до того, как небольшие проблемы станут серьёзными сбоями.
Шаг 7a: Создание правила оповещения
- Откройте панель, которую вы хотите отслеживать, и нажмите Редактировать.
- Перейдите на вкладку Оповещение в редакторе панели.
- Нажмите Создать оповещение.
Шаг 7b: Определение условий оповещения
Настройте условия, которые запускают оповещение. Например:
- Условие:
WHEN avg() OF query(A, 5m, now) IS ABOVE 90 - Это запускает оповещение, когда среднее значение вашей метрики превышает 90 за последние 5 минут.
Установите поля Оценивать каждый и Для, чтобы контролировать, как часто правило оценивается и как долго условие должно сохраняться перед срабатыванием.
Шаг 7c: Настройка каналов уведомлений
- Перейдите в Оповещение → Каналы уведомлений в левой боковой панели.
- Нажмите Добавить канал и выберите предпочтительный метод:
- Email — требует конфигурации SMTP в
grafana.ini - Slack — требует URL webhook Slack
- PagerDuty, OpsGenie, Webhook и другие
Назначьте канал уведомлений вашему правилу оповещения, чтобы нужные люди были уведомлены, когда пороги превышены.
Шаг 8: Защита Grafana с помощью HTTPS и контроля доступа {#step-8}
Запуск 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-serverGrafana теперь будет доступна по HTTPS на порту 3000.
> Рекомендуемая альтернатива: поместите Grafana за обратный прокси (например, Nginx или Apache) и завершите SSL на уровне прокси. Это более гибкий и широко используемый подход в производственных средах.
8b: Ограничение доступа администратора и управление пользователями
- Перейдите в Администратор сервера → Пользователи в пользовательском интерфейсе Grafana.
- Просмотрите и отрегулируйте роли пользователей:
- Администратор — полный доступ
- Редактор — может создавать и редактировать панели управления
- Зритель — доступ только для чтения
- Отключите или удалите неиспользуемые учётные записи.
- Рассмотрите возможность включения LDAP или OAuth (Google, GitHub, GitLab) для централизованной аутентификации.
8c: Дополнительные рекомендации по усилению
- Отключите анонимный доступ в
grafana.ini:
[auth.anonymous]
enabled = false- Измените порт HTTP по умолчанию, если Grafana открыта для общественности.
- Ограничьте исходящие соединения с сервера Grafana, используя правила брандмауэра.
- Включите логирование аудита для отслеживания активности пользователей.
Шаг 9: Управление и обновление Grafana {#step-9}
Поддержание Grafana в актуальном состоянии критически важно для безопасности и доступа к новым функциям. Поскольку вы установили Grafana из официального репозитория APT, обновления просты.
Обновление Grafana
sudo apt update
sudo apt upgrade grafana -yОбщие команды управления сервисом
| Действие | Команда |
|---|---|
| Запуск Grafana | sudo systemctl start grafana-server |
| Остановка Grafana | sudo systemctl stop grafana-server |
| Перезагрузка Grafana | sudo systemctl restart grafana-server |
| Перезагрузка конфигурации | sudo systemctl reload grafana-server |
