Grafana — приборная панель проекта
Разбираемся с дашбордами, графиками и диаграммами.
Иллюстрация: Оля Ежак для Skillbox Media
Любое приложение каждую минуту обрабатывает горы запросов, но как уследить за этим потоком данных и не сойти с ума? Рассказываем про возможности Grafana — открытой платформы для сбора информации и анализа метрик.
Содержание
Что такое Grafana
Grafana — это открытая платформа мониторинга и анализа данных, адаптированная под IT-системы. С её помощью разработчики могут собирать дашборды со всей важной информацией, которая может понадобиться администраторам или бизнес-аналитикам.
Представьте компанию, в которой идеально налажен мониторинг приложения на всех уровнях. Отдельные системы собирают данные о производительности и эффективности использования ресурсов, исправно приходят коды ошибок, а бизнес-аналитики получают данные о продажах и метрики активности пользователей.
Главный минус такого подхода в том, что вся важная информация находится в разных источниках. Если надо посмотреть, как работают все системы, то придётся переключаться между сервисами сбора данных и аналитики. Намного удобнее видеть все метрики на одном экране.
Собрать такой дашборд можно с помощью Grafana — открытой платформы визуализации данных. Она собирает данные из назначенных источников и отображает её в удобном для пользователя формате. При этом сама платформа ничего не хранит, а только отображает графики и диаграммы.
С чем работает Grafana
К Grafana можно подключать сторонние системы мониторинга, облачные платформы и базы данных. Это делает платформу адаптируемой под требования конкретного проекта. Разработчикам не надо выбирать стек под требования платформы аналитики и придумывать «костыли» для обмена данными.
С помощью плагинов можно передавать данные из более чем 150 сторонних сервисов, вот некоторые популярные и интересные:
- Jira — позволяет отслеживать активные тикеты и выводить статистику по завершённым, чтобы команда наглядно видела результат своей работы.
- GitHub — получает данные из популярного хостинга опенсорс-проектов и отображает их в виде графиков. Есть похожий плагин и для пользователей GitLab.
Читайте также:
- Strava — плагин для любителей спорта и активного отдыха, позволяющий получать данные из одноимённого сервиса отслеживания активности. Можно выводить показатели тренировок и следить за прогрессом.
- Google Sheets — визуализирует данные из вашей онлайн-таблицы. С его помощью можно создать собственный трекер финансов или настроить дашборд для бухгалтерии.
- Sun and Moon — полезное расширение для отслеживания положения Солнца и Луны. Может пригодиться в дашборде с данными о погоде.
У Grafana есть SDK для разработки собственных плагинов, что позволяет импортировать данные из любых источников. Расширение можно сделать приватным и использовать только в контуре компании или опубликовать в специальном магазине.
К платформе можно подключить одну или несколько поддерживаемых систем или баз данных. Из них платформа будет брать данные и визуализировать. Например, на одном дашборде можно отображать информацию о производительности серверов, регистрации новых пользователей и заказах, поступающих с сайта.
Grafana используют не только для мониторинга IT-систем. Платформа позволяет визуализировать любые типы данных. Энтузиасты проектируют дашборды для учёта личных финансов, спортивных успехов, прогресса обучения новым навыкам и управления умным домом.
Визуализация в Grafana
Все данные Grafana отображает на дашбордах и панелях:
- Панель — базовый блок, получающий данные из определённого источника и выводящий их в виде графика, гистограммы, таблицы или тепловой карты. Есть возможность объединять несколько показателей на одном графике.
- Дашборд — набор из нескольких панелей, произвольно отобранных пользователем. Их можно создавать с нуля и настраивать под свои задачи или воспользоваться уже готовыми шаблонами под определённые типы данных.
- Аннотации — красные вертикальные линии, которые отмечают на графиках особенные события, например сбои или аномалии. С их помощью можно отследить, когда была обнаружена ошибка и как она повлияла на работу всей системы.
По умолчанию платформа поддерживает множество способов визуализации данных. Помимо этого можно подключать сторонние методы отображения, которые доступны в магазине плагинов. Их разрабатывают и публикуют независимые разработчики.
Возможности дашбордов
Дашборды в Grafana не просто собирают данные и визуализируют их, а делают это в реальном времени. Платформа фиксирует любые изменения и сразу отображает их. Благодаря этому можно создавать системы анализа производительности и нагрузки серверов или приложений.
Кроме того, дашборды хранят историю изменения данных, что позволяет оценивать, как развивается продукт и что влияет на показатели. К примеру, если Grafana используется для того, чтобы следить за количеством новых пользователей, то на дашборде можно отследить, какая рекламная кампания была наиболее удачной.
Ещё один плюс Grafana заключается в том, что с её помощью разработчики могут проводить диагностику IT-систем и устранять неполадки. Обычно для этого создают дашборд, анализирующий данные о производительности сервера или приложения. Если произошёл сбой, то на графике появится специальная отметка, которая поможет выяснить, что его вызвало.
Что ещё может Grafana
В Grafana есть и другие функции, облегчающие работу:
- Шаблоны дашбордов. Если вы создали идеальный дашборд, то его можно сохранить в виде шаблона и использовать повторно или поделиться с другими пользователями.
- Автоматизация. Платформа умеет обрабатывать скрипты, поэтому любые действия можно автоматизировать. К примеру, сделать так, чтобы платформа сама фиксировала аномалии в нерабочее время сотрудников.
- Вывод данных. Широкие настройки отображения позволяют выводить дашборды на телевизоры или массивы из нескольких мониторов. Кроме того, можно скрыть элементы пользовательского интерфейса, чтобы ничего не отвлекало от данных.
- API. Сторонним разработчикам доступны публичные API. Они позволяют создавать собственные плагины, приложения и ботов для управления анализом.
Читайте также:
- Оповещения. Встроенная система уведомлений присылает оповещения, исходя из пороговых значений, установленных пользователем. Уведомления приходят на электронную почту, в мессенджеры или на другие платформы управления IT-инфраструктурой.
- PromQL. Grafana поддерживает работу с PromQL — специальным языком запросов. Это позволяет быстро обрабатывать большие наборы данных и извлекать из них больше полезной информации.
- Разграничение прав. У администраторов есть возможность настроить уровни доступа к дашбордам, чтобы каждый сотрудник видел только то, что нужно для его работы.
Установка
Grafana — гибкий инструмент, который можно адаптировать для команд любого размера и даже использовать в одиночку. Поэтому разработчики платформы предлагают несколько способов установки и использования:
- Grafana Cloud. Для изучения и интеграции в пет-проекты подойдёт облачная платформа. Чтобы получить к ней доступ, надо просто зарегистрироваться. После этого можно будет подключить источники данных и настроить дашборды. В бесплатном тарифе есть ограничения по трафику, количеству запросов, выделенному хранилищу на сервер и количеству пользователей.
- Самохостинг. Grafana — платформа с открытым кодом. Это значит, что можно скачать всё необходимое и установить на собственном сервере. Это даёт больше свободы и снимает любые ограничения, но придётся платить за аренду сервера. Grafana работает на Linux, Windows и macOS. Кроме того, есть уже готовый Docker-контейнер для быстрой установки всего необходимого. Разработчики платформы отмечают, что платформа будет шустро работать даже на 512 МБ оперативной памяти.
При выборе способа работы с Grafana надо учитывать свои возможности и свободное время. Самостоятельная установка потребует постоянного контроля, обслуживания и решения ошибок. Облачная версия работает на удалённом сервере и обслуживается разработчиками платформы.
Что дальше
Grafana — масштабная платформа со множеством функций, поэтому разработчики постоянно выпускают обучающие материалы. С их помощью новички могут быстро разобраться с настройкой и основными принципами работы.
Более подробно про установку и подключение источников данных можно узнать из официальной документации. Она доступна на английском языке, но есть встроенный переводчик.
Научиться создавать информативные и аккуратные дашборды можно с помощью видео от команды разработчиков. Кроме того, компания ведёт блог, в котором часто публикует статьи для начинающих пользователей и анонсирует бесплатные вебинары.
Список всех доступных плагинов можно найти в магазине расширений. На странице каждого плагина публикуют скриншоты, инструкции по установке и подробную документацию по работе.
Больше интересного про код — в нашем телеграм-канале. Подписывайтесь!