Вход
Русский
USD
Цены в иностранной валюте приведены информационно

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

Инструмент мониторинга

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

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

Вам потребуется:

  • Сервер с дистрибутивом CentOS версии 7;
  • Еще один сервер, на котором настроена система Zabbix;
  • Пользователь, у которого есть доступ с sudo.

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

В первую очередь вам нужно зайти на Zabbix-сервер и установить 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, как и любого другого инструмента, получится расширить посредством плагинов. Нам потребуется расширение, которое тоже называется Zabbix. В его составе находится панель запуска, источник данных, доска серверная, а также шаблон, который нужен чтобы просматривать данные. Вам может помочь встроенный инструмент для установки плагинов grafana-cli. Чтобы активировать его для установки Zabbix-приложения, введите в консоль:

sudo grafana-cli plugins install alexanderzobnin-zabbix-app

Если операция пройдет успешно, то вы увидите на экране вот такое сообщение:

✔ Installed alexanderzobnin-zabbix-app successfully

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

sudo systemctl restart grafana-server

Настройка взаимодействия Zabbix и Grafana

Для начала нужно набрать команду:

http://your_zabbix_server_ip_address:3000

Инструмент способен с помощью порта 3000 прослушивать все входящие сообщения. Система запросит ввести имя пользователя и пароль. Они по умолчанию admin и admin. Учетные данные нужно поменять на странице настроек профиля. Когда вы войдете в систему у вас на дисплее доска Home. Клик по логотипу Grafana откроем вам главное меню. Нам нужно будет активировать плагин Zabbix. Для этого вам нужно выбрать опцию Plugins, а потом открыть Apps. В списке вы увидите название Zabbix, которое и предстоит активировать вариантом Enable.

Чтобы визуализировать данные, их нужно добавить. С помощью главного меню Grafana вы сможете выбрать источник данных. Для этого потребуется кнопка Add data source, запускающая страницу настройки данных источника. Вам нужно будет указать вот такую информацию:

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

Для сохранения настроек нужно нажать Add. Когда источник данных добавится, на экран выведется надпись:

Success

Теперь стоит изучить доску Zabbix. Активируйте опцию Zabbix server Dashboard в выпадающем списке. Вы увидите на дисплее данные о Zabbix-сервере.

Создание пользовательской доски

Например, можно сделать доску, на которую выводится состояние файловой системы и загрузка CPU в режиме real-time. Выберите опцию Create New в верхней части экрана для создания пустой доски. Она, по умолчанию, содержит всего одну стройку. Слева от нее расположено меню, которое нужно открыть. В нем вы сможете задать разные параметры, вроде добавления панели, а также проводить различные операции со строками.

Создайте новую панель с помощью опции Add Panel. Опция Graph добавит на доску новый график. Его можно использовать для построения диаграммы загрузки процессора. На дисплее у вас появится форма, имеющая несколько вкладок. Metrics будет активирована по умолчанию. Вам предстоит дописать некоторые данные:

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

Вот и все – на мониторе вы сможете увидеть график нынешней нагрузки на процессор. Вы также можете менять его размер. Для этого нужно открыть вкладку General. Поле Title служит для задания названия доски. Можно написать Processor load, к примеру. Опция Span необходима для указания количества строк, количество которых будет занимать блок. Весь экран – это 12 строчек, а 6 – это половина, соответственно. Для просмотра результата нужно нажать Back to dashboard.

Можно добавить второй график. Самый простой способ – это скопировать предыдущий с помощью опции Duplicate. Ему нужно дать другое имя в поле Title, например, CPU Usage, после чего нажмите Edit. Во вкладке Metrics стоит также поменять значение Item на /CPU.*/. Для указания имени хостов либо метрик получится пользоваться шаблонами регулярных выражений. Их нужно располагать между двумя слешами «/». Благодаря проделанным манипуляциям, вы сможете смотреть общую статистику. Во вкладке Legend нужно выбрать нужные опции:

  • В Options поставьте As table и To The right;
  • В Values примените Min, Max, Avg и Current.

Вы сможете увидеть изменения настроек, если кликнете Back to dashdoard.

Для отслеживания одной метрики нужно активировать панель Singlestat. Нажав Add row получится создать новую строчку. После этого нужно зайти в меню строки, активируя Singlestat и Add panel.

После этого, нужно поменять некоторые параметры для Metrics:

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

И еще в поле Title вкладки General требуется указать Free disk space on /.

Следующий шаг – это установка новых значений во вкладке Option:

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

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

ssh host@your_zabbix_server_ip_address

Обязательно проверьте, есть ли у вас достаточное количество места на накопителе:

df -h
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 120G 15G 105G 8% /
devtmpfs 439M 0 439M 0% /dev
tmpfs 185M 0 185M 0% /dev/shm
tmpfs 222M 11M 211M 5% /run
tmpfs 265M 0 265M 0% /sys/fs/cgroup
tmpfs 69M 0 69M 0% /run/user/0

В данном примере свободного места 120 Гб, чего более чем достаточно. Используйте команду fallocate, чтобы занять определенное место под объемный файл:

fallocate -l 15G /tmp/test.img

Системе Zabbix потребуется пара минут, чтобы обновить показатели. После этого потребуется перезагрузка вашей доски. Вы увидите изменения на сервере в виде графика. Следующий шаг – это добавление на доску триггеров Zabbix. Для этого необходимо сделать новую строчку, потом зайти в ее меню, выбрав Add Panel и Zabbix Triggers. Если у вас будет недостаточно места, система запустит активный триггер. Увидев нужную информацию, вернитесь на доску и сохраните ее с помощью горячих клавиш. Теперь у вас есть простая доска, отслеживающая состояние сервера на текущий момент. Файл, который создавался для проверки настроек, нужно удалить. Для этого наберите:

rm /tmp/test.img

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

Опубликовано: Март 9, 2017