Grafana для ios что это
Перейти к содержимому

Grafana для ios что это

  • автор:

Аналоги Grafana для iPhone

Grafana предоставляет мощный и элегантный способ создания, изучения и обмена панелями мониторинга и данными для вашей команды и всего мира.

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

Графана работает с Graphite, Elasticsearch, Cloudwatch, Prometheus, InfluxDB & More.

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

Grafana как еще один инструмент для технического мониторинга создаваемых нами программных продуктов

Очередная статья в серии «Инструменты мониторинга Logicify» рассказывает о Grafana. Это программное средство мы используем для визуализации и анализа данных как внутренних, так и внешних проектов. Статья может быть полезна техническим директорам, разработчикам, DevOps, системным администраторам, менеджерам проектов, а также всем заинтересованным лицам.

image

Что такое Grafana?

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

Наша команда Logicify в основном использует Grafana в сочетании с Elasticsearch и InfluxDB, но это программное средство поддерживает множество других источников данных (Prometheus, MySQL, Postgres и т. д.). Для каждого источника данных в Grafana предусмотрен настраиваемый редактор запросов и специальный синтаксис.

Термины Grafana

  • Панель — базовый элемент визуализации выбранных показателей. Grafana поддерживает панели с графиками, единичными статусами, таблицами, тепловыми картами кликов и произвольным текстом, а также интеграцию с официальными и созданными сообществом плагинами (например, карта мира или часы) и приложениями, которые также можно визуализировать. Можно настроить стиль и формат каждой панели; все панели можно перетаскивать на новое место, перестраивать и изменять их размер.
  • Дашборд — набор отдельных панелей, размещенных в сетке с набором переменных (например, имя сервера, приложения и датчика). Изменяя переменные, можно переключать данные, отображаемые на дашборде (например, данные с двух отдельных серверов). Все дашборды можно настраивать, а также секционировать и фрагментировать представленные в них данные в соответствии с потребностями пользователя. В проекте Grafana участвует большое сообщество разработчиков кода и пользователей, поэтому существует большой выбор готовых дашбордов для разных типов данных и источников.
  • В дашбордах можно использовать аннотации для отображения определенных событий на разных панелях. Аннотации добавляются настраиваемыми запросами в Elasticsearch; на графике аннотация отображается вертикальной красной линией. При наведении курсора на аннотацию можно получить описание события и теги, например, для отслеживания ответа сервера с кодом ошибки 5xx или перезапуска системы. Благодаря этому можно легко сопоставить время, конкретное событие и его последствия в приложении и исследовать поведение системы.

Передовые методы использования инструмента Grafana командой Logicify

Использование Grafana во внутренних проектах

Для своего внутреннего проекта «Интернет вещей» (решение для мониторинга микроклимата в офисе) мы подключили Grafana к InfluxDB, базе данных временных рядов, чтобы визуализировать изменения параметров микроклимата в офисе и реагировать на них соответствующим образом. Набор датчиков измеряет температуру, влажность, атмосферное давление и уровень CO2 в каждой зоне нашего офиса в Херсоне; эти параметры собираются и визуализируются в виде графиков Grafana на большом кухонном мониторе и в режиме онлайн.

image
Дашборд Grafana с офисными зонами Logicify

Так мы постоянно отслеживаем параметры качества воздуха, и наш офис-менеджер реагирует на изменения: открывает окна, если уровень CO2 слишком высок, включает и выключает кондиционер и увлажнители воздуха.

image
Дашборд Grafana с параметрами микроклимата в офисах

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

Как использовать Grafana в настраиваемых веб-приложениях

Grafana + Graylog

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

Какие показатели можно визуализировать в Grafana для веб-приложения

Журналы с простым текстом или уведомления об ошибках не «интересны» инструменту Grafana, поскольку его основная цель — визуализировать данные в виде графиков, диаграмм и таблиц. Мы написали пользовательский модуль для Django для сбора данных, которые мы хотели бы отслеживать по каждому обработанному запросу и отклику сети/работника. Данные включали в себя не только статус «успех»/«неудача», но и набор структурированных полей (как общего характера, так и относящихся к проекту), как то:

  • версия приложения
  • уникальный идентификатор каждого запроса
  • время отклика и статус
  • код ошибки (если есть)
  • IP-адрес, с которого был отправлен запрос
  • информация о пользователе (e-mail, юзернейм для зарегистрированных пользователей, роль, разрешения)
  • устройство и т. д.

