Как установить 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: Переход к источникам данных
- На левой боковой панели нажмите на значок шестеренки (⚙), чтобы открыть меню Конфигурация.
- Выберите Источники данных.
Шаг 5b: Добавление нового источника данных
- Нажмите Добавить источник данных.
- Просмотрите список и выберите нужный тип источника данных (например, Prometheus, InfluxDB, MySQL).
Шаг 5c: Введение параметров подключения
Заполните параметры подключения для выбранного источника данных. Например, если вы подключаетесь к экземпляру Prometheus, работающему локально:
- URL:
http://localhost:9090 - Доступ:
Server (default) - Интервал сбора:
15s(должен совпадать с конфигурацией сбора Prometheus)
Для удаленного экземпляра InfluxDB вам потребуется указать URL хоста, имя базы данных и учетные данные для аутентификации.
Шаг 5d: Сохранение и проверка подключения
Нажмите Сохранить и проверить. Grafana попытается подключиться к источнику данных и отобразит сообщение об успехе или ошибке. Зеленое подтверждение «Источник данных работает» означает, что вы готовы к созданию панелей управления.
Шаг 6: Создайте свою первую панель управления Grafana
С подключенным источником данных вы теперь можете создавать панели управления для визуализации ваших метрик в реальном времени.
Шаг 6a: Создайте новую панель управления
- В левой боковой панели нажмите значок + (плюс).
- Выберите Dashboard.
- Нажмите 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: Настройте и сохраните
Используйте параметры панели справа для настройки пороговых значений, цветовых схем, подписей осей и легенд. Когда вы будете удовлетворены:
- Нажмите Apply, чтобы добавить панель на вашу панель управления.
- Повторите процесс, чтобы добавить несколько панелей — каждая отслеживает другую метрику.
- Нажмите значок Save dashboard (дискета) в верхнем правом углу, дайте вашей панели управления имя и нажмите Save.
> Pro Tip: Официальная библиотека панелей управления Grafana предлагает сотни предварительно созданных панелей управления, созданных сообществом, для популярных стеков, таких как Node Exporter, Kubernetes, MySQL и NGINX. Вы можете импортировать их непосредственно, используя ID панели управления.
Шаг 7: Настройка оповещений
Встроенный механизм оповещений Grafana позволяет определить правила на основе пороговых значений и получать уведомления, когда метрики превышают критические уровни — информируя вас до того, как небольшие проблемы превратятся в серьезные сбои.
Шаг 7a: Создание правила оповещения
- Откройте панель, которую вы хотите отслеживать, и нажмите Edit.
- Перейдите на вкладку Alert в редакторе панели.
- Нажмите Create Alert.
Шаг 7b: Определение условий оповещения
Настройте условия, которые запускают оповещение. Например:
- Condition:
WHEN avg() OF query(A, 5m, now) IS ABOVE 90 - Это запускает оповещение, когда среднее значение вашей метрики превышает 90 за последние 5 минут.
Установите поля Evaluate every и For, чтобы контролировать, как часто правило оценивается и как долго условие должно сохраняться перед срабатыванием.
Шаг 7c: Настройка каналов уведомлений
- Перейдите в Alerting → Notification channels на левой боковой панели.
- Нажмите 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-serverGrafana теперь будет доступна по HTTPS на порту 3000.
> Рекомендуемая альтернатива: Поместите Grafana за обратный прокси (например, Nginx или Apache) и завершите SSL на уровне прокси. Это более гибкий и широко используемый подход в производственных средах.
8b: Ограничьте доступ администратора и управляйте пользователями
- Перейдите в Server Admin → Users в интерфейсе Grafana.
- Проверьте и отрегулируйте роли пользователей:
- Admin — полный доступ
- Editor — может создавать и редактировать панели мониторинга
- Viewer — доступ только для чтения
- Отключите или удалите неиспользуемые учетные записи.
- Рассмотрите возможность включения 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Общие команды управления сервисом
| Действие | Команда |
|---|---|
| Запустить Grafana | sudo systemctl start grafana-server |
| Остановить Grafana | sudo systemctl stop grafana-server |
| Перезагрузить Grafana | sudo 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, и у вас будет все необходимое для создания мирового мониторингового стека.
на всех хостинговых услугах