Бесплатная миграция IT-инфраструктуры в облако

Установка и настройка Grafana

Команда Timeweb Cloud
Команда Timeweb Cloud
Наши инженеры, технические писатели, редакторы и маркетологи
02 февраля 2022 г.
3122
6 минут чтения
Средний рейтинг статьи: 5

Работать с любым IT-проектом становится проще, если у администратора под рукой есть масса различных метрик и результатов мониторинга. Еще лучше, если получаемые данные отображаются в удобном для изучения виде – визуально. С этой целью применяют инструменты вроде Grafana – решение с открытым исходным кодом, предназначенное для сбора информации из разных источников и ее консолидации в виде визуальных отчетов.

Установка И Настройка Grafana (1)

Продукт поддерживает разные платформы – Windows, macOS, Linux (популярные сборки вроде Debian, Ubuntu, CentOS, Fedora, OpenSuse или RedHat). В качестве базы данных возможна работа с SQLite, MySQL, PostgreSQL. Выбор богатый, в большинстве случаев администратору не требуется адаптироваться к решению. 

На примерах далее рассмотрим установку программы, ее базовые настройки, особенности работы с дашбордами.

Инсталляция Grafana на CentOS Stream

При аренде виртуальной машины или выделенного сервера на timeweb.cloud пользователь вправе устанавливать на удаленный компьютер любую операционную систему. Чаще это одна из распространенных сборок Linux, вроде CentOS или Ubuntu, поэтому в качестве примера и возьмем последние версии этих ОС. И будем считать, что платформа уже установлена, готова к инсталляции утилита Графана и другие прикладные программы.

grafana3

Последовательность действий:

1. Создадим новую конфигурацию официального репозитория:

 sudo nano /etc/yum.repos.d/grafana.repo

2. Внесем в сгенерированный файл данные по переменным:

[grafana] name=grafana baseurl=https://packages.grafana.com/oss/rpm repo_gpgcheck=1 enabled=1 gp 

3. Проведем инсталляцию приложения:

sudo yum install grafana –y

4. Включим автозагрузку программы и запустим ее:

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

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

sudo systemctl status grafana-server

После ввода на экране компьютера должно появиться сообщение:

grafana-server.service - Grafana instance Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: enabled)

Оно означает, что продукт установлен, активен, находится в заводских настройках и готов к работе. Проверка нужна на случай, если предыдущий администратор уже работал с программой или на сервер была установлена какая-либо нестандартная сборка Linux, в которой уже был интегрирован целый перечень дополнительных утилит.

Инсталляция Grafana на Ubuntu

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

grafana2

Последовательность команд:

wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add –
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo apt update
sudo apt install grafana
sudo systemctl enable grafana-server
sudo systemctl start grafana-server

После инсталляции и включения автозагрузки приложения остается проверить текущий статус:

sudo systemctl status grafana-server

Сходным образом процедура инсталляции Grafana выглядит и для Docker. В любом случае перед использованием его функционала требуется настройка брандмауэра IPTables или Firewalld, если их уже активировали (рекомендуется).

vds

Настройка брандмауэра для работы с Grafana

Рассмотрим команды на примере популярного сетевого экрана IPTables. В нем необходимо открыть доступ по сети к «стандартному» порту (для Grafana таковым является Port 3000). Процедура будет включать добавление новых правил и перезагрузку сервиса для применения изменений.

Вносим правило:

nano /etc/sysconfig/iptables

Добавляем строку в раздел OUTPUT ACCEPT:

-A INPUT -p tcp -m tcp --dport 3000 -m state --state NEW -j ACCEPT

Перезагружаем приложение:

sudo systemctl restart iptables

Остается проверить запуск программы с удаленного хоста, чтобы убедиться в открытии порта 3000.

Если администратор предпочитает пользоваться брандмауэром Firewalld, изменение конфигурации будет выглядеть так:

firewall-cmd --zone=public --add-port=3000/tcp --permanent
systemctl reload firewalld

По умолчанию в Графана логин и пароль простые – admin. Если пользователь их поменял и забыл, есть возможность сброса защиты доступа:

grafana-cli admin reset-admin-password --homepath "/usr/share/grafana" новый_пароль

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

Источники данных и инсталляция плагинов

Графана поддерживает подключение целого перечня источников данных – Prometheus, Graphite, OpenTSDB, InfluxDB и пр. Полный перечень вариантов приведен в инструкции от разработчика, но этим возможности программы не ограничены. Пользователь может подключать различные Grafana Plugins – дополнения, расширяющие возможности мониторинга, например популярный плагин Zabbix Grafana Dashboard.

grafana4

Процедура установки:

grafana-cli plugins install alexanderzobnin-zabbix-app
systemctl restart grafana-server

После перезагрузки приложения в подразделе Plugins раздела Configuration появится новый пункт Zabbix. Нужно кликнуть по кнопке Enabled, чтобы активировать новый функционал, после этого в меню Data Sources появится новый источник данных, который настраивается нажатием на Select. Та же схема применяется для других плагинов, например для Grafana PostgreSQL, который нужен для работы с одноименной базой данных, или Grafana ElasticsSearch.

Работа с дашбордами

Основа работы программы Графана – дашборды, наборы панелей с визуальным отображением полученных данных. По умолчанию на главный экран выводится часть основной информации, но каждый пользователь настраивает систему «под себя». Для этого достаточно кликнуть на кнопку New Dashboard и создать новую панель нужного вида (и так по кругу, пока на экран не будут выведены все необходимые данные).

grafana6

Варианты дашбордов:

  1. Graph – несколько метрик на одной панели.
  2. Stat – одиночный график.
  3. Gauge – формат спидометра.
  4. Bar Gauge – вертикальная гистограмма.
  5. Table – таблица с несколькими метриками.
  6. Text – произвольный текст.
  7. Heatmap – тепловая карта значений.
  8. Alert List – перечень событий Grafana Alert.
  9. Dashboard List – дашборды, добавленные в избранное.

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

В случае необходимости «тонкого» управления программой рекомендуется обратиться к подробной документации разработчика. Там приведена схема конфигурирования путем внесения различных параметров напрямую в файл Grafana.ini. При помощи такого способа администратор меняет папки для хранения логов, порт по умолчанию, другие настройки доступа, включая прокси, добавление и блокировку новых пользователей.

Разверните Grafana на своем VDS-сервере

Заключение

Программа Grafana представляет собой универсальный продукт для мониторинга событий. Чтобы хорошо разобраться в нем, есть смысл поэкспериментировать с внешним видом дашбордов или их сочетанием, опробовать «ручной режим» конфигурирования путем внесения изменений в файл INI. Плюс стоит знакомиться с плагинами сторонних разработчиков, они заметно расширяют перечень функций приложения. Проект постоянно развивается, поэтому этот инструмент мониторинга будет оставаться в топе популярных.

Хотите внести свой вклад?
Участвуйте в нашей контент-программе за
вознаграждение или запросите нужную вам инструкцию
img-server
02 февраля 2022 г.
3122
6 минут чтения
Средний рейтинг статьи: 5
Комментарии 2
lemurrlyn
lemurrlyn
26.05.2024, 10:52

"Графана поддерживает подключение целого перечня источников данных – Prometheus, Graphite, OpenTSDB, InflusDB и пр." - Наверное, правильнее было бы написать InfluxDB, а не InflusDB

Команда Timeweb Cloud
Команда Timeweb Cloud
27.05.2024, 03:19

Да, спасибо, исправили опечатку.