Почему существует Pandora FMS Open Source?

Чтобы продвинуть ваш мониторинг гораздо дальше, чем вы думаете. Pandora FMS Open Source не только бесплатна, это окончательная версия для обучения без ограничений.

История Pandora FMS

Рассказ Санчо Лерена

Генеральный директор и основатель Pandora FMS

Год был 2001. Мне было двадцать пять лет, и я был фанатиком Linux.

Я работал в AOL Spain в качестве производственного техника в отделе коммуникаций и безопасности, хотя мой опыт был в основном связан с брандмауэрами Checkpoint, я также узнал много нового о чистых сетях с оборудованием Cabletron и Cisco.

Моя работа в то время заключалась в настройке и управлении всей производственной сетевой средой. Это был целый центр обработки данных, с сотнями Unix, Windows и высококлассным сетевым оборудованием. Хотя оперативная группа использовала HPOpenview, невозможно было получить картину или “карту” всего.

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

История Pandora FMS

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

Я руководил несколькими пилотными проектами по внедрению инструментов сбора и централизации событий (SEM, SIEM).
Я многому научился на этом опыте.

Я использовал много MRTG и строил скрипты с помощью RRDTool, с помощью которых я рисовал графики основных систем связи (маршрутизаторы, высококлассное оборудование RAS, VPN-соединения, брандмауэры и т.д.), вещи, которые OVO не делала или не хотела делать, поскольку казалось слишком сложным вносить какие-либо изменения.

Затем я перешла на работу в BBVA. Там моя работа была больше связана с миром системной безопасности, и я серьезно занялся AIX и Solaris. Все инструменты, используемые для корпоративного мониторинга, были инструментами Big4: у них было все, но это была очень фрагментированная среда.

Разделение отделов было ориентировано на системный или коммуникационный бином, и каждая рабочая группа была ориентирована по-своему, поэтому они использовали разные инструменты и разные методологии.

Поскольку у меня не было доступа ни к одному из этих инструментов, поэтому для мониторинга моих систем (брандмауэры, IDS, Unix-среды, Windows-среды и т.д.) у меня не было выбора, кроме как искать новые пути.

Я стал специалистом в технике пробивания межсетевых экранов, которая позже помогла мне понять, как преодолеть проблемы сложных сетевых топологий, применив их к тому, что сейчас является частью архитектурного дизайна Pandora FMS.

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

Мне нужны были мощные графики и возможность объединять данные из разных источников в отчеты. Было жизненно важно соотнести вещи и иметь возможность сравнивать их, устанавливать пороговые значения и генерировать предупреждения. Мне также нужно было иметь возможность запускать сложные тесты – поскольку ни одна среда не была стандартной – и иметь возможность собирать информацию с систем, и в большинстве случаев не было прямого доступа к машине, которую я контролировал, поэтому мне пришлось установить агентов, которые “вслепую” связывались со мной или другой промежуточной системой.

Из моего опыта работы с инструментами сбора журналов и событий я видел, что все системы на основе агентов терпели крах из-за жестких требований; они основывались на последних Java-машинах или бинарном распределении пакетов. Во многих производственных средах было невозможно обновить версии, установить пакеты в систему или установить такие вещи, как суперпользователь. Nagios даже близко не подходил к тому, что ему было нужно.

С тех пор я столкнулся со многими системами с многолетним сроком эксплуатации, которые никто не хотел или не мог трогать.

Подход RRDTool

Отец Pandora FMS:

АРЕНА

Первая концепция программного обеспечения, которая объединила наши потребности, называлась “Арена” и представляла собой среду, которая собирала данные, отправленные ненадежными агентами, написанными на языке KSH.

Эти данные даже не были стандартизированы, они были отправлены открытым текстом, разделенным пунктирными линиями “–“. Сервер был разработкой на Perl, сделанной коллегой из отдела логической безопасности (Хуан Х.), а PHP front end, который я разработал, был моим первым PHP кодом.

