Использование Zabbix для мониторинга гетерогенной сети с работой по проводным и радиоканалам

УДК 004.72

Using Zabbix for the Heterogeneous Network Monitoring System with Wired and Radio Channels

Zotov Sergei Valerievich, senior engineer, JSC "Sozvezdie "Concern"

Abstract. The article compares the systems for monitoring MESH networks and the monitoring system Zabbix. The issue of integration of Zabbix monitoring systems and systems, as well as the developed capabilities of visualization and construction of schemes of decentralized systems for monitoring are considered.

Keywords: wireless network, wire network, MESH, SNMP, Zabbix, monitoring.

Использование Zabbix для мониторинга гетерогенной сети с работой по проводным и радиоканалам

Зотов Сергей Валерьевич, ведущий инженер-конструктор, АО «Концерн «Созвездие»

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

Ключевые слова: радиосеть, проводная сеть, MESH-сеть, SNMP, Zabbix, мониторинг.

Введение. В предыдущих работах мы уже рассмотрели механизмы контроля и мониторинга децентрализованных сетей [1-6] с применением беспроводных и проводных каналов связи. В работе [6] мы сравнили разработанные нами решения с популярным решением для мониторинга сетей Zabbix. В этой работе мы рассмотрим возможность использования совместно решения Zabbix и рассмотренных решений для мониторинга децентрализованных распределенных сетей.

Zabbix обладает широким набором возможностей. К ним относятся:

• Сбор данных на централизованный узел (Zabbix-сервер);

• Хранение данных в централизованной БД (mysql, postgres, sqlite и т.д.);

• Наличие фронтенд-интерфейса (который может быть расположен на отдельной машине);

• Возможность распределения нагрузки благодаря посредническим серверам-агрегаторам (Zabbix-прокси);

• Возможность мониторить многочисленные узлы:

o Простейшие проверки, базирующиеся на стеке протоколов TCP/IP (icmp, проверка портов); o Поддержка SNMP;

o Возможность установки на тестируемые узлы Zab-box-агентов, предоставляющих обширный набор тестируемых параметров; o Активные и пассивные проверки; o Возможность выполнить на удаленной машине произвольную команду и вернуть результат ее выполнения.

С одной стороны, у Zabbix есть очевидные преимущества:

• Обширный набор инструментария;

• Компонентая архитектура (сервер, прокси, агент, база данных, фронтенд и возможность выполнения внешних программ);

• Обширное число тестируемых параметров;

Но имеются и недостатки:

• Громоздкость системы;

• Запутанный и неочевидный интерфейс фронтенда;

• Не соответствие подходу unix-way;

• Набор параметров для тестирования выбран из практики, с одной стороны это хорошо, но с другой он не классифицирован, и не позволяет использовать обобщения, что приводит к использованию аналогичных параметров тестирования, для разных систем, но не совместимых между собой (для сравнения proc.cpu.util и sys-tem.cpu.util).

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

Рис. 1. Пример инфраструктуры мониторинга с использованием Zabbix

На рис.1. проиллюстрирован пример инфраструктуры мониторинга на основе Zabbix. Данные собирают Zabbix-прокси с наблюдаемых компонентов инфраструктуры (часть устройств поддерживает только SNMP, другая часть имеет установленный Zabbix-агент. Внешние узлы, такие, как например провайдерское оборудование, внешние SAAS сервисы мониторятся с помощью Simple Checks - возможностей ICMP и UDP/TCP Scanning port).

Установка Zabbix

Установка рассмотрена на примере Zabbix 3.0 LTS на LAMP следующей конфигурации: Ubuntu 16.0 (используется система инициализации Systemd), Apache 2 для фронтенда, Mysql 5, Php V. Устанавливается в данном случае Zabbix-сервер и фронтенд на одну машину.

Предположим, что имеется только Ubunt 16.0 с подключением к сети. Начнем с установки Apache2, php и mysql. Подробности настройки соответствующих компонентов опущены.

Установка Apache2:

$ sudo -i

# apt-get -y install apache2

# apt-get -y install php7.0-mysql php7.0-curl php7.0-json php7.0-cgi php7.0 libapache2-mod-php7.0

Перезапускаем:

# systemctl restart apache2

Проверяем

# php -v

#cat >/var/www/html/info.php

<?php

phpinfo();

?>

Ctrl-D

Теперь можно посмотреть phpinfo

# lynx http ://127.0.0.1 /phpinfo

Устанавливаем Mysql:

# apt-get -y install mysql-server mysql-client mysql-common

# mysql_secure_installation

Установка репозитория

# wget \

http : //repo .zabbix.com/zabbix/3. 0/ubuntu/pool/main/z/zabbix-release/zabbix-release 3.0-1+xenial all.deb

# dpkg -i zabbix-release_3.0-1+xenial_all.deb

# apt-get update

Установка пакетов:

#apt-get -y install zabbix-server-mysql zabbix-frontend-php

Настраиваем базу данных

# mysql -uroot -p

create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by 'Zabbix-17';

Вместо Zabbix-17 нужно использовать свой пароль (здесь и далее). Возможно пароль не будет принят. Требования к пароль можно посмотреть следующим способом:

SHOW VARIABLES LIKE 'validate_password%'; quit;

Наполняем базу данных таблицами

#zcat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql \ -uzabbix -p zabbix

Перезапускаем

# systemctl start zabbix-server

Поправим конфигурационный файл

# grep DBPass /etc/zabbix/zabbix_server.conf

# sed 's/# DBPassword=/DBPassword=Zabbix-17/g' \ /etc/zabbix/zabbix_server.conf| grep DBPass

# если все верно, записываем файл

# sed -i 's/# DBPassword=/DBpassword=Zabbix-17/g' \ /etc/zabbix/zabbix_server. conf

Аналогично поправим настройки для PHP

# sed -i -e 's/# php_value date.timezone Europe\/Riga/php_value date.timezone Europe\/Moscow/g' /etc/apache2/conf-enabled/zabbix.conf

Необходимо, чтобы apache2 перечитал конфигурационный

файл:

#Systemctl reload apache2

Проверяем IP-адрес

# ip addr Можно зайти

# lynx 192.168.116.128/zabbix Или используя браузер

Возможно сообщение об ошибке: не хватает нужных модулей php. Установим их

# apt-get -y install php-bcmath php-mbstring php-xml

# systemctl apache2 restart

После выполнения всех шагов можно войти в веб-интерфейс фронтенда.

Пароль для пользователя по умолчанию Admin zabbix Необходимо изменить в веб-интерфейсе.

# Если сервис не запущен то перезапустим systemctl restart zabbix-server

# В случае возникновения ошибок смотрим в логе.

# journalctl -u zabbix-server

Использование Zabbix для получения данных от других программ

Возможности Zabbix по сбору информации:

• Протокол Zabbix;

• Простейшие проверки (протокол ICMP);

• Протокол SNMP;

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

Остановимся на последнем.

Получить вывод результата выполнения любой команды на хосте позволяет возможность создавать и использовать пользовательские ключи. Для чего следует в настройках конфигурационного файла zabbix_agentd.conf на машине, которую следует мониторить использовать значение параметра UserParameter [7]: UserParameter=<ключ>,<команда>. Имя ключа можно выбрать самостоятельно, например: UserParameter=msts.stat,msts_get --get --uparam=2 --tap=22:33:44:55:66

То есть с помощью ключа msts.stat можно получать данные от удаленной машины, на которой выполняется программа msts_get и отдает в Zabbix собранные данные с помощью собственных протоколов и механизмов, в частности, описанных в [8] и реализованных в

[9].

Такой подход позволяет реализовать матрицу состояний контролируемых устройств [10] используя средства Zabbix.

Еще один способ отправить данные через инфраструктуру -zabbix_sender. Утилита входит в состав zabbix_agent и позволяет любому приложению с помощью вызова zabbix_sender отправить данные на сервер. Таким образом, можно использовать не пассивные проверки, поступаемые от zabbix_server к zabbix_agent, а непосредственно при мониторинге собственными средствами вызывать zabbix_sender [11].

Использование собственных систем отображения информации и управления конфигурацией

Zabbix использует Front-End, написанный на PHP и применяемый с веб-сервером Apache2. Данные хранятся на mysql-сервере.

Используя непосредственно подключение к БД мы можем:

1. Использовать собственные интерактивные интерфейсы, в том числе с применением разработанных решений [12,13].

2. Использовать собственные механизмы настройки, ориентированные на разработанную и использованную для мониторинга MESH-сетей систему мониторинга [5,6,8,9].

3. Использовать схемы, подготовленные в САПР [13] для отображения состояний сети.

Выводы

Таким образом мы можем совместить разработки в области САПР (подготовка данных и использование для построения мобильных сетей транспортных средств), в области АСУ (механизмы и протоколы мониторинга программного и аппаратного обеспечения мобильных сетей транспортных средств) и возможности, которые предоставляет система Zabbix.

Дальнейший интерес может представлять дополнение систем проектирования и мониторинга механизмами симуляции, наподобие Cisco Packet Tracer.

Библиотека [13], как механизм визуализации телекоммуникационных систем, позволяет решить такую задачу.

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

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

1. Часть системы подготовлена в САПР, и развернута с помощью механизмов конфигурации из состава ПО телекоммуникационных сетей.

2. Развернутая инфраструктура мониторится и данные собираются с применением систем мониторинга, Zabbix и собственных систем визуализации данных.

3. Разрабатывается новый компонент (например, подсеть в САПР).

4. С помощью симуляции существующая и симулируемая сети «соединятся» и работают совместно.

5. На основе полученных данных вносятся данные в САПР, подсеть присоединяется физически и теперь мониторится, как работающая сеть.

Это направление дальнейших исследований.

Рис.2. Гибридная инфраструктура мониторинга

Библиографический указатель

1. Зотов С.В. Автоматизация тестирования устройств телекоммуникаций/Научно-исследовательские публикации. 2013. №2 1. С. 4955.

2. Кручинин С.В., Зотов С.В. Синтез протокола автоматизированного управления и контроля гетерогенных телекоммуникационных устройств//Научно-исследовательские публикации. 2014. №2 3. С. 55-68.

3. Кручинин С.В. Тестирование времени доведения сообщений между телекоммуникационным модулем сопряжения и мобильным устройством // Вопросы науки. 2015. Т. 5. С. 59-64.

4. Зотов С.В. Автоматизация тестирования устройств телекоммуникаций/Научно-исследовательские публикации. -2013. -№ 1. -С. 49-55.

5. Кручинин С.В., Зотов С.В. Программа тестирования связи ЕСУ ТЗ путем моделирования работы пользователя.//Свидетельство о государственной регистрации программы для ЭВМ № 2011612245 от 17.04.2011. -Москва: Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.

6. Зотов С.В. Построение системы мониторинга гетерогенной сети с работой по проводным и радиоканалам // Научно-исследовательские публикации, 2016, № 5(37) а 19-26

7. ШрБ: //habrahabr.ru/company/zabbix/blog/196218/

8. Кручинин С. В. Синтез протокола автоматизированного управления и контроля гетерогенных телекоммуникационных устройств/С. В. Кручинин, С. В. Зотов//Научно-исследовательские публикации. -2014. -№ 3. -С. 55-68.

9. Кручинин С.В., Зотов С.В. Сервер контроля узлов сети обмена данными //Свидетельство о государственной регистрации программа для ЭВМ № 2011614929 от 23.06.2011. -Москва. -Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.

10. Кручинин С. В. Математическая модель контролируемых устройств//Известия Волгоградского государственного технического университета. 2013. Т. 17. № 14 (117). С. 19-20.

11. https://habrahabr.ru/post/253799/

12. Кручинин С.В. САПР телекоммуникационных сетей как один из подходов построения сетей транспортных средств // Информатика: проблемы, методология, технологии Материалы XVI Международной научно-методической конференции. Под редакцией Тюка-чева Н.А.. 2016. С. 325-328.

13. Кручинин С.В., Кузнецов А.М., Зотов С.В. Графическое ядро визуализации и анализа инженерных схем //Свидетельство о государственной регистрации программа для ЭВМ №2011618938 от 27.09.2011. -Москва. -Федеральная служба по интеллектуальной собственности, патентам и товарным знакам.