Эстетика мониторинга с Grafana

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

Grafana установка

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

Поддерживаемые операционные системы для Grafana Download: Debian / Ubuntu, CentOS, Fedora, OpenSuse, RedHat, macOS, Windows. 

Возможна установка программы и на другие операционки, но этот способ не рекомендуется. Активируйте JavaScript в браузере – без этого работать с программой не получится. Стоит отметить, что плагины в Grafana помогут настроить интеграцию с нужными тулами.

Grafana – легковесный продукт, и не требует много ресурсов от ЦПУ и памяти. В целом рекомендуемый объем памяти – 255 MB, но для некоторых опций может потребоваться больше ресурсов. 

Для хранения конфигурационных данных (user, source, Grafana Dashboard) нужна база данных. Программа поддерживает следующие базы:

  • PostgreSQL
  • SQLite
  • MySQL

По умолчанию Grafana использует встроенную в пакет установки базу SQLite. Обратите внимание, в версиях 9.5.18, 9.4.23, 9.6.14, 10.9, 11.4, and 12-beta2 PostgreSQL обнаружен баг, который мешает использованию Grafana. Бэкэнд платформы предоставляет HTTP API, тот же Grafana API используется во фронтэнде для сохранения панелей мониторинга, создания пользователей, обновления источников данных и других показателей.

Grafana настройка

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

В файле defaults.ini сохранены настройки по умолчанию, поэтому очень рекомендуем ничего не менять в этом файле. В зависимости от вашей ОС изменения в конфигурацию можно вносить в файлы custom.ini или grafana.ini.

В Linux, если установка проходила из пакетов deb или rpm, файл конфигурации лежит по адресу /etc/grafana/grafana.ini, а отдельный документ custom.ini не используется. Чтобы запустить Grafana в Docker Image, настройка будет проходить в environment variables, а не файле конфигурации. Если нужно сохранить данные работы Grafana в Docker, выберите постоянное хранилище или сделайте связку с контейнером.

Панель Grafana logs отображает информацию из источников данных, которые поддерживают логи. Например, Grafana Loki – стек для логов. Комьюнити рекомендует регулярно обновлять программу для получения последних обновлений. В этом случае желательно делать Grafana backup даже при малейших изменениях, чтобы всегда можно было откатиться на предыдущую версию. Что советуют бэкапить? Обязательно плагины. А вот конфигурационные файлы не входят в список обязательного бэкапа.

Grafana Alerts

Ребята из Grafana Labs точно знают, что создавать крутые Grafana Dashboard нужно не для того, чтобы постоянно не отрывать от них глаз. Мониторинг можно осуществлять с помощью Grafana Alerts, используя временные ряды. 

Предупреждения появляются только тогда, когда что-то происходит, не отвлекая в остальное время. 

Для успешной реализации этого подхода команда должна следовать одной инструкции. Достигнуть этого можно через Prometheus в Grafana с использованием node exporter. 

Grafana переменные

Использовать Grafana variables можно в запросах и заголовках панелей, так как переменная – это значение-заполнитель (placeholder). Когда меняем значения в раскрывающемся списке панели инструментов, меняются также и Grafana запросы показателей. Это сделано для того, чтобы показать новое значение. Переменные помогают создавать динамичные панели информации. Можете использовать переменные вместо жесткого кодирования имен серверов, датчиков, приложений.

Эстетика мониторинга с Grafana

Как установить Grafana Plugins

Полезная вещь – плагины в Grafana, список которых еженедельно расширяется благодаря сообществу. С помощью Grafana Plugins можно не только настроить удобную работу с программой, но и значительно расширить функционал. Плагины Grafana Zabbix, Grafana Kubernetes, Grafana Elasticsearch, Prometheus Grafana помогают выстроить оптимальную конфигурацию для работы DevOps.

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

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

Grafana нужна база данных для хранения пользователей, информационных панелей, уведомлений. Grafana удобна тем, что у нее нет сложных требований к базе данных. Программа по умолчанию использует sqlite3 в качестве локальной базы. В ней и содержится информация о конфигурации (пользователи, дашборды, уведомления). Внутренняя база данных хранится по адресу /var/lib/grafana (при использовании дефолтной sqlite3). Другие базы, такие как MySQL и MariaDB, работают на том же сервере, что и сервер Grafana.

Панель Grafana использует язык запросов для обращения к источникам данных, из которых хочет получить метрики для визуализации. Простыми словами запрос – это вопрос на специальном языке, который понимает нужный источник данных. Grafana поддерживает до 26 запросов для одной панели. Вот примеры редакторов запросов: InfluxDB, Prometheus (PromQL), LogQL. Именно они помогают Grafana сформулировать запрос на нужном языке.

