Как настроить работу Grafana с Zabbix

Интеграция Grafana с системой Zabbix — одно из самых эффективных решений для контроля ИТ-инфраструктуры. Zabbix выступает полезным инструментом для сбора данных, контроля состояния систем и приложений, а Grafana обеспечивает продвинутые возможности визуализации.

Давайте посмотрим, как можно реализовать совместную работу Grafana и Zabbix.

Общая информация

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

Zabbix совместим с операционными системами, в том числе Apple OS, Solaris, Linux. Для хранения информации о приложениях используется отдельная база данных. Программа создана на языке C, для веб-панели применяется язык PHP.

Плюсы Zabbix:

  • удобный интерфейс;
  • возможность мониторинга как серверов, так и сетевых устройств.
  • гибкая настройка распределения прав пользователей.
  • простота управления и настройки: вся конфигурация выполняется через веб-интерфейс.
  • широкая поддержка операционных систем;
  • доверительная аутентификация пользователей;
  • возможность получения уведомления о проблемах по электронной почте или SMS.

Больше информации в нашей статье о Zabbix.

Grafana — это платформа с открытым исходным кодом для визуализации данных и мониторинга, которая позволяет создавать и делиться информационными панелями в реальном времени. Она интегрируется с такими источниками данных, как Prometheus, InfluxDB, Elasticsearch, Google Cloud Monitoring и многими другими, чтобы обеспечить единое представление метрик, логов и данных о производительности.

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

Плюсы Grafana:

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

Больше информации вы найдете в отдельной статье о Grafana.

Почему стоит использовать Zabbix и Grafana вместе

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

Какие есть плюсы такой интеграции:

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

Подготовка

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

Установка Grafana

  1. Откройте терминал на сервере с Zabbix.
  2. Убедитесь, что все необходимые пакеты установлены. Выполните команду:
  1. Перейдите на официальный сайт Grafana, чтобы найти последний актуальный релиз.
  1. Мы установим Grafana Enterprise 11.4.0. Загрузите пакет, прописав команду:

5. Установите скачанный пакет:

  1. Активируйте веб-интерфейс, выполнив команду:
  1. Теперь нужно проверить статус сервера:

В строке Active должно быть значение active (running).

  1. Далее необходимо установить соединение, а потому создайте правило для порта 3000:
  1. Чтобы получить доступ к веб-интерфейсу Grafana, откройте браузер и перейдите по адресу:

Где вместо «1.2.3.4» пропишите IP-адрес вашего сервера.

  1. Авторизуйтесь, используя логин и пароль по умолчанию: admin и admin соответственно.

Кликните Log In.

  1. Система предложит установить новый пароль. Дважды пропишите его и щелкните Submit.

Создание пользователя базы данных

  1. Откройте терминал на сервере и войдите в MySQL, используя следующую команду:

После ввода пароля вы получите доступ к MySQL.

  1. Создайте нового пользователя с именем grafana и задайте ему пароль Grafana111:
  1. Предоставьте пользователю grafana права только на выбор данных (SELECT) из базы данных Zabbix:
  1. Примените изменения, чтобы они вступили в силу:
  1. Выйдите из MySQL:

Добавление источника данных MySQL

  1. Перейдите на главную страницу сервиса Grafana.
  2. Откройте Data Sources.
  1. В списке доступных источников найдите MySQL. Выберите его.
  1. В строке Name укажите имя источника данных, например, Zabbix.
  1. В разделах User и Password введите учетные данные, которые вы создали ранее на втором шаге (пользователь: grafana и пароль: Grafana111).
  2. Укажите Host URL – /api_jsonrpc.php.
  3. Нажмите Save & test, чтобы проверить подключение и убедиться, что Grafana успешно связана с базой данных Zabbix через MySQL.
  4. Убедитесь, что MySQL появился в списке источников данных, открыв раздел Configuration > Data Sources.

Добавление MySQL как источника данных поможет вам правильно выстроить визуализацию. Вы сможете напрямую получать данные из базы Zabbix с помощью SQL-запросов, что обеспечивает высокую скорость обработки и гибкость в построении визуализаций. Убедитесь, что доступ настроен корректно, чтобы избежать ошибок при работе с дашбордами.

Установка плагина Zabbix

  1. Перейдите в веб-интерфейс Grafana.
  2. Откройте меню Plugins and data > Plugins и с помощью поиска найдите плагин Zabbix.
  1. На странице плагина откройте его описание. Там вы найдете команду для установки плагина через Grafana CLI.

Важно! Есть и альтернативный способ: вы можете выполнить установку плагина напрямую из терминала, прописав следующую команду:

  1. Перезапустите Grafana:
  1. В веб-интерфейсе Grafana найдите установленный плагин и активируйте его с помощью Enable в правом верхнем углу.

После активации Zabbix вы сможете подключить его к источникам данных и использовать для визуализации данных в Grafana.

