Как настроить работу 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
- Откройте терминал на сервере с Zabbix.
- Убедитесь, что все необходимые пакеты установлены. Выполните команду:
1 |
sudo apt-get install -y adduser libfontconfig1 musl |

- Перейдите на официальный сайт Grafana, чтобы найти последний актуальный релиз.

- Мы установим Grafana Enterprise 11.4.0. Загрузите пакет, прописав команду:
1 |
wget https://dl.grafana.com/enterprise/release/grafana-enterprise_11.4.0_amd64.deb |

5. Установите скачанный пакет:
1 |
sudo dpkg -i grafana-enterprise_11.4.0_amd64.deb |

- Активируйте веб-интерфейс, выполнив команду:
1 |
sudo service grafana-server start |

- Теперь нужно проверить статус сервера:
1 |
sudo systemctl status grafana-server |
В строке Active должно быть значение active (running).

- Далее необходимо установить соединение, а потому создайте правило для порта 3000:
1 |
sudo ufw allow 3000/tcp |

- Чтобы получить доступ к веб-интерфейсу Grafana, откройте браузер и перейдите по адресу:
1 |
http://{1.2.3.4}:3000 |
Где вместо «1.2.3.4» пропишите IP-адрес вашего сервера.
- Авторизуйтесь, используя логин и пароль по умолчанию: admin и admin соответственно.

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

Создание пользователя базы данных
- Откройте терминал на сервере и войдите в MySQL, используя следующую команду:
1 |
sudo mysql |
После ввода пароля вы получите доступ к MySQL.
- Создайте нового пользователя с именем grafana и задайте ему пароль Grafana111:
1 |
CREATE USER 'grafana'@'localhost' IDENTIFIED BY 'Grafana111'; |
- Предоставьте пользователю grafana права только на выбор данных (SELECT) из базы данных Zabbix:
1 |
GRANT SELECT ON zabbix.* TO 'grafana'@'localhost'; |
- Примените изменения, чтобы они вступили в силу:
1 |
FLUSH PRIVILEGES; |
- Выйдите из MySQL:
1 |
quit |
Добавление источника данных MySQL
- Перейдите на главную страницу сервиса Grafana.
- Откройте Data Sources.

- В списке доступных источников найдите MySQL. Выберите его.

- В строке Name укажите имя источника данных, например, Zabbix.

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

- На странице плагина откройте его описание. Там вы найдете команду для установки плагина через Grafana CLI.

Важно! Есть и альтернативный способ: вы можете выполнить установку плагина напрямую из терминала, прописав следующую команду:
1 |
grafana-cli plugins install alexanderzobnin-zabbix-app |

- Перезапустите Grafana:
1 |
sudo service grafana-server restart |

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

После активации Zabbix вы сможете подключить его к источникам данных и использовать для визуализации данных в Grafana.
Добавление источника данных Zabbix
- Войдите в веб-интерфейс Grafana.
- Откройте меню Connections > Data Sources и через поиск найдите источник данных Zabbix. Выберите его.

- В поле URL введите адрес API вашего сервера Zabbix в формате:
1 |
http://{IP вашего сервера}/zabbix/api_jsonrpc.php |
Замените {IP вашего сервера} на реальный IP-адрес вашего Zabbix-сервера.

- В разделе Zabbix Connection введите учетные данные пользователя Zabbix, у которого есть доступ к API. Это должны быть логин и пароль, которые вы используете для входа в Zabbix.

- Включите прямое подключение к базе данных с помощью опции Enable Direct DB Connection.

- В появившемся пункте Data Source выберите источник с MySQL, который настроили ранее.

- Щелкните Save & test, чтобы проверить подключение к серверу Zabbix.

Готово! Вы успешно настроили работу Zabbix с Grafana. Теперь можно использовать готовые дашборды и настраивать новые для удобного мониторинга вашей инфраструктуры.
Как настроить Multi Dashboard
- Перейдите на главную страницу Grafana.
- Нажмите на Dashboards, чтобы добавить новый дашборд.

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

- Чтобы выбрать визуализацию, щелкните + Add Visualization.

- В появившемся окне Select data source выберите соответствующий источник данных.

- В настройках визуализации укажите тип отображения данных, например, Zabbix Problems.

- Убедитесь, что данные отображаются корректно. По умолчанию будут показаны активные триггеры по всем группам и хостам.
- При необходимости настройте дополнительные параметры визуализации.
- Сохраните дашборд, нажав кнопку Save dashboard в правом верхнем углу.
- Чтобы добавить дашборды, скопируйте уже созданную панель и измените только Data Source, если нужно отобразить данные с другого сервера Zabbix.
Если вы хотите добавить все необходимые серверы, то повторите все шаги для каждого из них. В итоге у вас получится Multi Dashboard с данными от нескольких серверов Zabbix.
Визуализация данных Zabbix в Grafana
Если вы хотите посмотреть данные из Zabbix в виде информативных графиков, то попробуйте шаблоны, которые поставляются с ранее установленным плагином. В него входит несколько предустановленных дашбордов, которые можно использовать в качестве основы для вашего мониторинга.
- Перейдите в Connections > Data Source.
- Выберите ранее добавленный источник данных Zabbix.

- Далее нужно будет перейти во вкладку Dashboards:

- Там вы найдете список готовых дашбордов, которые поставляются плагином:

Их можно использовать как базовые шаблоны, чтобы проверить возможности визуализации.
- Кликните Import рядом с нужным дашбордом. Например, с Zabbix Server Dashboard.

- Перейдите в Dashboards. Импортированный дашборд уже будет в списке доступных.

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