Grafana – отличная оболочка для обработки и визуализации данных. Сама программа данные не хранит, в отличие от других систем, например, Graphite, которая и строит, и хранит графики. Grafana только визуализирует метрики и показатели, которые получает из сторонних интегрированных источников. Если попробуете поискать кэш, в Grafana вы его не найдете. Фокус программы – на визуальной части и информационных панелях.

В дефолтных настройках Grafana работает на порту 3000. При регистрации в системе и при первом log in откройте браузер и перейдите по ссылке http://localhost:3000/. Это и будет дефолтный 3000 HTTP порт, который использует Grafana. Если настраиваете другой, например, 80-й, нужно дать программе разрешение. К примеру: $ sudo setcap ‘cap_net_bind_service=+ep’ /usr/sbin/grafana-server. Или делаем редирект 80-го порта на порт Grafana: $ sudo iptables -t nat -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 3000.

Перед апдейтом программы стоит проверить, на какой версии вы работаете. Есть несколько способов проверить версию Grafana. Мы можем проверить как версионность cli, так и сервера.

  1. Для проверки Grafana cli version используйте следующую команду: /usr/local/groundwork/grafana/bin/grafana-cli -v.
  2. Чтобы узнать версию сервера Grafana запустите /usr/local/groundwork/grafana/bin/grafana-server -v.

Еще существуют различные плагины, которые помогают проверить версию Grafana. Например, проект version-checker. Это консоль для отображения текущей версии, последнего апстрима, версий имеджей, которые используются в кластере Kubernetes (если вы работаете с ним).

Показатели и метрики с консолей Grafana программа сохраняет в data base. Например, PostgreSQL, SQLite, MySQL. Чтобы экспортировать dashboard и data source, на открытой дашборде кликните иконку Share вверху страницы и выберите Export. Консоль сохраниться в JSON file. Чтобы сделать обратную операцию, т.е. импортировать консоль с данными, в разделе меню нажмите Home и выберите Import dashboard (начнется загрузка JSON file).

Программа использует cloud servers, например, на операционках Ubuntu и CentOS, на которые можно установить Grafana, используя SQLite data base. Серверы готовят перед установкой Grafana. В Cloud Platform создаем server, который можно запустить от юзера, созданного во время установки пакета. Если установка происходила с помощью репозитория APT или пакета .deb, сервер можно запустить через  systemd или init.d.

Проверяем, чтобы все запустилось:

  • sudo systemctl daemon-reload
  • sudo systemctl start grafana-server
  • sudo systemctl status grafana-server

CLI (Command Line Interface, командная строка) – исполняемый файл, который связывает Grafana с сервером. Запускается он на той же машине, где и расположен сервер. У командной строки Grafana есть команды plugins и admin, равно как и другие, более глобальные функции.

Чтобы открыть командную строку Grafana, нажмите на grafana-cli – откроется программа, которая будет закрыта вместе с закрытием окна. Это и есть инструмент CLI. Для использования командной строки, откройте окно CMD. Чтобы посмотреть все команды и опции, запустите grafana-cli -h.

Чтобы подключиться к серверу, нужно определиться, на какой системе будем устанавливать саму программу. Например, рассмотрим подключение к серверу в Grafana на Ubuntu 18.04. 

Установив Grafana, запускаем сервис и добавляем его в auto download: 

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

Чтобы проверить, что все работает без ошибок, запускаем команду: sudo systemctl status grafana-server. Когда все сделано корректно, должно появиться сообщение active (running), подсвеченное зеленым. У Grafana своя authorization system, поэтому необязательно закрывать ее обратным proxy (кроме случаев, когда нужно установить сертификат безопасности). По умолчанию интерфейс работает на порту 3000.

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

Чтобы установить плагины Grafana перейдите на страницу плагинов на официальном сайте и выберите тот плагин, который хотите установить. Кликните на него и нажмите Installation. Плагины можно устанавливать в Grafana Cloud или локально.

После установки программы нужно выполнить первый вход в Grafana. Когда делаете log in первый раз, откройте браузер и перейдите к хосту http://localhost:3000/. По умолчанию в программе стоит 3000 HTTP (вы можете его изменить при конфигурации). 

На странице входа введите admin в поля username и password, т.е. пароль Grafana по умолчанию – admin. Если все ОК, программа сразу предложит изменить пароль. Рекомендуем это сделать сразу, и, конечно, сохранить в надежном месте новые креды.

error: Контент защищен.