Grafana: Создавайте впечатляющие дашборды за 30 минут

Grafana: Создавайте впечатляющие дашборды за 30 минут

Представьте, что все ваши данные — от метрик сервера до температуры в помещении — оживают на экране в виде безупречных графиков и наглядных дашбордов. Больше не нужно вручную копаться в логах и строить отчеты. Есть инструмент, который делает это за вас, превращая сухие цифры в визуальные истории.

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

Вы узнаете, как быстро развернуть Grafana на Ubuntu или CentOS всего несколькими командами. Мы пройдем весь путь от первой установки до настройки брандмауэра, чтобы ваш сервер был безопасен.

Вы научитесь добавлять источники данных и создавать свои первые дашборды. Мы разберем, как настраивать информативные графики (Graph) и компактные виджеты SingleStat, которые показывают ключевые метрики в реальном времени.

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

Готовы превратить данные в ваше главное конкурентное преимущество? Начнем!


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

Сегодня рассмотрим установку и настройку Grafana - веб-инструмента для представления данных, связанных со временем, в виде очень красивых графиков и диаграмм. В качестве источника данных для Grafana можно использовать как множество различных сложных движков баз данных, включая Graphite, ElasticSearch, InfluxDB, Prometeus, так и более простых, например MySQL. В этой статье мы рассмотрим, как установить Grafana в Ubuntu 18.04, а также как настроить её для работы с influxdb.


Содержание статьи

Установка Grafana в Ubuntu

В официальных репозиториях дистрибутива пакета для этой программы нет, но вы можете установить её из официального репозитория самой программы. Чтобы добавить репозиторий, выполните такие команды:

curl https://packagecloud.io/gpg.key | sudo apt-key add -

sudo add-apt-repository "deb https://packagecloud.io/grafana/stable/debian/ stretch main"

Затем нужно обновить список пакетов:

sudo apt-get update

Установка Grafana Ubuntu:

sudo apt-get install grafana

Затем запускаем сервис и добавляем его в автозагрузку:

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

Grafana: Создавайте впечатляющие дашборды за 30 минут

Теперь убедимся, что сервис действительно запущен и не произошло никаких ошибок:

sudo systemctl status grafana-server

Если всё прошло хорошо, то в выводе вы увидите сообщение active(running), выделенное зеленым цветом.

Grafana: Создавайте впечатляющие дашборды за 30 минут

У Grafana своя система авторизации, поэтому закрывать её обратным прокси не обязательно, если вы, конечно, не собираетесь добавлять для интерфейса SSL-сертификат. Но по умолчанию интерфейс доступен на порте 3000. Нам нужно добавить его в исключения брандмауэра. Для этого выполните:

ufw allow 3000/tcp

Если на вашем сервере брандмауэр не настроен, то ничего делать не надо, порт будет доступен по умолчанию.

Установка Grafana в CentOS

В CentOS программа устанавливается похожим образом. Только добавление репозитория будет выглядеть совсем по-другому. Для добавления официального репозитория продукта создайте файл /etc/yum.repos.d/grafana.repo со следующим содержимым:

vi /etc/yum.repos.d/grafana.repo

[grafana]
name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/7/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Сохраните изменения с помощью :w, и можно устанавливать Grafana:

yum -y install grafana

Затем, таким же образом, запустите сервис и добавьте его в автозагрузку:

systemctl start grafana-server
systemctl enable grafana-server

Для управления брандмауэром в CentOS используется команда firewalld. Чтобы разрешить доступ к программе извне, выполните:

firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload

Grafana готова к использованию.

Настройка Grafana

1. Первый вход

Чтобы войти в интерфейс Grafana, нужно ввести в адресной стройке адрес http://localhost:3000 при условии, что вы устанавливали сервер на локальный компьютер. Если программа установлена на другой компьютер или сервер, то нужно ввести именно его адрес.

Grafana: Создавайте впечатляющие дашборды за 30 минут

