Код
#статьи

Grafana — приборная панель проекта

Разбираемся с дашбордами, графиками и диаграммами.

Иллюстрация: Оля Ежак для Skillbox Media

Любое приложение каждую минуту обрабатывает горы запросов, но как уследить за этим потоком данных и не сойти с ума? Рассказываем про возможности Grafana — открытой платформы для сбора информации и анализа метрик.

Содержание

Эксперт

Андрей Машковцев

Старший аналитик DWH, «Тинькофф». В Skillbox — спикер курса по синтезированию данных в профессии BI-аналитика. Ведёт телеграм-канал о лайфхаках в аналитике

Что такое Grafana

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

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

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

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

С чем работает Grafana

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

Меню выбора источника данных
Скриншот: Grafana / Skillbox Media

С помощью плагинов можно передавать данные из более чем 150 сторонних сервисов, вот некоторые популярные и интересные:

  • Jira — позволяет отслеживать активные тикеты и выводить статистику по завершённым, чтобы команда наглядно видела результат своей работы.
  • GitHub — получает данные из популярного хостинга опенсорс-проектов и отображает их в виде графиков. Есть похожий плагин и для пользователей GitLab.
  • Strava — плагин для любителей спорта и активного отдыха, позволяющий получать данные из одноимённого сервиса отслеживания активности. Можно выводить показатели тренировок и следить за прогрессом.
  • Google Sheets — визуализирует данные из вашей онлайн-таблицы. С его помощью можно создать собственный трекер финансов или настроить дашборд для бухгалтерии.
  • Sun and Moon — полезное расширение для отслеживания положения Солнца и Луны. Может пригодиться в дашборде с данными о погоде.

У Grafana есть SDK для разработки собственных плагинов, что позволяет импортировать данные из любых источников. Расширение можно сделать приватным и использовать только в контуре компании или опубликовать в специальном магазине.

Окно выбора источника метрик
Скриншот: Grafana / Skillbox Media

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

Можно получать данные из облачных платформ
Скриншот: Grafana / Skillbox Media

Grafana используют не только для мониторинга IT-систем. Платформа позволяет визуализировать любые типы данных. Энтузиасты проектируют дашборды для учёта личных финансов, спортивных успехов, прогресса обучения новым навыкам и управления умным домом.

Дашборд с информацией о погоде в реальном времени
Скриншот: Grafana / Skillbox Media

Визуализация в Grafana

Все данные Grafana отображает на дашбордах и панелях:

  • Панель — базовый блок, получающий данные из определённого источника и выводящий их в виде графика, гистограммы, таблицы или тепловой карты. Есть возможность объединять несколько показателей на одном графике.
  • Дашборд — набор из нескольких панелей, произвольно отобранных пользователем. Их можно создавать с нуля и настраивать под свои задачи или воспользоваться уже готовыми шаблонами под определённые типы данных.
  • Аннотации — красные вертикальные линии, которые отмечают на графиках особенные события, например сбои или аномалии. С их помощью можно отследить, когда была обнаружена ошибка и как она повлияла на работу всей системы.
Дашборд с анализом производительности
Скриншот: Grafana / Skillbox Media

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

Возможности дашбордов

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

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

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

Что ещё может Grafana

В Grafana есть и другие функции, облегчающие работу:

  • Шаблоны дашбордов. Если вы создали идеальный дашборд, то его можно сохранить в виде шаблона и использовать повторно или поделиться с другими пользователями.
  • Автоматизация. Платформа умеет обрабатывать скрипты, поэтому любые действия можно автоматизировать. К примеру, сделать так, чтобы платформа сама фиксировала аномалии в нерабочее время сотрудников.
  • Вывод данных. Широкие настройки отображения позволяют выводить дашборды на телевизоры или массивы из нескольких мониторов. Кроме того, можно скрыть элементы пользовательского интерфейса, чтобы ничего не отвлекало от данных.
  • API. Сторонним разработчикам доступны публичные API. Они позволяют создавать собственные плагины, приложения и ботов для управления анализом.
  • Оповещения. Встроенная система уведомлений присылает оповещения, исходя из пороговых значений, установленных пользователем. Уведомления приходят на электронную почту, в мессенджеры или на другие платформы управления IT-инфраструктурой.
  • PromQL. Grafana поддерживает работу с PromQL — специальным языком запросов. Это позволяет быстро обрабатывать большие наборы данных и извлекать из них больше полезной информации.
  • Разграничение прав. У администраторов есть возможность настроить уровни доступа к дашбордам, чтобы каждый сотрудник видел только то, что нужно для его работы.

Установка

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

  • Grafana Cloud. Для изучения и интеграции в пет-проекты подойдёт облачная платформа. Чтобы получить к ней доступ, надо просто зарегистрироваться. После этого можно будет подключить источники данных и настроить дашборды. В бесплатном тарифе есть ограничения по трафику, количеству запросов, выделенному хранилищу на сервер и количеству пользователей.
Облачная панель управления Grafana
Скриншот: Grafana / Skillbox Media
  • Самохостинг. Grafana — платформа с открытым кодом. Это значит, что можно скачать всё необходимое и установить на собственном сервере. Это даёт больше свободы и снимает любые ограничения, но придётся платить за аренду сервера. Grafana работает на Linux, Windows и macOS. Кроме того, есть уже готовый Docker-контейнер для быстрой установки всего необходимого. Разработчики платформы отмечают, что платформа будет шустро работать даже на 512 МБ оперативной памяти.

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

Что дальше

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

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

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

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

Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!


Изучайте IT на практике — бесплатно

Курсы за 2990 0 р.

Я не знаю, с чего начать
Научитесь работать с нейросетями — бесплатно!
Большая конференция по ИИ: пять экспертов и 10 нейросетей. Освойте нейросети — работа с ними становится обязательным навыком. Нажмите на баннер, чтобы узнать подробности.
Смотреть программу
Понравилась статья?
Да

Пользуясь нашим сайтом, вы соглашаетесь с тем, что мы используем cookies 🍪

Ссылка скопирована