Django помещает пользовательские структурированные аналитические записи в Graylog, который сохраняет их в отдельном потоке. Хотя эти данные можно визуализировать с помощью встроенных дашбордов Graylog, они не так хорошо выглядят, как дашборды Grafana. Поэтому мы заставляем Grafana считывать эти аналитические данные и визуализировать их. Таким образом, мы отслеживаем производительность приложения и загружаем данные как в режиме реального времени, так и в ретроспективе.

image

Grafana как инструмент отладки

Дашборды Grafana главным образом помогают нам в отладке приложений. Если конечный клиент сообщает о проблеме, Grafana дает нам возможность отличить ошибки на стороне клиента/сервера от реальных ошибок или брешей в логике приложения. Мы отслеживаем все веб-запросы, инициированные клиентом (используя адрес электронной почты), администраторами приложений и самим приложением в течение заданного периода времени и методом исключения находим причину.

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

image
Пример графика Grafana, отображающего время отклика на веб-запросы

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

image
Пример графика Grafana, отображающего загрузку приложения

Grafana имеет встроенный механизм оповещения (например, по электронной почте или с помощью уведомлений через Slack) согласно определенным правилам. Мы не используем эту возможность инструмента Grafana, поскольку у нас все уведомления настроены в Graylog. Однако некоторые проблемы с производительностью системы можно увидеть только после прогона программы, например, необычно долгое время отклика на веб-запрос. Мы не получим уведомления Graylog об этом, но аномалия будет четко видна на графике Grafana. Итак, оба инструмента дополняют друг друга, когда мы узнаем о какой-то проблеме: на высоком уровне мы проверяем Grafana, чтобы понять, что произошло и почему, а затем копаем глубже с помощью Graylog, используя конкретный идентификатор запроса.

В отличие от Graylog, используемого как для разрабатываемых, так и для используемых приложений, Grafana применяется только для используемых приложений. Единственным исключением, когда Grafana используется для приложения, которое все еще на этапе разработки, является тестирование производительности. Мы эмулируем загрузку системы с помощью JMeter, затем проверяем дашборды Grafana, чтобы увидеть, как она реагирует.

Grafana как инструмент бизнес-аналитики

Помимо целей отслеживания производительности и отладки, дашборды Grafana являются мощным инструментом для принятия обоснованных бизнес-решений. При правильной настройке (желательно в тандеме с сервисом Google Analytics) Grafana может визуализировать настраиваемую аналитику поведения пользователя в системе в виде круговых диаграмм, гистограмм времени и других графических элементов. На их основе стороны, заинтересованные в продукте, могут принимать решения о дальнейшем масштабировании приложения, добавлении или удалении некоторых функций и улучшении цикла взаимодействия с клиентами.

image
Пример дашборда Grafana, отображающего поведение пользователя в приложении для электронной коммерции

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

Вот 2 реальных проекта, где с помощью Grafana удалось повысить удобство использования веб-приложения.

  • С помощью Grafana мы регулярно контролируем состояние периодических заказов в системе и фильтруем несостоявшиеся заказы. Эти заказы основаны на подписке, то есть генерируются в системе каждый месяц, а деньги автоматически списываются с банковских счетов клиентов. Иногда платежи не проходят (недостаточно денег/отказ финансового учреждения), и тогда администраторы системы проверяют ситуацию и связываются с клиентами, чтобы повторно сгенерировать заказ вручную. Таким образом, ни один заказ не выпадает из поля зрения; довольны и клиенты, и поставщики.
  • Используя отчеты, созданные с помощью Grafana для приложения электронной коммерции, мы выяснили, что большой процент новых клиентов уходит со страницы оформления заказа, хотя в их корзинах уже есть товары. Этот вывод был подкреплен отчетами сервиса Google Analytics, поэтому процедура оформления заказа была проанализирована шаг за шагом и улучшена: теперь пользователи могут оформить заказ в 2 клика. В результате коэффициент обращаемости посетителей в покупателей вырос — выросла и прибыль поставщика.

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

Grafana OnCall 4+

