В конце февраля вышла шестая версия платформы для мониторинга Grafana. В материале мы расскажем подробнее об особенностях этого релиза и новых возможностях инструмента.


/ Flickr / Simon / CC BY-SA

Что такое Grafana


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

С Grafana работают такие компании, как NetApp, PayPal Stack Overflow и Red Hat. В частности, PayPal с помощью Grafana отслеживают производительность работы сервисов, а команде Red Hat платформа помогает следить за нагрузкой на OpenStack Cloud.

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

Что изменилось в новой версии


Новую версию Grafana представили на конференции GrafanaCon, которая прошла в конце февраля в Лос-Анджелесе. Обо всех нововведениях Grafana v6 вы можете почитать в журнале изменений на официальном сайте проекта. Расскажем о наиболее интересных из них.

Переход с Angular на React. Сообщество просило предоставить возможность писать кастомные плагины на React еще весной прошлого года. В новом релизе разработчики Grafana реализовали эту функцию. Теперь для плагинов будет использоваться SDK-библиотека @grafana/ui.

При этом в Grafana совершили полную миграцию на новую библиотеку. По словам разработчиков, на такой шаг они пошли, чтобы упростить поддержку кодовой базы (сделать код future-proof).

Добавили Explore. Это — инструмент для анализа и отладки, который позволит выяснять причины неполадок в работе инфраструктуры. Он интегрируется с редактором запросов Prometheus. Обычно для получения информации о статусе конкретного объекта пользователь обращается к серверу Prometheus с помощью языка запросов PromQL. Grafana v6 позволит миновать этот шаг и сразу отобразить всю информацию на дашбордах.

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

Новая система сбора логов Loki. Это — горизонтально-масштабируемая система логирования, индексирующая не содержимое логов, а их метаданные. Пользователи получили возможность хранить логи в сжатом формате. Такой подход будет удобен при работе с логами подов Kubernetes, поскольку их метки проиндексируются автоматически.

Удалили хранилище пользовательских сессий. Это было сделано, чтобы упростить работу с ПО вроде Redis, Memcache, Postgres или MySQL. Вместо сессий для подтверждения аутентификации теперь будут использоваться токены с коротким жизненным циклом. Время жизни токенов пользователи могут настроить в конфигурационном файле. Разработчики также реализовали несколько обновлений безопасности: cookies по умолчанию работают с атрибутом SameSite, что защищает пользователей от атаки Cross-Site Request Forgery (CSRF).

Среди менее значимых улучшений также стоит отметить изменение дизайна цветовой палитры и поддержку уведомлений чатов Google Hangouts.


/ Flickr / Bruce Guenter / CC BY

Аналоги Grafana


Grafana — не единственный открытый инструмент для визуализации данных. В качестве альтернативного решения можно выделить платформу Kibana, которая входит в стек ELK (ElasticSearch, Logstash, Kibana). Именно его мы в 1cloud используем в качестве инструмента логирования — свой опыт внедрения ELK мы описали в отдельном материале.

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

Кроме того, Kibana выигрывает у Grafana в вопросах масштабируемости. В прошлом году команда разработчиков Punchplatform отказалась от Grafana в пользу Kibana, когда число виртуальных серверов выросло до нескольких сотен.

К недостаткам Kibana можно отнести ограниченность интеграции. Этот инструмент работает только с Elasticsearch, а Grafana можно использовать вместе со сторонними сервисами вроде Prometheus или Redis.

«Grafana и Kibana — это инструменты, которые помогут решить разные задачи, — отмечает начальник отдела развития IaaS-провайдера 1cloud.ru Сергей Белкин. — Если речь идет о мониторинге нескольких сотен или тысяч серверов, то Kibana справится лучше. Если же первостепенная задача — интеграция со сторонними сервисами, то здесь стоит обратить внимание на Grafana».

Будущее решений для визуализации данных


По прогнозам BI-SURVEY, решения для сбора и визуального представления информации станут одним из основных трендов 2019 года. При этом считается, что отрасль ждет переход от простых систем отображения данных в формате графов и таблиц к «умным» инструментам на базе систем ИИ. Такой подход позволит автоматизировать ряд рутинных задач, связанных с мониторингом ИТ-инфраструктуры.

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

Несколько материалов из нашего корпоративного блога:

Комментарии (7)


  1. Fortop
    08.03.2019 21:18

    А можно без треша?


    in 2017 we decided to start switching to Kibana. Kibana 5 brought in timelion, making it possible to visualise time series, we did not perceived any particular key strength on the Grafana side to motivate maintaining two different tools. The less tools, the better.

    Где вы тут прочитали о том, что перешли на кибану из-за масштабируемости?


    1. mediaman
      08.03.2019 23:18

      В статье и не написано, что переход на кибану был «из-за» масштабируемости. И если почитать статью, на которую вы ссылаетесь, дальше первого подраздела, то там авторы пишут, что из-за возможностей Elsatic дашборды на кибане оказались очень производительны, что позволило строить агрегации за большие временные периоды


      1. Fortop
        08.03.2019 23:20

        Elastic может сидеть и под графаной.


        Поэтому давайте мы не будем приписывать особенности одной технологии другой.


        Тем более что это не тандемный стек типа того же php-fpm + nginx


      1. Maximuzzz
        09.03.2019 09:45
        -1

        Не знаю как вы, но я в одном абзаце вижу «выигрывает в производительности» и «отказалась, когда число серверов выросло». Как мне кажется, это как раз весьма не тонкий намёк на переход из-за масштабируемости.
        «Кроме того, Kibana выигрывает у Grafana в вопросах масштабируемости. В прошлом году команда разработчиков Punchplatform отказалась от Grafana в пользу Kibana, когда число виртуальных серверов выросло до нескольких сотен.»


      1. Maximuzzz
        09.03.2019 10:07

        Вообще не понятно зачем упомянули эту статью, там сплошные подмены понятий и манипуляции фактами. Например, говорится о том, что рассматривали InfluxDB, но отказались в том числе из-за того, что это решение не бесплатное, если нужна кластеризация. При этом базовая (бесплатная) лицензия Elasticsearch точно так же не умеет в корпоративный сектор, начать хотя бы с отсутствующего алертинга и поддержку только базовой авторизации.
        Если говорить о сути перехода, то основная проблема была в плохой масштабируемости Graphite, который и заменили на Elasticsearch, а поскольку эластиком трудно управлять без кибаны, то очевидно, что и она подтянулась в след.
        А ещё отдельный вопрос к «дашборду» на графане, который они приводят в качестве «плохого» примера и «хорошим» в кибане. Создаётся впечатление, что они не знают о существовании других панелей визуализации в графане кроме графа. Все эти «спидометры» с «хороших» примеров элементарно добавляются в графане. Возможно, соглашусь только с одним пунктом, для постройки дашбордов в графане нужно хоть немного знать структуру своих данных, а в кибане набор дашбордов генерируется автоматически новым типом битов — можно не думать.


  1. bondbig
    09.03.2019 09:32

    Странное сравнение кибаны и графаны, это разные инструменты


  1. Maximuzzz
    09.03.2019 09:40

    Смешались люди кони… «Если речь идет о мониторинге нескольких сотен или тысяч серверов, то Kibana справится лучше.» — с чем справится лучше Kibana, если это только лишь графический интерфейс к Elasticsearch? В отличии от Kibana в Grafana даже есть какой никакой но механизм алертинга. А вообще это совершенно разные инструменты и сравнивать их нужно только в тех задачах, где их функционал пересекается.