Добавление источника данных Zabbix

  1. Войдите в веб-интерфейс Grafana.
  2. Откройте меню Connections > Data Sources и через поиск найдите источник данных Zabbix. Выберите его.
  1. В поле URL введите адрес API вашего сервера Zabbix в формате:

Замените {IP вашего сервера} на реальный IP-адрес вашего Zabbix-сервера.

  1. В разделе Zabbix Connection введите учетные данные пользователя Zabbix, у которого есть доступ к API. Это должны быть логин и пароль, которые вы используете для входа в Zabbix.
  1. Включите прямое подключение к базе данных с помощью опции Enable Direct DB Connection.
  1. В появившемся пункте Data Source выберите источник с MySQL, который настроили ранее.
  1. Щелкните Save & test, чтобы проверить подключение к серверу Zabbix.

Готово! Вы успешно настроили работу Zabbix с Grafana. Теперь можно использовать готовые дашборды и настраивать новые для удобного мониторинга вашей инфраструктуры.

Как настроить Multi Dashboard

  1. Перейдите на главную страницу Grafana.
  2. Нажмите на Dashboards, чтобы добавить новый дашборд.

Вы также можете это сделать, открыв в левом меню вкладку Dashboards и нажав + Create dashboard.

  1. Чтобы выбрать визуализацию, щелкните + Add Visualization.
  1. В появившемся окне Select data source выберите соответствующий источник данных.
  1. В настройках визуализации укажите тип отображения данных, например, Zabbix Problems.
  1. Убедитесь, что данные отображаются корректно. По умолчанию будут показаны активные триггеры по всем группам и хостам.
  2. При необходимости настройте дополнительные параметры визуализации.
  3. Сохраните дашборд, нажав кнопку Save dashboard в правом верхнем углу.
  4. Чтобы добавить дашборды, скопируйте уже созданную панель и измените только Data Source, если нужно отобразить данные с другого сервера Zabbix.

Если вы хотите добавить все необходимые серверы, то повторите все шаги для каждого из них. В итоге у вас получится Multi Dashboard с данными от нескольких серверов Zabbix.

Визуализация данных Zabbix в Grafana

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

  1. Перейдите в Connections > Data Source.
  2. Выберите ранее добавленный источник данных Zabbix.
  1. Далее нужно будет перейти во вкладку Dashboards:
  1. Там вы найдете список готовых дашбордов, которые поставляются плагином:

Их можно использовать как базовые шаблоны, чтобы проверить возможности визуализации.

  1. Кликните Import рядом с нужным дашбордом. Например, с Zabbix Server Dashboard.
  1. Перейдите в Dashboards. Импортированный дашборд уже будет в списке доступных.

Рекомендации по интеграции Zabbix c Grafana

Чтобы максимально раскрыть потенциал интеграции Grafana с Zabbix, рекомендуется следовать нескольким ключевым практикам:

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

Грамотно спланированная интеграция позволяет создать гибкую и функциональную систему мониторинга, которая будет адаптироваться к меняющимся потребностям организации.

Кейс Stworka: как создать ERP в облаке для 5000 строительных компаний

А также запустить маркетплейс для строителей и обрабатывать 1,5 млн артикулов ежедневно. Рассказываем, как компания Stworka развернула IT-инфраструктуру в Облаке...
Read More

Системы контроля версий: зачем они нужны и как их использовать

Мир разработки ПО издалека кажется непонятным и запутанным, но существуют инструменты, которые значительно упрощают жизнь и делают работу более эффективной....
Read More

Соглашение об уровне обслуживания (SLA)

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

Что такое S3 (Simple Storage Service)

Если вы только начинаете свой путь в разработке, вам обязательно нужно познакомиться с S3. Это краеугольный камень многих современных приложений...
Read More

Полный обзор NoSQL: особенности и использование

Развитие интернета диктует новые правила в разработке. Традиционные базы данных, которые называются реляционными (RDBMS), не справляются с задачами, которые требуют...
Read More

Как использовать DataSphere. Датасеты в DataSphere

Данные нужны в любой сфере: магазины анализируют продажи, в медцентры — истории болезней, ученые — результаты экспериментов. Чем больше информации,...
Read More

Основные задачи машинного обучения: классификация, регрессия, кластеризация и уменьшение размерности

Machine Learning ― это уже часть нашей повседневной жизни. От рекомендаций фильмов на Кинопоиске до спам-фильтров в почте — за...
Read More

Обзор CLI: командная строка и ее возможности

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

Шардирование в базах данных: обзор концепции

В условиях стремительного роста объемов данных и увеличения нагрузок на информационные системы эффективность их масштабирования становится критически важной. Одним из...
Read More

Графический процессор (GPU): что это, для кого, разновидности

Дизайнерам, проектировщикам и разработчикам требуются мощные вычислительные ресурсы для работы. Обычный процессор (CPU) не справится с такими задачами, как обработка...
Read More