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: 19.08.2015
ircuser-1 #
01:24
Hello, I suggest tweaking "manual setup" instructions: run "hg clone ... " -> run "cd /opt && hg clone ...", not obvious (I'm new to mercurial). With that change and update from deprecated db.adduser I found the installation instructions clear and complete. Thanks!
TSergey #
03:24
привет
03:24
SA\Setup\Object Notificaton
03:25
это все работает? Например "Script failed"?
dvolodin #
03:46
Да
TSergey #
03:48
конфиг чэндж и нью приходят, остальное нет
03:50
по остальным, не скрипт файлид, вполен может быть, что событие не разбирается, но скрипт файлид, это ведь внутреннее событие нока
03:51
*что событие у меня не разбирается
misak #
06:56
здрасте
06:57
у меня нок с 22-го прошлого месяца перестал зоны обновлять, кто-нибудь еще замечал такое?
venter #
06:58
эх, зоны!
xetle #
07:05
dvolodin: если есть время то опять ssh :) NOC-1667
07:05
При обновлении ключей после авторизации вместо MSG_KEXDH_INIT надо слать MSG_KEXINIT
07:07
тоесть переписать ssh_KEXINIT на подобие on_SSH_VERSION_enter
filonov #
07:12
TSergey: у меня кстати та же фигня с отсутствием уведомлений о событиях
PavelGloba #
07:13
А как обстоят дела с миграцией старых карт?
07:13
С тех пор как их стали менять, я так и не обновлялся
fumufu86 #
07:18
У кого-нибудь стоят коммутаторы Orion A26
07:19
Какой профиль используется?
xetle #
07:21
Профиля для орионов нет, надо написать...
dvolodin #
07:21
xetle: это как?
07:21
на GLOBAL_REQUEST опять авторизацию?
xetle #
07:22
нет, после авторизации и клиент и сервер опять хотят сменить ключи "need rekeying"
07:23
это видно слогов которые приатачил к NOC-1667
07:24
на GLOBAL_REQUEST не обращать внимания.
07:25
Клиент нока после авторизации и открытия канала должен затребовать смену ключей: послать MSG_KEXINIT
07:26
Надо переписать ssh_KEXINIT чтобы оно вместо MSG_KEXDH_INIT слало MSG_KEXINIT.
fumufu86 #
07:28
Профиль для SNR не работает с прошивкой старше 7 венсии.
xetle #
07:29
И ещё я боюсь что если мы поправим ssh_KEXINIT для новых версий openssh может перестать работать старое оборудование...
dvolodin #
07:30
они утомили уже протокол менять
07:30
да
07:30
kexinit нельзя трогать
PavelGloba #
07:30
А как обстоят дела с миграцией старых карт?
xetle #
07:31
Там надо if ставить по версии сервера которую держать в переменных и акуратно трогать ssh_KEXINIT :)
dvolodin #
07:31
попробуй sshd запустить с полным дебагом
07:32
может напишет, чего он опять полез туда?
xetle #
07:32
Этот новый openssh|libressh расползётся по openwrt и прочих прошивках и всё равно менять надо будет! Но очень акуратно через if с проверкой версии сервера.
07:32
Отдебажу с debug3 отпишу.
dvolodin #
07:32
нескоро он расползется
07:33
там dropbear обычно
07:33
вот в junos когда-нибудь его протащат
07:35
ssh все равно придется портировать на tornado ioloop
07:35
возможно, там попрямее получится
07:36
может посмотреть в сторону libssh + pylibssh?
07:41
Начал портировать пробы в microserver, понял, что текущая реализации вполне может залипать в нескольких местах
xetle #
07:53
Потдержка ssh клиента нужна на активаторах. Если использовать libssh (бинарный и слабые старые алгоритмы) с pyilbssh (довольно протухший) то придётся чтото думать с разными аппаратными плетформами.
filonov #
07:54
а если пойти простым путем и обернуть системный ssh a la expect?
dvolodin #
07:55
filonov: не катит, так раньше было
07:55
PTY заканчиваются да и просто тормозно
07:56
https://github.com/wallix/pylibssh2
07:56
libssh2 умеет работать в non-blocking mode
xetle #
07:56
значит придётся поддерживать свой. Там не много надо :)
dvolodin #
08:00
в libssh2 разве слабые алгоритмы?
filonov #
08:02
dvolodin: проблема с pty можно попробовать порешать через -T
dvolodin #
08:02
нет, криво выходит
08:03
да и сам overhead большой
08:03
неблокирующая реализация даже с парсингом PDU на питоне сильно шустрее
08:03
криптуха все равно сишная
filonov #
08:05
dvolodin: а SNMP вообще и get_uptime в частности в данный момент рабочее? А то оно как-то очень странно себя ведет
dvolodin #
08:05
filonov: рабочее
xetle #
08:05
Может эта либа: https://github.com/paramiko/paramiko
dvolodin #
08:06
нет, paramiko слабоват
08:06
я смотрел его
08:06
оно примерно одновременно с нашей реализацией получилось
08:06
оно только с блокирующими сокетами работает
xetle #
08:08
А свою реализацию сильно накладно потдержывать?
dvolodin #
08:08
если ssh и telnet лопатить, то нужно будет подумать и сделать что-то аналогичное ssh multiplexing
08:08
xetle: да нет, не накладно особо
08:08
она простая и тупая
08:08
жопа только в том, что протокол дорабатывать любят, приходится иногда доделывать
08:09
ну и ssh v 1.5 оно не умеет у нас
xetle #
08:09
Добавим ещё одну переменную NEW_SSH=[список версий серверов с новым протоколом] и один if ...
filonov #
08:09
dvolodin: взял скрипт get_uptime, досыпал отладочного вывода - http://pastebin.com/6ewf1U1p
dvolodin #
08:09
по-хорошему нужно CLI-сессии держать после завершения скрипта еще где-то с минуту
filonov #
08:09
community прописаны и в профиле и у объекта
dvolodin #
08:10
и приходят в скрипт?
filonov #
08:10
нет
08:10
self.access_profile.snmp_ro пустое
dvolodin #
08:11
auth profile не стоит?
filonov #
08:11
стоит
dvolodin #
08:11
а в нем community пустое?
filonov #
08:11
нет
08:12
и RO и RW заполнены
dvolodin #
08:12
можно в shell посмотреть
08:12
managed_object.credentials
filonov #
08:14
ma = ManagedObject.objects.get(name ='10.120.0.17')
08:14
managed_object.credentials у него нет
xetle #
08:14
dvolodin а NOC от django полностю избавлятся будет, или только в веб, а под капотом останется.
filonov #
08:15
а не. гоню. snmp_ro=u'public', snmp_rw=u'private'
08:15
все есьт
08:15
ma.snmp_ro тоже есть
dvolodin #
08:16
xetle: ORM потихоньку поедет в mongoengine
08:16
остальное - посмотрим
08:18
использование чего-либо и отказ от чего-либо должны быть мотивированы
Dmitry11 #
08:18
dvolodin: Скажи, пожалуйста, когда у меня хоть что-то заработает: http://i.imgur.com/65xIl3V.png
dvolodin #
08:19
Dmitry11: настрой нормально
08:19
у тебя, скорее всего, все задачи забиты discovery и проверками линков
Dmitry11 #
08:19
Да
08:20
Как мне убрать эти задачи ?
08:20
Я уже несколько лет, после введения джобов, солюшенов и хандлеров об этом спрашиваю
filonov #
08:20
Dmitry11: а monitor что показывает?
Dmitry11 #
08:21
filonov: ты картинку смотрел ? Я вынужден ОТКЛЮЧАТЬ тупо эти задачи.
filonov #
08:21
на картинке нет монитора
Dmitry11 #
08:22
монитор чего ? загрузки CPU коммутаторов ?
filonov #
08:22
SA -> monitor
Dmitry11 #
08:22
бля
dvolodin #
08:23
оно все крутится, настраивается и тюнингуется
Dmitry11 #
08:23
я про то, что у меня на коммутаторе несколько тысяч абонентов, подключенных по DHCP
dvolodin #
08:23
смотри во что уперлось
Dmitry11 #
08:24
и когда NOC пытается вытягивать с него таблицу ARP или MAC по SSH - загрузка CPU коммутатлора возрастает до 100%
filonov #
08:24
Dmitry11: выключи ssh
08:24
use telnet, Luke. И да прибудет с тобой сила
dvolodin #
08:25
и не собирай с него ARP'ы, если он их не может отдать
Dmitry11 #
08:25
filonov: Предвидя вопросы, если вытаскивать таблицу ARP или MAC по SNMP, в лучшем случае загрузка CPU коммутатора будет 100%, в худшем - прийдется идти к коммутатору и физически его перегружать
dvolodin #
08:25
при чем тут NOC, если ты любой тулзой его убъешь
filonov #
08:25
dvolodin: телнет-ом отдают нормально. я проверял
08:25
Dmitry11: какая буква в слове telnet тебе непонятна?
Dmitry11 #
08:26
filonov: telnet открыть в сеть для хосячков ?
08:26
хомячков
filonov #
08:26
А нафига у тебя управление смотрит в сеть для хомячков?
Dmitry11 #
08:27
Топология сети такая. И не предлагай мне ее переделывать.
filonov #
08:27
а при чем тут топология сети?
08:27
есть такая штука - 802.1q
dvolodin #
08:27
ну не NOC, так хомячки тебе все отвалят
08:28
оставляешь те методы discovery, которые тебе нужны
Dmitry11 #
08:28
dvolodin: Дим, что сложного я прошу ? Запускать всякие скрипты по нажатию кнопки, а не тогда когда этого захочет NOC ?
dvolodin #
08:28
sa > managed object > scripts
08:29
там они по нажатию кнопки
bee26 #
08:29
для профиля елтеха непонятки с интерфейсами. в init.py - Gi 1/0/1, lldp - gi1/0/1, cli - gigabitethernet 1/0/1, get_switchport(snmp) - gi1/0/1. Может какой стандарт ввести?
dvolodin #
08:29
bee26: там, вроде, кисковский конвертер в профиле
08:29
разве нет?
Dmitry11 #
08:29
dvolodin: и результат работы этих скриптов попадет в "inventory", "interfaces" и т.п. ?
bee26 #
08:30
вроде. только не все случаи
08:30
инвентори вообще не обнаружил
filonov #
08:30
dvolodin: так куда смотреть с snmp?
dvolodin #
08:30
filonov: ./noc debug-script -c- get_uptime <имя железки>
Dmitry11 #
08:31
dvolodin: желаю тебе, чтобы в 12 часов ночи все твое оборудование превратилось в D-Link'и
dvolodin #
08:31
Дим, у нас на сети до жопы dlink'ов
Dmitry11 #
08:31
и какие они функции выполняют ?
dvolodin #
08:32
коммутаторы доступа
08:32
тупые как пробка, в C-VLAN'ной модели
08:32
по статистике падают не сильно чаще ежиков и зухелей
Dmitry11 #
08:32
запусти на них PIM, BGP, OSPF, IGMP, DHCP_RELAY, подключит туда более двух тысяч абонентов, которые срут броадкастами и мультикастами
dvolodin #
08:33
Q: How can I put a mountain in the cup
zi_rus #
08:33
на доступе bgp
dvolodin #
08:33
A: Why should you put the mountain in the cup
08:33
?
Dmitry11 #
08:33
не смешно
dvolodin #
08:34
я не смеюсь
Dmitry11 #
08:35
у нас на уровне распределения стоят DGS-3627G
08:35
которые вполне себе L3+
dvolodin #
08:35
если вы грузите тяжелыми протоколами коммутаторы с дохлыми процами так, что им даже на ssh не хватает, то что я могу сделать?
Dmitry11 #
08:36
на коммутаторы с нормальными процами денег не дают
dvolodin #
08:36
дим, L3 это не только способность форвардить IPv4, но и способность обрабатывать сопутсвующую сигнализацию
08:36
разве не так?
08:36
проц на коммутаторе перегружен, возможности управлять им нет
08:36
ну и считай его неуправляемым L3 :)
08:37
NOC'то тут при чем
danholm #
08:37
имхо володин прав
PavelGloba #
08:37
А что. сегменты больше создавать нельзя?
08:37
https://i.gyazo.com/3b5cbf920335b0966362e6122e3f717d.png
filonov #
08:37
dvolodin: при -c- - работает
freeseacher #
08:37
PavelGloba, перелогинься
dvolodin #
08:37
filonov: ну и нормально все
Dmitry11 #
08:38
Мне нужно их мониторить. И FM для этого раньше подходил на 200%
PavelGloba #
08:38
Точно
08:38
В иногнито всё ок
dvolodin #
08:38
Дим, их нельзя мониторить, они от этого мрут
Dmitry11 #
08:38
После появления джобов, хандлеров и солюшенов мне пришлось отказаться от FM
filonov #
08:38
dvolodin: что нормального то? Мне надо чтобы оно всегда работало. а не при -c-
Dmitry11 #
08:38
dvolodin: как мне из FM удалить хандлеры ?
dvolodin #
08:39
покрась им все интерфейсы профилем, которые игнорируют link events и оставь только config discovery
bee26 #
08:39
плятский елтех. по ллдп отдает gi1/0/1, а у себя держит Gi 1/0/1. Из-за этого линк не связывается
dvolodin #
08:39
и будет он тебе ходить только за конфигом
08:39
только толку-то, если коммутатор и от этого сдохнет
bee26 #
08:39
dvolodin: что делать? все переименовать в gi1/0/1
dvolodin #
08:39
bee26: я не знаю этой платформы
08:39
IOS все приводит к виду Gi 1/0/1
bee26 #
08:40
я о логике работы нок
filonov #
08:40
dvolodin: как вариант сравнивать case insensitive
08:40
и удалять пробелы
08:40
перед сравнение
Dmitry11 #
08:40
dvolodin: на ивенткласс config changed запускается все дисковери, какие только возможно
dvolodin #
08:40
Dmitry11: придумай, как доработать lib/scheduler
08:40
не все, а только разрешенные для железки
08:41
filonov: для сравнения интерфейсов есть split_alnum
08:41
sort(names, key=split_alnum)
08:42
разрешенные виды discovery определяются профилем железки
08:42
разве не так?
08:43
а профиль железки определяет ее функционал
08:44
если у тебя там только version inventory и config discovery, то запустятся только они
08:45
чем тебя такая схема не устраивает?
Dmitry11 #
08:46
dvolodin: мне нужны все дисковери, но нужна возможность управлять ими
08:46
например, по config changed нету смысла запускать asset_discovery
dvolodin #
08:46
ну не вручную же
08:47
ну может и нет
08:47
он достаточно легковесный
Dmitry11 #
08:47
dvolodin: SA-> Action и SA -> Action command
08:47
Сценарии
08:48
То, о чем я говорю уже два года
dvolodin #
08:48
это тебе чем мешает?
Dmitry11 #
08:49
Почему я не могу задать список скриптов, которые мне нужно запускать ?
filonov #
08:49
dvolodin: значит так. если debug_script запускать с -c- - то в access_profile для скрипта попадает community из access_profile. Если -c- убрать - то коммунити там не будет. Как-то на баг похоже
dvolodin #
08:50
filonov: это не баг а фича
08:50
если в debug-script не указать community, то он будет считать, что его нет
08:50
это для тестирования и по историческим причинам
08:50
-c- -- взять community из базы
filonov #
08:51
dvolodin: ну так с железок uptime тоже не собирается
dvolodin #
08:51
Dmitry11: в Action можно дернуть другой action
Dmitry11 #
08:51
"handlers": [
08:51
"noc.fm.handlers.event.discovery.schedule_discovery",
08:51
"noc.fm.handlers.event.audit.log_config_changed"
08:51
],
PavelGloba #
08:52
У кого-нибудь на eltex портченел есть? У меня в ноке он не отображается
Dmitry11 #
08:53
dvolodin: я вижу прямо противоположное
filonov #
08:54
dvolodin: http://pastebin.com/bMi7RDuz собстно
Dmitry11 #
08:54
dvolodin: Просто ВЕРНИ возможность управлять этими скриптами, так как это было для ивенттриггеров и алармтриггеров
dvolodin #
08:57
Dmitry11: управление этими скриптами нужно в конфиг переносить
filonov #
08:57
dvolodin: такое ощущение что фича с неуказанием коммунити работает не только в debug-script
dvolodin #
08:58
filonov: неправильное ощущение
Dmitry11 #
09:00
dvolodin: я вообще за то, чтобы убрать 90% конфигов
09:00
Все должно управляться из WEB морды
filonov #
09:01
dvolodin: угу. мой косяк. нашел
Dmitry11 #
09:01
что плохого в том, что конечный пользователь сможет управлять выполнением задач ?
danholm #
09:02
так конфиги же можно из веб морды править
Dmitry11 #
09:02
danholm: конфиг sendmail тоже можно править
danholm #
09:03
где он лежит?
filonov #
09:03
dvolodin: но sa->managedobject -> discovery -> uptime discovert пишет No Data
dvolodin #
09:03
filonov: может это из-за профиля
filonov #
09:05
и что не так в профиле?
Dmitry11 #
09:05
danholm: http://lib.ru/SENDMAIL/sendmail_cf.txt
dvolodin #
09:06
filonov: я про auth profile
09:06
Dmitry11: а кто мешает сделать настройки в web-морде
09:06
ты только их формализуй и опиши
filonov #
09:06
очепятку в community я поправил. Скрипт данные забирает. но в discovery их нет
dvolodin #
09:07
голые хотелки как-то тоскливо обсуждать
Dmitry11 #
09:08
dvolodin: http://i.imgur.com/OWaIxSt.png
09:08
pyRule заменить на SA -> Action
dvolodin #
09:08
как оно влияет на настройку schedule_discovery?
09:08
это все не то
09:09
дефолтные handler'ы должны быть
09:09
а если они недостаточно гибки нужны настройки для них
09:09
желательно в профилях объектов и интерфейсов
Dmitry11 #
09:09
Почему эти дефолтные хандлеры не могут быть в этой таблице ?
dvolodin #
09:10
им нечего там делать
09:10
как ты будешь это с repo синхронизировать?
09:10
с ./noc collection --sync
Dmitry11 #
09:10
Должны быть куча уже предустановленных
dvolodin #
09:11
да нет, это все не то
09:11
должны быть настройки в профилях
09:11
check_link, например, есть
09:11
можно добавить настройки, какие методы запускать при смене конфига, скажем
09:11
и через какое время
Dmitry11 #
09:12
тайм серию
09:12
селекторы
danholm #
09:12
Dmitry11, но это же не нок
dvolodin #
09:12
профили тебе вместо селекторов
09:12
а вот время, скорее всего, можно делать в самом managed object'е
09:13
но тогда нужно дорабатывать interval job
09:13
вот и подумай, как
Dmitry11 #
09:13
все уже было в ивенттриггерах
dvolodin #
09:13
вместо IntervalJob нужно что-то вроде ConstrainedIntervalJob
Dmitry11 #
09:13
которые ты поломал
dvolodin #
09:13
не было там этого, не надо
Dmitry11 #
09:13
там были:
dvolodin #
09:13
и триггеры до сих пор работают
09:14
они не для этого совсем нужны
Dmitry11 #
09:14
1 - возможность включать или отключать
09:14
2 - тайм серии
09:14
3 - селекторы
09:15
Я хочу, чтобы сбор конфигов происходил ночью, а опрос портов в рабочее время
09:15
А сбор инвентори - по нажатию кнопки
danholm_ #
09:16
О, срачег, это я удачно заглянул
filonov #
09:19
активаторы стало быть должны от рута работать, чтобы пинговалка работала?
danholm_ #
09:19
Dmitry11, я понимаю, что так себе решение, но можно же минимальный интервал выставить 20 часов
Dmitry11 #
09:20
danholm_: и в самый критический момент эти 20 часов закончатся
09:20
и NOC поломится на коммутатор как раз вто время, как там по консоли сидит админ и чего-то настраивает
filonov #
09:22
Dmitry11: с ssh твоя проблема не решается на этом железе
Dmitry11 #
09:22
filonov: причем здесь ssh ?
filonov #
09:23
при нагрузке на процессор
Dmitry11 #
09:23
смотри ситуацию. На свиче включено протоколирование команд, чтобы можно было посмотреть, кто что менял
09:23
Эти команды сыпятся на консоль
09:24
У нас критическая ситуация. Нужно СРОЧНО перенастроить свич
09:24
Мой напарник зходит на свич, а ему после каждой введенной команды срет на консоль активность NOC'а
danholm_ #
09:24
убери галочку из манаджет
09:25
на время
09:25
или там потрется что-то?
Dmitry11 #
09:26
danholm_: Ты недавно на канале. Вся хуйня была в том, что из-за кривой реализпции джобов, снятие галочки "is managed" никак не влияло на запущенные джобы
09:26
Пришлось тушить весь NOC
danholm_ #
09:26
а, круто
Dmitry11 #
09:26
На несколько дней
filonov #
09:26
а отключить протоколирование команд не проще?
danholm_ #
09:27
ну получается нужно просто починить джобы
filonov #
09:27
danholm_: джобы починить не так просто. они могут вообще на другой машине где-то далеко работать
Dmitry11 #
09:28
filonov: на свиче D-Link DGS-3100-24TG логирование в консоль не отключается
filonov #
09:29
Dmitry11: тикет в длинки, пара ударов ногами местного представителя, и внезапно начинает отключаться
Dmitry11 #
09:31
filonov: не канает. эта серия свича у длинка была экспериментальная, которую они решили сделать на чипсете моторолы. Так как свич получился дешевый, то его очень много народа купило.
danholm_ #
09:32
глупцы)
filonov #
09:33
Dmitry11: и как
09:33
Dmitry11: и как это отменяет возможно попинать длинк ногами?
09:33
на дешевых свитчах у них вообще оч много всего забавного
09:33
1210 вон вообще перехватывали ip-адресс соседнего свитча
Dmitry11 #
09:43
длинк - это частная проблема
PavelGloba #
09:44
А есть какой-нибудь ман, как собирать метрики?
Dmitry11 #
09:44
проблема в том, что джобы работают как захотят, и нет возможности ими управлять
09:45
Возможно в некоторых ситуациях оно и нужно, но для меня это неприемлемо
misak #
09:49
а как можно продебажить почему днс зоны не генерятся после правки адреса в ипам?
Liliya #
10:06
Добрый день! Есть некоторый список vlan, как внести информацию о нем в нок?
danholm_ #
10:08
посоны, самка в чяте)
PavelGloba #
10:10
Liliya, либо руками, либо автодескавери со свичей
filonov #
10:10
Liliya: натравить дискавери на свитчи - вланы сами найдутся
PavelGloba #
10:10
импорта я никакого не вижу, возможно кто-то знает как написать скрипт для этого
Liliya #
10:11
ПРИВЕТИВУК
10:12
А на raisecom и dlinkах как это можно реализовать?
dvolodin #
10:13
Dmitry11: заявление, что job'ы никак не настраиваются слишком уж опрометчивое
10:13
настроек у них вполне хватает
PavelGloba #
10:14
заводишь свичи в нок и включаешь autodiscovery
Liliya #
10:15
в МО они у меня уже есть
filonov #
10:16
Liliya: а для их MO профиля vlan discovery включено?
10:17
dvolodin: я правильно понимаю что активаторы надо запускать от рута, чтобы работала пинговалка?
PavelGloba #
10:18
как-то так должно быть https://i.gyazo.com/7e25e7ed451560db23775dec1602c8a5.png
10:18
и должен быть создан vc domain и указан в профиле
10:18
в мо*
10:20
и в noc.conf должен быть включен vlan discovery
Marina #
10:25
Мальчики, а есть какой-нибудь мануал по настроке метрик? =***
misak #
10:26
а как из базы стереть вручную один интерфейс одного МО?
filonov #
10:27
PavelGloba: оно какое-то оче странное. И работает как ему вздумается
PavelGloba #
10:27
да мне хоть как
Liliya #
10:29
Вот что у меня https://pp.vk.me/c622427/v622427708/4fb8d/ZhCBG8tq0ZU.jpg
PavelGloba #
10:31
в noc.conf включено vlan discovery? Если да. То в SA -> Setup -> Mo Profiles найди профиль для свича. Сними галку с vlan discovery, сохрани и снова поставь и сохрани.
10:32
Профиль то для dlinkа выбран верно?
10:32
Скорее всегол, должен быть Dlink.Dxs
Liliya #
10:33
PavelGloba: Запись в noc.conf : [vlan_discovery] enabled = true save = true change_state =
PavelGloba #
10:33
так и должно быть, ага
Liliya #
10:35
У меня почему то что Run, что Disable неактивные в профиле
filonov #
10:38
Liliya: смотри профиль MO
10:38
SA -> Setup -> Manager object profile
bee26 #
10:39
Liliya: интерфейсы сначала должны найтись
misak #
10:39
dvolodin: привет, у меня зоны перестали обновляться после апдейта адреса, где начать копать?
Liliya #
10:45
на dlinakах еще интерфейсы определяются
10:46
почему на raisecom нет..
10:47
необходим скрпит get_vlans для raisecom?
dvolodin #
10:48
misak: обновляешь адрес, а зона не перестраивается?
10:48
интерфейсы достает get_interfaces
10:48
для Raisecom его нет
danholm_ #
10:49
NOC-1641
Liliya #
10:53
что значит asset_discovery?
misak #
10:54
dvolodin: неа. с 22-го числа прошлого месяца
10:55
это зона менеджмента, туда в день 10-20 записей добавляют/апдейтят
10:56
я сам запись довил TXT, никакого движения
10:56
проверяю через превью
danholm_ #
10:59
>* PavelGloba is now known as Marina
10:59
вот это поворот)
dvolodin #
10:59
оно там появится только после того, как за ним sync придет
10:59
он живой вообще?
misak #
11:00
синк?
11:00
ща проверю, а где - на ДНС сервере или на самом НОК-е?
11:03
оба живы, перезапустил, не обновилось
dvolodin #
11:11
на DNS
filonov #
11:12
А каким образом обновляется Pm->Setup->Metrics? а то оно какой-то своей жизнью живет
misak #
11:12
dvolodin: там вроде все ок
11:13
стер zones.db, перезапустил, все всосало заново
dvolodin #
11:13
изменение не щелкнуло?
11:13
там какой-то расколбас с django'вскими сигналами, похоже
misak #
11:15
хм
11:15
такая хрень
11:15
есть зона management.gnc.am - проблемная
11:16
есть еще sip.management.gnc.am - в логах синка видно, что эту зону он забрал, а management.gnc.am - нет
11:16
может есть такой хост млм еще что
11:16
или
11:16
сейчас посмотрю
Dmitry11 #
11:19
dvolodin: Дим. Я все таки хочу услышать, можно ли надеятся на возможность управления джобами и хандлерами ? Можно ли надеятся на то, что можно будет выбирать, какая информация попадает в IPAM и MACDB ? У меня уже больше года NOC кроме показа списка оборудования в
11:25
Просто чем дальше развивается NOC, тем больше функционала приходится у него отключать.
dvolodin #
11:33
что логично
11:33
еще раз повторю -- придумывай настройки, будем обсуждать
Dmitry11 #
11:34
настройки один в один с настройками eventtrigger
11:34
1 - возможность включать/отключать
11:34
2 - тайм серии
11:34
3 - селекторы
11:35
4. группы нотификации
11:36
5 - action
11:36
это все забить в таблицу/json/mongo/pgsql/куда-нибудь
11:37
чтобы часть этого была в базовой поставке
11:37
как раньше в базовой поставке "из-коробки" были предустановленные ивенттриггеры
11:38
как это будет обзаваться - неважно
11:39
при срабатывании ивента/аларма NOC смотрит в эту "таблицу/json/mongo/pgsql/куда-нибудь", и если находит походящее действие, то выполняет
11:40
эта "таблица/json/mongo/pgsql/куда-нибудь" дорлжна быть доступна через WEB, причем с возможностью редактирования даже предустановленных правил
11:40
Для этого, я уже неоднократно говорил, сделать возможность заполнять базу "значениями по умолчанию"
11:40
не через migrate
dvolodin #
11:42
такого не будет
11:42
мне нужно лопатить примерно 10000 событий в секунду
11:42
только триггеров там не хватало
11:43
ты опять сильно абстрактно
danholm_ #
11:45
я предлагаю соркатить
11:45
2 - тайм серии
11:45
:)
misak #
11:46
dvolodin: удалил sip.management.gnc.am - все равно management.gnc.am не генерится
filonov #
11:48
таки да. таймсерии в MO Profile не помешали бы.
Dmitry11 #
11:48
тайм серии на событие
filonov #
11:49
И как ты себе это представляешь?
Dmitry11 #
11:55
я уже приводил пример
dvolodin #
11:55
в профиле возможно
11:55
но вот вам пример на засыпку
Dmitry11 #
11:56
есть офис, который работает с 8 до 16 с понедельника по пятницу
dvolodin #
11:56
https://bitbucket.org/nocproject/noc/src/de6b6937c7513e335406ecc618f46e0f6ccd36a7/lib/scheduler/intervaljob.py?at=default
Dmitry11 #
11:56
в это время на нужно реагировать на событие link down на определенном порту
11:56
вот и тайм серия
dvolodin #
11:56
нужно доработать get_schedule таким оборазом, чтобы выполнение задачи было ограничено time range
11:57
то есть ему нужно не только прибавить время
Dmitry11 #
11:57
в зависимости от селектора, номера порта и т.п.
dvolodin #
11:57
но и проверить, что оно попало под ограничение
11:57
а если не попало - выбрать правильное
11:58
не обязательно кодом, достаточно на уровне алгоритма
filonov #
11:58
dvolodin: а если по другому? в момент выполнения проверяем - можно ли сейчас выполняться, и если нет - переназначаем на попозже
dvolodin #
11:58
https://bitbucket.org/nocproject/noc/src/de6b6937c7513e335406ecc618f46e0f6ccd36a7/lib/timepattern.py?at=default
11:59
вспомогательная функция - TimePattern().match
Dmitry11 #
11:59
dvolodin: Вот filonov: правильно говорит
11:59
я не понимаю, почему ты игнорируешь селекторы ?
12:00
Нафига они тогда вообще в НОКе ?
filonov #
12:00
Dmitry11: селекторы это вообще совершенно другая сущность
danholm_ #
12:00
кстати, я лично не понимаю нафига они в ноке
Dmitry11 #
12:00
Для ивенттриггеров было удобно
filonov #
12:00
danholm_: в SA -> Group access загляни
Dmitry11 #
12:00
Обозвал селектор "корпоративы", и выполняешь для них какие-то действия
12:01
Теперь, я так понял, мне нужно заводить десяток SA Profile ?
12:01
D-link корпоративы
filonov #
12:01
Dmitry11: как бы да
Dmitry11 #
12:01
Cisco корпораьтивы
12:01
FixGate корпоративы
12:02
Edgecore корпоративы
danholm_ #
12:02
filonov, ого, а это удобно
12:02
Ну вообще разбить по вендорам достаточно разумно имхо
filonov #
12:03
Dmitry11: если они у тебя различаются профилями - то очевидно что соответствующее число профилей придется заводить
danholm_ #
12:03
Господа, простите за флуд, вы не подскажите какой-нибудь ирк клиент под винду с няшными шрифтами из коробки?
Dmitry11 #
12:03
Раньше я мог прицепить несколько селекторов к одному МО
filonov #
12:04
danholm_: не очень. как раз Sa.profile позволяют не делать профиль под каждого вендора
danholm_ #
12:04
так и сейчас можно, разве нет?
filonov #
12:04
danholm_: http://hexchat.github.io/
Dmitry11 #
12:05
danholm_: Дима хочет уйти от селекторов, а все настройки привязать к MO profile
filonov #
12:05
danholm_: ну так о том и речь. Что разбивать по вендорам а не по профилю железок - неразумно
12:06
Dmitry11: все настройки в любом случае привязаны к профилю. Без вариантов. Накладывать туда еще множественные селекторы с исключениями - хороший способ породить неуправляемую кашу
Dmitry11 #
12:07
не удобно к профилю
12:07
накладывает сильные ограничения
12:07
или надо плодить стопиццот профилей
danholm_ #
12:07
filonov, я как раз под этим форком сижу
filonov #
12:07
danholm_: и чем он тебя не устраивает?
danholm_ #
12:08
шрифтами
filonov #
12:08
эээ. В нормальной версии Xchat-а не для винды шрифты вполне настраиваются
Dmitry11 #
12:09
filonov: http://i.imgur.com/L1JxJkC.png
danholm_ #
12:09
Не знаю, посоны, мне каким-то странным решением это виидится. Вот у меня есть вайфай построенный на микротиках, возможно туда затесалось два зукселя, я создаю себе два селектора или один и добавляю низшим существам возможность админить эти устро
12:09
йства
Dmitry11 #
12:09
Правильно
danholm_ #
12:09
селектор мне позволяет не набирать оборудование вручную
12:10
зачем от него уходить, а главное как, я не понимаю
Dmitry11 #
12:10
Я не знаю, зачем от него уходить. Это Дима хочет все в MO Profile засунуть
filonov #
12:10
danholm_: ты вообще не про то
danholm_ #
12:11
ну растолкуй
12:11
олсо у меня, да простит меня математика, винда
Dmitry11 #
12:11
filonov: ты видел настройки ивенттриггеров ?
12:11
Приходит сообщение "link down"
12:12
смотрится селектор "корпоративы"
12:12
смотрится тайм серия "рабочий день"
filonov #
12:12
есть профиль - Wifi. В него входят и суксели, и микротики. Половая разница между ними - проблема sa.profile
Dmitry11 #
12:12
отсылается сообщение офис менеджеру
filonov #
12:13
Dmitry11: ну а проблема в чем?
Dmitry11 #
12:13
а если стоит тайм серия "ночь", то отсылается ночному дежурному
12:13
заметь, я обошелся одним сеоектором
12:13
тебе бы пришлось делать два профиля
12:13
корпоративы день
12:13
и корпораьтивы ночь
12:14
и как ты эти два профиля применишь к односу MO ?
filonov #
12:14
мне бы пришлось делать 2 TimePAttern-а в Notification Group
12:15
Что мешает сделать notify group которая днем шлет менеджеру а вечером дежурному?
Dmitry11 #
12:17
сколько таких notify group ты прицепишь к одному MO ?
12:17
раньше можно было сделать так: упал BGP - шлется чуваку, овечающему за BGP
12:18
отрубилась физика - шлется чуваку, отвечающему за физику
12:18
Пропал свет - шлется сообщение главному инженеру
12:19
Посмотри ивенттриггеры
filonov #
12:20
Dmitry11: Notify group - одна. Time pattern-ы разные
Dmitry11 #
12:20
я выше написал. В зависимости от класса ивента должны сообщения слаться разным людям
12:21
это все реализовано в ивенттриггерах
filonov #
12:21
Dmitry11: ну таки да. реализовано. проблема в чем?
Dmitry11 #
12:22
Проблема в том, что dvolodin удалил все ивенттриггеры, а вместо них сделал хандлеры
12:23
filonov: я пользовался NOC'ом до версии 0.7. Из коробки были доступны куча предустановленных ивенттриггеров
zi_rus #
12:24
Dmitry11: сделай класс config saved
Dmitry11 #
12:24
"до версии 0.7. Из коробки были доступны куча предустановленных ивенттриггеров"
filonov #
12:24
Dmitry11: и что мешает нарисовать Handler?
Dmitry11 #
12:25
filonov: то, что "нарисовать" и "продакшн" отстоят друг от друга на миллионы километров
12:25
повторяю
zi_rus #
12:25
на самом деле вопрос управляемости
Dmitry11 #
12:26
до версии 0.7 это все уже было "из коробки"
zi_rus #
12:26
хендлеры нельзя отключить
Dmitry11 #
12:26
нафига это удалили ?
filonov #
12:26
Dmitry11: это называется "изменения в архитектуре"
zi_rus #
12:26
изменения должны улучшать
12:26
а не деградировать
danholm_ #
12:27
о, zi_rus
12:27
не уходи, бро, сейчас вернусь
zi_rus #
12:27
я-я
Dmitry11 #
12:27
из-за этих изменений мне пришлось отключить FM
filonov #
12:27
zi_rus: их надо писать такими чтобы отключать не требовалось
zi_rus #
12:27
filonov: теоретически да
12:27
а практически
filonov #
12:27
zi_rus: а практически - берешь и рисуешь патч
zi_rus #
12:27
а) не будет никогда в коробке всех триггеров которые нужны
12:27
б) некоторые тригееры что есть могут мешать
12:28
это должно конфигуриться настройками
12:28
а не копанием в коде
Dmitry11 #
12:28
у триггера в web морде есть галочка "Enabled", в отличие от хандлера
danholm_ #
12:29
zi_rus, ты решил проблемы с имейлами?
filonov #
12:29
вы путаете теплое с мягким
zi_rus #
12:29
нет
12:29
у меня и не было такой проблемы
danholm_ #
12:29
была
12:29
а. нет, сори
12:29
я на радостях спутал тебя с e_zombie
filonov #
12:30
danholm_: c xmpp проблем точно нет :)
danholm_ #
12:30
NOC-1641 надеюсь володин сегодня ответит что-нибудь
Dmitry11 #
12:30
(15:25:01) filonov: zi_rus: а практически - берешь и рисуешь патч
danholm_ #
12:30
в принципе я так понял можно заменить все это дело на sendmail, для этого надо что-то написать в comment но что написать?
Dmitry11 #
12:31
представь себе, сидит девочка диспетчер,
danholm_ #
12:31
девочка это хорошо
Dmitry11 #
12:31
ты ей предлагаешь писать патчи ?
12:31
Или рядом с ней нужно садить программиста на питоне ?
filonov #
12:32
Задача очевидно решается написанием кода. Ergo програмизда придется куда-то сажать палюбому. Можно рядом с девочкой, можно рядом с Володиным. Это уж кому как удобнее
danholm_ #
12:33
filonov, как в хексчат сглаживание шрифтов включить?
Dmitry11 #
12:33
зачем ?
12:33
danholm_: поставь pidgin
filonov #
12:33
danholm_: откуда мне знать? я винду с рабочего места еще в прошлом веке убрал
Dmitry11 #
12:33
filonov: (15:23:21) Dmitry: до версии 0.7 это все уже было "из коробки"
filonov #
12:34
Dmitry11: в 0.7 не было handler-ов
Dmitry11 #
12:34
были ивенттриггеры
filonov #
12:34
<filonov> Dmitry11: это называется "изменения в архитектуре"
danholm_ #
12:35
filonov, повезло тебе
Dmitry11 #
12:35
которые ведут к деградации проекта
danholm_ #
12:35
мне бы такю работу, чтобы убрать, хех
filonov #
12:35
Это неочевидно
Dmitry11 #
12:35
Очевидно. Я советовал нескольким своим знакомым в IT сфере поставить NOC.
12:36
В результате почти все перешли на "The Dude", где по событию можно прицепить скрипт
12:36
FM была одной из силтьнейших сторон NOC
12:37
Но когда вместо скриптов, которыми можно было управлять, начали вызываться неуправляемые хандлеры - настала жопа
filonov #
12:38
Dmitry11: еще раз. Неуправляемые хандлеры можно сделать управляемыми. Это может сделать володин, либо кто-то кому это надо больше чем ему.
12:39
" где по событию можно прицепить скрипт" - собстно это и есть handler
12:40
А вот корежить MO Profile только потому, что тебя не устраивают handler-ы которые _сейчам_ идут "из коробки" -
12:40
это клиника
Dmitry11 #
12:43
filonov: корежить MO Profile предложил dvolodin
filonov #
12:44
единственный способ изменить профиль объекта - это изменить профиль объекта
Dmitry11 #
12:46
зачем менять профиль объекта ?
filonov #
12:46
Dmitry11: потому что ты хочешь объекты с разными профилями поведения
Dmitry11 #
12:47
не объекты, а селекторы.
12:47
Это было дл версии 0.7
filonov #
12:47
Dmitry11: селекторы не влияют на поведение объекта. Ваш К.О.
Dmitry11 #
12:47
что значит "поведение объекта" ?
12:48
Пришел ивент "PIM neighbor down"
12:48
Какое отношение имеет объект к этому ?
12:49
Хандлеры приходят из FM
12:49
и от этого "плясать" нужно
dvolodin #
12:50
все групповые настройки - в профилях
12:50
селектор -- это просто способ отобрать группу объектов
Dmitry11 #
12:50
Как я в MO профиле укажу, что если пришло сообщение про PIM, то надо уведомить чувака, отвечающего за IPTV
dvolodin #
12:50
нахождение или ненахождение объекта в селекторе не должно влиять на его поведение
Dmitry11 #
12:51
dvolodin: Как я в MO профиле укажу, что если пришло сообщение про PIM, то надо уведомить чувака, отвечающего за IPTV ?
dvolodin #
12:51
у гопника профиль - гопник
12:51
и ведет он себя как гопник
12:51
от того, что дуся с базара считает его любителем семечек, а бабка Прасковья - хорошим зайчиком
filonov #
12:51
Dmitry11: дай угадаю - ты не програмист?
dvolodin #
12:51
он не перестанет себя вести как гопник
12:52
а если завтра он станет депутатом и заведет профиль депутат, он не разлюбит семечки и его не разлюбит Прасковья
Dmitry11 #
12:52
dvolodin: Дим, раньше в ивенттриггерах это можно было сделать. Сейчас в хандлерах - нельзя.
dvolodin #
12:52
у тебя остались триггеры
12:53
их никто не отнемал
12:53
отнимал
Dmitry11 #
12:54
как мне перенести хандлеры "Audit", "Discovery", "Link Down" в триггеры ?
dvolodin #
12:54
если тебя не устраивает поведение handler'ов из коробки - давай предложение по конфигурированию
Dmitry11 #
12:54
предложение - перенести их в триггеры
12:54
как было раньше
dvolodin #
12:54
неправильное предложение
12:54
считай, что его забраковали
12:54
нужно другое
Dmitry11 #
12:55
давай по порядку.
12:55
триггеры существуют
12:55
и при классификации ивента все равно ведь смотрит базу триггеров ?
dvolodin #
12:56
https://www.evernote.com/l/ADklGQ502s5JsZNYTFRIDPzQrIodYhTPsjE
12:57
вот пример предложения в проработке
filonov #
12:58
dvolodin: а был жалобы что probe регулярно падает?
Dmitry11 #
12:59
dvolodin: ведь все равно ведь смотрит триггеры ?
12:59
(14:40:00) dvolodin: мне нужно лопатить примерно 10000 событий в секунду
12:59
(14:40:07) dvolodin: только триггеров там не хватало
13:00
дай ответ, при классификации ивента оно лезет в базу триггеров, или нет ?
filonov #
13:01
Dmitry11: 10К раз в базу лазить чревато
Dmitry11 #
13:02
меня интересуйт, как сейчас оно работает
filonov #
13:03
dvolodin: http://pastebin.com/8LnRDnX3 probe валится через произвольные промежутки времени. В логах debug-уровня ничего криминального нету
Dmitry11 #
13:06
dvolodin: Дим, если сейчас оно у тебя 10K раз в секунду лезет в базу триггеров, то что тебе не нравится в идее перенести хандлеры в эту базу ?
filonov #
13:06
Dmitry11: на 10К запросов к базе - база помрет
Dmitry11 #
13:07
filonov: так сейчас оно и лазит туда 10k в секунду. И не помирает
filonov #
13:07
Dmitry11: не лазит
Dmitry11 #
13:07
т.е. триггеры унас не работают ?
13:08
(15:50:16) dvolodin: у тебя остались триггеры
13:08
(15:50:22) dvolodin: их никто не отнемал
13:08
(15:50:25) dvolodin: отнимал
filonov #
13:08
Ты путаеш 10К ивентов и 10К запросов к базе
Dmitry11 #
13:09
filonov: только что выше dvolodin утверждал, что при классификации ивента NOC лезет в базу триггеров
13:10
соответсвенно: 10k ивентов - 10k обращений к базе триггеров
filonov #
13:11
Насколько я понимаю handler-ы как раз и появились когда база начала умирать
Dmitry11 #
13:11
я не знаю, откуда появились хандлеры.
13:12
обсуждение целесообразности замены триггеров на хондлеры я пропустил
13:13
а на вопрос "чем хандлеры лучше триггеров", мне отвечают "лучше чем"
filonov #
13:13
Dmitry11: програмисты - очень ленивые существа. Если что-то было сделано - на это были причины
Liliya #
13:18
есть ли в ноке возможность парсить конфиги на наличие определенных строк? у нас в сети множество коммутаторов, хотим навесить на них acl.
Dmitry11 #
13:18
Liliya: есть
Liliya #
13:19
как это реализовать?
13:19
кофиги у меня в ноке уже есть
Dmitry11 #
13:20
В CM -> Setup -> Validation Rules
filonov #
13:20
Liliya: что надо от конфигов? просто определить у каких есть определенные строки?
Dmitry11 #
13:20
Только как и все у нас в NOC - там нету ни одного примера
13:20
Поэтому, что там писать, никто кроме пары человек во всем мире, не знает
Liliya #
13:21
acl ки хотим применить ко всем...то есть, если на коммутаторе нет acl, то нок должен отправлять команды на коммутатор
zi_rus #
13:22
уууу
13:22
я бы не стал так делать
13:22
может и можно нок засатвить
13:22
но я бы не стал
filonov #
13:23
нок заставить можно. но я бы тоже не стал
abyrvalg #
13:25
zi_rus, filonov - почему?
filonov #
13:26
abyrvalg: ACL-ки штука тонкая. Надо быть уверенным что применяемые ацл оный коммутатор не положат тем или иным способом
abyrvalg #
13:27
А, ну т.е. нока это не касается.
filonov #
13:28
abyrvalg: угу. Это вопрос здоровой админской паранойи.
Liliya #
13:28
а если так, то какое решение вы предлагаете?
zi_rus #
13:28
сниппеты есть
Liliya #
13:28
как можон автоматизировать этот процесс?
zi_rus #
13:29
пишешь скрипт
13:29
даже просто набор команд
13:29
выбираешь селектор
13:29
и отправляешь на исполнение
13:29
руками
13:30
нок может провалидировать конфиги и сказать где не хватает
Liliya #
13:30
zi rus: а как это сделать?
zi_rus #
13:30
но запуск прописывания ацл надо делать руками
Liliya #
13:30
как нок провалидирует?
filonov #
13:31
Liliya: SA->Tasks->Run commands
zi_rus #
13:32
не
13:32
мы о чем
13:32
о прописывании или валидации?
13:32
провалидировать можно
13:32
но это геморно
Liliya #
13:32
валидация
zi_rus #
13:32
dvolodin запилил новую валидацию, там черт ногу сломит
13:32
ему надо мозги подолбать
13:32
может он хоть дооку тогда напишет
13:33
а я не умею
Liliya #
13:33
selector предварительно надо создать?
zi_rus #
13:33
ну или иди в конфиг менеджмент и методом тыка разберись
Liliya #
13:35
http://cs622427.vk.me/v622427708/4fd6c/HLCZYSxQmVI.jpg
filonov #
13:36
Liliya: селекторов нету
danholm_ #
13:37
>но
13:37
> но запуск прописывания ацл надо делать рукам
13:37
обоснуй
13:37
я как раз попрактиковаться на ацл хотел. как бы странно не звучало zi_rus
bee26 #
13:52
а поподробнее можно про CM -> Setup -> Validation Rules. ничего не понял
Dmitry11 #
13:55
bee26: Про это никто кроме dvolodin'а не знает
13:55
Я подозреваю, что где-то у него это работает. Так же, как и пробы и метрики из PM
filonov #
13:56
Dmitry11: метрики работают. Иногда
13:56
некоторые
Dmitry11 #
13:57
я пару дней повозился с метриками, после этого поставил cacti. работает всегда
Liliya #
13:57
Вот допустим создала я что то вроде http://cs622427.vk.me/v622427708/4fd73/o9P3i1ZOqdM.jpg. Как заставить это работать к конкретным моделям? или это не так делается? помогите пожалуйста.
bee26 #
14:01
мы сами не знаем. обращайся напрямую к володину
filonov #
14:01
Набор Validation Rules объединяется в Validation Policy и цепляется к объекту
bee26 #
14:02
селектор надо создать в sa-setup-selector
filonov #
14:02
а вот дальше там все сложно
bee26 #
14:02
filonov:на объект не цепляется. в полисере в селекторе цепляет
dvolodin #
14:03
п потом policy цепляется к железки или к профилю
14:03
селектор позволяет включать/выключать отдельные правила в конфиге
bee26 #
14:03
дык в темплете надо указать текст нужной конфиги?
dvolodin #
14:04
да
bee26 #
14:04
а оповещение куда?
filonov #
14:06
dvolodin: а как валидатор запускается?
Dmitry11 #
14:08
(15:56:41) Dmitry: dvolodin: ведь все равно ведь смотрит триггеры ?
14:08
(15:56:49) Dmitry: (14:40:00) dvolodin: мне нужно лопатить примерно 10000 событий в секунду
14:08
(15:56:49) Dmitry: (14:40:07) dvolodin: только триггеров там не хватало
14:08
(15:57:19) Dmitry: дай ответ, при классификации ивента оно лезет в базу триггеров, или нет ?
dvolodin #
14:08
нет, не лезет, пока нет триггеров
filonov #
14:11
dvolodin: NOC-1670 подскажи куда смотреть
Dmitry11 #
14:17
dvolodin: rкакой-то флажок есть, отвечающий за то, есть ли в базе триггеров записи ?
dvolodin #
14:20
классификатор при загрузке проверяет
Dmitry11 #
14:20
т.е. если я в рабочем NOC добавлю триггер, классификатор его не увидит ? Только перегружать NOC нужно ?
14:23
dvolodin: партизан, не молчи. Как я могу что-то предложить, если не знаю, как оно сейчас работает ?
dvolodin #
14:34
hup классификатору
14:34
и он перечитает
14:34
по крайней мере - в default
14:35
в microservices сам перечитает
Dmitry11 #
14:35
т.е. классификатор читает базу триггеров только при старте. потом хранит ее в памяти ?
dvolodin #
14:35
да
14:36
проверка попадания под селектор - это запрос в базу
filonov #
14:37
dvolodin: я таки понял почему падает probe
Dmitry11 #
14:38
dvolodin: селекторы - это потом
14:38
мы можем прямо в памяти, не лазя в базу, смотреть, попадает ли триггер под имя ивента ?
dvolodin #
14:39
нет
14:39
у тебя там селектор
14:39
filonov: из-за чего?
Dmitry11 #
14:40
dvolodin: мы можем смотреть, совпадает ли название ивента с нужным нам до того, как проверяем селектор ?
filonov #
14:40
dvolodin: создал в Metric Config сначала одну метрику. Она появилась в Metrics. Создал вторую. Она не появилась. И пока я ее не удалил - probe падал
dvolodin #
14:43
при конфигурации?
14:43
Dmitry11: оно так и делает
bee26 #
14:43
от валидации где оповещение вылезет (нок из коробки)?
filonov #
14:44
dvolodin: нет, конфигурацию он подхватывал. Потом в произвольный момент падал. От 2 секунд до 15 минут до падения
Dmitry11 #
14:44
dvolodin: вот. получается. что лезет в базу при следующих условиях "active" и "совпадение названия ивента"
14:45
как еще можно уменьшить вероятность того, что классификатор полезет в базу ?
dvolodin #
14:45
Dmitry11: она и так минимальна
14:45
ровно пока ты не начнешь крутить селекторы
14:45
а это как раз то, что ты хочешь
Dmitry11 #
14:45
давай думать.
dvolodin #
14:46
ты не в ту сторону думаешь
Dmitry11 #
14:46
как можно победить селекторы
dvolodin #
14:46
:)
Dmitry11 #
14:46
а в какую ?
14:46
Есть уже готовый механизм. Но ты не можешь назвать причины, по которым он тебя не устраивает
dvolodin #
14:47
есть уже готовый механизм который всех устраивает
14:47
кроме тебя
14:48
https://www.evernote.com/l/ADklGQ502s5JsZNYTFRIDPzQrIodYhTPsjE
14:48
как вам идея
14:48
суть такая
14:48
сейчас link discovery перелинковывает линк, если он не совпадает
14:48
нужно сделать процесс более гибким
14:49
хочу в профиль интерфейса добавить политику линковки discovery
14:49
игнорировать линки, линковать только если нет линка, перелинковывать, собирать облако
bee26 #
14:50
давно надо было. ато по cdp сиськи постоянно перестраивают топологию
abyrvalg #
14:50
Тоже заебала эта херня.
dvolodin #
14:51
может быть, там еще надо как-то выключать определенные методы discovery для интерфейсов?
abyrvalg #
14:52
Было тут предложение убивать линки только тем способом, которым они были созданы.
Dmitry11 #
14:52
dvolodin: нету гибкости. гибкость есть у триггеров. но триггеры лезут в базу в случае селекторов
abyrvalg #
14:52
Чтоб stp, например, не убивал линки, построенные по cdp.
bee26 #
14:53
l1-l2-l3 итд
14:53
хотя все оно l2
dvolodin #
14:53
тогда нужна еще одна политика
14:53
перебивать только при совпадении методов
Dmitry11 #
14:53
dvolodin: значит нужно придумать механизм, по которому триггеры не лезут в базу. Или лезут в самом крайнем случае
dvolodin #
14:54
dvolodin: нужен механизм конфигурирования дефолтных handler'ов
14:54
если не хватает имеющихся
Dmitry11 #
14:55
dvolodin: смотри, если бы в триггерах не использовались селекторы, можно было бы хандлеры в них поместить ?
14:56
если триггер лезет в базу только в случае селектора, то вполне можно туда засунуть хандлер, и не указывать селектор
14:56
а тот, кто привяжет к триггеру селектор - ССЗБ
14:57
Дать пользователю возможность выстрелить в ногу
dvolodin #
15:00
хотя, более правильно, вводить ранжировку методов
abyrvalg #
15:00
Выстрелить в ногу? ОМГ, да тут сначала надо выточить из куска металла пистолет и сделать патрон. До выстрела в ногу еще дойти надо.
Dmitry11 #
15:01
dvolodin: если поля "тайм паттерн" и "селектор" в триггере пустые, он точно не лезет в базу ?
15:02
чем тогда триггер с пустыми полями "тайм паттерн" и "селектор" отличается от хандлера ?
dvolodin #
15:03
тем, что handler в памяти, а у триггера логика в pyrule
15:03
который, тадам, в базе
15:03
:)
Dmitry11 #
15:03
о, мы подошли к еще одним граблям
15:04
здесь:
15:04
"handlers": [
15:04
"noc.fm.handlers.event.discovery.schedule_discovery",
15:04
"noc.fm.handlers.event.audit.log_config_changed"
15:04
],
15:04
что находится в памяти ?
15:04
сами питоновские скрипты ?
dvolodin #
15:04
нет
Dmitry11 #
15:05
а что ?
dvolodin #
15:05
они скомпилированы при загрузки
15:05
в памяти - байткод
15:05
их код ничем не отличается от кода классификатора
Dmitry11 #
15:05
а pyrule не скрмпилированы ?
dvolodin #
15:05
pyrule - нет
Dmitry11 #
15:05
а "action"
dvolodin #
15:05
их нужно дернуть из базы, скомпилировать
15:06
action это вообще вызов скрипта commands
Dmitry11 #
15:06
почему ?
15:06
это может быть любой скрипт
dvolodin #
15:06
что "почему"?
Dmitry11 #
15:06
почему именно вызов скрипта "commands" ?
dvolodin #
15:06
это просто шаблон, который разворачивается в команды
15:07
которые выполняются на железке
Dmitry11 #
15:07
почему "action" не может выполнять
15:07
def drop_event(event):
15:07
event.drop()
15:08
или
15:08
def refresh_config(event):
15:08
# Check managed object is managed
15:08
if not event.managed_object.is_managed:
15:08
return
15:08
event.managed_object.run_discovery(DELAY)
dvolodin #
15:08
потому что он не для того нужен
15:09
а, например, для настройки порта при подключении
15:09
или для включения/отключения мультикаста
Dmitry11 #
15:09
ты сам в это веришь ?
15:10
смотри ситуауию, пришел ивент "link down"
dvolodin #
15:10
короче, для решения задачи -- "для выполнения действия запустить команды"
Dmitry11 #
15:10
выполнился хандлер "проверка линка"
dvolodin #
15:10
это для ordering
Dmitry11 #
15:10
запустился action "ping"
15:10
запустился триггер "link down" (если есть триггер)
15:11
зачем делать три сущности ?
15:12
ты так и не ответил, почему триггер не может запустить уже скомпилированный код ?
dvolodin #
15:12
Dmitry11: как ты про него узнаешь?
Dmitry11 #
15:12
о!
15:12
вот продвинулись еще на шажок
dvolodin #
15:13
я не знаю куда ты двигаешься
Dmitry11 #
15:13
нужно сделать таблицу, где показывать все возможные "скомпилированные" скрипты, которые мы можем запускать
15:13
мне нравится таблица "action"
15:14
там есть: название скрипта, его описание, признак того, что он "встроенный"
15:15
кстати, мы в эту таблицу вполне можем засунуть pyrule, просто снять флажок "встроенный"
dvolodin #
15:17
а зачем, если проще загрузить код как питоновский модуль
Dmitry11 #
15:17
(18:14:37) dvolodin: а зачем, если проще загрузить код как питоновский модуль - это ты про пируле ?
dvolodin #
15:17
про handler
Dmitry11 #
15:18
так "скомпилированные" action мы так тоже грузить можем
dvolodin #
15:19
попробуй :)
15:19
результат расскажешь
Dmitry11 #
15:19
я не шарю в питоне
15:19
я тебе предлагаю варианты, а ты от них отказываешься
dvolodin #
15:19
ты предлагаешь варианты, которые я смотрел
Dmitry11 #
15:20
У нас уже есть готовые питоновские модули. Мы их можем показывать в "action" как "Builtin"
dvolodin #
15:20
не можем
15:20
что именно показывать?
Dmitry11 #
15:21
Name: "drop_event"
15:21
Descrition: "Delete event"
15:21
код: noc.solutions.noc.default.pyrules.drop_event.drop_event
15:22
код показывать "только для чтения"
dvolodin #
15:22
как ты узнаешь, что он вообще есть?
Dmitry11 #
15:22
будет предлагаться к выбору в триггере
15:22
параллельно с пируле
15:23
т.е. оставляем поле пируле пустым
dvolodin #
15:23
как будет формироваться этот выбор для триггера
Dmitry11 #
15:23
не понял вопроса
dvolodin #
15:23
тебе нужно построить список для выбора
15:23
как ты будешь его строить
Dmitry11 #
15:23
а
dvolodin #
15:23
в NOC'а сотни тысяч callable
15:23
все показать?
Dmitry11 #
15:24
список SA -> Setup -> Action
dvolodin #
15:24
и что там?
15:25
откуда там что-то возъмется
Dmitry11 #
15:25
добавим предустановленные скрипты
dvolodin #
15:26
откуда?
15:27
ты описываешь handler'ы
15:27
:)
15:27
далее ты под эти скрипты положишь в репо питоновские модули
15:27
и, чтобы не мараться с лишними сущностями просто будешь указывать полный путь к callable
15:28
в формате <модуль>.<имя>
15:28
и получишь handler'ы
15:28
:)
Dmitry11 #
15:28
да
15:28
но
15:29
они будут вызываться из ивенттриггеров, где, если не указывать селектор, нет работы с базой
dvolodin #
15:29
и зачем?
Dmitry11 #
15:29
и их можно будет по крафней мере отключать
dvolodin #
15:29
а дальше я решу, что этот handler больше не нужен и уберу его
15:29
где окажется твой триггер?
Dmitry11 #
15:30
я выше писал
15:30
нужна команда, которая восстанавливает базу до "начального состояния"
dvolodin #
15:30
не поможет это тебе
15:30
а вот это мне уже нафиг не нужно
15:31
когда у тебя одна инсталляция - ты еще будешь ковыряться
15:31
а когда их много - нафиг все эти триггеры
Dmitry11 #
15:32
конечный пользователь сможет управлять поведением FM
15:32
По умолчанию поведение будет со всеми "включенными" action
15:33
т.е. в триггерах не будет ограничения на тайм серии и селекторы
15:33
НО, нужно дать конечному пользователю управлять этим
dvolodin #
15:34
он и так может им управлять
Dmitry11 #
15:34
Я не могу управлять хандлерами
15:34
А триггерами - могу
dvolodin #
15:34
их не надо включать или отключать
15:34
их надо делать настраиваемыми
15:34
вот и все
Dmitry11 #
15:35
dvolodin: Дим. Сейчас у нес два или три хандлера. И уже доставляют неудобства такого уровня, что пришлось на всех железках вырубить syslog
15:36
А если будет несколько десятков ? Со сценариями ?
dvolodin #
15:37
дело не в handler'ах, а в настройке системы
15:38
это внутренняя кухня, про которую юзер даже не знает
Dmitry11 #
15:38
чем тебя не устраивают настройки триггеров ?
dvolodin #
15:38
тем, что там нет настроек
15:38
вот смотри
15:38
пришел config changed
Dmitry11 #
15:38
Скопируй один в один, только вместо пируле запускай хандлеры
dvolodin #
15:38
лажа это
Dmitry11 #
15:39
Да. Пришел конфиг ченжед
15:39
Если это у меня "большая циска", то я тут же забрал коныиг
15:39
конфиг
dvolodin #
15:40
юзеру интереснее сказать, что для коммутаторов доступа нужно через 10 минут перечитать конфиг
Dmitry11 #
15:40
Если это у меня "дохлый свич", то я забрал с него конфиг ночью
dvolodin #
15:40
а для ядра - перезапустить discovery
15:40
через 3 минуты
15:40
вот такие настройки и нужны
15:41
а для cpe'шек - поменялся конфиг, ну и пес с ним
Dmitry11 #
15:41
"Ядро" от "доступа" - это селекторы ?
15:41
мы пришли к тому, с чего начали ?
dvolodin #
15:42
это профили
15:42
еще раз
Dmitry11 #
15:42
профиль чего ?
15:42
MO ?
dvolodin #
15:42
гопник ведет себя как гопник, потому что профиль у него гопник
15:43
а не потому, что семечки любит
15:43
да, mo profile
15:43
как единое место для групповой настройки поведения объектоы
15:43
логика понятна?
15:44
поэтому тебе и вопрос -- как могут выглядеть дополнительные настройки профиля, которые handler может подхватить
Dmitry11 #
15:44
15:47:55) Dmitry: Как я в MO профиле укажу, что если пришло сообщение про PIM, то надо уведомить чувака, отвечающего за IPTV
dvolodin #
15:45
которые дадут тот результат, который подойдет и тебе
15:45
Dmitry11: это твой локальный функционал, event trigger тут
15:45
логика работы NOC'а не меняется
15:45
может в будущем будут какие-то схемы эскалации
danholm_ #
15:45
я весь день как не посмотрю в чят, вы все сретесь)
dvolodin #
15:45
опять же, чтобы настраивать маршруты уведомления
15:46
а не селекторы мышкой возить
Dmitry11 #
15:46
Да. Только для каждого MO профиля будет свой набор ивенттриггеров с "вырезанным" селектором.
dvolodin #
15:46
ты поднимайся на более высокий уровень настроек
15:46
не будет
15:46
зачем
Dmitry11 #
15:46
а как ?
dvolodin #
15:46
тебе не нравится перезапуск discovery
15:47
вот им и надо управлять
15:47
ладно, я домой
Dmitry11 #
15:47
мне нужно, чтобы в зависимости от профиля железки, NOC по разному реагировал на одни и те же ивенты
danholm_ #
15:47
зря он домой пошел
Dmitry11 #
15:47
блин
15:47
Дима живет в каком-то вируальном мире
danholm_ #
15:48
ну справедливости ради вы ходите по кругу :)
Dmitry11 #
15:48
где у него нету ни доступа, ни распределения, ни агграгации, а круном один core-level
15:50
а на портах нету такого понятия, как дуплекс, котроль потока, mdi/mdix, коллизии
15:51
когда техподдержку 90% занимает проблема не о том, красиво ли построена топология, а звонки абонентов с воплями "фиговый интернет"
15:52
упал линк
15:54
вместо того, чтобы узнать, оптический ли, и показать техподдержке красивый вывод команды get_dom_status
15:54
давайте мы будем долбить постоянно свич командой get_interface_status , вдруг это поможет
15:55
я пасую перед такой логикой
dvolodin #
21:05
чем споры разводить, лучше помогли бы с микросервисами
21:05
глядишь и до настроек handler'ов руки дойдут
21:06
у меня заработали пробы на сервисах, уже хорошо
ufir #
21:52
жуниперы лучше б починил
Tweet
Share this page
Share this page: Tweet