Перейти к содержимому
Калькуляторы

новый opensource софт для NOC провайдера

Dlink.DGS3xxx неверно снимает конфиг с DGS-3100-24TG

Свич вместо конфига выдает предложение выбрать running-config или startup-config.

Поправьте при обновлении.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, а что Вы скажете насчет моего вопроса ?

Скорее всего, конфиг просто не считался. В репозитории он появился?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Dlink.DGS3xxx неверно снимает конфиг с DGS-3100-24TG

Свич вместо конфига выдает предложение выбрать running-config или startup-config.

Поправьте при обновлении.

В этом месте команду надо продолжить или run или start соответственно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, вот еще какой функционал думается мне был бы многими востребован, на мой взгляд в noc почти все для этого есть:

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

очень сильно поможет автоматизировать рутинные процедуры мелких изменений конфигураций на куче подконтрольных однотипных устройств.

или если оно где-то описано, расскажите как система считывает периодическую задачу себе из базы и передает команду активатору

дальше че-нить попробуем придумать в плане костылей

Практически все, что вам надо, появилось в последних коммитах. Появились две новые фишки - селекторы объектов и map/reduce скрипты.

 

Селекторы объектов (Service Activation > Setup > Object Selectors) представляют собой фильтры, которые отсеивают managed object'ы по заданному критерию

(по имени, юзеру, адресу, описанию, группам и так далее). Селекторы можно комбинировать между собой по принципам AND и OR, создавая новые селекторы.

Результат всегда можно проверить, кликнув на ссылку "Test Selector". В результате работы селектора можно получать наборы объектов с нужными свойствами

и повторно их использовать при необходимости.

 

Второе нововведение: map/reduce скрипты. Скрипты комбинируются непосредственно из web-интерфейса и состоят из трех базовых элементов:

* Селектора

* Map-скрипта

* Reduce-скрипта

Принцип работы достаточно прост:

* Селектор выдает список объектов, на которых нужно выполнить map-скрипт

* На каждом из объектов выполняется map скрипт. map скрипт - обычный скрипт service activation (get_version, get_config, ....).

* Результаты работы map script'ов возвращаются на SAE в обычном порядке и скармливаются reduce скрипту. Reduce-скрипт обрабатывает результаты работы map-скриптов и выдает общий результат.

 

Сейчас в репозитории лежит reduce-скприт MatrixReport. Он расчитан на работу с map-скриптами, возвращающими hash ключ-значение (get_version, например) и строит красивый табличный отчет.

 

Сейчас, в качестве примера, можно сделать селектор, который выдает несколько железок и запустить на них map/reduce скрипт. В качестве reduce скрипта нужно указать MatrixReport, в качестве map - get_version. Результат получается вполне наглядный.

 

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

 

Механизм надо тщательно тестировать, он еще в стадии technology preview

 

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, а в вашем софте планируется добавление функционала service desk систем?

 

Было бы очень удобно. Например, падает железка и тут же тикет заводится в системе.

 

Если не планируется, то какие есть механизмы интеграции с другими системами? Возможно в качестве БД использовать отличную от postgress систему?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, а в вашем софте планируется добавление функционала service desk систем?

 

Было бы очень удобно. Например, падает железка и тут же тикет заводится в системе.

Интеграция FM со сторонними SD планируется, необходимые механизмы для этого уже есть. Это стандартный и абсолютно необходимый функционал любой FMS.

Основная проблема в том, что коррелятор заработает на всю катушку только тогда, когда появится топология. А топологию делать отдельно от inventory

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

 

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

Возможно, будем объединять усилия с другими проектами в этом направлении.

 

Если не планируется, то какие есть механизмы интеграции с другими системами?
в параметре tt_url в конфиге можно задать правила преобразования номера trouble ticket'а в URL SD. В базе IP-адресов, BGP пирах и некторых других таблицах можно указать

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

