Как установить и настроить Grafana для построения красивых графиков из Zabbix на CentOS 7

Вступление

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

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

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

Предпосылки

Чтобы следовать этому уроку, вам понадобится:

Шаг 1 - Установка Графана

Прежде чем мы сможем использовать Grafana, нам нужно установить его. Мы будем использовать тот же сервер, который мы использовали для Zabbix сервера. Войдите на свой Zabbix сервер под пользователем без полномочий root:

ssh @

Grafana по умолчанию недоступна через менеджер пакетов, поэтому мы настроим файл конфигурации репозитория. Сначала создайте новый файл репозитория для Grafana:

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

Вставьте следующие данные конфигурации в файл:

/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

Затем проверьте, правильно ли работает служба Grafana:

sudo systemctl status grafana-server

Вы увидите следующий статус:

Output● 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)

    Docs: http://docs.grafana.org
Main PID: 16639 (grafana-server)
 ...

Наконец, включите службу для запуска во время загрузки:

sudo systemctl enable  grafana-server

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

Шаг 2 - Установка плагина Zabbix для Grafana

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

  • * Панели *: новые блоки, которые можно использовать на приборной панели, такие как круговые диаграммы или гистограммы.

  • * Источники данных *: новые хранилища для данных временных рядов, позволяющие извлекать данные из других источников.

  • * Приложения *: сложные плагины, объединяющие источники данных и панели в один пакет.

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

Самый простой способ установить плагины - использовать инструмент CLI + grafana-cli +, который поставляется вместе с Grafana. Запустите следующую команду для установки плагина Zabbix App:

sudo grafana-cli plugins install alexanderzobnin-zabbix-app

Вы увидите следующий вывод, указывающий, что плагин был установлен:

Output✔ Installed alexanderzobnin-zabbix-app successfully

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

sudo systemctl restart grafana-server

После установки плагина вы можете войти в Grafana и настроить его для общения с Zabbix.

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

Войдите в веб-интерфейс Grafana, перейдя по адресу + http: //: 3000 +.

Учетные данные для входа в систему по умолчанию: + / +. Вы можете изменить свой пароль на странице * Profile * после входа в систему. Когда вы входите в систему, вас приветствует панель управления * Home *.

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/uPwU0Li.png [Домашняя панель инструментов]

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

Теперь вы можете добавить новый источник данных. Снова выберите логотип Grafana и перейдите к * Источники данных. * Затем нажмите кнопку * Добавить источник данных *. Вы увидите страницу конфигурации для источника данных:

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/69rHGUx.png [Добавить источник данных]

Сконфигурируйте источник данных следующим образом:

  • Введите имя для этого нового источника данных в поле * Имя *.

  • Установите флажок * Default *, чтобы этот источник данных был предварительно выбран на новых панелях, которые вы создаете.

  • Выберите * Zabbix * из выпадающего списка * Type *.

  • Заполните поле * Url * полным путем к Zabbix API, который будет + http: /// zabbix / api_jsonrpc.php +.

  • Заполните поля * Имя пользователя * и * Пароль * именем пользователя и паролем для Zabbix. Имя пользователя по умолчанию - `, а пароль по умолчанию - `.

  • Включить опцию * Trends *; это увеличит производительность Grafana при отображении длительных периодов времени.

Вы можете оставить другие параметры по умолчанию.

Нажмите кнопку * Добавить *, чтобы проверить и сохранить конфигурацию. Вы увидите сообщение об успехе, которое выглядит следующим образом:

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/Meq7eZv.png [Успешный тест подключения к Zabbix]

Если вы не видите это сообщение, проверьте свои учетные данные и повторите тестирование.

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

изображение: http: //skitch.bphogan.com/2016-11-03_4h9cn31lu8vn82s_Grafana_-_Zabbix_Server_Dashboard.png [Панель управления Zabbix сервера]

Эта панель довольно информативна, но вы можете создать свою собственную панель с нуля.

Шаг 4 - Создание пользовательской панели Zabbix

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

Откройте раскрывающийся список в верхней части экрана и нажмите кнопку * Создать новый *. Будет создана новая пустая панель инструментов.

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

Сначала мы создадим график, который отображает загрузку процессора нашего Zabbix сервера. Выберите элемент * Добавить панель * и нажмите * График *, чтобы вставить новый график в строку.

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

  • Установите * Host Group * в ++.

  • Установите * Host * в ++.

  • Установите * Application * в ++.

  • Установите * Item * в ++.