Я знал немного веб-программирования из предыдущей работы, хотя мой опыт был очень ограничен и с очень старыми парадигмами (CGI-программирование на C и элементарный HTML на серверах Netscape). Это также был мой первый контакт с MySQL, так как единственным моим опытом работы с базами данных был Sybase.

Рождение Pandora FMS

Потребности росли, а архитектура и дизайн не подходили. С другой стороны, мой коллега Хуан Х. покинул проект Arena, и я решил переделать его с нуля с другим дизайном. Пандора родилась в конце 2002 года.

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

С помощью коллеги (Sergio I.) мы создали первый агент для Windows, основанный на Windows Scripting Host и запрограммированный на VBScript. Нет нужды говорить, что это не было даже тенью того, чем это будет спустя годы, на самом деле это создавало много проблем. Я сам разработал сервер с нуля, используя Perl.

Я никогда не делал серьезных проектов на Perl, мой опыт ограничивался C и Turbo Pascal, на которых я делал более серьезные вещи.

Тем не менее, мне удалось разработать небольшие скрипты в Pearl, очень связанные с системным аудитом и инструментами грубой силы, сканированием и аудитом сети. Часть этого кода позже была интегрирована в Pandora в качестве Goliath, синтетического механизма транзакций WEB. Несмотря на это, мой опыт работы с Perl в то время был очень ограничен.

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

Первоначальный проект назывался “Пандорамон”.

Важно уточнить, что код для агентов, консоли и сервера был создан с нуля, я ничего не заимствовал из проектов типа Nagios. Некоторые сомневались в последнем, и благодаря тому, что весь код был опубликован с начала времен, прекрасно видно, что нынешняя архитектура является наследницей тех ранних версий Pandora FMS.

Санчо Лерена

Pandora FMS как компания

В 2002 году я пытался создать компанию, основанную на разработанном нами программном обеспечении для удаленного наблюдения через Интернет за охранниками (BabyCam), а в 2004 году – компанию по консалтингу в области безопасности (Ip4All), но ни то, ни другое не осуществилось.

В середине 2005 года я задумался о том, чтобы профессионально зарабатывать на жизнь с помощью Pandora, предлагая услуги сетевого аудита, разработки на заказ, установки защитного программного обеспечения и т.д. На данный момент понятие “версия предприятия” еще не существует. Бизнес-модель основана на предложении услуг вокруг двух основных продуктов: Pandora и Babel. Babel – еще одно программное обеспечение с похожей философией, нацеленное на упрочнение систем безопасности и приборных панелей.

Вместе с Давидом Виллануэвой , бывшим коллегой, мы решили основать компанию Artica. Я оставил свою прекрасную работу старшего специалиста-консультанта в банке. С этого момента все идет быстрее и быстрее, и в ноябре 2005 года компания Ártica Soluciones Tecnológicas была официально основана.

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

Одним из первых наших действий был ребрендинг проекта на Пандора. В конце 2006 года мы добавили слоган FMS так как “Пандора” была слишком общей.

Кто-то дал нам мудрый совет: Free Monitoring System – это очень плохой способ пытаться продавать (Free=Free), поэтому для F мы выбрали главное качество Pandora и очень связанное с оригинальным логотипом (осьминог): F для гибкости.

Первые годы Pandora развивалась очень медленно, поскольку это было не программное обеспечение как таковое, а чисто “бесплатный” проект, который служил для знакомства с консультационными проектами по безопасности. Мы совместно разработали Babel Enterprise, и только в начале 2006 года к нам присоединился первый профессиональный программист: Эстебан Санчес.

Он начал работать полный рабочий день в Pandora FMS. В первые годы Эстебан и я были первыми программистами, до ноября 2007 года, когда к команде присоединился Рамон Новоа, который вместе с Эстебаном начал превращать Pandora в настоящий программный продукт. В это время с нами сотрудничали разные люди, одним из самых важных был Гуруеви из Нью-Йорка, а также другие люди из Южной Америки, Новой Зеландии и Японии.

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

Данные Pandora
Данные Pandora

Pandora FMS сегодня