задавать связи между произвольными объектами в базе, писать комменты и лепить теги на любые объекты. Тогда интеграция с SD будет более плотной.

 

Возможно в качестве БД использовать отличную от postgress систему?
Теоретически да, хотя в NOС используются и специфичные для postgresql вещи (массивы, rule system). Все-таки системы подобного рода обычно заточены под одну-две RDBMS (Oracle в основном). И система выбирается все-таки по функционалу, RDBMS обычно воспринимается как свершившийся факт.

Если будут веские основания, портироваться будет в первую очередь на Oracle.

 

Основные приоритетные направления развития можно посмотреть на карте: RoadMap

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, а что Вы скажете насчет моего вопроса ?
Скорее всего, конфиг просто не считался. В репозитории он появился?

[cm]
# Path to the root of the repos
repo     = /var/repo/config
[path]
# Directory to store database and repo backups
backup_dir = /var/backup

Если имелось ввиду эти директории, то у меня там пусто.

PS:

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Практически все, что вам надо, появилось в последних коммитах. Появились две новые фишки - селекторы объектов и map/reduce скрипты.

ну что сказать, респект:-)

спасибо, буду тестить, по результатам отпишусь

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, а что Вы скажете насчет моего вопроса ?
Скорее всего, конфиг просто не считался. В репозитории он появился?

[cm]
# Path to the root of the repos
repo     = /var/repo/config
[path]
# Directory to store database and repo backups
backup_dir = /var/backup

Если имелось ввиду эти директории, то у меня там пусто.

PS:

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

Запущены ли процессы noc-sae и noc-activator? Для сбора конфигов надо еще запустить периодическую задачу cm.config_pull (с интервалом в 300 секунд)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий, а что Вы скажете насчет моего вопроса ?
Скорее всего, конфиг просто не считался. В репозитории он появился?

[cm]
# Path to the root of the repos
repo     = /var/repo/config
[path]
# Directory to store database and repo backups
backup_dir = /var/backup

Если имелось ввиду эти директории, то у меня там пусто.

PS:

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

Запущены ли процессы noc-sae и noc-activator? Для сбора конфигов надо еще запустить периодическую задачу cm.config_pull (с интервалом в 300 секунд)

у меня проблема такая же как у предыдущего оратора

по вызову скрипта из под веб конфиг по экран выводит

sae и activator запущены в отладочном режиме, периодическая задача cm.config_pull (с интервалом в 300 секунд) запущена

при попытке ее запуска sae сообщает

2009-06-16 13:42:43,761 DEBUG New task running: cm.config_pull

2009-06-16 13:42:43,761 INFO Executing cm.config_pull

2009-06-16 13:42:43,767 INFO Task cm.config_pull is terminated with 'True'

и конфиг соответственно не забирается

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

у меня проблема такая же как у предыдущего оратора

по вызову скрипта из под веб конфиг по экран выводит

sae и activator запущены в отладочном режиме, периодическая задача cm.config_pull (с интервалом в 300 секунд) запущена

при попытке ее запуска sae сообщает

2009-06-16 13:42:43,761 DEBUG New task running: cm.config_pull

2009-06-16 13:42:43,761 INFO Executing cm.config_pull

2009-06-16 13:42:43,767 INFO Task cm.config_pull is terminated with 'True'

и конфиг соответственно не забирается

В настройках managed object'а стоит галочка "is configuration managed" и прописан repo path?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

cm.jpg

 

Изменено пользователем flash.one

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В настройках managed object'а стоит галочка "is configuration managed" и прописан repo path?

галочка стоит, repo path прописан как ".", как я подозреваю, соответствует пути в noc.conf, который указан как /var/repo, права на запись туда даны всем

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вечер добрый.

У меня тоже вылезла неясная проблема. Конфиги нормально собираются в /var/repo/config/ складываются,

но не показываются. Падает вот с такие traceback.