При первом входе система спросит ваш логин и пароль. По умолчанию это admin - admin. Сразу же после успешного входа вам будет предложено ввести новый пароль для администратора:

Grafana: Создавайте впечатляющие дашборды за 30 минут

2. Источники данных

Дальше вы будете перенаправлены на домашнюю страницу:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Здесь нам система предлагает добавить источники, откуда будут загружаться данные. Для этого нажмите на зеленую кнопку Add Data Source:

Grafana: Создавайте впечатляющие дашборды за 30 минут

 

В открывшемся окне введите названия ресурса и выберите его тип, движок, откуда будут браться данные. В этом примере я буду использовать InfluxDB:

Grafana: Создавайте впечатляющие дашборды за 30 минут

В разделе HTTP надо ввести IP-адрес сервера, где находится наша база данных InfluxDB или другой ресурс. InfluxDB, как и ElasticSearch, использует обычный HTTP API для выполнения запросов, который доступен на порте 8086. Таким образом, если вы установили базу данных на локальный компьютер, адрес будет таким - http://localhost:8086:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Если база данных закрыта с помощью http-аутентификации, то ниже надо указать для неё данные. В самом низу нужно указать имя базы данных пользователя и его пароль для доступа к ней:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Затем нажмите кнопку Save. Если всё прошло успешно, то вы увидите сообщение, что источник успешно добавлен.

Grafana: Создавайте впечатляющие дашборды за 30 минут

3. Создание Dashboards Grafana

Вернитесь на домашнюю страницу и нажмите кнопку New dashboard:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Доска создана. Теперь нам нужно заполнить её виджетами.

Grafana: Создавайте впечатляющие дашборды за 30 минут

Сейчас доступно 9 разных виджетов:

  • Graph - график;
  • SingleStat - одиночный показатель;
  • Table - таблица;
  • Hteatmap - тепловая карта;
  • Text - обычный текст;
  • Row - разделитель, позволяющий создавать группы виджетов;
  • Dashboards List - список доступных досок;
  • Plugins List - список плагинов;
  • Alerts List - список предупреждений;

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

4. Настройка графиков Grafana

Теперь разберём, как выполняется настройка графиков Grafana. Как вы догадались, для создания графика нужно нажать на кнопку Graph. После этого пустой график будет добавлен в рабочую область панели:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Нажмите на стрелочку около его заголовка и выберите в открывшемся меню Edit:

Grafana: Создавайте впечатляющие дашборды за 30 минут

 

Grafana: Создавайте впечатляющие дашборды за 30 минут

Рассмотрим содержимое интерфейса настройки более подробно:

  • Шапка - содержит кнопки: сохранить, поделиться, меню для выбора периода времени, за который будут браться данные, кнопку изменения интервала времени, кнопку обновления данных и кнопку возврата;
  • График - размещён под шапкой, показывает, как будет выглядеть ваш график;
  • Панель вкладок - позволяет переключаться между разными вкладками настроек;
  • Настройки - под панелью вкладок находятся настройки запроса к базе данных на получение данных;

Эти настройки можно разделить на несколько пунктов:

  • Data Source - источник данных;
  • FROM - таблица в базе данных или индекс;
  • WHERE - условие отбора;
  • SELECT - поле которые надо выбрать;
  • GROUP BY - группировка значений.

В нашем примере у меня есть база с климатическими данными за определённый период, температурой и влажностью. В ней есть таблица rpi-dht22, в которой есть поля: time, humidity, temperature и location. Структура документа influxdb:

{
"measurement": rpidht22,
"tags": {
"location": indor/outdor,
},
"time": ГГГГ-ММ-ДДTчч:мм:ссZ,
"fields": {
"temperature" : температура,
"humidity": влажность
}
}

 

Обратите внимание, если вы хотите, чтобы InfluxDB могла нормально работать с временем, нужно, чтобы оно было в правильном формате. Правильный формат - это ГГГГ-ММ-ДДTчч:мм:ссZ, где T и Z ни на что не заменяются. Если время будет не в таком формате, то функции группровки по времени могут не работать.

