nocproject.org
04:33
dvolodin: трейсится get_interface_status на циске, когда по snmp натыкается на интерфейсы с service instance, там имена вида Gi0/4.SI.525
04:33
попробовать поправить rx_cisco_interface_name в sa/profiles/__init__.py?
04:34
лучше в функции змену сделать
04:34
эти психи сами не знают, как такие интерфейсы называть
04:34
:)
04:37
ага, т.е. в самом профиле обработать попробовать..
04:38
да
04:38
там уже и так изрядно костылей
04:38
мы такие интерфейсы, вроде, через пробел пишем
04:39
Gi0/4 525
04:40
04:41
вот так
04:45
почему ещё не закоммичено? :)
04:45
а кто-нибудь проверил?
04:45
никто не может сказать, как правильно преобразовать имя этого интерфейса
04:45
доподлинно известно, что не через точку
04:46
ну вот теперь хотя бы есть что проверить... а с efp_id я боролся в другом скрипте, по-моему в get_mac_address_table
04:47
так а почему не оставить с SI?
04:51
:)
04:51
да лишь бы к одинаковому приводилось
04:51
si в ADOM == strange item
04:51
:)
04:52
они сами плодятся и портят персонажа :)
05:57
для справки
05:57
efp - это ethernet flow point
06:38
если бутстрап скрипт для центоси будет заменять nginx.conf - ето некошерно, да?)
06:42
ладно, сделаем по другому..)
06:45
zi_rus: и как с этим жить?
06:45
понять и простить
06:46
dvolodin, на ASR9k это тоже называется efp, но фактически настраиваются сабы Gi0/1/0/0.25, а на 7600 это тоже efp, но представляют из себя сервис инстансы
06:47
ну и что нам делать с этой пропагандой гомосексуализма?
06:47
это efp на ASR
06:47
interface GigabitEthernet0/1/0/0.1007 l2transport
06:47
encapsulation dot1q 1007
06:47
rewrite ingress tag pop 1 symmetric
06:47
ну да
06:47
нормальный саб
06:48
а это на 7600
06:48
service instance 1007 ethernet
06:48
encapsulation dot1q 1007
06:48
rewrite ingress tag pop 1 symmetric
06:48
bridge-domain 2
06:48
вот так правильней
06:48
interface Port-channel1
06:48
service instance 1007 ethernet
06:48
encapsulation dot1q 1007
06:48
rewrite ingress tag pop 1 symmetric
06:48
bridge-domain 2
06:50
так как нам это счастье различать?
06:50
и то и другое это сабы в терминах нока, только в одном случае это классический саб, а в другом не классический сервис инстанс
06:50
с точки зрения NOC -- и первое и второе - subinterface
06:59
dvolodin, не понимаю что тебя смущает, на 7600 сабы возвращаются одной командой, а сервис инстансы другой, что ты в них собираешься различать и зачем?
06:59
меня ничего не смущает
06:59
смотри, я могу преобразовать эту порнуху к любой строке
07:00
сейчас она преобразовывается к форме с пробелом
07:00
могу заменить на точку
07:00
но скрипты, которым передается имя интерфейса, должны понимать, саб ли это у них или service instance
07:00
думаю не стоит, будет путаница сабов классических и инстансов
07:01
или через точку писать gi0/1.si123
07:01
поэтому саб у нас с точкой, а service instance - с пробелом
07:02
пробел мне тоже не нравится, с ним сложно работать
07:02
хотя может я заблуждаюсь
07:03
просто если где-то в скрипте надо будет порубить строку, и будешь это делать по пробелам, то тут будет засада
07:03
а .si<num> такой проблемы не имеет
07:05
по снмп циска вообще возвращает имя как GigabitEthernet1/1.ServiceInstance.1
07:05
тоже как вариант можно использовать
07:06
еще раз, пробел по-моему не самый лучший вариант
07:06
ну давайте его тогда делать как <имя интерфейса>.si.<номер>
07:06
но тогда скрипты вроде get_mac_address_table и get_arp должны ловить этот .si.
07:07
в любом случае их придется дорабатывать, что бы ты сейчас не решил
07:07
и get/set switchport тоже
07:13
мне надо дать человеку доступ к конфигам но не давать на управление железкам. где галочки ставить?
07:14
e_zombie, нигде, я не смог так сделать, тоже надо было
07:24
тоесть если давать конфиги - то 100% даётсяи управление?
07:26
не обязательно
07:26
консоли и плюшки -- дополнительными правами даются
07:29
а ран скриптов нет
07:34
dvolodin, я уже создавал issue про разграничение прав
NOC-354
07:37
это уже не работает
07:42
спасибо. У нас правда оно только в дц открыто
07:42
в мир не смотрит
07:44
помню историю как EqM во время discovery нарвался по SNMP на UPS в своей же стойке и дернул сам себе питание
07:48
кстати наработки по визуализации рэков есть?)
07:49
а то я тут кластер нарисовать хочу))
08:08
dvolodin, там были раньше костыли по рисованию рэков.. планы есть по переводу этих дел на экс?
08:08
extjs*
08:12
хотя это все по идее должно быть завязано на физический инвентори.
08:14
Начинают немного напрягать qtech'и, которые после перезагрузки переставляют в конфиге строки с snmp community. Получается перезагрузка = новый diff
08:20
Anyone using Edge-Core ECS3510-28t and dooing DHCP snooping?
08:24
lexus-omsk: я вообще с кютечей снимаю только конфиги. потому что если там делать дискавери всю сеть штыряет.
08:25
ну так я как раз о конфигах
08:26
а дискавери более или менее работает, правда у меня профиль для серии 2800 самописный
08:43
_4ePTeHok: это в inventory
08:47
громко заявлять что что-то где-то есть, когда ничего нет
08:48
Всем привет. А можно ли в noc shell или скриптом пройтись по всем managed object и выполнить на них команду?
08:48
куда смотреть? есть пример?
08:49
./noc debug-script commands sx8-pu76 'commands=show ver","show module","show int brief'
08:49
круто, воспользуюсь
08:49
sa - task - run command
08:49
мне дальше надо вывод попарсить
08:49
в ран команд нет такой возможности
08:56
нет
08:56
а чего ты хочешь
08:57
я тоже думал вывод парсить, а потом понял что проще конфиг глянуть который уже в ноке готовый лежит
08:57
оно и быстрее
08:58
надо пройтись по всем асам и дернуть с нее sh inventory
08:59
надо запилить для асы новый скрипт get_inventory - или это не совсем оно?
08:59
вроде были какие-то наработки на примере juniper
09:01
Да, в итоге хотелось бы, чтобы в базе были SN и chassis SN
09:53
какие права нужны чтобы в конфигах показался список железок?
09:55
MaximFomin, ну вот тебе правильней написать скрипт get_inventory для асы и будет у тебя актальная база прямо в ноке
09:57
dvolodin, я тут подумал про скрипт get_inventory, мне кажется что можно сделать по-другому, а именно чтобы скрипт возвращал part number и некую строку определющую коннект (наприимер где эта sfp торчит или в каком слоту этот БП
09:58
а строку которую он вернет парсить с помощью regexp уже в ноке
09:58
для каждого part number сделать правило и прописать его где-то там в атрибутах
09:59
зачем это нужно
09:59
чтобы не городить в одном скрипте огромное количество if-ов
10:00
ты написал скрипт который работает на МХ, но что будет на других железках, опять костыли придется приделывать
10:01
вот пример есть у меня каталист, как распарсить каждую sfp и каждый БП, делать if A then B
10:01
а где можно посмотреть пример get_inventory?
10:01
и это придется на каждый парнамбер рисовать
10:02
MaximFomin, единственный существующий в природе скрипт сидит в ветке инвентори, тебе придется обновиться на нее
10:02
/opt/noc/sa/profiles/Juniper/JUNOS - вот тут
10:02
или может в репо посмотреть
10:03
zi_rus: так и сделано
10:04
dvolodin, тогда я вообще не понимаю как писать скрипт
10:04
NAME: "Power Supply 1", DESCR: "FRU Power Supply"
10:04
PID: ME34X-PWR-DC , VID: V03 , SN: LIT153907TB
10:04
NAME: "GigabitEthernet0/16", DESCR: "1000BaseLX SFP"
10:04
PID: Unspecified , VID: , SN: H22L873
10:05
вот
10:05
есть пид и name
10:05
нельзя в одном скрипте на каждый пид прикрутить костыль
10:05
надо вернуть пид и name
10:06
а инвентори должен сам разобраться куда это воткнуть
10:07
dvolodin, объясни что должен вернуть мой скритп (если я начну его писать), чтобы положить данные в инвентори
10:08
вот ты inventory и скажи, какой это connection
10:08
где я должен это сказать?
10:09
в скрипте определить?
10:09
я этого не могу
10:09
потому что Pidов [thjdf nexf
10:09
а когда планируется inventory пушнуть в develop?
10:09
*херова туча
10:09
и на каждый пид своя коннектион строка
10:10
под один профиль попадает не одна железка
10:12
pid у тебя матчится под asset.*
10:15
со стороны процесса discovery алгоритм примерно такой
10:16
по part_no ищем модель
10:16
по serial ищем объект с нужной моделью, если не нашли - создаем
10:29
а дальше по connections соединяем его с другими объектами или отцепляем лишнее
10:30
если ты выдашь без connections, оно тебе насыпет в базу железку россыпью
10:57
выдам откуда?
10:58
из скрипта?
10:58
только без connection и получится
10:58
невозможно написать костыль под каждую железку
11:00
как парсить connection? PWR-C49M-1000DC - Power Supply 2, PWR-2700-DC - PS 2 PWR-2700-DC
11:01
для sfp проще, оно везде одинаковое
11:01
GigabitEthernet1/26
11:01
но это не решает проблему
11:01
есть еще вентиляторы
11:01
и линеййные карты
11:02
под каждый PID придется рисовать костыль
11:02
где-то все равно придется это зашивать
11:02
вот я и говорю, зашить в инвентори
11:02
рядом с PID
11:03
прописать regexp
11:03
один или несколько
11:03
в regexp одна переменная возвращается
11:03
ну а где еще
11:03
вот у тебя есть россыпь всякого хлама
11:03
в инвентори, в object models
11:03
как узнать, что и куда засунули?
11:04
как ты засунешь это в object models?
11:04
скрипт тебе это вернет
11:04
ну я не знаю, тебе виднее
11:05
asset
11:06
Power Supply 1 - Power Supply (?P<connection>.+)
11:06
json
11:07
и?
11:07
давай с другой стороны
11:07
стек из 5 3750
11:07
в них - 10SFP
11:08
имеешь россырь из 15 объектов
11:08
как соединять
11:08
то, что ты хочешь какого-то декларативного описания алгоритма определения связей прямо в моделях я уже понял
11:09
вопрос только в том, как оно выглядит и как с ним жить
11:25
первое дельное предложение :)
11:26
ну или посложнее задачу возьми
11:26
виртуальное шасси
11:26
два шеститонника, куча плат и два ведра оптики
11:28
juniper выдает очень удобное дерево на такое
11:35
ну я думал что ты сразу придумаешь как лучше
11:36
ну вот берет циска и не выдает
11:36
а джун выдает
11:36
давай искать третьего вендора
11:36
пусть будет хуавей
11:36
покажите как хуавей показывает инвентори
11:53
в общем я не знаю как писать скрипт для циски
11:58
ты специально выбираешь железки под свою позицию :)
12:00
железки к которым у меня есть доступ это или циски или нечто у чего нет волшебной команды для инвентори
14:43
у меня у одного ./scripts/noc-launcher.py stop - под линуксом не убивает процессы?
14:48
во блин, просрался.
Share this page
Share this page: