Сравнительный анализ популярных систем мониторинга сетевого оборудования, распространяемых по лицензии GPL
Шардаков К. С. Петербургский государственный университет путей сообщения Императора Александра I Санкт-Петербург, Россия megashok2010@gmail.com
Аннотация. Рассмотрены наиболее популярные системы мониторинга сетевого оборудования, распространяемые по лицензии GPL - Cacti, Nagios, Zabbix. Выявлены сходства и различия между ними. Описаны архитектура и основные компоненты системы мониторинга. Смоделировано рабочее полнофункциональное состояние каждой рассматриваемой системы. Приведены критические минусы сравниваемых систем мониторинга. Отмечено, что из-за выявленных недостатков и необходимости использования большого количества сторонних плагинов для Cacti и Nagios, а также из-за сложности масштабирования этих систем наилучшим выбором для мониторинга большого количества метрик признана система Zabbix.
Ключевые слова: мониторинг, Cacti, Nagios, Zabbix, Docker, система оповещений, метрики, уведомления, GPL, RRDTool.
Введение
Автоматизированные системы мониторинга играют важную роль в жизни современного общества. Мониторинг - это непрерывный процесс наблюдения и регистрации параметров объекта по сравнению с заданными критериями. В ряде отраслей данные собираются и накапливаются очень интенсивно. Основные сведения о системах мониторинга в различных отраслях, примеры отдельных систем мониторинга и их сравнительные характеристики приводятся в работах [1-5].
Из-за тенденции роста сетей передачи данных повышаются требования к системам мониторинга этих сетей. При расширении сети увеличивается и количество составляющих её объектов, нуждающихся в мониторинге, а следовательно, и нагрузка на систему мониторинга. Такая ситуация влечет за собой замедление реакции на аварийные события в сети, ведет к деградации сетевых сервисов и служб. Для предотвращения этих ситуаций необходим правильный подход к выбору системы мониторинга. В работе рассматриваются нескольких наиболее популярных систем мониторинга с открытым исходным кодом: Cacti, Nagios, Zabbix.
На рис. 1 представлена статистика запросов по ключевым словам на популярном поисковом ресурсе google.com с 2004 г. Как видно из рис. 1, интерес к некогда популярным системам Cacti и Nagios постепенно угасает, в то время как количество запросов с ключевым словом Zabbix растёт и имеет постоянную положительную тенденцию.
Цель работы - выявить наименее ресурсоемкую и наиболее гибко настраиваемую систему мониторинга из имеющихся, распространяемых по лицензии GPL, соответствующую основным требованиям:
• прозрачная масштабируемость;
• мониторинг нескольких тысяч устройств и более 1 000 000 метрик с использованием протокола SNMP [6] (Simple Network Management Protocol);
• обработка нескольких тысяч уведомлений ежедневно.
Основные компоненты системы мотиноринга
Любая система мониторинга, в том числе мониторинга сетевых устройств, - это сложная информационная система, включающая в себя:
• метрики сетевых устройств (CPU, температура, доступность устройств, потери пакетов, ошибки на интерфейсах, доступная полоса пропускания и прочие) - критически важные параметры, за значениями которых необходимо вести наблюдение;
• мониторинг - процесс сбора, агрегирования и анализа метрик для улучшения понимания характеристик и поведения компонентов системы. В этот пункт входит также визуализация собранных данных по метрикам в различные графики, диаграммы, гистограммы [1, 2];
• систему оповещений - не менее важный компонент, поскольку выполняет действия на основе изменений значений наблюдаемых метрик. При достижении критического порога значения метрики может попытаться самостоятельно
1 ЯНН. 2009 г. 1 ЯНЕ. 2014 г.
Рис. 1. Статистика запросов в поисковой системе google.com
исправить проблему по заготовленному сценарию или отправить оповещение ответственному лицу средствами SMS, электронной почты и т. д. [1, 2].
Исследование возможностей систем мониторинга
Cacti
Cacti обладает высокой скоростью развертывания при малом количестве объектов для мониторинга. Добавление в мониторинг устройств к стандартным шаблонам происходит быстро и легко [7]. Но процесс добавления устройств с метриками, не предусмотренными стандартным набором функций, трудоёмкий. В качестве хранилища данных Cacti использует RRD (Round-Robin Database), а в качестве визуа-лизатора для построения графиков из собранных данных -утилиту RRDTool [5, 8]. Это является недостатком, поскольку RRD усредняет данные, и невозможно сказать, каково было точное значение параметров несколько месяцев назад. Отсутствует система оповещений, основные функции - сбор метрик с устройств в RRD и их последующая визуализация.
На рис. 2 представлен пример графика утилизации пропускной способности сетевого интерфейса коммутатора, построенный с помощью Cacti.
Nagios
Nagios поддерживает огромное количество плагинов для всевозможных задач, но его слабое место - малая отказоустойчивость. Масштабирование - сложная процедура в Nagios, но возможна при использовании сторонних плагинов [7]. Каждый запущенный плагин является отдельным
запущенным процессом в операционной системе. Nagios не имеет встроенных средств визуализации, их тоже необходимо подключать в виде плагинов [9]. Конфигурация изменяется посредством изменения файла конфигурации, но новая конфигурация применяется только при перезапуске службы Nagios. Иными словами, при добавлении нового устройства в систему мониторинга приходится перезапускать службу мониторинга для применения конфигурации. Согласно исследованиям компании Яндекс, при большом количестве объектов мониторинга (несколько тысяч) процедура перезапуска может занять 15-20 минут, в течение которых не снимаются метрики с объектов мониторинга [6]. Это означает, что в указанном промежутке времени система мониторинга не функционирует. В качестве хранилища данных Nagios, как и Cacti, использует RRD [5, 10].
На рис. 3 представлен пример графика утилизации пропускной способности сетевого интерфейса коммутатора, построенный с помощью Nagios.
Zabbix
Zabbix позволяет изменять конфигурацию системы несколькими способами: через веб-интерфейс и посредством API (Application Program Interface) [11]. Конфигурация хранится в базе данных, это позволяет применять её «на лету», в отличие от Nagios [12]. За счет распределенной архитектуры и использования прокси легко масштабируется, поскольку база данных может храниться на одном сервере, сервер приложения - на втором, а фронтенд - на третьем [13]. Также есть возможность распределять нагрузку по нескольким прокси-серверам, которые делят очереди опросов объектов мониторинга между собой, тем самым высвобождая ресурсы основного сервера приложения [4]. Мощная система
DUT: 495.838391M
Рис. 2. График утилизации пропускной способности, построенный с помощью Cacti
seo М
600 М 400 М
200 М
о
12 14 16 1S 20 22 00 02 04 06 08 10 12 14 16 ИЗ incoming ■ outgoing □ scale maximum
IN: 842.644488H DUT: 557.312281H
Рис. 3. График утилизации пропускной способности, построенный с помощью Nagios
оповещении позволяет использовать оповещения и автоматические действия на основе заготовленных сценариев при достижении пороговых значений наблюдаемых метрик [14, 15]. В версии 3.4 появилась возможность прогнозировать дальнейшее поведение метрик на основе уже полученных значений [4, 11]. Из недостатков стоит отметить ограниченный функционал для работы с визуализацией данных и большую задержку при отображении большого количества графиков на одном экране.
На рис. 4 представлен пример графика утилизации пропускной способности сетевого интерфейса коммутатора, построенный с помощью Zabbix.
В табл. 1 представлены основные возможности сравниваемых систем мониторинга.
Моделирование системы мониторинга и тестирование
Ещё одним важным критерием является потребление ресурсов каждой системой. В рамках статьи собран тестовый стенд с развернутыми в нем сравниваемыми системами мониторинга. В качестве сервера выступает устройство с процессором семейства Intel Core 2 Duo, HDD 7200 RPM, 8Gb RAM, OC Debian 9.3 «Stretch». Все тестовые системы мониторинга развернуты на сервере в Docker-контейнерах. Единовременно запущены контейнеры, связанные только
с одной системой мониторинга. Наблюдаются 100 хостов по 410 метрик на каждый. Интервал опроса 60 секунд.
В табл. 2 отображены значения, полученные в ходе тестирования исследуемых систем мониторинга.
Заключение
В результате анализа сравниваемых систем мониторинга выявлены следующие критические минусы:
• нет системы оповещений в Cacti;
• при использовании RRD в Cacti и Nagios теряется детализация старых данных;
• конфигурация в Nagios изменяется посредством изменения файла конфигурации, но новая конфигурация применяется только при перезапуске службы Nagios, что при большом количестве собираемых метрик может занимать несколько десятков минут, а следовательно, система не будет функционировать в это время.
Zabbix имеет менее критические недостатки, связанные с визуализацией данных, что слабо влияет на основные функциональные возможности системы.
Как видно из табл. 2, наименее ресурсоемкой системой является Cacti, наиболее ресурсоемкой - Nagios. Но из-за описанных недостатков и необходимости использования большого количества сторонних плагинов для Cacti и Nagios, а также из-за сложности масштабирования этих систем наи-
Рис. 4. График утилизации пропускной способности, построенный с помощью Zabbix
ТАБЛИЦА 1. Сводная таблица возможностей сравниваемых систем
Система Атоматическое обнаружение Поддержка SNMP Плагины Система оповещений Способ хранения данных Лицензия
Cacti Через плагин Да Да Через плагин RRDTool GPL
Nagios Через плагин Через плагин Да Да RRDTool, MySQL через плагин GPL
Zabbix Да Да Да Да Oracle, MySQL, PostgreSQL, IBM DB2, SQLite GPL
ТАБЛИЦА 2. Потребление ресурсов системами
Система CPU, % RAM, %
Cacti 1О 22
Nagios 14 25
Zabbix 12 25
лучшим выбором для мониторинга большого количества метрик признан Zabbix.
Литература
1. Носкова А. И., Токранова М. В. Обзор автоматизированных систем мониторинга // Интеллектуальные технологии на транспорте. 2017. № 1. С. 42-47.
2. Основы мониторинга и сбора метрик. URL: https:// www.8host.com/blog/osnovy-monitoringa-i-sbora-metrik.
3. Шмелев В. В. Метод мониторинга технологических процессов на основе структурно-логического подхода // Интеллектуальные технологии на транспорте. 2017. № 2. С. 5-14.
4. Jones D. Creating Unified IT Monitoring and Management in Your Environment. - Realtime Publishers, 2012. - 92 p.
5. Croll A. Complete Web Monitoring. - Sean Power: O'Reilly Media, 2009. 672 p.
6. Vacche A. D., Lee S. K. Zabbix Mastering. - Packt Publishing Ltd., 2013. 358 p.
7. Линикова О. Е. Мониторинг серверного оборудования и приложений. - Екатеринбург, 2014. 123 с.
8. Graphite - как построить миллион графиков. URL: https://events.yandex.ru/lib/talks/1122.
9. Владышев А. Zabbix и миллионы метрик: наилучший опыт масштабного мониторинга. URL: http://www.highload. ru/2015/abstracts/1965.html.
10. Анализ систем централизованного мониторинга с открытым исходным кодом мониторинга. URL: https://sites. google.com/site/teachingandresearchwork/sravnenie-sredstv-monitoringa.
11. Пять ключевых функций систем мониторинга производительности сети. URL: https://networkguru.ru/piat-cliuchevykh-fUnktcii-sistem-monitoringa-proizvoditelnosti-seti.
12. Использование Zabbix для мониторинга критических систем. URL: https://xakep.ru/2014/08/13/using-zabbix.
13. Сетевая и серверная статистика с использованием Cacti. URL: https://nsrc.org/workshops/2014/caren-nsrc-dante/ raw-attachment/wiki/Agenda/cacti-from-packages-vRU.pdf.
14. Мониторинг компьютерной сети или тестирование систем мониторинга. URL: https://united.net.ua/?id=usage& text=3.
15. Nagios vs Zabbix - cравнение систем мониторинга сети. URL: http://amigosteam.ru/blog/item/12-nagios-vs-zabbix.
Comparative Analysis of the Popular Monitoring Systems for Network Equipment Distributed Under the GPL License
Shardakov K. S. Emperor Alexander I St. Petersburg State Transport University St. Petersburg, Russia megashok2010@gmail.com
Abstract. The most popular network equipment monitoring systems distributed under license GPL - Cacti, Nagios, Zabbix are considered. Similarities and differences between them are revealed. The architecture and main components of the monitoring system are described. The working full-functional state of each considered system is modeled. Critical disadvantages of the compared monitoring systems are given. It is noted that due to the identified shortcomings and the need to use a large number of third-party plugins for Cacti and Nagios, as well as due to the complexity of scaling these systems, Zabbix system is recognized as the best choice for monitoring a large number of metrics.
Keywords: monitoring, Cacti, Nagios, Zabbix, Docker, alert manager, metrics, notifications, GPL, RRDTool.
References
1. Noskova A. I., Tokranova M. V. Overview of Automated Monitoring Systems, Intellectual Technologies on Transport, 2017, no. 1, pp. 42-47. (In Russ.)
2. Basics of monitoring and collecting metrics. Available at: https://www.8host .com/blog/osnovy-monitoringa-i-sbora-metrik. (In Russ.)
3. Shmelev V. V. Method for Monitoring the Technological Processes in the Aerospace Industry on the Basis of Structural and Logical Approach, Intellectual Technologies on Transport, 2017, no. 2, pp. 5-14. (In Russ.)
4. Jones D. Creating Unified IT Monitoring and Management in Your Environment. Realtime Publishers, 2012. 92 p.
5. Croll A. Complete Web Monitoring. Sean Power, O'Reilly Media, 2009. 672 p.
6. Vacche A. D., Lee S. K. Zabbix Mastering. Packt Publishing Ltd., 2013. 358 p.
7. Linikova O. E., Monitoring of server hardware and applications. Master's thesis. Ural Federal University named after the first President of Russia B. N. Yeltsin. - Ekaterinburg, 2014. -123 c. (In Russ.)
8. Graphite - how to build a million graphs. Available at: https:// events.yandex.ru/lib/talks/1122.
9. Vladyshev A. Zabbix and millions of metrics: the best experience of large-scale monitoring. Available at: http://www. highload.ru/2015/abstracts/1965.html. (In Russ.)
10. Analysis of centralized monitoring systems with open source monitoring. Available at: https://sites.google.com/site/teach-ingandresearchwork/sravnenie-sredstv-monitoringa. (In Russ.)
11. Five key functions of network performance monitoring systems. Available at: https://networkguru.ru/piat-cliuchevykh-funktcii-sistem-monitoringa-proizvoditelnosti-seti. (In Russ.)
12. Using Zabbix for monitoring of critical systems. Available at: https://xakep.ru/2014/08/13/using-zabbix. (In Russ.)
13. Network and server statistics using Cacti. Available at: https://nsrc.org/workshops/2014/caren-nsrc-dante/raw-attach-ment/wiki/Agenda/cacti-from-packages-vRU.pdf. (In Russ.)
14. Monitoring a computer network or testing monitoring systems. Available at: https://united.net.ua/?id=usage&text=3.
15. Nagios vs Zabbix - Comparison of network monitoring system. Available at: http://amigosteam.ru/blog/item/12-nagios-vs-zabbix. (In Russ.)
HHmmneKmyanbHbie mexHornzuu Ha mpaHcnopme. 2018. № 1
48