В качестве источника выбираем ранее созданный источник Климат, таблица - rpidht22, а поле temperature. Когда вы будете открывать каждый из пунктов, программа предложит вам выбрать одно из доступных значений. Это очень удобно:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Если в базе есть данные, то они уже должны начать отображаться. Если не отображаются, попробуйте добавить больше данных или измените период или интервал времени:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Grafana: Создавайте впечатляющие дашборды за 30 минут

Если всё ещё что-то не работает, вы можете нажать кнопку Query Inspector на панели вкладок и посмотреть запрос, который используется для получения данных, его можно потом выполнить отдельно в интерфейсе базы данных, поэкспериментировать и понять, что не работает.

Сейчас мы на вкладке Metrics. Переключившись на вкладку General мы можем настроить имя графика в поле Title:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Сохранив график, вы вернётесь к нашей панели и получите такой результат:

Grafana: Создавайте впечатляющие дашборды за 30 минут

 

Вот такие графики Grafana можно получить. Если добавить несколько полей данных для графика с помощью кнопки Add Query:

Grafana: Создавайте впечатляющие дашборды за 30 минут

То на одном полотне будет отображаться два графика:

Grafana: Создавайте впечатляющие дашборды за 30 минут

5. Создание SingleStat

Виджет SingleStat позволяет отображать усреднённое значение показателя, а также шкалу и его текущую позицию на ней. Чтобы добавить новый элемент на панель, нажмите кнопку Add Panel:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Затем выберите пункт SingleStat:

Grafana: Создавайте впечатляющие дашборды за 30 минут

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

Grafana: Создавайте впечатляющие дашборды за 30 минут

Особенность этого виджета в том, что он берёт все данные и применяет к ним определённую функцию, а затем выводит результат. По умолчанию применяется функция average. Я хочу знать текущую температуру, для этого мне надо получить последнее значение из списка, а не среднее. Функцию обработки данных можно изменить на вкладке Options. Для последнего значения выберите в поле Stat значение Current:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Чтобы включить отображение шкалы, найдите на вкладке Options пункт Guage и поставьте напротив него галочку. Здесь же можно указать максимальное и минимальное значение:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Вот такая панель получится в результате:

Grafana: Создавайте впечатляющие дашборды за 30 минут

6. Настройка панели

Имя панели вы можете задать, нажав на кнопку с шестерёнкой. Затем введите нужное имя в поле Name:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Как вы, возможно, уже заметили, взявшись за нижний правый угол можно менять размеры виджетов, а за заголовок - перетягивать их в другое место. Добавив несколько виджетов и разделив температуру с помощью условия WHERE на улицу и дом, получаем такую панель:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Таблица и тепловая карта выглядят вот так:

Grafana: Создавайте впечатляющие дашборды за 30 минут

После внесения изменений не забывайте сохранить панель.

7. Импорт и экспорт

Готовую панель можно экспортировать и импортировать на другом сервере. Для этого есть кнопка Share:

Grafana: Создавайте впечатляющие дашборды за 30 минут

Здесь перейдите на вкладку Export и нажмите кнопку Save to file. Теперь полученный файл вы можете использовать для импорта на другой машине. Для этого выберите в меню Dashboard -> Manage:

Grafana: Создавайте впечатляющие дашборды за 30 минут

В открывшемся окне нажмите кнопку Import, теперь осталось выбрать файл и выбрать источник, откуда будут браться данные.

Выводы

Grafana - это очень мощная система построения графиков и мониторинга статистики. У неё много функций и их невозможно охватить одной статьей, я рассказал только про работу с InfluxDB и построение простых графиков, но этого будет вполне достаточно, чтобы начать работу, а дальше вы уже разберётесь. А какие системы статистики используете вы? Почему? Напишите в комментариях!

Оставить комментарий


Кликните на изображение чтобы обновить код, если он неразборчив