Архитектура
Архитектура Pandora FMS
В этой главе дается общее описание Pandora FMS и ее компонентов, того, как они связаны друг с другом и как использовать архитектуру Pandora FMS для решения различных задач, связанных с топологией ее инфраструктуры.
Pandora FMS может быть модульной и децентрализованной или простой и монолитной. Наиболее важным компонентом является база данных MySQL, где хранится вся информация. Каждый компонент Pandora FMS может быть реплицирован и работает в полной HA-среде, будь то пассивная, активная или кластерная среда (Active/Active с балансировкой нагрузки).
Pandora FMS состоит из нескольких элементов, среди которых те, которые отвечают за сбор и обработку данных, - это серверы. Серверы, используя информацию, полученную самостоятельно или с помощью агентов, вводят данные в базу данных. Консоль - это часть, отвечающая за отображение данных, имеющихся в базе данных, и взаимодействие с конечным пользователем. Программные агенты - это приложения, которые работают на контролируемых системах и собирают информацию для отправки ее на серверы Pandora FMS.
Серверы Pandora FMS
В Pandora FMS существует более двенадцати различных - специализированных - серверов, отвечающих за вышеупомянутые задачи. Серверы интегрированы в единое приложение, в общем случае называемое Pandora Server, которое представляет собой многопоточное приложение, параллельно выполняющее различные экземпляры или специализированные серверы Pandora FMS. Более подробную информацию вы можете получить в видеоуроке «Гибкий мониторинг сервера». Далее описывается каждый из специализированных серверов Pandora FMS.
Серверы Pandora FMS - это элементы, отвечающие за выполнение существующих проверок. Они проверяют их и изменяют их статус в зависимости от полученных результатов. Они также отвечают за срабатывание оповещений, которые устанавливаются для контроля состояния данных.
Сервер данных Pandora FMS может работать с высокой доступностью и/или балансировкой нагрузки. В очень большой архитектуре несколько серверов Pandora FMS могут использоваться одновременно, чтобы иметь возможность управлять большими объемами информации, распределенными по различным географическим или функциональным областям.
Серверы Pandora FMS всегда работают и постоянно проверяют, есть ли у какого-либо элемента проблема и определяется ли она как предупреждение. Если это произойдет, будет выполнено действие, определенное в оповещении, например, отправлено текстовое сообщение на мобильный телефон (SMS), электронное письмо или активировано выполнение сценария.
Одновременные серверы могут существовать; один из них является основным, а остальные - вторичными. Даже если есть вторичный сервер и первичный сервер, все они работают одновременно. Разница между ними заключается в том, что когда сервер одного типа выходит из сети (например, сетевой сервер), главный сервер отвечает за обработку всех данных, связанных с вышедшим из строя сервером.
Сервер, который получает файл данных от Агента или обрабатывает информацию (если она удаленного типа), является тем, кто запускает оповещения, связанные с теми данными, которые он только что обработал.
Pandora FMS автоматически управляет состоянием каждого сервера, уровнем его загрузки и другими параметрами. Пользователь может следить за состоянием каждого сервера через раздел состояния сервера в веб-консоли.
Web User Experience Server (WUX), сервер экспорта, сервер инвентаризации, сервер транзакций, сервер Syslog, сервер корреляции событий, серверы корпоративной сети и некоторые функции сервера прогнозирования доступны только в корпоративной версии Pandora FMS.
Сервер данных
Обрабатывает информацию, отправленную Программными агентами. Программные агенты собирают информацию локально с систем, на которых они установлены, и формируют пакет информации в формате XML. Эти XML-пакеты отправляются на сервер. На сервере они поступают в определенный каталог, сервер обрабатывает все файлы, поступающие в этот входной каталог, и сохраняет информацию в базе данных.
Различные серверы данных могут быть установлены на разных системах или на одном хосте с помощью виртуальных серверов. Несколько серверов могут работать вместе для очень больших сред, в которых необходимо более эффективно использовать аппаратное обеспечение, например, в случае сред с несколькими процессорами.
Несмотря на свою простоту и низкое использование ресурсов, сервер данных является одним из критически важных элементов системы, поскольку он обрабатывает всю информацию об агентах и генерирует предупреждения и системные события на основе этих данных. Сервер данных работает только с данными, поступающими в формате XML от Программных агентов, и не выполняет никакой удаленной проверки.
Сетевой сервер
Выполняет задачи удаленного мониторинга по сети: ICMP-проверки (ping, время задержки), TCP-запросы и SNMP-запросы. Когда вы назначаете агента на сервер, вы указываете сетевой сервер, который будет выполнять проверки для этого агента.
Очень важно, чтобы машины, на которых работают сетевые серверы, имели «видимость сети», чтобы иметь возможность выполнять задачи мониторинга сети, возложенные на них. То есть, если вы собираетесь пинговать несколько систем в определенной сети, сетевой сервер может достичь этой сети.
Например, если вы создадите модуль для выполнения проверки ping до 192.168.1.1.1
и назначите этого агента/модуль на сервер в сети 192.168.2.0/24 без доступа к сети 192.168.1.0/24
, он всегда будет возвращать DOWN
, потому что не может связаться с ней.
Консоль SNMP
Этот сервер, называемый SNMP Trap Console, использует стандартный демон системы сбора ловушек snmptrapd. Этот демон получает SNMP-ловушки, а SNMP-консоль Pandora FMS обрабатывает и сохраняет их в базе данных. Он также позаботится о запуске оповещений, связанных с определенными SNMP-ловушками.
Сервер WMI
WMI - это стандарт Microsoft® для получения информации от операционной системы и приложений в средах Microsoft Windows®. Pandora FMS имеет специальный сервер для удаленного мониторинга систем Windows® через протокол WMI.
Разведывательный сервер
Теперь он называется Discovery server и используется для регулярного сканирования сети и обнаружения новых работающих систем. Сервер Discovery может также применять шаблон мониторинга для вновь обнаруженных систем и автоматически применять Модули по умолчанию, определенные в этом шаблоне, чтобы немедленно начать мониторинг новой системы. Используя системные приложения GNU nmap, xprobe и traceroute, он также способен определять операционные системы и устанавливать топологию сети на основе уже известных ему систем.
Сервер Discovery также используется для запуска запланированных задач и запуска специфического мониторинга виртуальных сред, облачных сред, баз данных или всех тех приложений или сред, которые требуют изучения того, что существует, прежде чем начать мониторинг.
Подключаемый сервер
Выполняйте сложные проверки удаленно с помощью специализированных скриптов. Они могут быть разработаны на любом языке и интегрированы в интерфейс Pandora FMS с централизованным управлением. Это позволяет продвинутому пользователю определять собственные сложные тесты, разработанные им самим, и интегрировать их в приложение, чтобы ими можно было удобно и централизованно пользоваться из Pandora FMS.
Сервер прогнозирования
Это небольшой компонент искусственного интеллекта, который реализует статистический прогноз данных на основе прошлых данных до 30 дней в четырех временных привязках, позволяя предсказывать значения данных с интервалом 10-15 минут, и знать, являются ли данные в текущий момент аномальными по отношению к своей истории. По сути, он строит динамическую базовую линию с еженедельным профилем.
Этот сервер также управляет расчетом мониторинга обслуживания (BPM) от Pandora FMS версии 5.0.
Сервер проверки WEB (Голиаф)
Тестовый WEB-сервер используется для нагрузочного тестирования. Он выполняет полную веб-проверку, например, процесс идентификации пользователя, передачу параметров через форму, проверку содержимого, навигацию по меню и т.д. Он используется для проверки доступности (работает - не работает) и для получения времени задержки (в секундах) полного просмотра страницы, включая ресурсы, связанные со страницей (изображения, полные тексты и т.д.).
Сервер экспорта
Сервер экспорта Pandora FMS позволяет экспортировать данные контролируемого устройства из одной установки Pandora FMS в другую и таким образом осуществлять репликацию данных. Это особенно полезно, когда у вас большое развертывание с несколькими установками Pandora FMS, и вы хотите, чтобы некоторая важная информация была централизована только в одной.
Сервер инвентаризации
Сервер инвентаризации получает и визуализирует инвентаризационную информацию о системах: установленное программное обеспечение, модели аппаратных элементов, жесткие диски, запущенные в системе службы и т.д. Вы можете получить эту информацию как удаленно, так и локально, через Программных агентов.
Сервер корреляции событий
Этот специальный сервер используется для корреляции событий и генерации предупреждений, он не выполняет задачи мониторинга. Как и другие, он может быть указан в конфигурации для запуска или нет. Этот сервер, в отличие от других, не имеет конфигурации потоков или высокой доступности.
Сервер корпоративной сети SNMP и ICMP
Это два дополнительных сервера, которые используют передовые стратегии для выполнения проверок ICMP (ping) и SNMP (polling), так что их производительность намного выше, чем у версии Opensource, и с гораздо более тонкими требованиями (особенно SNMP), поскольку они работают с OID (Object IDentifier), предварительно подтвержденным открытым сервером.
Спутниковый сервер
Этот компонент устанавливается отдельно от основного сервера Pandora FMS. Он позволяет исследовать и обнаруживать новые системы, осуществлять удаленный мониторинг с помощью ICMP и высокоскоростного SNMP, выполнять удаленные плагины и позволяет пересылать файлы данных от программных агентов на главный сервер, действуя как прокси-агент. Он отправляет данные мониторинга в виде XML-файлов через соединение Tentacle, поэтому подключение к базе данных не требуется.
Отдельная глава посвящена мониторингу распределенных топологий с помощью Satellite Server.
Сервер WUX
Это сервер, который в сочетании с Selenium Grid позволяет выполнять сложные WEB-транзакции распределенным образом. Он отличается от простых WEB-проверки (Goliath) тем, что эти транзакции выполняются в реальном браузере, их вывод захватывается и обрабатывается для пошаговой визуализации, включая захват ошибок, а также подробную статистику всех WEB-запросов.
Сервер Syslog
Этот компонент позволяет Pandora FMS анализировать syslog машины, на которой он расположен, анализируя его содержимое и сохраняя ссылки в соответствующем сервере ElasticSearch.
Основное преимущество сервера syslog заключается в дополнении унификации журналов. Благодаря поддержке функций экспорта Syslog Server из сред Linux® и Unix®, он позволяет консультировать журналы независимо от происхождения, осуществляя поиск в одной общей точке (просмотрщик журналов консоли Pandora FMS).
Транзакционный сервер
В Pandora FMS с версии 7 включена возможность мониторинга бизнес-процессов. Компонент Transactional Server, реализованный в этой версии, позволяет выполнять зависимые задачи одну за другой в соответствии с дизайном, определенным пользователем. Это означает, что можно координировать различные исполнения для проверки цели в определенный момент времени.
Веб-консоль Pandora FMS
Это пользовательский интерфейс Pandora FMS. Эта консоль управления и эксплуатации позволяет различным пользователям с разными привилегиями контролировать состояние Агентов, просматривать статистическую информацию, создавать графики и таблицы данных, а также управлять инцидентами с помощью интегрированной системы. Он также способен генерировать отчеты и централизованно определять новые модули, агентов, оповещения и создавать других пользователей и профили.
Веб-консоль запрограммирована на языке PHP и не требует установки дополнительного программного обеспечения конечным пользователем. Доступ к нему возможен с любой современной платформы, поддерживающей HTML и CSS. Рекомендуется Mozilla Firefox® 2.x или Google Chrome®. Пользовательские возможности таких браузеров, как Internet Explorer® 6, очень плохи, и основные функции Консоли могут быть утеряны.
Веб-консоль, в свою очередь, может работать на нескольких серверах; то есть вы можете иметь столько веб-консолей, сколько вам нужно, как для распределения нагрузки, так и для облегчения доступа из-за логистических проблем (большие сети, множество различных групп пользователей, географические различия, административные различия и т.д.). Его единственное требование - иметь доступ к контейнеру данных, в котором хранятся все данные Pandora FMS: базе данных, а в случае версии Enterprise - синхронизированный доступ к хранилищу конфигурации агентов (через NFS).
База данных Pandora FMS
Pandora FMS использует базу данных MySQL, в которой хранит всю информацию, получаемую в режиме реального времени, нормализуя все данные из различных источников. Это самый важный и ответственный компонент любой установки Pandora FMS, содержащий не только информацию и историю данных, но и все конфигурации, сделанные за это время. В настоящее время Pandora FMS поддерживает только MySQL/MariaDB/Percona.
Эти данные управляются автоматически из Pandora FMS, осуществляя периодическое и автоматическое обслуживание базы данных, без необходимости какого-либо задания по администрированию базы данных или ручного процесса с помощью оператора или администратора. Это делается путем периодической очистки данных после определенной даты.
Программные агенты Pandora FMS
Когда речь идет об агенте в Pandora FMS, важно различать два понятия: Агент, или Консольный агент, как контейнер; Программный агент, как программное обеспечение, которое выполняется в оборудовании.
Агент (контейнер)
Агент Pandora FMS - это просто организационный элемент, созданный в веб-консоли Pandora FMS и связанный с группой Модулей (или отдельных элементов мониторинга). Кроме того, этот агент может иметь (опционально) один или несколько IP-адресов.
Агент может иметь ассоциированные удаленные Модули, полученные через сетевые серверы, WMI, Plugin и т.д., примеры:
- Проверка наличия подключения или подключения двигателя к сети (PING).
- Проверка того, открыт или закрыт данный порт.
- Проверка правильности ответа сетевого объекта, размещенного на определенном аппаратном порту.
- Проверка того, имеет ли сетевой объект, размещенный на определенной аппаратной точке, желаемое содержание.
- Проверка(и) аппаратного обеспечения по SNMP (определение MIB).
- Проверка времени задержки между узлом и серверами Pandora FMS.
Агент также может иметь связанные модули типа «локальный», которые определены в конфигурации программного агента и которые также должны быть определены в агенте WEB-консоли. Когда пакет данных впервые поступает от программного агента, по умолчанию новый агент будет создан автоматически, а его группа модулей будет выполняться локально, в веб-консоли.
Поэтому Агент может содержать удаленные или локальные Модули. Модули удаленного типа выполняются теми серверами, которые получают информацию удаленно (сетевой сервер, сервер разведки…), а модули локального типа выполняются программными агентами, собираются и обрабатываются сервером данных (Data Server).
Программный агент
Программные агенты устанавливаются на оборудование, за которым ведется наблюдение, локально, извлекая информацию из самого оборудования. В основном они используются в серверах для мониторинга ресурсов машины (CPU, RAM, диски…) и установленных приложений (MySQL, Apache, JBoss…). Как правило, мониторинг серверов и оборудования будет осуществляться с помощью программных агентов, в то время как мониторинг сетевого оборудования будет осуществляться удаленно без установки какого-либо программного обеспечения.
Каждый программный агент выполняет несколько проверок, называемых модулями, каждая из которых соответствует определенным данным, например, использованию ЦП. Вся информация о проведенных проверках собирается в единый файл данных в формате XML, который отправляется на сервер Pandora FMS.
Процесс копирования пакета данных от Агента к серверу происходит регулярным образом (синхронно) через каждый определенный промежуток времени; этот промежуток определяется в Программном Агенте, который является инициатором связи с сервером.
Интервал по умолчанию составляет 300 секунд. Значения меньше 100 секунд в общем случае не рекомендуются, поскольку они могут повлиять на производительность хост-системы, помимо чрезмерной нагрузки на базу данных и сам сервер Pandora FMS.
Следует помнить, что Pandora FMS не является системой реального времени, это общая система мониторинга приложений и систем в средах, критичность которых не соответствует реальному времени. Однако Pandora FMS может быть адаптирована для работы в условиях с временем отклика около 3-5 секунд.
Передача пакетов XML обычно осуществляется с помощью протокола Tentacle, хотя также можно передавать пакеты с помощью SSH или FTP.
Как SSH, так и Tentacle могут сделать процесс полностью безопасным, поскольку никакие пароли или незашифрованные конфиденциальные данные не передаются по сети; обеспечивается конфиденциальность, целостность и аутентификация соединений между агентом и сервером. В документации по установке и настройке Агентов и Сервера подробно описан процесс генерации ключей для того, чтобы передача SCP (SSH) осуществлялась автоматически, а также с помощью протокола Tentacle.
Передача может также осуществляться через FTP или любую другую систему передачи файлов, хотя выбор пал на Tentacle из-за безопасности, предлагаемой этой системой, простоты для пользователя и множества опций (SSL).
Для настройки передачи данных по другим протоколам можно обратиться к приложениям к документации.
Считается, что агенты Pandora FMS выполняются в системе, с которой они собирают данные, хотя агенты могут собирать информацию с машин, доступных с хоста, на котором они установлены, путем выполнения сетевых команд на доступных системах.
Файл данных XML
Этот файл данных содержит структуру XML, а его имя формируется путем сочетания имени хоста, на котором находится агент, отдельного порядкового номера для каждого пакета данных и расширения «.data», которое указывает, что это пакет данных.
<имя хоста>.<серийный номер>.данные
Файл данных - это файл с расширением «.data». Файл проверки с расширением «.checksum» содержит хэш MD5 файла данных. Это позволяет провести окончательную проверку, чтобы убедиться, что данные не были изменены каким-либо образом перед обработкой.
<имя хоста>.<серийный номер>.проверка
Файл данных XML содержит всю информацию, собранную Агентом во время его выполнения. Этот пакет данных имеет компактный, гибкий и легкий дизайн, который позволяет любому пользователю использовать агентов Pandora FMS или собственные разработки для генерации информации и ее обработки в Pandora FMS. Файл данных представляет собой XML, аналогичный следующему:
<agent data os_name=”SunOS” os_version=”5.8” timestamp=”300” agent_name=”pdges01” version=”1.0”> <module> <name>FTP Daemon</name> <type>generic_proc</type> <data>0</data> </module> <module> <name>DiskFree</name> <type>generic_data</type> <data>5200000</data> </module> <module> <name>UsersConnected</name> <type>generic_data_inc</type> <data>119</data> </module> <module> <name>LastLogin</name> <type>generic_data_string</type> <data>slerena</data> </module> </agent_data>
Топологии, схемы и модели мониторинга
Существуют различные модели мониторинга, как удаленного, так и локального. Мы приводим следующие типичные случаи различных топологий, чтобы ознакомить читателя с возможными проблемами и решениями, предлагаемыми Pandora FMS. В последующих главах описывается работа каждого решения.
Доступные сети
Это характерно для простых, небольших или высокоцентрализованных и организованных сетей. Это самая простая в реализации модель.
- Доступная сеть для централизованного удаленного мониторинга: где с сервера Pandora FMS можно получить доступ ко всем машинам и/или устройствам для удаленного опроса.
- Доступная сеть для мониторинга на основе агентов: где с программных агентов, установленных на контролируемых машинах, они могут без проблем связаться с сервером Pandora FMS.
Сети с затрудненным доступом
Удаленная сеть недоступна для удаленных проверок Pandora FMS: В этом сценарии есть несколько вариантов; либо использование программного агента, который выполняет удаленные проверки по отношению к другим системам (используя режим агента-брокера), либо использование Satellite Server, который способен выполнять удаленные проверки и имеет ряд расширенных функциональных возможностей.
Программные агенты, не имеющие доступа к серверу Pandora FMS: В этом случае мы будем использовать прокси-характеристику программных агентов, которая позволяет агенту, не имеющему доступа, использовать агента, имеющего доступ к серверу, для подключения через него, пересылая XML-файлы всех агентов, кроме своего собственного. Спутниковый сервер также может выступать в качестве прокси-агента.
Необходимость мониторинга различных сетей для удаленного мониторинга с помощью сервера: В этом случае также можно использовать Satellite Server, или смонтировать несколько различных серверов Pandora FMS, подключенных к одной базе данных; один сервер будет выполнять один набор проверок, а другой сервер другой набор. Способ развертывания будет отличаться, но в обоих случаях каждый компонент будет полностью отвечать за мониторинг своей сети, а управление будет осуществляться централизованно с консоли.
Особые организационные особенности
- Необходимость иметь несколько контролируемых объектов, с различным оборудованием и конфигурациями для мониторинга. В этом случае используйте сервер экспорта для дублирования части мониторинга в изолированной среде Pandora FMS, независимой.
- Двойственность отчетности: Дополнительно вы можете настроить Агентов на отчетность на два разных сервера Pandora FMS, хотя управлять ими может только один из них.
- Фрагментированное управление: необходимо делегировать управление частью оборудования разным сотрудникам, имеющим разные доступы. Это больше, чем архитектурная проблема, это проблема управления. Это решается с помощью разрешений, назначаемых на политики.
Большие среды
- Большая сеть: с тысячами проверок сети, которые должны быть распределены между различными «зондами удаленного мониторинга», поскольку их большое количество (более 50 000) не может быть централизовано на одном сервере. Для этого используйте серверы режима брокера, которые распределяют нагрузку удаленных проверок.
- Необходимость установки HA-сервера: в целях безопасности, если основное оборудование выходит из строя. Существуют различные способы установки двух серверов; например, «пассивный» сервер, который ждет, пока активный сервер перестанет отвечать, прежде чем начать работу. Это можно сделать разными способами.
- Необходимость мониторинга большого количества систем и централизованного управления ими (более 2500 агентов): для этого настраиваются различные серверы Pandora FMS, координируемые одной системой, называемой Metaconsole. Таким образом, возможно линейное масштабирование.