Согласно данным openhub.net на ноябрь 2015 года, Pandora FMS имеет 11 000 коммитов, сделанных более чем 50 людьми, с общим количеством 413 000 строк кода, разработанного на PHP, Javascript, Perl, C++, C, Shellscript и Java. На Sourceforge зарегистрировано около миллиона загрузок.

Множество релизов, исправлений и обновлений за последние 12 лет преобразили то, что изначально было простым проектом для решения технических проблем. Благодаря сотрудничеству десятков программистов, системных техников, пользователей и клиентов, сегодня Pandora FMS – это профессиональный инструмент для мониторинга и управления большими средами.

Как “отец” этого существа, я могу только сказать: Спасибо всем вам за то, что привели нас сюда!

Временная шкала PandoraFMS

Краткая информация о версиях Pandora FMS за всю историю ее существования

Null

Первая публичная версия: Pandora v0.8.1 (август 2004)

Только в августе 2004 года мы выпустили нашу первую публичную версию, версию 0.8. В то время команда разработчиков состояла из трех человек: меня, Серхио И., который отвечал за первоначальный VBScript-агент для Windows, и Рауля М., который помогал в различных задачах, не связанных с кодом.
В это время на Sourceforge проект назывался “Pandoramon” (потому что Pandora уже была занята).

Первая версия включала в себя только функции, связанные с агентами (без какого-либо удаленного мониторинга), и ее интерфейс был, мягко говоря, довольно простым. Не было и никаких событий. Графика, однако, была вполне приличной. Модель данных, пожалуй, наименее измененная из всех, в ней не осталось и следа оригинального кода.

Только в версии 1.0 мы начали использовать CVS – систему контроля версий. Это может шокировать, но дело в том, что никто из нас, участвующих в проекте, не пришел из мира разработки, а пришел из мира сетей и систем. Дело в том, что на этом этапе проект был полностью “любительским”.

Pandora v1.0 (октябрь 2004)

В этой версии “все становилось серьезным”.
Эта версия включает в себя систему пользовательских ACL.

Pandora v1.2 (декабрь 2006)

Мы начали использовать Subversion для управления кодом. Первая версия агента на C++, разработанная Эстебаном С., агент, который у нас был на VBScript, отброшен. Предусмотрен удаленный мониторинг и прием SNMP-ловушек.

Pandora v1.3 (ноябрь 2007)

Включены отчеты, комбинированные графики, сервер разведки и индивидуальные отчеты. Шаблоны модулей и машин для сервера recon. Есть важное визуальное изменение, благодаря которому его начинают воспринимать “всерьез”.

Pandora v2.x (2008-2009)

Мы создали протокол “Тентакль”. Введите сервер экспорта. Tentacle (собственный протокол передачи файлов с портом 41121/tcp, назначенным IANA) стал переломным моментом в облегчении жизни при установке агентов.

В версии 2.x мы попытались сделать версию сервера на языке C, но из этого ничего не вышло, и мы продолжили работу над версией на Perl. Оглядываясь назад, могу сказать, что это было отличное решение. Основным узким местом сервера является взаимодействие с SQL, а не внутренние операции.

Pandora v3.x (2010-2011)

Первая версия “Enterprise”. Доступно удаленное редактирование конфигураций агентов, отчеты в формате PDF и некоторые другие функциональные возможности. У нас есть клиенты, контролирующие среду, состоящую примерно из 2000 агентов.

Pandora v5.x (2014-2015)

Мы переносим проект в GIT из SVN. Введите спутниковый сервер.
Благодаря спутнику мы достигаем в некоторых конкретных условиях скорости 500 проверок в секунду, что довольно много, причем распределенным способом и без двунаправленного соединения, что мы называем “безголовым” мониторингом.

Pandora v6.x (2016)

Мы представляем мета-каталог агентов, интегрированное удаленное управление рабочим столом (с Pandora RC), удаленное управление серверами и спутниками, усовершенствование приборной панели, динамический мониторинг и улучшенный предиктивный мониторинг.