dvolodin Posted February 26, 2009 Posted February 26, 2009 Вообще, круто. Но хотелось бы, чтобы подобный софт запускался из сбора репозитория с минимальными подточками напильником. Ребята, я лично, честно потратил три с половиной часа своего сободного времени на попытку хотя бы увидеть то, на что этот софт способен. На самом деле то, что софт можно поставить самостоятельно и с ним разобраться - это уже очень хороший результат. Многие системы такого рода, включая коммерческие,вообще ставится и, зачастую, работают только в присутсвии авторов. Над упрощением инсталляции работать будем, сейчас не хватает ресурсов. Если кто хочет помочь в этом направлении, будем рады :) Почему у меня не получилось - см. предыдущие посты. После долгой телепатии получилось, что модуль интепретации xml-rpc запросов получает невернй тип данных при попытке обработки запроса, читай добавления железки в конфиг.XML-RPC для работы с конфигами не нужен вообще. Он нужен для взаимодействия сторонних систем с provisioning'ом и используется web-интерфейсом как рабочая демонстрация. Потом надоело, лучше это время девушке уделить)) В рабочее время попробую еще раз, потому что очень рад подобному проекту наших разработчиков :)На то они и рабочее время, чтобы тратить его на автоматизацию своих же рабочих процессов :) Вставить ник Quote
dvolodin Posted March 1, 2009 Posted March 1, 2009 Вышла версия 0.1.5. Основное нововведение данной версии - экспериментальный коррелятор событий и поддержка статусов событий (неклассифицировано/активно/закрыто). Доводим fault management до ума, в принципе, им уже можно пользоваться. Вставить ник Quote
dvolodin Posted March 3, 2009 Posted March 3, 2009 когда .deb тестовый появится?На тему packaging'а под основные системы начали думать. Сейчас приоритеты смещены в другую сторону и будет хорошо,если кто-нибудь возьмет на себя сбор пакетов под наиболее распространенные системы. Вставить ник Quote
Irish Posted March 6, 2009 Posted March 6, 2009 Интересная какая штука. Я сейчас попробую все собрать под фряхой, если получится выложу мануал :-) Вставить ник Quote
dvolodin Posted March 6, 2009 Posted March 6, 2009 Интересная какая штука. Я сейчас попробую все собрать под фряхой, если получится выложу мануал :-) Под фрей была инсталляция, особых проблем быть не должно Вставить ник Quote
dvolodin Posted March 6, 2009 Posted March 6, 2009 Тем временем вышла версия 0.1.6. Среди новвоведений: Новая более удобная система навигации (Скриншот) Используется стандартный distutils python'а Появился новый экспериментальный демон SLA Monitor, обеспечивающий мониторинг ключевых параметров производительности Новое меню навигации более логично и интуитивно понятно. С началом использования distutils проект начинает переходить на стандартную python'овскую схему распространения и установки пакетов. Появился экспериментальный RPM build (download), который надо потестировать и поправить зависимости. Пакет для Solaris появится чуть позже. Для SLA Monitor есть HTTP проба, которая замеряет время установления соединения с сервером и время обработки запросов. Проверяли на ферме из 50 http-серверов, систему грузит минимально. Вставить ник Quote
dvolodin Posted March 8, 2009 Posted March 8, 2009 Угу. А механизм обновления какой? Update из репозитория mercurial. Вставить ник Quote
Irish Posted March 8, 2009 Posted March 8, 2009 Получаю ошибку: [noc@statbackup ~]$ python manage.py syncdb Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 340, in execute_manager utility.execute() File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 295, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 192, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 218, in execute self.validate() File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 246, in validate num_errors = get_validation_errors(s, app) File "/usr/local/lib/python2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors for (app_name, error) in get_app_errors().items(): File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 128, in get_app_errors self._populate() File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/usr/local/noc/../noc/main/models.py", line 28, in <module> report_registry.register_all() File "/usr/local/noc/../noc/lib/registry.py", line 51, in register_all __import__(mb+f[:-3],{},{},self.classname) ValueError: Empty module name Откатываюсь обратно на версию 0.1.5 - и все нормально: python manage.py migrate Running migrations for main: - Nothing to migrate. Running migrations for sa: - Nothing to migrate. Running migrations for fm: - Nothing to migrate. Running migrations for cm: - Nothing to migrate. Running migrations for ip: - Nothing to migrate. Running migrations for vc: - Nothing to migrate. Running migrations for dns: - Nothing to migrate. Running migrations for peer: - Nothing to migrate. python manage.py runserver 0.0.0.0:8080 Validating models... 0 errors found Django version 1.0.2 final, using settings 'noc.settings' Development server is running at http://0.0.0.0:8080/ Quit the server with CONTROL-C. Вставить ник Quote
dvolodin Posted March 8, 2009 Posted March 8, 2009 NOC должен быть распакован в каталог noc, а не noc-0.1.6. Начиная с версии 0.1.6 порядок установки немного поменялся и стал ближе к стандартному, сейчас вносятся изменения в документацию. Получаю ошибку: [noc@statbackup ~]$ python manage.py syncdb Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 340, in execute_manager utility.execute() File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 295, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 192, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 218, in execute self.validate() File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 246, in validate num_errors = get_validation_errors(s, app) File "/usr/local/lib/python2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors for (app_name, error) in get_app_errors().items(): File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 128, in get_app_errors self._populate() File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/usr/local/noc/../noc/main/models.py", line 28, in <module> report_registry.register_all() File "/usr/local/noc/../noc/lib/registry.py", line 51, in register_all __import__(mb+f[:-3],{},{},self.classname) ValueError: Empty module name Откатываюсь обратно на версию 0.1.5 - и все нормально: python manage.py migrate Running migrations for main: - Nothing to migrate. Running migrations for sa: - Nothing to migrate. Running migrations for fm: - Nothing to migrate. Running migrations for cm: - Nothing to migrate. Running migrations for ip: - Nothing to migrate. Running migrations for vc: - Nothing to migrate. Running migrations for dns: - Nothing to migrate. Running migrations for peer: - Nothing to migrate. python manage.py runserver 0.0.0.0:8080 Validating models... 0 errors found Django version 1.0.2 final, using settings 'noc.settings' Development server is running at http://0.0.0.0:8080/ Quit the server with CONTROL-C. Вставить ник Quote
Irish Posted March 10, 2009 Posted March 10, 2009 Он и установлен в /usr/local/noc, а не noc-0.1.6. Почитал Changelog, там есть упоминание о каталоге установки /opt/noc - перенес всю эту красоту туда: [noc@statbackup /opt/noc]$ python manage.py migrate Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 340, in execute_manager utility.execute() File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 295, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 192, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 218, in execute self.validate() File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 246, in validate num_errors = get_validation_errors(s, app) File "/usr/local/lib/python2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors for (app_name, error) in get_app_errors().items(): File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 128, in get_app_errors self._populate() File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/opt/noc/../noc/main/models.py", line 28, in <module> report_registry.register_all() File "/opt/noc/../noc/lib/registry.py", line 51, in register_all __import__(mb+f[:-3],{},{},self.classname) ValueError: Empty module name Вставить ник Quote
dvolodin Posted March 10, 2009 Posted March 10, 2009 Завел тикет #139 по этой проблеме. Будем разбираться. Он и установлен в /usr/local/noc, а не noc-0.1.6. Почитал Changelog, там есть упоминание о каталоге установки /opt/noc - перенес всю эту красоту туда: [noc@statbackup /opt/noc]$ python manage.py migrate Traceback (most recent call last): File "manage.py", line 11, in <module> execute_manager(settings) File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 340, in execute_manager utility.execute() File "/usr/local/lib/python2.5/site-packages/django/core/management/__init__.py", line 295, in execute self.fetch_command(subcommand).run_from_argv(self.argv) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 192, in run_from_argv self.execute(*args, **options.__dict__) File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 218, in execute self.validate() File "/usr/local/lib/python2.5/site-packages/django/core/management/base.py", line 246, in validate num_errors = get_validation_errors(s, app) File "/usr/local/lib/python2.5/site-packages/django/core/management/validation.py", line 28, in get_validation_errors for (app_name, error) in get_app_errors().items(): File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 128, in get_app_errors self._populate() File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 57, in _populate self.load_app(app_name, True) File "/usr/local/lib/python2.5/site-packages/django/db/models/loading.py", line 72, in load_app mod = __import__(app_name, {}, {}, ['models']) File "/opt/noc/../noc/main/models.py", line 28, in <module> report_registry.register_all() File "/opt/noc/../noc/lib/registry.py", line 51, in register_all __import__(mb+f[:-3],{},{},self.classname) ValueError: Empty module name Вставить ник Quote
Irish Posted March 10, 2009 Posted March 10, 2009 Если могу чем-то помочь, то обращайтесь, но в питоне я полный 0 Вставить ник Quote
dvolodin Posted March 10, 2009 Posted March 10, 2009 Если могу чем-то помочь, то обращайтесь, но в питоне я полный 0 А python manage.py syncdb сделан перед migrate? Вставить ник Quote
Irish Posted March 10, 2009 Posted March 10, 2009 Да, конечно, все как написано в wiki Вставить ник Quote
dvolodin Posted March 11, 2009 Posted March 11, 2009 Да, конечно, все как написано в wikiЗабавно. Пробовал воспроизвести ситуацию на нескольких платформах, чисто проходило все. Можно поподробнее: 1. Какая ОС, версия? 2. Какая версия python? 3. Из какого архива ставится NOC? 4. Если можно, по шагам: скачал это, сделал это, сделал это, приехал. В качестве reference можно использовать Solaris Installation HOWTO. На других системах будут отличаться только процедура установки зависимых пакетов и некоторые системные мелочи. Вставить ник Quote
White_Alex Posted March 12, 2009 Posted March 12, 2009 Добрый день! с версией noc-0.1.6 та же проблема. что и у Irish, ставлю на debian testing согласно мануалке откат на 0.1.5 помог установить, но после толком ничего так и не смог сходу завести, т.е. например исправляю в sa default activator (он стоит на той же машине, что и noc), после запуска активатора под пользователем noc ругается на невозможность открытия порта для принятия snmp traps, но это нормально, перезапускаю активатор под рутом, авторизация на sae проходит, запускаем встроенный веб-сервер заводим пользователя, заводим в sa managed object (для теста под руками есть cisco 7206) со всеми реквизитами, в cm->configs появляется запись, типа должно бы опрашиваться и сливаться конфиг (временные интервалы крутить пытался), но ничего не происходит, в логах никакой ругани, если активатор завести с ключом -f, то что-то вроде попыток опроса железки есть, но если честно моск с трудом воспринимает вывод и непонятно, что ему не нравится да, если например в cm->configs в строке записи о конфиге нажать ссылку view, то jungo выдает ошибку может я просто что-то не так делаю, не подскажете? Вставить ник Quote
dvolodin Posted March 12, 2009 Posted March 12, 2009 Добрый день! с версией noc-0.1.6 та же проблема. что и у Irish, ставлю на debian testing согласно мануалке откат на 0.1.5 помог установить, Документация по установке от версии 0.1.5 разъехалась с 0.1.6. Сейчас внесли все необходимые изменения. Новая версия по ссылке. Рекомендую ставить напрямую из репозитория, так легче обновляться. Packaging сейчас все еще экспериментальный и python'овские distutils могут подкинуть еще сюрпризов. но после толком ничего так и не смог сходу завести, т.е. например исправляю в sa default activator (он стоит на той же машине, что и noc), после запуска активатора под пользователем noc ругается на невозможность открытия порта для принятия snmp traps, но это нормально, перезапускаю активатор под рутом, авторизация на sae проходит,Можно покрутить capabilities и разрешить процессу слушать на привелегированных портах без root'а. запускаем встроенный веб-сервер заводим пользователя, заводим в sa managed object (для теста под руками есть cisco 7206) со всеми реквизитами, в cm->configs появляется запись, типа должно бы опрашиваться и сливаться конфиг (временные интервалы крутить пытался), но ничего не происходит, в логах никакой ругани, если активатор завести с ключом -f, то что-то вроде попыток опроса железки есть, но если честно моск с трудом воспринимает вывод и непонятно, что ему не нравитсяда, если например в cm->configs в строке записи о конфиге нажать ссылку view, то jungo выдает ошибку может я просто что-то не так делаю, не подскажете? Enable Password для железки задан в Managed Objects? На cisco юзеру нужен privelege 15 для просмотра конфига. Вставить ник Quote
White_Alex Posted March 12, 2009 Posted March 12, 2009 Документация по установке от версии 0.1.5 разъехалась с 0.1.6. Сейчас внесли все необходимые изменения. Новая версия по ссылке. Рекомендую ставить напрямую из репозитория, так легче обновляться. Packaging сейчас все еще экспериментальный и python'овские distutils могут подкинуть еще сюрпризов. с deb-пакаджей поставлены только питон и все к нему Можно покрутить capabilities и разрешить процессу слушать на привелегированных портах без root'а. ок, попробую спасибо Enable Password для железки задан в Managed Objects? На cisco юзеру нужен privelege 15 для просмотра конфига. да, все это сделано, к то му же кошка не боевая, поэтому проблем с развлечениями нет, но вот не взлетело, буду дальше воевать Вставить ник Quote
White_Alex Posted March 12, 2009 Posted March 12, 2009 # python manage.py install Unknown command: 'install' Type 'manage.py help' for usage. а старым методом инсталляция версии 0.1.6 кстати прошла нормально (исходники взяты из репозитория) Вставить ник Quote
dvolodin Posted March 12, 2009 Posted March 12, 2009 # python manage.py installUnknown command: 'install' Type 'manage.py help' for usage. а старым методом инсталляция версии 0.1.6 кстати прошла нормально (исходники взяты из репозитория) python setup.py install Поправил ошибку в доке. Вставить ник Quote
White_Alex Posted March 12, 2009 Posted March 12, 2009 Request Method: POST Request URL: http://127.0.0.1:8000/sa/2/scripts/Cisco.IOS.ping/ Exception Type: ProtocolError Exception Value: <ProtocolError for 127.0.0.1:19702/RPC2: -1 > Exception Location: /usr/lib/python2.5/xmlrpclib.py in request, line 1191 Python Executable: /usr/bin/python Python Version: 2.5.4 и дальше долгий тоскливый traceback - это я опять создал для теста объект типа cisco.ios и пытался сделать ему ping с веб-интерфейса падает на RPC запросах, что может быть недокручено? я понимаю, что фигню спрашиваю, но чет логики понять не могу, вроде все сделано как в мануалах, а толком не взлетает Вставить ник Quote
dvolodin Posted March 12, 2009 Posted March 12, 2009 Enable Password для железки задан в Managed Objects? На cisco юзеру нужен privelege 15 для просмотра конфига. да, все это сделано, к то му же кошка не боевая, поэтому проблем с развлечениями нет, но вот не взлетело, буду дальше воевать Можно проверить на чем оно заткнулось вот так # su - noc $ cd /opt/noc $ python manage.py debug-script Cisco.IOS.get_version <telnet|ssh>://<user>:<password>/<enable password>@<ip>/ Проверить, как оно выгружает конфиг можно вот так $ python manage.py debug-script Cisco.IOS.get_config <telnet|ssh>://<user>:<password>/<enable password>@<ip>/ Request Method: POSTRequest URL: http://127.0.0.1:8000/sa/2/scripts/Cisco.IOS.ping/ Exception Type: ProtocolError Exception Value: <ProtocolError for 127.0.0.1:19702/RPC2: -1 > Exception Location: /usr/lib/python2.5/xmlrpclib.py in request, line 1191 Python Executable: /usr/bin/python Python Version: 2.5.4 и дальше долгий тоскливый traceback - это я опять создал для теста объект типа cisco.ios и пытался сделать ему ping с веб-интерфейса падает на RPC запросах, что может быть недокручено? я понимаю, что фигню спрашиваю, но чет логики понять не могу, вроде все сделано как в мануалах, а толком не взлетает Cisco.IOS.ping пофиксен как раз в 0.1.6 Вставить ник Quote
White_Alex Posted March 12, 2009 Posted March 12, 2009 Можно проверить на чем оно заткнулось вот так # su - noc $ cd /opt/noc $ python manage.py debug-script Cisco.IOS.get_version <telnet|ssh>://<user>:<password>/<enable password>@<ip>/ Проверить, как оно выгружает конфиг можно вот так $ python manage.py debug-script Cisco.IOS.get_config <telnet|ssh>://<user>:<password>/<enable password>@<ip>/ с консоли все прекрасно отрабатывает Cisco.IOS.ping пофиксен как раз в 0.1.6 она и стоит, уже снуля переделал базу, заново завел тестовый объект, нажал на ссылку scripts и попытался сделать get_config, получил: ProtocolError at /sa/2/scripts/Cisco.IOS.get_config/ <ProtocolError for 127.0.0.1:19702/RPC2: -1 > Request Method: GET Request URL: http://127.0.0.1:8000/sa/2/scripts/Cisco.IOS.get_config/ Exception Type: ProtocolError Exception Value: <ProtocolError for 127.0.0.1:19702/RPC2: -1 > Exception Location: /usr/lib/python2.5/xmlrpclib.py in request, line 1191 Python Executable: /usr/bin/python Python Version: 2.5.4 ниче не понимаю, вижу что обламывается на RPC, но как вычислить чего ему не хватает.... Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.