Grafana OnCall is an incident response tool designed to help on-call teams prevent and resolve incidents faster. On-call engineers can reimagine incident response with real-time alerts and on-call notifications that allow teams to monitor and respond to critical system events from anywhere.

The Grafana OnCall iOS app is an extension of the Grafana Labs on-call tool, making it easy to integrate with existing users’ settings and notification preferences.

Grafana OnCall for iOS allows you to:

— Override Do Not Disturb on your device to ensure delivery of critical alerts
— Easily view and troubleshoot alert details from your mobile device
— Receive diverse notifications according to your personal notification settings
— Manage alerts with actions like acknowledge, silence and resolve
— Login with a quick and secure QR code authorization

You must have a Grafana OnCall account to use this application.

What’s New

Fixed error when trying to edit a notification step with unknown type

Ratings and Reviews

This is an app for Professionals… remember that

Hey Grafana team, thanks for making such an awesome oncall management tool.

However you all need some advice on critical alert tones for your apps. This fire alarm tone is some nonsense that awakes you and your partner in a flat out panic every single time.

A, make more then one selectable tone
B, remember this is an application for professionals to be paged through the night. Childish, funny, or cute sounds are inappropriate as is this fire alarm sound. Take a page from the PagerDuty book here and use a generic, good alert tone and stop trying to make it sound like the building is on fire or bombs are about to fall.

Developer Response ,

Thanks for taking the time to leave a review of our oncall management tool. We're happy that you think it's awesome, but sorry to hear that the alarm tone has caused some panic for you and your partner.

We totally get where you're coming from, and we're happy to let you know that we're already working on adding more selectable alert tones in our next releases, as well as configurable volume. We're always looking for ways to improve our app, and your feedback is super helpful in making that happen.

We appreciate your suggestion to use more professional-sounding alert tones, and we'll definitely keep that in mind as we add new sounds.

Thanks again for your review, and please don't hesitate to reach out if you have any more suggestions or concerns.

App Privacy

The developer, Grafana Labs , indicated that the app’s privacy practices may include handling of data as described below. For more information, see the developer’s privacy policy.

Data Not Linked to You

The following data may be collected but it is not linked to your identity:

Privacy practices may vary, for example, based on the features you use or your age. Learn More

Introduction

Globant

T his is the first of a series of posts I am writing about Grafana. I will be explaining to you what Grafana is and why it is a key tool and could represent a potential advantage for any business and monitoring area.

This introductory post will present an overall view about Grafana and don’t intends to be a installation guide (not yet), a technical comparison or a in-depth approach to its characteristics.

Below points are covered in this article:

  1. About Grafana
  2. Plugins
    2.1 Data sources
    2.2 Panels
    3.3 Apps
  3. Grafana Flavors
    3.1 Grafana Cloud
    3.2 Grafana Enterprise
    3.3 Grafana Open Source
  4. Use cases
  5. Resources
  6. Conclusions

1. About Grafana

In brief, Grafana stands out as a tool that provides monitoring capabilities using diverse statistical visualizations at the time that allows you to integrate multiple data sources over the same platform. Thus, for example, you could to build a unique dashboard that displays some panels with your last Elastic Search, Datadog and Prometheus metrics altogether with other panels that shows mixed statistical graphical representations based on information retrieved each one from different SQL Server, MySQL and PostgreSQL queries.

One of the things I find very interesting, and even potential, about Grafana, is that provides you the capacity to develop the very specific metrics you need. You just will deal with the information that you need, no more than that. Think on it as a whiteboard that you can progressively fill with all the important information that your team and company needs. So, the versatility and possibilities you have with this tool are in really enormous.

Said that, I will be entering a little more in detail to summarize Grafana characteristics, so you can know it a little better.

2. Plugins

Grafana has an expanding universe of own and community plugins that are splitted into three sections:

  • Data sources
  • Panels
  • Apps

This set of plugins contains every component that enriches Grafana capabilities in benefit of our needs. In order you know a little more about these, following I will be explaining about each one of these categories. The complete lists of Grafana Plugins can be consulted here.

2.1 Datasources

As mentioned before, Grafana can handle mixed data sources and there are many — a lot of them — supporting the monitoring of almost everything you could need to have at hand in your dashboard.

In order to use a data source you have to install a plugin. Next, you can see a screenshot of some of them but you can find the whole list and related information here:

