About Forum Blogs NOC Docs Downloads KB Issues Code CI Registration

nocproject.org

#nocproject.org at irc.freenode.net log.
Back to nocproject.org Back to IRC log index
Date: 10.03.2015
ufir #
06:09
ухты, лисп на канале
dvolodin #
06:18
это не совсем lisp, а COOL
06:18
но один фиг - lisp :)
06:19
конструкция пока такая вырисовывается
06:19
есть парсеры конфига
06:19
они хавают конфиг и извлекают из него факты
06:20
их и из морды посмотреть можно
06:20
дальше факты заливаются в CLIPS, туда же доливаются правила
06:21
и исполняются
06:21
на выходе получаем какие-то дополнительные факты
06:21
вытрясаем из него факты типа error -- и получаем ошибки валидации конфига
06:24
факт в CLIPS состоит из набора слотов
06:24
которые задаются шаблоном
06:24
со стороны питона ему соотвествует класс
zi_rus #
06:24
нормальная форма будет или заставишь код писать?
dvolodin #
06:25
нормальная форма чего?
zi_rus #
06:25
для настройки
06:25
валидации
dvolodin #
06:26
настройки через web
06:26
валидаторы -- классами
zi_rus #
06:26
а то нет разницы будет пируль лабать или на лиспе
dvolodin #
06:26
есть разница
06:26
в пируле ты работаешь с текстом
zi_rus #
06:26
ну разный синтаксис
dvolodin #
06:26
а в клипсе -- с фактами
06:27
причем факты в клипсе однозначно соотносятся с объектами в базе
zi_rus #
06:27
в пределах одного вендора это одно и тоже
dvolodin #
06:27
нет, не одно
zi_rus #
06:27
ну по смыслу они разные, а по факту одно
dvolodin #
06:27
неа
zi_rus #
06:27
да-а
06:28
ты говоришь что факт это нтп сервера 1,1,1,1 и 2,2,2,2
06:28
а в пируле я смотрю на строчки ntp server 1.1.1.1 и ntp server 2.2.2.2
06:29
и по логике я проверяю одно и тоже
dvolodin #
06:29
config ports 1:7,1:9,1:11,1:13 speed auto
06:29
capability_advertised 1000_full flow_control disable
06:29
learning enable state enable description MYDESCRIPTION
zi_rus #
06:29
наличие этих настроек в конфиге
dvolodin #
06:29
вот такое в одном месте
06:29
config vlan 307 add tagged 1:1,1:5,2:21-2:22 advertisement disable
06:29
вот такое - в другом
zi_rus #
06:29
причем разница только с том что парсер ты встроил в нок, а мне иногда его надо писать самому
dvolodin #
06:30
разница в том, что ты в каждом pyrule будешь изобретать парсер
06:30
в лучшем случае - осознаешь, что он у тебя есть и попытаешься его использовать везде
06:31
и таки здравствуйте - получили solution :)
zi_rus #
06:31
если я буду пируль на каждого вендора свой делать то в общем шаблонном случае мне надо искать обычную строчку
06:31
if "a" in config:
dvolodin #
06:32
ты сильно упрощаешь
zi_rus #
06:32
как тебе сказать
dvolodin #
06:32
я тебе привел пример -- что ты можешь сказать про интерфейс 1:5 для dlink'а?
zi_rus #
06:32
я писал пируль и использовал такую конструкцию
06:33
dvolodin: если у меня шаблонная настройка я просто поставлю на проверку всю строку
dvolodin #
06:33
f-114 (interface (name "Po 1") (description ""** etherchannel to pe-1-m9, ge-1/3/8 and ge-1/3/9"") (admin_status 1) (speed "nonegotiate") (duplex "auto") (protocols) (profile nil) (type "aggregated"))
06:33
f-115 (subinterface (name "Po 1") (description ""** etherchannel to pe-1-m9, ge-1/3/8 and ge-1/3/9"") (admin_status 1) (ipv4_addresses) (ipv6_addresses) (ip_proxy_arp 0) (ip_redirects 0) (tagged_vlans 6 9 17 23 25 27 29 50 51 52 55 59 60 61 62 63 72 73 81 87 93 97 99 100 101 102 103 104 105 107 111 120 197 198 199 200 210 224 225 244 250 301 302 303 304 346 425 499 512 513 515 527 528 529 530 531 532 533 535 55
06:33
563 601 614 700 701 702 703 704 705 706 707 708 709 710 797 800 801 802 803 804 805 806 807 808 809 810 905 906 907 909 910 911 922 1400 1401 1402 2002 2998 2999) (untagged_vlan nil))
06:33
вот примерчик факта для интерфейса и саба
zi_rus #
06:33
дело в том что мы становимся привязанными к тому что ты вшил в нок
dvolodin #
06:34
еще раз
06:34
вот тебе задачка
06:34
проверить, что vlan 99 tagged у тебя только на портах с профилем NETWORK
zi_rus #
06:34
а вот тебе
dvolodin #
06:35
это при том, что у тебя прописано allowed-vlan add 10-199
zi_rus #
06:35
проверить что дескрипшен на порту соответсвует принятому шаблону для именования
dvolodin #
06:35
ну и чего - бери description из факта и проверяй
zi_rus #
06:36
а про алловед влан я просто посмотрю в inv.interfaces
dvolodin #
06:36
на самом деле -- бери готовый валидатор и говори, для каких профилей интерфейса какие маски у тебя
zi_rus #
06:36
скрипт уже это дергает
06:36
причем учитывает существующие на свиче вланы
06:37
а не просто разрешенный range
06:37
ладно
06:37
доделывай, посмотрим
dvolodin #
06:38
собственно - одно другому не мешает
06:38
проверки можно реализовывать как в виде алгоритма
06:39
так и в виде правил
06:39
в тривиальных и вырожденных случаях первое - привычнее
06:39
в сложных с неявными зависимостями - второе
06:41
собственно то, что ты говоришь -- будет несколько валидаторов, которые будут проверять наличие или отсутсвие теста шаблона в конфиге
06:41
такие проверки тоже будут
06:41
но в целом - разделение кода парсера и проверки - хорошая идея
06:41
так как проверки в большинстве случаев не будут зависить от железки и от типа конфига
06:42
кроме того, будет возможность делать кросс-проверки, которые затрагивают несколько железок или всю сеть
06:50
pyparsing, кстати, вполне хорош
06:53
собственно пока выделили 3 разновидности валидации
06:53
уровня объекта, интерфейса и топологии
06:53
https://www.evernote.com/l/ADnegmUkVyRI07OEC9IMfW0ayQaqgpmR7o0
06:53
вот общие наброски
zi_rus #
07:02
dvolodin: кстати видел ciscoconfparse?
07:02
библиотека для питона
dvolodin #
07:02
да, видел
07:02
ничего интересного не нашел
zi_rus #
07:02
прикольная штука
07:03
мне сильно упростила жизнь для валидации
07:04
конфиг для интерфейсов когда парсить понадобилось
dvolodin #
07:07
вот именно
07:07
:)
07:07
ты пришел к тому, что удобнее сначала распарсить, а потом уже обрабатывать :)
07:08
ну вот считай, что тут такое не cisco-only, а кроссплатформенное
zi_rus #
07:13
просто нок не различает access и dot1q-tunnel порты, а то бы я по базе интерфейсов работал
07:14
и некоторые другие настройки не попадают в базу
07:14
это кстати и к фактам относится
dvolodin #
07:17
я не спорю
07:17
давайте предложения по доработке интерфейсов и патчи на скрипты
TSergey_ #
07:18
zi_rus: а ту нок-то развернул?
07:18
*ты
zi_rus #
07:18
нет
Night_Snake #
07:18
всем трям. А что такое facts?
zi_rus #
07:19
TSergey_: прежде чем что-то разворачивать, надо разобраться с тем что уже развернуто
TSergey_ #
07:19
а чего используется?
zi_rus #
07:19
за пару коротких недель такие дела не делаются
TSergey_ #
07:19
похвастайся
zi_rus #
07:19
а хер знает
07:19
я кактус видел
07:20
и какая-то самописка для плановых работ
07:22
тут еще с ЗО не совсем понятная тема
07:22
так что хер знает
07:22
я пока думаю про ипам в ноке
07:22
тут кажется с этим плохо
dvolodin #
07:26
Night_Snake: факты -- это из валидаторов конфига
Night_Snake #
07:26
J
07:26
О
07:27
Это уже интересно. А можно где-нить почитать, как это работает? и работает ли вообще?
dvolodin #
07:28
на bitbucket можно почитать :)
07:30
в разделе commits
zi_rus #
07:30
Night_Snake: обновляйся на экспериментальную ветку и тестируй. нам расскажешь
Night_Snake #
07:30
мне на develop неплохо живется)))
dvolodin #
07:30
парсеры под разные платформы нужны
07:30
я пока сделал кисковский и dlink'овский как примеры
zi_rus #
07:31
dvolodin: ios xr ТОже сделай
dvolodin #
07:31
zi_rus: зачем?
07:31
у меня их нет :)
zi_rus #
07:32
а у меня есть (вернее были), но возможно даже бубудт есть
dvolodin #
07:33
ну вот и допилишь парсер
07:35
там же синтаксис схожий
zi_rus #
07:37
ну не совсем
07:37
там все еще более древовидное чем раньше
dvolodin #
07:38
один фиг
07:38
:)
TSergey_ #
08:04
мне вот из конфига не хватает сейчас разбора настройки LLDP
08:05
так что может быть это как раз в тему
e_zombie #
08:07
,,
09:05
как на джуниперах включить логирование падение линков ?
09:30
http://ru.warnet.ws/img/313/pod/80.jpg придумайте название.
TSergey_ #
09:31
длинк?
zi_rus #
09:37
e_zombie: юзеры?
e_zombie #
09:37
хуюзеры
09:37
по джуниперам кто что скажет?
Night_Snake #
09:38
что-то такое я помню, да
09:38
включали
zi_rus #
09:38
а типа по-дефолту оно не включено?
09:39
ну тупые...
e_zombie #
09:39
у меня сейчас полегло с сотку коммутаторов а на пе не пришла инфа о падении портов в сторону агрегации
09:39
поглядите
09:39
плиз
Night_Snake #
09:39
как минимум, трапы он присылает
09:39
без лишних телодвижений
dvolodin #
09:39
трапы были, да
e_zombie #
09:40
трапы не факт что настроены на железе и не факт что работают уменя в ноке
Night_Snake #
09:41
http://www.juniper.net/techpubs/en_US/junos14.1/topics/usage-guidelines/link-down-optics-option-config.html
09:41
оно?
e_zombie #
09:42
кхм.
09:42
возможно
09:42
м прямо это в нок сликоммандс пихать?
Night_Snake #
09:42
это на джуне
e_zombie #
09:42
я просто ещё джунипера не пилил из нока
Night_Snake #
09:42
он будет пихать в сислог
09:43
А вот джун через нок я сам не настраивал - сцыкотно)
09:43
а в лабе их нету
09:44
Вот еще на почитать http://www.juniper.net/techpubs/en_US/junos12.1/topics/topic-map/junos-script-automation-event-policy-event-syslog-priority.html
e_zombie #
09:44
ок
10:04
немножко из старых съёмок https://pp.vk.me/c625528/v625528151/238fb/0lf2toQgLhA.jpg
sanek335 #
10:12
Подскажите, прописал DNS zone - "168.192.in-addr.arpa", но в "Missed Reverse Zones" НОК перечислил все /24 реверсные зоны для 192.168.Х. Как можно убрать?
10:13
а то страшно представить, что начнётся когда 10/8 начнётся
dvolodin #
10:19
наверное, сам отчет поправить
10:19
он древний, как говно мамонта
zi_rus #
10:23
e_zombie: чего у тебя постоянно с фокусом на фотографиях?
e_zombie #
10:24
я фотограф - я так вижу (с)
TSergey_ #
10:24
объектив загрязнен :)
zi_rus #
10:24
dvolodin: а ты из каких соображение в ипам только число, без полосы заполнения сделал? лень или некрасиво
dvolodin #
10:24
лень :)
e_zombie #
10:24
когда девочка прыгает на кровати фиг ты в неё фокусом попадёшь
zi_rus #
10:25
ясно
10:25
e_zombie: один точный удар в челюсть и модель фиксируется
e_zombie #
10:25
а нахуя?
zi_rus #
10:26
чтобы фотоаппарат мог сфокусироваться
10:26
а иначе что это за снимок
10:26
нихрена же не видно
e_zombie #
10:27
форму видно - и это хорошо.
10:28
а дальше работает твоя фантазия и правая рука
zi_rus #
10:28
ну фантазировать можно и без снимка
Night_Snake #
10:29
Кстати а тут из питерских есть кто?
zi_rus #
10:29
встрнечались
e_zombie #
10:29
zi_rus: чтобы фантазировать =- нужна затравка
zi_rus #
10:29
даже чаще чем хотелось бы
Night_Snake #
10:30
а на биринг идет кто-нить?
zi_rus #
10:30
опять бухать? хватит уже, алкашня
Night_Snake #
10:30
:D
10:30
бухать никто не заставляет
zi_rus #
10:31
идти на биринг и не бухать?
10:31
это я не знаю
Night_Snake #
10:31
вам не угодишь
zi_rus #
10:32
ну ты такие предложения делаешь
10:32
пойти на бухалово и не пить
Night_Snake #
10:33
так я ж не предлагаю в зюзю
10:33
пару пива и норм
10:33
главное закусывать
zi_rus #
10:35
далеко
10:35
8 часов на сапсане ехать
Night_Snake #
10:35
Это откуда? С москвы 4,5
zi_rus #
10:35
ну мне еще 4 часа до москвы
10:36
почему у нас как в японии поезда по 400кмч не ходят?
10:36
самое то для такой страны
e_zombie #
10:37
потому что бабло жалко и расстояния не в пример больше
zi_rus #
10:37
ye nfr xnj hfccnjzybz ,jkmit b yflj ,jkmit crjhjcnm hfpdbdfnm
e_zombie #
10:37
наверное поэтому http://m.lenta.ru/articles/2015/03/07/chinarailway/
zi_rus #
10:38
*ну так что расстояния больше и надо больше скорость развивать
e_zombie #
10:38
стоимость решения на пару порядков выше.
10:38
плюс нет технологий.
zi_rus #
10:39
а если дрочить, технологии и не появятся
10:39
я бы мог до мск за полтора часа добираться, прикольно же
10:39
почти как на маршртке по городу
e_zombie #
10:42
логично. но если у тебя кредиты выдаются на такие штуки под 15% а не под 0.5% то хуй чё будет.
zi_rus #
10:44
это называется инфраструктура, она в ведении государства
e_zombie #
10:44
не угадал. в ведении монополиста РЖД
zi_rus #
10:45
ну в общем да, но деньги дает гос-во
10:45
как на обычные дороги
TSergey_ #
10:45
"горизонт планирования" отрицательный, только строить и откаты, просчитывать окупаемость --- фанатастика
10:45
*фантастика
mali_ #
10:45
народ, а какой командой на циске snmp поднимать, что он trap на ip ноковский слал? может кто помнит
zi_rus #
10:46
snmp-server host 1.1.1.1 public
10:46
или похожая
e_zombie #
10:46
snmp-server trap-source Loopback0
zi_rus #
10:47
нет
e_zombie #
10:47
snmp-server enable traps config
10:47
snmp-server enable traps event-manager
10:47
snmp-server enable traps memory bufferpeak
10:47
snmp-server enable traps sonet
10:47
snmp-server enable traps cpu threshold
10:47
snmp-server enable traps envmon fan shutdown supply temperature status
10:47
snmp-server enable traps alarms informational
zi_rus #
10:47
snmp-server trap source-interface lo0
e_zombie #
10:47
копирую наш конфиг 7600
mali_ #
10:48
а где ip нока в этом конфиге не могу понять?
buggy-funhouse #
10:48
сурс это от имени кого слать, вы чего.
e_zombie #
10:48
snmp-server host 1.1.1.1 public
buggy-funhouse #
10:48
шз нока 1.1.1..1
zi_rus #
10:48
странно тогда, точно помню что там всегда было source-interface
buggy-funhouse #
10:49
Просто он может слать с первого попавшегося
e_zombie #
10:49
вот вот.
buggy-funhouse #
10:51
mali_: проверяй tcpdump'ом всегда, идёт трафик или нет
10:51
ну или tshark
mali_ #
10:51
проверяю, сейчас как у зомби сделаю конфиг
buggy-funhouse #
10:51
>[13:30:00] <Night_Snake> а на биринг идет кто-нить?
10:51
zя был, 26-го
10:51
пиво кончилось быстро
10:51
вечеринка так себе
Night_Snake #
10:52
Ну не знаю, не знаю. Лично нам пива хватило :) Если не ставить целью нажраться, то норм
10:52
До кучи с нужными людьми пообщался
zi_rus #
10:52
а если нажираться то водки с собой надо брать
buggy-funhouse #
10:52
Пообщался-то да. Главное, продажников отгонять от себя
Night_Snake #
10:53
Продажники тож разные бывают))
10:53
есть полезные. но мало
buggy-funhouse #
10:53
ты откуда?
Night_Snake #
10:53
мм?
10:53
Питер
buggy-funhouse #
10:54
я тоже, давай подробнее =)
zi_rus #
10:54
whois, мать вашу
buggy-funhouse #
10:54
слушай
10:54
вот про Whois не надо
zi_rus #
10:54
а что не так
Night_Snake #
10:54
buggy-funhouse пошли в личку
zi_rus #
10:54
провайдеры с чужих Ip Точно сидеть не будут
buggy-funhouse #
10:55
а то, что инфа не актуальная может быть
10:55
zi_rus: vpn?
zi_rus #
10:55
чего впн?
buggy-funhouse #
10:55
ой всё
zi_rus #
10:56
:)
buggy-funhouse #
10:56
xD
TSergey_ #
10:56
mali_: у меня так
10:56
# login
10:56
# enable
10:56
# config
10:56
# snmp-server host <нок айпи> version 2c <комунити>
10:56
# snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
zi_rus #
10:56
TSergey_: что вы ебете ему мозги, надо проще
10:56
snmp-server enable traps
10:57
и все
TSergey_ #
10:57
ну и
10:57
snmp-server host <нок айпи> version 2c <комунити>
zi_rus #
10:57
ну это само собой
10:57
я про трапы которые отсылать
TSergey_ #
10:58
,а, ну чего было, то и написал
zi_rus #
10:58
ну просто ты уже второй
mali_ #
10:58
snmp-server enable traps - вот так, я так понимаю, все трапы будет отсылать?
zi_rus #
10:58
пусть енаблит все трапы
10:58
а потом отключает ненужные
10:59
там есть что поотключать
buggy-funhouse #
10:59
echo я сделяль > тщс_шз
10:59
noc_ip*
t2me #
11:48
Привет народ, никто не помнит как должен выглядеть FQDN Template для Address Ranges, если хочется получить запись такого вида: ip-1-1-1-1.pppoe.test.ru; (написал так: ip-{{ IP|join:"-" }}.{% if domain %}{{ domain }}{% else %}pppoe.test.ru{% endif %} )?
12:05
разобрался ip-{{ip1}}-{{ip2}}-{{ip3}}-{{ip4}}.pppoe.test.ru
Tweet
Share this page
Share this page: Tweet