Визуализация данных Zabbix с помощью Grafana в CentOS 7

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

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

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

Требования

1: Установка Grafana

Войдите на сервер Zabbix и установите Grafana.

Пакетов Grafana нет в стандартном репозитории системы. Чтобы установить Grafana, создайте файл репозитория:

sudo vi /etc/yum.repos.d/grafana.repo

Добавьте в него данные:

[grafana] name=grafana
baseurl=https://packagecloud.io/grafana/stable/el/6/$basearch
repo_gpgcheck=1
enabled=1
gpgcheck=1
gpgkey=https://packagecloud.io/gpg.key https://grafanarel.s3.amazonaws.com/RPM-GPG-KEY-grafana
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt

Сохраните и закройте текстовый редактор. Чтобы установить Grafana, запустите команду:

sudo yum install grafana

Во время установки будет предложно импортировать GPG-ключ. Подтвердите это действие.

После установки запустите сервис Grafana:

sudo systemctl daemon-reload
sudo systemctl start grafana-server

Убедитесь, что сервер работает:

sudo systemctl status grafana-server

Команда вернёт:

grafana-server.service - Starts and stops a single grafana instance on this system
Loaded: loaded (/usr/lib/systemd/system/grafana-server.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2016-11-07 06:18:27 UTC; 1 day 4h ago
Docs: http://docs.grafana.org
Main PID: 16639 (grafana-server)
...

Чтобы настроить автозапуск сервиса, введите:

sudo systemctl enable  grafana-server

Теперь нужно установить компонент, который будет загружать данные Zabbix в Grafana.

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

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

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

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

Проще всего устанавливать плагины с помощью встроенного инструмента grafana-cli. Чтобы установить приложение Zabbix, запустите:

sudo grafana-cli plugins install alexanderzobnin-zabbix-app

Команда должна вернуть:

✔ Installed alexanderzobnin-zabbix-app successfully

При добавлении или изменении плагинов нужно перезапускать grafana-server, чтобы обновить настройки:

sudo systemctl restart grafana-server

Теперь нужно настроить взаимодействие Grafana и Zabbix.

3: Настройка плагина Zabbix

Откройте веб-интерфейс Grafana. Перейдите по ссылке:

http://your_zabbix_server_ip_address:3000

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

Введите учётные данные. По умолчанию это admin/admin. Обязательно измените пароль. Это можно сделать в настройках профиля (страница Profile). После входа на экране появится дашборд Home.

Чтобы открыть главное меню, кликните по логотипу Grafana в левом верхнем углу пользовательского интерфейса. Выберите Plugins и откройте вкладку Apps. Выберите плагин Zabbix и нажмите Enable, чтобы активировать его.

Теперь вы можете добавить новый источник данных. Откройте главное меню

Grafana, выберите Data sources и нажмите кнопку Add data source. На экране появится страница настройки источника данных.

Чтобы настроить источник данных, укажите следующую информацию:

  • В поле Name укажите имя нового источника данных.
  • Поставьте флажок Default, чтобы этот источник данных был по умолчанию добавлен во все новые панели.
  • В выпадающем меню Type выберите Zabbix.
  • В поле Url укажите путь к Zabbix API (http://your_zabbix_server_ip_address/zabbix/api_jsonrpc.php).
  • В полях Username и Password укажите имя и пароль Zabbix (по умолчанию это admin и zabbix).
  • Включите опцию Trends. Она повысит производительность Grafana при отображении больших объёмов данных.

Остальные опции можно оставить по умолчанию.

Чтобы сохранить и протестировать настройку, нажмите Add. Если источник данных был успешно добавлен, вы увидите сообщение:

Success

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

Теперь давайте ознакомимся со встроенным дашбордом плагина Zabbix. В выпадающем списке выберите Zabbix server Dashboard. На экране появятся данные о сервере Zabbix.

Этот дашборд предоставляет много полезной информации. Теперь попробуйте создать дашборд самостоятельно.

4: Создание дашборда Zabbix

Создайте пользовательский дашборд Zabbix, который будет отображать использование CPU и файловой системы в режиме реального времени.

Откройте выпадающее меню в верхней части экрана и выберите Create New. Это создаст новый пустой дашборд.

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

Сначала попробуйте создать график для отображения CPU сервера Zabbix. Выберите Add Panel и нажмите Graph, чтобы вставить в дашборд новый график.

На экране появится форма с несколькими вкладками. По умолчанию выбрана вкладка Metrics. Поскольку источник данных Zabbix был ранее отмечен как источник по умолчанию, запрос будет добавлен автоматически. Укажите следующие данные:

  • Host Group: Zabbix servers.
  • Host: Zabbix server.
  • Application: CPU.
  • Item: Processor load (1 min average per core).

На экране появится график, отображающий текущую нагрузку процессора.

Откройте вкладку General. В поле Title укажите Processor load, в Span укажите 6. Одна строка может содержать до 12 блоков; строка в 6 блоков будет занимать половину экрана. Чтобы просмотреть результат, кликните Back to dashboard.

Примечание: Если на экране нет никаких данных, попробуйте изменить отрезок времени. Для этого нажмите на кнопку с изображением часов в верхнем правом углу интерфейса и выберите в списке *Last 1 hour.

Теперь добавьте ещё один график. Для этого можно просто повторить вышеописанную процедуру или скопировать текущий график. Для этого выберите график, который нужно скопировать и нажмите Duplicate. Затем укажите имя нового графика и нажмите Edit.

  • В поле Title укажите CPU usage.
  • Откройте вкладку Metrics и измените значение Item на /CPU.*/.

Вы можете пользоваться шаблонами регулярных выражений, чтобы задавать имена хостов и метрик. Шаблон нужно поместить между двумя слешами (/).

Также вы можете просмотреть общую статистику. Откройте вкладку Legend и выберите необходимые опции.

  • В Options выберите As table и To The right.
  • В Values выберите Min, Max, Avg и Current.

Чтобы просмотреть результат, нажмите Back to dashboard.

Добавьте панель Singlestat, которая будет отслеживать только одну метрику. Создайте новую строку, нажав Add row, затем откройте меню строки и выберите Add panel и Singlestat.

Выберите такие параметры для Metrics:

  • Host Group: Zabbix servers.
  • Host: Zabbix server.
  • Application: Filesystems.
  • Item: Free disk space on / (percentage).

Затем откройте вкладку General и в поле Title укажите Free disk space on /.

Откройте вкладку Options и выберите такие значения:

  • В Gauge выберите Show.
  • В Thresholds установите 10,20.
  • В меню Value выберите current.

Чтобы сохранить параметры и вернуться к дашборду, нажмите CTRL+S.

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

Войдите на сервер Zabbix:

ssh 8host@your_zabbix_server_ip_address

Проверьте объём свободного пространства в файловой системе.

df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1        20G  1.5G   18G   8% /
devtmpfs        236M     0  236M   0% /dev
tmpfs           245M     0  245M   0% /dev/shm
tmpfs           245M  8.3M  237M   4% /run
tmpfs           245M     0  245M   0% /sys/fs/cgroup
tmpfs            49M     0   49M   0% /run/user/0

В данном случае в файловой системе свободно 18 Гб. С помощью команды fallocate создайте объёмный файл, чтобы использовать некоторое пространство. Например:

fallocate -l 15G /tmp/test.img

Подождите пару минут, чтобы система Zabbix успела обновить данные. Обновите дашборд. График должен отобразить изменения на сервере.

Теперь нужно добавить в дашборд триггеры Zabbix. Создайте новую строку, откройте её меню, выберите Add panel и Zabbix Triggers.

Вы увидите активный триггер, сообщающий о том, что на сервере недостаточно свободного пространства.

Нажмите Back to dashboard и сохраните дашборд с помощью клавиш CTRL+S.

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

Удалите файл, который вы создали для проверки настроек.

rm /tmp/test.img

Файл будет удалён. Спустя несколько минут дашборд обновится.

Заключение

Данное руководство продемонстрировало установку и настройку Grafana, а также создание пользовательских дашбордов для отображения данных Zabbix

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

Tags: , ,

2 комментария

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