[myaso]ed Опубликовано 17 февраля, 2009 · Жалоба Добрый день! Частенько попадались в форумах вопросы типа "кто чем бэкапит конфиги оборудования?". Позвольте в этой связи представить новый open source проект NOCProject (http://www.nocproject.org/). Бэкап конфигов для него лишь одна из задач... NOC Project is an Operation Support System (OSS) for the Telco, Service provider and Enterprize Network Operation Centers (NOC). Areas covered by NOC: Fault Management Service Activation/Provisioning Multi-VRF Address space management Configuration Management DNS provisioning Peering management, RPSL and BGP filters generator, integrated looking glass Reporting NOC Project is Open Source Software distributed under the term of BSD-like LICENSE. Автором я не являюсь, но являюсь пользователем. Если будет интерес - автор тоже подключится к обсуждению :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 февраля, 2009 · Жалоба Архивирование конфигов - действительно всего лишь одна из задач. Помимо просто архивирования система обнаруживает изменения в конфигах и рассылает оповещения. Конфиги хранятся в системе контроля версий и всегда есть возможность откатиться к нужному моменту времени. Круг поддерживаемого оборудования достаточно широк: от любимых народом zyxel'ей и микротиков до топовых версий MPLS коммутаторов Juniper и Cisco. Добавить поддержку нового типа оборудования достаточно просто. Помимо архивации конфигов в системе есть множество функций, автоматизирующих рутинную работу центра управления сетью: база данных выделенных блоков и IP-адресов, автоматическое построение зон DNS, база VLAN'ов и многое другое. Система умеет ходить на оборудование, выполнять команды и анализировать результат. Направление service activation сейчас развивается очень активно. Также в активной разработке находится модуль fault management, идет постоянное расширение встроенного набора правил. Систему трудно назвать новой, отдельные ее модули работают уже около двух лет в крупном российском операторе связи и с ней ежедневно работают десятки людей. Есть еще несколько инсталляций в России и Европе. Feedback от российских коллег всегда интересен и приветсвуется. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MESB Опубликовано 19 февраля, 2009 · Жалоба Хм, интересно, а легко ли добавлять поддержку оборудования? Например помимо роутеров присуствуют кучи дсламов самых разношёрстных и собственно возможно ли добавить и их малой кровью? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 февраля, 2009 · Жалоба Хм, интересно, а легко ли добавлять поддержку оборудования?Например помимо роутеров присуствуют кучи дсламов самых разношёрстных и собственно возможно ли добавить и их малой кровью? Все зависит от оборудования, от того, как оно управляется и что требуется с ним делать. Если оборудование рулится по CLI и отдает конфиги в текстовом виде, то обычно все достаточно тривиально: делается профиль оборудования и скрипт get_config. Например, есть Huawei VRP (свичи, коммутаторы, SBC). Профиль выглядит так: /sa/profiles/Huawei/VRP/__init__.py import noc.sa.profiles from noc.sa.protocols.sae_pb2 import TELNET,SSH class Profile(noc.sa.profiles.Profile): name="Huawei.VRP" supported_schemes=[TELNET,SSH] pattern_more="^ ---- More ----" pattern_prompt=r"^[<#]\S+?[>#]" command_more=" " config_volatile=["^%.*?$"] После этого появляется возможность заводить объекты типа Huawei.VRP в систему и писать для них скрипты. Чтобы выгребать конфиги нужен скрипт get_config get_config выглядит так: /sa/profiles/Huawei/VRP/get_config.py import noc.sa.script from noc.sa.interfaces import IGetConfig class Script(noc.sa.script.Script): name="Huawei.VRP.get_config" implements=[IGetConfig] def execute(self): config=self.cli("display current-configuration") return self.cleaned_config(config) После этого для всех объектов Huawei.VRP, для которых проставлены галочки "Is Configuration Managed" конфиги будут выгребаться автоматически. Также полезно сделать скрипт get_version, он пригодится потом для inventory и скрипты для получения дополнительной информации. Например, get_vlans позволит автоматически выдрать VLAN'ы со свича в базу. Все профили и скрипты лежат в каталоге sa/profiles/, их можно использовать как основу. Для железок, которые рулятся по HTTP можно использовать в качестве примера ZTE.ZXDSL531 и Audiocodes.Mediant2000 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
chainick Опубликовано 19 февраля, 2009 · Жалоба Я не видел скриншотов, поэтому спрошу здесь - а интеграция, например в какти, как? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 февраля, 2009 · Жалоба Я не видел скриншотов, поэтому спрошу здесь - а интеграция, например в какти, как? Какого рода интеграция? Системы решают немного разные классы задач. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
M@}{imus Опубликовано 19 февраля, 2009 · Жалоба У продукта оченеь удобно реализована работы с адресным пространством. После запуска системы в работу существенно меньше времени стало уходить на ведение документации по распеделению адресного пространства и его контроля. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
troyand Опубликовано 19 февраля, 2009 · Жалоба Из документации неясно, что должно выйти в результате. Ни демо, ни скриншотов. После установки кажется, что это не продукт, а только каркас для сервиса. В доке вроде бы как что-то есть, но с другой стороны нет толком ничего (ConfigurationManagement). Странно, короче говоря. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 февраля, 2009 · Жалоба Из документации неясно, что должно выйти в результате. Ни демо, ни скриншотов. После установки кажется, что это не продукт, а только каркас для сервиса. В доке вроде бы как что-то есть, но с другой стороны нет толком ничего (ConfigurationManagement). Странно, короче говоря."Каркас" - относится скорее не к продукту, а к документации. Она, как всегда, отстает и по многим модулям просто не готова. Это общая беда, не только для этого проекта. Тем не менее, она дописывается и будет приведена в соответсвие текущему функционалу. Частично это связано с тем, что основная работа с продуктом ведется через web-интерфейс и интуитивно понятна. Процесс установки и первоначальной настройки расписан достаточно подробно и затруднений не вызывает. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 февраля, 2009 · Жалоба Выложили скриншоты web-интерфейса Скриншоты, относящиеся к Configuration Management Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
troyand Опубликовано 19 февраля, 2009 · Жалоба Выложили скриншоты web-интерфейса Скриншоты, относящиеся к Configuration Management Уже лучше, сразу видно, что к чему: есть CVS-like репозитарий конфигов и учет событий. Наверно, не только они. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 19 февраля, 2009 · Жалоба Выложили скриншоты web-интерфейса Скриншоты, относящиеся к Configuration ManagementУже лучше, сразу видно, что к чему: есть CVS-like репозитарий конфигов и учет событий. Наверно, не только они. Применительно к конфигам, да. Сейчас поддерживается Mercurial и есть эксперементальная поддержка CVS. Добавить поддержку любимой VCS относительно несложно.В репозитории помимо конфигов хранятся и сгенерированные зоны DNS, RPSL и префикс-листы. Интерфейс для работы с репозиторием у них общий. Есть разделение прав доступа, можно давать отдельным сотрудникам права на просмотр конфигов только определенного типа оборудования или ограничить его ажминистративной зоной ответсвенности. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
chainick Опубликовано 19 февраля, 2009 · Жалоба Поставили поиграться... Какой-то он у вас сырой совсем :( При попытке добавить какие-либо данные, броузер вылетает в невозможно отобразить страницу, а данные, разумеется, не добавляются. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
chainick Опубликовано 19 февраля, 2009 · Жалоба Ну, со страничками дело решилось - это они так на встроенном веб-сервере работают. Но вот такие ошибки совсем не радуют: Exception Type: ProtocolError Exception Value: <ProtocolError for 127.0.0.1:19702/RPC2: -1 > Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 20 февраля, 2009 · Жалоба Ну, со страничками дело решилось - это они так на встроенном веб-сервере работают. Но вот такие ошибки совсем не радуют: Exception Type: ProtocolError Exception Value: <ProtocolError for 127.0.0.1:19702/RPC2: -1 > Скорее всего, не запущен noc-sae. Для того, чтобы посмотреть возможности service activation нужно запустить демонов noc-sae и noc-activator. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
chainick Опубликовано 20 февраля, 2009 · Жалоба Когда он не запущен, возвращается ошибка 111. However, root 2759 1 0 Feb19 ? 00:00:00 python /opt/noc/scripts/noc-activator.py start root 3610 1 0 Feb19 ? 00:00:02 python /opt/noc/scripts/noc-classifier.py start root 3617 1 0 Feb19 ? 00:00:03 python /opt/noc/scripts/noc-sae.py start root 11267 1 0 Feb19 ? 00:00:03 python /opt/noc/scripts/noc-classifier.py start root 14026 1 0 Feb19 ? 00:00:05 python /opt/noc/scripts/noc-fcgi.py start Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 20 февраля, 2009 · Жалоба Поставили поиграться... Какой-то он у вас сырой совсем :( При попытке добавить какие-либо данные, броузер вылетает в невозможно отобразить страницу, а данные, разумеется, не добавляются. Встроенный web-сервер не обрабатывает параллельные запросы. По найденым ошибкам лучше всего оформлять bugreport: http://trac.nocproject.org/trac/query Большая часть ошибок связана с недонастройкой системы. Когда он не запущен, возвращается ошибка 111. However, root 2759 1 0 Feb19 ? 00:00:00 python /opt/noc/scripts/noc-activator.py start root 3610 1 0 Feb19 ? 00:00:02 python /opt/noc/scripts/noc-classifier.py start root 3617 1 0 Feb19 ? 00:00:03 python /opt/noc/scripts/noc-sae.py start root 11267 1 0 Feb19 ? 00:00:03 python /opt/noc/scripts/noc-classifier.py start root 14026 1 0 Feb19 ? 00:00:05 python /opt/noc/scripts/noc-fcgi.py start Имеет смысл запустить SAE в отладочном режиме и посмотреть лог # su - noc $ cd /var/www/noc $ ./scripts/noc-sae -f start Когда он не запущен, возвращается ошибка 111. However, root 2759 1 0 Feb19 ? 00:00:00 python /opt/noc/scripts/noc-activator.py start root 3610 1 0 Feb19 ? 00:00:02 python /opt/noc/scripts/noc-classifier.py start root 3617 1 0 Feb19 ? 00:00:03 python /opt/noc/scripts/noc-sae.py start root 11267 1 0 Feb19 ? 00:00:03 python /opt/noc/scripts/noc-classifier.py start root 14026 1 0 Feb19 ? 00:00:05 python /opt/noc/scripts/noc-fcgi.py start От root'а запускать демонов не обязательно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
chainick Опубликовано 20 февраля, 2009 · Жалоба ОК, спасибо за совет. Но проблема не в этом, ошибка там типа 2009-02-20 12:08:52,429 ERROR UNHANDLED EXCEPTION (2009-02-20 12:08:52.422072) Working directory: /opt/noc <type 'exceptions.TypeError'> 23 has type <type 'int'>, but expected one of: (<type 'str'>, <type 'unicode'>) Могу прислать полный трейс. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 20 февраля, 2009 · Жалоба ОК, спасибо за совет. Но проблема не в этом, ошибка там типа 2009-02-20 12:08:52,429 ERROR UNHANDLED EXCEPTION (2009-02-20 12:08:52.422072) Working directory: /opt/noc <type 'exceptions.TypeError'> 23 has type <type 'int'>, but expected one of: (<type 'str'>, <type 'unicode'>) Могу прислать полный трейс. Да, если можно, сделайте тикет и приложите в него трейс из лога. Исправим ошибку. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Lucky SB Опубликовано 20 февраля, 2009 · Жалоба Установил. постгресс ему 8.1 и выше понадобился.... Запустить пока не удалось ))) встроенный http сервер запустил. в окне Add только рефреш интервал можно вводить. Покажите плиз стартап скрипт. А то ни в доках нету ничего. а в питоне я не силен, чтобы разобраться какие скрипты запускать надо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 20 февраля, 2009 · Жалоба Установил. постгресс ему 8.1 и выше понадобился....Запустить пока не удалось ))) встроенный http сервер запустил. в окне Add только рефреш интервал можно вводить. Покажите плиз стартап скрипт. А то ни в доках нету ничего. а в питоне я не силен, чтобы разобраться какие скрипты запускать надо. Объекты вводятся в модуле sa в форме Managed Objects. Для того, чтобы собирать конфиги нужно поставить галочку "Is Configuration Managed?" и прописать имя файла для конфига в поле "Repo Path". SMF Manifest для Solaris 10 лежат в каталоге share/sunos/manifest. Стартовые скрипты для linux'ов - share/linux. Все инсталлялии работают на postgresql 8.3. Теоретически, на любой 8-ке должны работать и даже на 7-ках, но это не проверяли. Сами скрипты для запуска демонов лежат в каталоге scripts. Запускаются они одним и тем же образом: Запуск $ ./scripts/noc-sae.py start Остановка $./scripts/noc-sae.py stop Для запуска в отладочном режиме (не уходить в демона, писать debug log на консоль) $./scripts/noc-sae.py -f start Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
puxpux Опубликовано 21 февраля, 2009 · Жалоба Выложили скриншоты web-интерфейса Скриншоты, относящиеся к Configuration Management Ой, django + component architecture из trac.core :-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 21 февраля, 2009 · Жалоба Выложили скриншоты web-интерфейса Скриншоты, относящиеся к Configuration Management Ой, django + component architecture из trac.core :-) WEB на Django, да. Часть демонов использует Django'вский ORM. От trac не используется ничего. Собственн, в overview это сразу и написано. Тем оно и лучше, проще интегрировать в решение другие компоненты на Django, да и Django сейчас достаточно распространен. Скриншотов выложили побольше, CM - относительно небольшая часть, хотя и видимая end-user'у и активно используемая. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dvolodin Опубликовано 25 февраля, 2009 · Жалоба В списке рассылне nocproject-users опубликовали инструкцию по установке NOC на Debian. Полезно тем, кто столкнулся с проблемами на Linux'ах. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
chainick Опубликовано 26 февраля, 2009 · Жалоба Вообще, круто. Но хотелось бы, чтобы подобный софт запускался из сбора репозитория с минимальными подточками напильником. Ребята, я лично, честно потратил три с половиной часа своего сободного времени на попытку хотя бы увидеть то, на что этот софт способен. Почему у меня не получилось - см. предыдущие посты. После долгой телепатии получилось, что модуль интепретации xml-rpc запросов получает невернй тип данных при попытке обработки запроса, читай добавления железки в конфиг. Потом надоело, лучше это время девушке уделить)) В рабочее время попробую еще раз, потому что очень рад подобному проекту наших разработчиков :) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...