Вы увидите текущую загрузку процессора на графике.

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/h3TY7qh.png [Параметры метрики графика]

Затем перейдите на вкладку * General * и установите для поля * Title * значение «+ Загрузка процессора » и установите для параметра * Span * значение « 6 +». Одна строка может содержать до 12 блоков, поэтому установка этого значения в 6 заставляет панель занимать половину экрана.

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/JjDiO8Z.png [Общие параметры графика]

Теперь вы можете нажать * Вернуться на панель управления *, чтобы увидеть результат:

Изображение: HTTPS: //assets.digitalocean.com/articles/grafana_zabbix_cent7/UJCc6Wm.png [Панель управления]

Давайте добавим еще один график. Для этого вы можете повторить предыдущие шаги или продублировать существующий график. Чтобы дублировать существующий график, выберите заголовок панели и нажмите «Дублировать». Затем выберите заголовок нового графика и выберите параметр * Редактировать *. Затем примените следующие настройки:

  • Измените * Title * на ++.

  • Выберите вкладку * Metrics * и измените поле * Item * на ++.

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

Вы также можете показать сводную статистику. Выберите вкладку * Legend *, и вы увидите некоторые опции и значения, которые вы можете выбрать.

  • В разделе * Параметры * установите флажок * Как таблица * и * Справа *.

  • В разделе * Значения * выберите * Мин. *, * Макс. *, * Среднее * и * Текущий *.

Теперь нажмите * Back to dashboard *, чтобы увидеть результат, который будет выглядеть так:

Изображение: HTTPS: //assets.digitalocean.com/articles/grafana_zabbix_cent7/AlI2UKI.png [Панель управления]

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

Установите параметры * Metrics * следующим образом:

  • Установите * Host Group * в ++.

  • Установите * Host * в ++.

  • Установите * Application * в ++.

  • Установите * Item * в ++.

Затем перейдите на вкладку * General * и установите для поля * Title * значение ++.

Затем перейдите на вкладку * Параметры * и настройте следующие параметры:

  • Включите опцию + Show + для * Gauge *.

  • Установите * Thresholds * в ++. Это покажет эти пороги на датчике.

  • Выберите опцию + current + из раскрывающегося списка * Value *.

Датчик теперь выглядит так:

Изображение: HTTPS: //assets.digitalocean.com/articles/grafana_zabbix_cent7/38ybcGT.png [Калибр]

Вернитесь к панели инструментов и нажмите + CTRL + S +, чтобы сохранить ее.

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

Войдите на свой Zabbix сервер, если вы еще не вошли в систему:

ssh sammy@

После входа в систему определите, сколько свободного места доступно в файловой системе. Вы можете сделать это с помощью команды + df +:

df -h

Вы увидите следующий вывод:

OutputFilesystem      Size  Used Avail Use% Mounted on

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 ГБ свободного места. Количество свободного места на вашем сервере будет варьироваться. Уменьшите свободное пространство в корневом разделе ниже порогового значения 20% с помощью команды + fallocate +, чтобы создать один большой временный файл:

fallocate -l  /tmp/test.img

Установите размер файла в зависимости от количества свободного места на вашем сервере.

Затем дайте Zabbix пару минут, чтобы обновить данные. Обновите приборную панель, и вы увидите, что датчик изменил свой цвет, чтобы отразить проблему свободного места:

Изображение: HTTPS: //assets.digitalocean.com/articles/grafana_zabbix_cent7/cTfYrH7.png [Предупреждение]

Наконец, давайте покажем активные триггеры Zabbix на панели инструментов. Создайте новую строку, затем выберите меню строки, выберите * Добавить панель * и выберите элемент * Триггеры Zabbix *.

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

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/vJtrBT6.png [Триггер свободного пространства]

Выберите * Back to dashboard * и сохраните панель с помощью + CTRL + S +. Ваша панель управления теперь будет выглядеть так:

изображение: https: //assets.digitalocean.com/articles/grafana_zabbix_cent7/u63Higl.png [готовая панель инструментов]

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

Не забудьте удалить временный файл, который вы создали, чтобы освободить место на вашем диске. На вашем Zabbix сервере введите команду:

rm /tmp/test.img

Это удалит файл + test.img +. Через несколько минут панель снова обновится, чтобы отразить изменения в файловой системе.

Заключение

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

Related