OSError at /cm/view/config/1/
(2, 'No such file or directory')Request Method:    GET
Request URL:    http://195.189.81.54:8000/cm/view/config/1/
Exception Type:    OSError
Exception Value:    (2, 'No such file or directory')
Exception Location:    /usr/lib/python2.6/subprocess.py in _execute_child, line 1092
Python Executable:    /usr/bin/python
Python Version:    2.6.2
Python Path:    ['./scripts', './scripts/..', './scripts/../..', '/opt/noc/scripts', '/usr/local/lib/python2.6/dist-packages/South-0.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Sphinx-0.6.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Jinja-1.2-py2.6-linux-i686.egg', '/usr/local/lib/python2.6/dist-packages/pip-0.4-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/var/lib/python-support/python2.6', '/usr/local/lib/python2.6/dist-packages']
Server time:    Tue, 16 Jun 2009 16:41:38 +0400

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В настройках managed object'а стоит галочка "is configuration managed" и прописан repo path?
галочка стоит, repo path прописан как ".", как я подозреваю, соответствует пути в noc.conf, который указан как /var/repo, права на запись туда даны всем

repo_path - относительноe (/var/repo/config) имя файла, куда кидать конфиг. "." не пройдет, он попытается перезаписать текущий каталог файлом :)

 

Вечер добрый.

У меня тоже вылезла неясная проблема. Конфиги нормально собираются в /var/repo/config/ складываются,

но не показываются. Падает вот с такие traceback.

OSError at /cm/view/config/1/
(2, 'No such file or directory')Request Method:    GET
Request URL:    http://195.189.81.54:8000/cm/view/config/1/
Exception Type:    OSError
Exception Value:    (2, 'No such file or directory')
Exception Location:    /usr/lib/python2.6/subprocess.py in _execute_child, line 1092
Python Executable:    /usr/bin/python
Python Version:    2.6.2
Python Path:    ['./scripts', './scripts/..', './scripts/../..', '/opt/noc/scripts', '/usr/local/lib/python2.6/dist-packages/South-0.5.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Sphinx-0.6.1-py2.6.egg', '/usr/local/lib/python2.6/dist-packages/Jinja-1.2-py2.6-linux-i686.egg', '/usr/local/lib/python2.6/dist-packages/pip-0.4-py2.6.egg', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/var/lib/python-support/python2.6', '/usr/local/lib/python2.6/dist-packages']
Server time:    Tue, 16 Jun 2009 16:41:38 +0400

Путь к mercurial правильно пробит в конфиге?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Путь к mercurial правильно пробит в конфиге?

И точно, глубокой ночью ставил и проглядел ) thx

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещё sae при запуске выдает ошибки

См. в прикрепленном файле.

error_sae.txt

Изменено пользователем flash.one

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ещё sae при запуске выдает ошибки

См. в прикрепленном файле.

Там серьезных ошибок нет.

 

В noc.conf надо поправить repo_path и заменить его на /var/repo (/config добавится автоматически). Надо также проверить, что в noc.conf [cm]/vcs_path содержит правильный путь к hg.

 

В web интерфейсе в Service Activation > Task Schedules надо проверить, что запущена задача cm.pull_config с интервалом в 300 секунд.

 

Все это есть?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

скрипт get_version на DLink работает неправильно.

Он не возвращает собственно версию ПО.

Версия "Build" мало кого устроит :)

Думаю, надо подзаменить регэксп Firmware Version\s+:\s+(?P<version>\S+)" на что-то вида Firmware Version\s+:\s+(?P<version>[\S\s]+$)"

Это даст матч <version> до конца строки, если я не ошибаюсь.

Изменено пользователем mikevlz

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

В web интерфейсе в Service Activation > Task Schedules надо проверить, что запущена задача cm.pull_config с интервалом в 300 секунд.

 

Все это есть?

Дмитрий огромное спасибо за внимание и помощь, все завелось. У меня не было задана задача+путь был указан /var/repo/config

Интервал в 300 секунд это обязательное условие? и какой параметр имеется ввиду "Run Every (secs)" или "Timeout (secs)". Интуитивно догадываюсь что первый.

Извините за столько вопросов, но получается что не разобрался в принципе работы Вашей системы.

ИМХО документация немного обобщенно раскрывает функционал системы+ко всему на английском.

ЗЫ:

А документашки на русском нету?

nagios+nagvis мне как-то легче было поднять.

Изменено пользователем flash.one

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И вопрос про последние веяния с выполнением произвольных скриптов. Я так понимаю, эти скрипты должны оказываться в профиле оборудования, чтоб их выполнила система. так?

Я помнится, сделал свои скрипты для длинков или что-то в этом духе, которых на тот момент не было, при обновлении получил затык.

Как это делать? :)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

скрипт get_version на DLink работает неправильно.

Он не возвращает собственно версию ПО.

Версия "Build" мало кого устроит :)

Думаю, надо подзаменить регэксп Firmware Version\s+:\s+(?P<version>\S+)" на что-то вида Firmware Version\s+:\s+(?P<version>[\S\s]+$)"

Это даст матч <version> до конца строки, если я не ошибаюсь.

А как выглядит сама строка, которую пытаемся сматчить?

 

PS: У меня сейчас нет DLink'ов под рукой, самостоятельно проверить не могу

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Дмитрий огромное спасибо за внимание и помощь, все завелось. У меня не было задана задача+путь был указан /var/repo/config

Интервал в 300 секунд это обязательное условие? и какой параметр имеется ввиду "Run Every (secs)" или "Timeout (secs)". Интуитивно догадываюсь что первый.

Извините за столько вопросов, но получается что не разобрался в принципе работы Вашей системы.

ИМХО документация немного обобщенно раскрывает функционал системы+ко всему на английском.

Run Every. Timeout сейчас не используется. 300 секунд - нормальное значение для практического применения. Это всего лишь проверка, не пора ли снимать конфиг с железки.
А документашки на русском нету?

nagios+nagvis мне как-то легче было поднять.

Пока нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И вопрос про последние веяния с выполнением произвольных скриптов. Я так понимаю, эти скрипты должны оказываться в профиле оборудования, чтоб их выполнила система. так?

Я помнится, сделал свои скрипты для длинков или что-то в этом духе, которых на тот момент не было, при обновлении получил затык.

Как это делать? :)

map-скрипты, да, в профиле. Каждый скрипт в отдельном файле, прописывать их нигде не надо, и так найдет. Если скрипты достаточно универсальны и могут пригодиться другим, то можно поместить их в основной дистрибутив. Затык может быть только в случае, если меняется имеющийся скрипт, тогда hg pull отругается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

скрипт get_version на DLink работает неправильно.

Он не возвращает собственно версию ПО.

Версия "Build" мало кого устроит :)

Думаю, надо подзаменить регэксп Firmware Version\s+:\s+(?P<version>\S+)" на что-то вида Firmware Version\s+:\s+(?P<version>[\S\s]+$)"

Это даст матч <version> до конца строки, если я не ошибаюсь.

А как выглядит сама строка, которую пытаемся сматчить?

 

PS: У меня сейчас нет DLink'ов под рукой, самостоятельно проверить не могу

Выглядит так:
Device Type : DES-3028 Fast Ethernet Switch

MAC Address : 00-1E-58-A6-81-56

IP Address : 172.17.64.10 (Manual)

VLAN Name : default

Subnet Mask : 255.255.192.0

Default Gateway : 172.17.64.1

Boot PROM Version : Build 1.00-B04

Firmware Version : Build 2.00.B20

Hardware Version : A1

Нам же слово Build не нужно, нам циферки/буковки нужны в версии прошивки. Пусть это слово будет, но пусть будет не единственное.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.