2.2 Panels

In this section you have a complete set of visualizations to integrate in your dashboards, such as maps, pie charts, lists, clocks, histograms, tables, heat maps, etc.

2.3 Apps

These are bundles of data sources plus panels to give you joined the components you need to integrate a given technology.

3. Grafana Flavors

Grafana offers three alternatives to get the software up and running:

  • Grafana Cloud
  • Grafana Enterprise
  • Grafana Open Source

3.1 Grafana Cloud

This is the SaaS version of Grafana, in which you pay a fee for the use of the software with all the inherited advantages of have it on the Cloud such as automatic updates and no need of management of a underlying infrastructure.

It has a free layer as well as a Pro and Advanced layer, between which, their characteristics and of course price varies. You can see a brief comparison of these layer in the next screenshot taken from the Grafana website:

For more information about characteristics and current prices, please refer to the Grafana Cloud pricing section.

3.2 Grafana Enterprise

Part of the Grafana Enterprise Stack which comprises:

  • Grafana Enterprise,
  • Prometheus Enterprise Metrics and
  • Enterprise Logs.

This is the option to go if you prefer or need have a Grafana On-Premises installation over your current infrastructure having enterprise grade Grafana features such as compliance and security of your Grafana installation, access to enterprise plugins, collaboration for teams and professional support for Prometheus, Graphite and Grafana.

You will have to contact the Grafana team to get more information and request a demo tailored to your company case.

3.3 Grafana Open Source

This is the special version that Grafana team offers as Open Source project hosted in GitHub which, indeed, is one of the most popular Open Source projects out there.

Of course, this version contains the complete core of Grafana, and a license that allows individuals and companies to get the best of this software and use it openly on their projects.

You can see a brief of its license in the next screenshot:

You can install Grafana Open Source On-Premises, on any IaaS cloud vendor, run it over a Kubernetes cluster or as a Docker container wherever you want.

You can use it for commercial and business purposes. So… Well, I think you are made with this option.

You can get more information about this option on the Grafana Open Source website.

4. Use cases

Grafana can be used in a different set of scenarios such as:

  • Business dashboards: Here you can get metrics based on your queries using SQL or NonSQL data sources. This empowers the executive level and decision makers to support their decisions based on visual statistics that relies on mixed data sources queries. All in one place.
  • Technical Dashboards: You can collect metrics from other logging systems and display them in Grafana. You can get information of your containers, micro-services, IoT devices, cloud instances, physical machines, etc. The options are wide and diverse.
  • Specific Company scopes: Your company could have different areas and each of them can create their own dashboards to support its needs.
  • Automatic monitoring: Since dashboards in Grafana are JSON files. You could use a CI/CD strategy (i.e. Jenkins, Travis CI, Gitlab CI, etc.) and a Source Code Management System (i.e. Github, GitLab, etc.), in order to automate and manage the generation of automatic dashboards of your infrastructure or micro-services.

5. Resources

Next, I will leave you some useful links that can help you in your Grafana journey:

    — Here you can find about everything in Grafana — Here you can learn how to manage and use Grafana — This is a step by step guide get started tutorial — An ready and free to use Grafana to test and play with it — A guide to improve your dashboards design — The place to go when you need help with Grafana

6. Conclusions

We have spoken about Grafana, its advantages, capabilities and use cases. We also have pointed out the available options to get Grafana. However, It is important to say that there are and surely will appear more alternatives to have a Grafana installation running and working, such as the AWS Managed Service for Grafana.

Finally, we can conclude saying that Grafana provide us the following benefits:

  • Centralized monitoring platform using heterogeneous data source
  • You can configure Grafana alerts to contact your team in case your pre-defined thresholds are exceeded.
  • You can set user level and team level permissions in your folders and/or dashboards in order to have a controlled collaborative work on your team.
  • Its Open Source version can be used in our businesses needs and installed in our own underlying infrastructure using different strategies such as containers.
  • Grafana provides excellent documentation, tutorials, playground and all needed so we can get the best of this tool
  • Provides a SaaS offering that can be very interesting option for specific users.
  • Provides a full support/compliance Enterprise version for the companies who need it.

In a next post, I will be taking more about the alternatives we have in order to get a Grafana installation up and running!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *