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: 28.05.2014
TSergey #
03:26
lexus-omsk: накатил патч, работает поиск по address, по description и это просто чудесно
lexus-omsk #
03:27
Вот так вот и живём, с кучей локальных патчей под свои нужды... сейчас обновлюсь, станет одним меньше
TSergey #
03:31
слушай, я а как-то стеснялся спросить, а разработчиков, кроме dvolodin нет? путь только такой, что начинаешь как работают скрипты и после этого только можно что-то править? сейчас про lld_discovery для длинков можно просить только у него?
03:32
*начинаешь разбираться
lexus-omsk #
03:59
в теории несколько человек могут коммитить, но им тоже разбираться придётся, если они на другом специализировались раньше
e_zombie #
04:59
кому там мой дух нужен был?
TSergey #
05:00
если ты тот, кто может поправить lldp_discovery, то мне :)
e_zombie #
05:00
изыди шайтанская морда
05:00
что же ты о обо мне так плохо
IRevent #
05:01
2014-05-28 11:02:15,513 Late answer for map task 5823634 is ignored
05:01
что бы это значило?
e_zombie #
05:01
походу процесс завершился позднее таймаута и результат проигнорирован
IRevent #
05:02
но о завершении процесса sae не говорит
05:02
2014-05-28 11:00:11,980 MRT task=5823634/5823634 object=1.1.59.57(1.1.59.57) script=Zyxel.ZyNOS.get_interfaces status=running
05:02
2014-05-28 11:02:15,513 Late answer for map task 5823634 is ignored
05:02
как то не логично
e_zombie #
05:03
и такое бывает. будет володин - поговори с ним. он тебе даст чуточку просветления.
IRevent #
05:06
у меня очень много cancelled опять как бороться то с ними
e_zombie #
05:07
смотри что падает. что не авторизуется. пиши багрепорты.
IRevent #
05:08
ничего не падает дело в том что
e_zombie #
05:18
ты уверен?
05:18
возможно у тебя скрипты отваливаются по таймауту изза кривизны.
05:19
как в модельке прописывать 60 вольтовое питание? 60V DC ? или как
zi_home #
05:22
нет
05:22
там есть стандартные значения
05:23
-48
e_zombie #
05:23
http://bt.nocproject.org/browse/INV-29?filter=-2 поправь тога
zi_home #
05:24
e_zombie, лучше сделай сразу по нормальному. в ME3400-TS-D прописано как DC указывать
e_zombie #
05:26
чёто там фигня
05:26
>-48VDC,>+24VDC
zi_home #
05:27
там универсальный блок, и так и так питается
TSergey #
05:27
научите как такое исправить http://pastebin.com/i6MxyYeX
zi_home #
05:27
укажи одно если твой так не может
e_zombie #
05:28
Input Voltage RangeDC -40.5 - -56/-55 - -72 V
zi_home #
05:29
ну значит -48
05:29
есть еще второй диапазон, интерпрайзнай
e_zombie #
05:29
http://www.ebay.com/itm/Cisco-PWR-400W-DC-400W-DC-PS-for-ME6524-Switches-/271266109797
05:29
а разьём какой туда лепить?
zi_home #
05:30
это сложный вопрос
05:32
я никакого не делаю
e_zombie #
05:36
это очень похоже на Power | m6 stub
05:37
Cisco | 7600 | PWR-6000-DC
zi_home #
05:38
может быть
05:38
но
05:38
кому нахер эти винты нужны
e_zombie #
05:39
ну они есть и их надо добавлять в модель.
zi_home #
05:43
если делать нехер то можно
05:43
не всегда просто на железке винты именно м6
05:44
на asr9010 на питающем модуле в два ряда несколько десятков не просто винтов а этих стабов, ну кому они нужны, в модели винтов будет больше чем портов
05:44
представляешь, открываешь инветори железки а там
05:45
плата 1 и 36 портов, плата 2 и 36 портов и еще 40 винтов
05:45
не инвентори а обосраться можно
e_zombie #
05:49
а с другой стороны если у тебя есть адовая упс управляемая и ты собираешься скрестить её с модельками чтобы построить православную схему питания то тебя ждёт аблом.
zi_home #
05:50
система питания это красиво, но причем тут но
05:50
*нок
e_zombie #
05:51
а зачем в неё пихать кабельное хозяйство?
zi_home #
05:51
это другой вопрос
05:51
на самом деле с кабельным хозяством обрывы можно отслеживать
05:52
а питание это проблема энергетиков
05:52
это они должны отслеживать что и куда у них подключено и свой фм
e_zombie #
05:52
ха. они тебе отследят до упс. а дальше никто следить не будет.
zi_home #
05:53
и хватит
05:53
они знают подключенную нагрузку и мощность упса
05:53
и этого достаточно
e_zombie #
05:53
и если у тебя на одном из блоков питалова пропадёт напруга или ошибка искать куда это включено будет та ещё веселуха.
zi_home #
05:53
тебе это нахер не надо
05:53
ты сдаешь проблему энергетикам
05:53
нет питания на вводе
05:54
а энергетик сам управляет упсами и следит за снмп трапами от упсов по пропаданию питания
05:55
и сам подписывает дескрипшены, что куда воткнули
05:55
но это в идеальном мире
e_zombie #
05:55
вот я о том же. что в идеальном.
zi_home #
05:55
ну так не надо потакать
e_zombie #
05:55
поэтому я считаю что информация лишней не бывает.
05:56
потому что потом это очень хороший факт по прикрытию своей жопы
zi_home #
05:56
e_zombie, а ты не заебешься линковать питалово с портами эпу и ибп
05:56
а вот на днях у нас готовится замена эпу на нескольких крупных узлах
e_zombie #
05:56
пока такой проблемы не было. у нас ваще запрет на подключения оборудования к упс.
zi_home #
05:56
а это значит придется перелинковать
05:57
все
e_zombie #
05:57
жопа
zi_home #
05:57
то есть один большой геморой
_4ePTeHok #
05:57
"у нас ваще запрет на подключения оборудования к упс."
05:57
это клева
05:57
а куда не запрещено?)
e_zombie #
05:57
_4ePTeHok: но на него кладут уй.
05:57
и включают. когда не хваает розеток.
zi_home #
05:57
работаете хорошо вопреки
_4ePTeHok #
05:58
проверили работу set-managed\set unmanaged через action?
e_zombie #
05:58
на днях у нас народ адсль модемы подключчал к батареям 12в на прямую. потому что надо было сдать объект а питалово туда не завели.
zi_home #
05:58
_4ePTeHok, когда возникает подоный вопрос, появляется мысль, что эта фича нахуй никому не упала
_4ePTeHok #
05:58
гг
05:59
странное дело
05:59
групповые операции - это важно
zi_home #
05:59
да, но как видишь
05:59
или молча пользуются или молча не пользуются
_4ePTeHok #
05:59
ибо при косяке можно много чего запороть)
05:59
да просто не увидели может
05:59
=)
06:00
не так много лазит в ту менюшку
zi_home #
06:00
не увидеть можно если не пользуешься
06:00
да ладно
06:00
выпадающий список хоть на весь экран
06:00
тогда правда нужно будет поиск по списку приделать :)
_4ePTeHok #
06:00
проще категории добавить
zi_home #
06:01
не проще
_4ePTeHok #
06:01
или вообще по кнопкам на панели разкидать
zi_home #
06:01
категории могут оказаться неочевидными
06:01
вот Володин пришел и ушел, а я его про пинговалку спросить хотел
06:01
e_zombie, у тебя нок пингует?
_4ePTeHok #
06:01
да
06:01
пингует
06:01
а чо не так?
zi_home #
06:02
стоит период 60 сек
06:02
но нок последние пару дней..
06:02
ооо
_4ePTeHok #
06:02
призвал
e_zombie #
06:02
вроде должен. но так как у меня сломан Аларм изза того что при инсталяции не проверяются все необходимые записи в БД то я не вижу что там падает или поднимается.
zi_home #
06:03
dvolodin, слушай, у нока стоит пениод, пинговать раз в минуту, а последние пару дней алармы приходят через 3-4 минуты после отвала железки (линк даун сначала приходит, а пинг только спустя время)
06:03
мне кажется шедулер уж больно сильно разбрасывает проверки по времени
_4ePTeHok #
06:03
может у тебя пул активаторов забит?
06:04
потому и уезжает период
zi_home #
06:04
e_zombie, я думал, если ты следишь, уточнить, нит ли у теяб такой задержки
06:04
у тебя там несколько тыщ железок
06:04
а я только слегка перевалил за 0,5к
06:05
_4ePTeHok, да нет, current 0 в мониторе
06:05
и железок то мало
06:05
по сути
dvolodin #
06:08
zi_home: мы на 5k железок пробовали
06:08
пинговало точно, как часы
06:08
ты попробуй один активатор выделить чисто под пинги
zi_home #
06:08
ну как бы так и есть
06:09
инстанс для пингов отделен от инстанса для трапов
06:09
или как я могу запретить скрипты выполнять конкретному
06:11
у меня активаторы все равно пустые стоят
06:12
я не вижу нагрузки
06:13
в noc-sae.log
06:13
минимальный интервал между задачами - 5 секунд, чаще больше
06:13
то есть нагрузка вообще ниочем
_4ePTeHok #
06:15
а там нет никакого временного окна?
06:16
типа для отсеивания флапов
06:16
dvolodin, кстати в логах невижу ни одной строчки про пинг)
zi_home #
06:17
про окна не знаю
06:17
но теперь я познал
06:17
нок каждую минуту проверяет статус упавшего лика
06:18
что характерно, этот джоб работает как часы
06:18
садист
06:18
пинговать вовремя он не может, а вот долбить интерфейс всегда пожалуйста
06:19
в 9,14 сегодня упал линк
06:19
в 9,18 - пришел ping failed
06:19
9.18,30 - timestamp аларма в ноке
06:19
это не почта тормозила
06:20
это явно пинговалка
freeseacher #
06:23
у меня 6 кило свитчей пинговало отлично
06:23
не врала
zi_home #
06:25
freeseacher, раз в минуту?
freeseacher #
06:25
раз в 5 секунду
06:25
фряха
zi_home #
06:25
садюга
freeseacher #
06:25
DL360G5
zi_home #
06:25
у меня тоже фри
freeseacher #
06:26
8 ядер
zi_home #
06:26
тоде 360g6 или g7
06:26
тоже 8
buggy-funhouse #
06:26
всем ку
06:26
давно я тут не был
zi_home #
06:26
но как бы
06:26
CPU: 0.5% user, 0.0% nice, 0.1% system, 0.0% interrupt, 99.4% idle
freeseacher #
06:26
одно ядро было вааще выжрано
zi_home #
06:27
я тогда еще понаблюдаю что происходит, а пока два момента
06:28
во-первых, кто может прикрутит подавлялку snmp auth fail сообщений, а то у меня по семь страниц этого говна на всех железках
06:28
и я не хочу отключать эти сообщения, иногда замечаю железки где мои собственные сервера и биллинг иногда пролетают
06:30
и во-вторых, dvolodin помнишь я тебе говорил про Link UP который подавляется как дубликат, ты обещал период увеличить, но пока не видно что-то, опять это говно произошло, линк поднялся и нок его задавил как дубликат, а аларм остался висеть
_4ePTeHok #
06:49
а где у нас вообще эта давилка сидит
zi_home #
06:50
где-то там :)
_4ePTeHok #
06:52
потом поищу)
06:53
открыл классифер, глянул сколько кода и закрыл от греха подальше)
e_zombie #
07:00
vendor": "CISCO", "description": "7600-PFC3C Policy Feature Card 3 Rev. 1.2", "part_no": [ "7600-PFC3C"
07:01
какого типа данная железка?
07:01
куда её пихать?
zi_home #
07:05
на железке посмотри
07:05
PFC втыкаются в RSP
07:05
на сколько мне известно
07:06
да
07:06
на моих железках PFC на RSP стоят
TSergey #
07:06
"8[12:59] _4ePTeHok: проверили работу set-managed\set unmanaged через action?"
07:06
а что это и где?
zi_home #
07:07
если ты не знаешь, то тебе это не нужно :)
07:07
а так в SA > MO смотри
e_zombie #
07:07
Cisco | 7600 | PSU ему лепить? или что то другое?
zi_home #
07:07
я не обновлялся, у меня нет
07:07
e_zombie, кому? PFC? нет
e_zombie #
07:07
а что?
TSergey #
07:07
zi_home: ага, увидел
zi_home #
07:08
там только разъем имя in, тип DFC
TSergey #
07:08
проверил, статус меняет
07:08
помогите вот это починить http://pastebin.com/i6MxyYeX
e_zombie #
07:09
ага. счас проверим.
zi_home #
07:09
TSergey, "Unable to dereference" - это тебя кто-то сглазил, большой геморой поимел ты
TSergey #
07:10
я не сильно пользуюсь инвентори, может можно снести модели или еще чего?
zi_home #
07:11
e_zombie, если сделаешь, запили еще 7600-PFC3CXL - по сути тоже самое только памяти больше
e_zombie #
07:11
http://bt.nocproject.org/browse/INV-31
07:11
не уверен что они у меня на сети есть.
07:12
но если будут то допилю
07:12
ой. не туссылку дал
zi_home #
07:12
да похер, ты две буковки в название и part_no допиши и вот он и будет
e_zombie #
07:13
http://bt.nocproject.org/browse/INV-33
07:14
7600-MSFC4 аналогичная поебень?
zi_home #
07:14
e_zombie, а дескрипшен не поправил :)
07:15
e_zombie, да, только там msfc разъем кажется
e_zombie #
07:19
а поле Protocol на что то влияет?
zi_home #
07:20
ни на что
e_zombie #
07:22
ухтыжбля. почти 100 нераспознанных уехало
07:22
осталось 199
TSergey #
07:24
zi_home: TSergey, "Unable to dereference" - это тебя кто-то сглазил, большой геморой поимел ты
07:24
так обработчик же криво работает, ну не нашел модель, чегож некорректно завершаться-то...
zi_home #
07:25
он не должен не находить :)
TSergey #
07:27
dvolodin: расскажи как вот это исправить, плс, http://pastebin.com/i6MxyYeX
07:27
ничего из баз "руками" не удалял
07:29
удалял несколько моделей в Inventory\Setup\Object Models
07:30
видимо теперь они вот так не находятся
dvolodin #
07:59
TSergey: а модели добавлял руками?
TSergey #
08:00
собственно добавленные руками я и удалил. при апгрейде возникли ошибки с синхронизацией, я подумал, что дело в моих моделях и грохнул их
zi_home #
08:00
Dmitry1, как мне без тебя теперь идеи в ФМ продвигать? :(
TSergey #
08:03
dvolodin: наверное это не очень критично(не использую пока инвентору), но теперь в SA\MO\в моих цисках в Inventiry "Failed to load data"
dvolodin #
08:05
модели удалил, а объекты с ними остались?
_4ePTeHok #
08:09
объекты не будут выводится
08:09
если модели с ними связанные удалили
08:09
там авточистки объектов нет
08:09
только удаление линков между объектами делали
TSergey #
08:10
dvolodin: да, именно так
_4ePTeHok #
08:10
ошибка поди про цисковский суп изначально была, да?)
buggy-funhouse #
08:14
какая же sce глючная штука
_4ePTeHok #
08:14
чем?
buggy-funhouse #
08:14
не поддерживает кириллические урлы! xD
TSergey #
08:14
_4ePTeHok: ну конечно
_4ePTeHok #
08:14
бгг.
e_zombie #
08:14
ёбта. мои модели коммитить будут или отложат на 2015 год?
_4ePTeHok #
08:14
сделаю сделаю
08:14
они ж работают, чо нервничаешь)
08:15
при обновлении не затираюся)
e_zombie #
08:15
а ты думаешь они правильные ?
TSergey #
08:15
_4ePTeHok: я не заподозрил, что удаление моделей так критично
_4ePTeHok #
08:15
бгг
08:15
e_zombie, дык старайся)
08:15
TSergey, инвентори пока не отлажено, все может быть критичным)
e_zombie #
08:15
дык я в сетевом оборудовании как в гей-парнухе разбираюсь
_4ePTeHok #
08:16
это как, на ощупь?)))
e_zombie #
08:16
хуёвл
buggy-funhouse #
08:17
_4ePTeHok: слово инвентори можно менять по желанию, да?)
_4ePTeHok #
08:17
TSergey, там на деле надо впилить проверку при удалении модельки\коннекшена что не рухнут объекты существующие..
08:17
buggy-funhouse, не бывает все и сразу)
08:17
точнее бывает, но обычно это совсем хуевые ситуации
e_zombie #
08:17
_4ePTeHok: надо скрипты апдейта исправить так чтобы в бд заносились все КРИТИЧЕСКИ важные элементы.
_4ePTeHok #
08:17
аля понос и золотуха
e_zombie #
08:17
а то там только проверка на наличие таблицы и всё.
08:18
таблица есть а инфа в ней не проверяется.
_4ePTeHok #
08:18
каким образом апдейт будет знать
08:18
есть ли у тебя объект с такой то моделью
e_zombie #
08:18
попробуй удалить Lost & found и получил еблю.
_4ePTeHok #
08:18
или нет
08:18
не все так просто
e_zombie #
08:18
никогда не просто.
_4ePTeHok #
08:18
там хрень в том, что id в монге генерится при создании записи
e_zombie #
08:18
а по факту такой пиздет присутствует.
_4ePTeHok #
08:19
а перекресные связи по нему обычно
08:19
вот и выходит, если ебнуть модель, а потом создать ее заного(например тем же апдейтом) - то не будет оно работать
08:19
id изменится
e_zombie #
08:19
ну да. похуй да.
_4ePTeHok #
08:20
т е уже подцепленные объекты хуй
e_zombie #
08:20
так у тебя никаких ошибок не появляется а ты хуеешь - чё это у меня не канает ничего
_4ePTeHok #
08:20
а вот если после перепройти дискавери - перепишет на новое уже
TSergey #
08:20
комрады, так что, "разобрать" коммутатор нельзя что-ли? вернуть до состояния, когда нок определил чего в него понавтыкали?
_4ePTeHok #
08:20
TSergey, перезапусти дискавери у нег
08:21
если все модели нужные присутствуют - перепишет на новое
TSergey #
08:21
так трэйс, что я выложил в пастебин --- это после нескольких запусков дискавери
_4ePTeHok #
08:21
будет проверка при удалении - это снимет вопрос
TSergey #
08:22
_4ePTeHok: нельзя вернуть коммутатор в состоянии "до дискавери"?
08:22
если его удалить в inventory \ inventory?
_4ePTeHok #
08:22
а ты можешь туда зайти?
08:22
оно ж тебе отлуп дает
08:23
если можешь - удали
08:23
потом передискавери
08:24
если нет - то надо руками лезть в бд и искать этот самый ObjectId('530aedf54a5e685e80c085ad')
08:24
и выносить все где он в объектах и линках светится
TSergey #
08:25
8[15:24] _4ePTeHok: если можешь - удали
08:25
неа, папочка есть, а внее не пускает
_4ePTeHok #
08:25
о чем и речь
08:26
сейчас гляну что там в коде
08:26
модель удалял да?
TSergey #
08:26
а была какая-то тема про "разобрать набивку" Dmitry1 у dvolodin спрашивал и вроде это реализовали, это не то?
08:27
_4ePTeHok: ага, удалял
dvolodin #
08:28
./noc clean-asset <имя объекта>
Dmitry1 #
08:32
dvolodin: Дим, когда по срокам можно ожидать инструмент управления discovery, jobs, handlers ?
dvolodin #
08:33
с discovery-то тебя что не нравится?
e_zombie #
08:33
такс. у меня есть 7301. там порты медь и дырки под SFP и как я понимаю или одно или другое. как модель рисовать в этом случае?
08:33
http://www.cisco.com/c/en/us/td/docs/routers/7300/install_and_upgrade/7301/7301_quick_start_guide/5341Q.html
_4ePTeHok #
08:33
dvolodine_zombie, комбо?
08:33
тьфу
08:33
e_zombie,
TSergey #
08:34
dvolodin: в моем случае неуспешно, http://pastebin.com/uNTVDuiE
_4ePTeHok #
08:34
делаешь две дырки
08:34
в одной группе
e_zombie #
08:34
окак
08:37
http://i61.fastpic.ru/big/2014/0528/0e/5c1e75e0b466261bced1fed96dade50e.png вот так?
zi_home #
08:37
e_zombie, да две, модель это модель с дырками, даже флеш и usb и не важно что они не работают
08:37
да
08:37
дескрипшен только не забывай
e_zombie #
08:38
с этим сложнее
08:38
а что туда писать?
zi_home #
08:38
да херню всякую
_4ePTeHok #
08:38
что есть что
zi_home #
08:38
посмотри как в других моделях
08:38
я готов опять состаться на свою 3400G
e_zombie #
08:38
там моделей заибись скока и везде уйня
zi_home #
08:38
или 3400EG
08:41
_4ePTeHok, не хочу issue заводить, можешь себе пометку сделать? у ME-3400G-12CS-D, Gi1 медный порт из комбо пары потерялся
08:42
надо поправить
_4ePTeHok #
08:43
эх
08:48
оба делай
08:48
там можно два и более добавить
08:49
part_no0, part_no1
08:49
о, накозявили уже с протоколами
08:52
zi_home, проверь.
08:54
у Cisco | 7200 | NPE-G1 тоже комбо дырки?
zi_home #
08:54
_4ePTeHok, да, спасибо. что интересно, у ME-3400G-12CS-А gjhn yf vtnct
08:54
*порт на месте
e_zombie #
08:56
"description": "Cisco 7301 Network Processing Engine NPE-G1", "part_no": [ "NPE-G1"
08:56
?
08:56
эта поебень и к 7301 подходит походу.
_4ePTeHok #
08:57
м
08:57
они для 7200 м 7300 разные же да?
e_zombie #
08:57
http://pastebin.com/jSyuzC6L
_4ePTeHok #
09:04
не нравится мне ето
09:04
"NPE-G1" уже есть
09:04
от 7200
09:04
надо выяснять одинаковое или нет
09:04
иначе херня выйдет
09:04
пид одинаков
zi_home #
09:19
e_zombie, а с железки show inv можешь показать?
09:19
потому что по моей инфе, NPE для 7300 отдельно не существует
09:19
ни для 7301, ни 7304
09:20
NAME: "Chassis", DESCR: "Cisco 7301, 1-slot chassis"
09:20
PID: CISCO7301 , VID: , SN: 74853370
09:20
NAME: "NPE 0", DESCR: "Cisco 7301 Network Processing Engine NPE-G1"
09:20
PID: CISCO7301 , VID: , SN: JAE1244Z38Z
e_zombie #
09:20
gw-64-sar> show invNAME: "Chassis", DESCR: "Cisco 7301, 1-slot chassis" PID: CISCO7301 , VID: , SN: 74821216 NAME: "NPE 0", DESCR: "Cisco 7301 Network Processing Engine NPE-G1" PID: NPE-G1 , VID: , SN: JAB0909028R NAME: "disk0", DESCR: "64MB Compact Flash disk for the Cisco 7301" PID: MEM-7301-FLD64 , VID: , SN:
09:21
gw-64-sar> show inv
09:21
NAME: "Chassis", DESCR: "Cisco 7301, 1-slot chassis" PID: CISCO7301 , VID: , SN: 74821216 NAME: "NPE 0", DESCR: "Cisco 7301 Network Processing Engine NPE-G1" PID: NPE-G1 , VID: , SN: JAB0909028R NAME: "disk0", DESCR: "64MB Compact Flash disk for the Cisco 7301" PID: MEM-7301-FLD64 , VID: , SN:
09:21
всё тоже смое что и с тантебина
zi_home #
09:22
у меня пид по-другому отдается :)
09:23
_4ePTeHok, что скажешь? :)
e_zombie #
09:24
я вот смотрю что NPE-G1 у меня в нераспознанных не висит.
09:24
и походу оно у тебя его и зацепило
zi_home #
09:25
e_zombie, оно не висит в нераспознаных потому что по пар номеру подсосалась NPE от 7200
09:27
интересно, то что у нас по разному железки отдают инвентори зависит от софта или это аппаратная прошика там такая
09:28
e_zombie, у вас какой там софт стоит?
09:28
disk0:c7301-a3jk91s-mz.122-31.SB15.bin
09:28
у меня вот
e_zombie #
09:28
Cisco IOS Software, 7301 Software (C7301-ADVIPSERVICESK9-M), Version 12.2(33)SRD4, RELEASE SOFTWARE (fc2) Technical Support: http://www.cisco.com/techsupport
09:29
bootflash:/c7301-advipservicesk9-mz.122-33.SRD4.bin"
zi_home #
09:30
свеженький, а у меня древний
e_zombie #
09:30
а куда в модели приделывается Cisco 7301 Network Processing Engine NPE-G1", ?
09:31
это типа мазербоард?
zi_home #
09:31
типа да
09:31
только с процессором и памятью
_4ePTeHok #
09:34
эх, опять это говно
09:34
с подменой пидов
zi_home #
09:34
если мои 7301 не попадут в инвентори я переживу
09:34
их снять давно пора
09:35
_4ePTeHok, yt pfvjhfxbdfqcz
09:35
*не заморачивайся
09:35
с трансиверами давай лучше разберемся
_4ePTeHok #
09:35
я не об этом сейчас
09:35
есть 7200 NPE-G1
09:35
jy e;t d bydtynjhb
09:35
он уже в инвентори
zi_home #
09:36
есть
_4ePTeHok #
09:36
и свпадает с пидом PID: NPE-G1
09:36
от 7300
zi_home #
09:36
а 7300 NPE-G1 - нет и быть не должно
e_zombie #
09:37
может забъём хуй?
zi_home #
09:38
я за
_4ePTeHok #
09:39
хуй всему голова (с)
xetle #
10:11
В etc/noc.defaults есть опечатка: 362 строка s/without/with/
10:13
Есть вопрос по поддержке железа: ктото пробовал добавить в нок любое xPON устройство?
_4ePTeHok #
10:14
надо конкретные модели смотреть
10:14
обычно у кого что есть - то и добавляет
xetle #
10:15
Меня интересует вообще PON устройства уже в нок добавляли? Там хоть езернет но свой..
_4ePTeHok #
10:17
а в чем сложность?
xetle #
10:17
Я просто хочу глянуть пример, если есть. В sa/profiles/ пон или езернет не очевидно..
_4ePTeHok #
10:17
управление железкой по какому протоколу?
xetle #
10:17
ssh
_4ePTeHok #
10:18
ну и какая разница тогда профилю
zi_home #
10:18
нет в ноке понов
10:18
первым будешь
xetle #
10:18
но оно имеет много режимов после логина, например
zi_home #
10:18
это не связано с поном, просто ось такая
xetle #
10:19
для перехода в режим свича надо после логина выполнить switch и только потом его комманды..
_4ePTeHok #
10:19
по ходу дела просто надо будет добавлять специфику
10:20
смотри, в ноке уровень абстракции - это service activation
10:20
есть интерфейсы и их реализации к конкретному железу - профиля
10:20
чтобы реализовать на хорошем уровне специфику достаточно добавить интерфейс и написать скрипт
10:21
общности с езернет оборудованием там есть
zi_home #
10:21
кстати пон интересно посмотреть с точки зрения interface status
_4ePTeHok #
10:21
скажем конфиг, версии, инвентори и т д - это все так же
10:22
на уровне абстракции
10:22
интерфейсы тоже там должны быть
10:22
а вот скажем протоколы какие то - это добавить можно
xetle #
10:23
Хорошо, вот например чтобы сдёрнуть сонфиг мне надо выполнить 3 комманды, в одну строку можно записать так: switch\nshow running-config\nexit
zi_home #
10:24
exit???? О_О
xetle #
10:24
config = self.cli("switch\nshow running-config\nexit") - будет работать? Да там в конце именно exit иначе он останется в режиме свича..
lexus-omsk #
10:25
у нас есть железки от Zhone, пока завёл их как Generic, для пинговалки, но можно будет попробовать наваять профиль
_4ePTeHok #
10:25
ну вот скооперируйтесь. что бы хотелки определить что добавить
10:26
по интерфейсам-статусам на поне тоже интересно
zi_home #
10:26
xetle, да похер на режим свича, если конфиг выдал, дальше можно отлогиниваться
_4ePTeHok #
10:26
надо решить уже как оно должно выглядеть
TSergey #
10:26
есть у меня DLink DES-3024L, там тоже хитро конфиг получается, сначала в режим конфигурирования нужно
10:26
но железка одна, а задач куча
10:26
так что отложена до лучших времен
xetle #
10:27
потом ещё надо дёргать конфиги самого PON config = config + self.cli("olt 0\nshow config layer3\nexit")
_4ePTeHok #
10:28
у пона л3?)
10:28
прикольно
10:29
на деле - это уже задача определиться в каком виде получать.
10:29
хочешь - хоть десят команд и вывод склеить
xetle #
10:29
Это агрегатор к которому 1024 пона конектятся за инетом :)
_4ePTeHok #
10:29
а, пнял
zi_home #
10:29
жесть какая
10:30
а я думал в алкателе нарки работают
_4ePTeHok #
10:30
=))
xetle #
10:31
там 8 *1 G + 2 *10G + 8 PON вот для 8 *1 G + 2 *10G по идеи можно по аналогии с Cisco.IOS написать, а для 8 PON хз.
dvolodin #
10:32
а что с поном не так?
xetle #
10:32
Примера нету..
dvolodin #
10:32
сам поновский интерфейс - обычная физика
10:32
а вот на него надо сабы наворотить
10:33
там смотреть нужно уже, что за параметры будут
xetle #
10:33
Плюс неудобно, отдельно надо дергать для свича и отдельно для пона, такая реализация прошивки..
dvolodin #
10:33
это уже неизбежно зло
10:33
конфиг так лучше получать
10:33
self.cli("switch")
10:34
config = self.cli("show run")
10:34
self.cli("exit")
10:34
еще лучше context manager сделать
10:34
чтобы писать
xetle #
10:34
Спасибо, буду пробовать.
dvolodin #
10:34
with self.switch():
10:34
config = self.cli("show run")
e_zombie #
10:44
возвращаясь к 7301 и дубляжу. предлагаю в дескрипшен прописать что туда приделывается эта байда изза дубляжа. и должна быть такая. я думаю это самый простой вариант.
_4ePTeHok #
10:45
гг_
10:45
"эта хуйня здесь по ошибке. Должна быть другая хуйня.")
e_zombie #
10:46
ну как бы да
10:46
мы не виноваты что цискари наибались
10:46
вот теперь другая засада.
zi_home #
11:40
_4ePTeHok, http://forum.nag.ru/forum/index.php?showtopic=47185&pid=973347&st=600&#entry973347
_4ePTeHok #
11:54
ты про чувака что заплатить хочет?
zi_home #
11:55
_4ePTeHok, нет, там скрипт для установки затрейсился, но dvolodin уже отписался, хотя по-моему надо бы обработчик для такой ситуации придумать чтобы не медитировать на трейсы
_4ePTeHok #
11:55
ну если битбакет ебнется - тут уж ничего не придумаешь
11:56
это же pip тянет на деле
zi_home #
11:56
я говорю про обработчик, чтобы он так и написал что битбакет ебнулся, а не хуйпоймикакой трейс
_4ePTeHok #
11:56
дык там по русски написано же
11:56
каннекшен еррор
dvolodin #
11:56
zi_home: понимаешь в чем дело, я запускаю pip
11:56
:)
11:57
из shell'овского скрипта
11:57
эту порнуху выдает ip
11:57
pip
zi_home #
11:59
dvolodin, ну если так плохо нипши перловый скрипт для установки :)
11:59
или запасное хранилище
_4ePTeHok #
11:59
бля
zi_home #
11:59
или я не знаю
_4ePTeHok #
11:59
нахуй там еще перл)
11:59
только его не хватало
zi_home #
11:59
ну тогда на php
_4ePTeHok #
12:00
проще раз в 2 недели собирать девеп в апплаенс
12:00
девелоп*
zi_home #
12:00
crjhtt ldf hfpf d ytltk.
12:00
скорее два раза в неделю
_4ePTeHok #
12:00
это слишком
zi_home #
12:00
хотя нок затормозил последнее время
12:01
я же не предлагаю сделать обработку всех мыслимых ошибок, но трейс по отсохшему битбакету можно было бы и завернуть
_4ePTeHok #
12:02
нок не связан с пхп
12:02
предлагаешь еще и его тянуть?)
dvolodin #
12:02
не
_4ePTeHok #
12:02
это же пиздец
dvolodin #
12:02
мне нужен нормальный CDN
zi_home #
12:02
powershell
12:02
dvolodin, или так
dvolodin #
12:02
куда я могу положить и пакеты, и appliance
12:03
и они будут нормально качатьс
zi_home #
12:03
но это не значит что не найдется человек который захочет поставить на тачку без интернета
12:03
или там прокси по пути
_4ePTeHok #
12:05
dvolodin, в апплаенсе кстати чистый нок, без тестовых данных?
dvolodin #
12:08
чистый, после bootstrap
12:08
zi_home: через прокси ставится
12:09
не надо грязи
_4ePTeHok #
12:09
надо набросать скриптик автосбора овашки
zi_home #
12:09
чтобы поставить через прокси, надо где-то указать его параметры
dvolodin #
12:12
_4ePTeHok: vagrant :)
12:12
zi_home: он системные хватает
Dmitry1 #
12:13
dvolodin: Дим, когда по срокам можно ожидать инструмент управления discovery, jobs, handlers ?
zi_home #
12:13
никогда - тоже ответ
_4ePTeHok #
12:15
zi_home, ты аср переделал под виртуальный суп?
zi_home #
12:16
нет
12:16
там надо скрипт править
12:16
иначе никак
12:16
модуль не того типа приходит
12:16
а так как скрипт писал dvolodin, исправить его я не могу
_4ePTeHok #
12:18
ой да ладно
12:18
в инит скрипты он пишет, а тут не может)
dvolodin #
12:20
Dmitry1: какой именно
zi_home #
12:20
я там одну функцию добавил, а не переписывал чужой скрипт
dvolodin #
12:20
триггеры меня не устраивают
Dmitry1 #
12:21
любой интерфейс. чтобы я мог запускать эти скрипты когда я захочу и на каких устройствах я захочу, а не так, как сейчас, когда они запускаются без моего ведома
12:21
Про триггеры я говорил, потому как их можно было привязывать к селекторам и time-series
12:21
И можно было вообще включать/выключать их
12:23
Прямая ситуация: я хочу, чтобы вообще автоматом не выполнялось дискавери, но вручную его можно было запустить. Советы, типа поставить период в 10 лет - это не то, что костыль - это вынос мозга
12:23
Во многих программах есть режим "run once"
12:24
хочу включать/выключать/ставить период в зависимости от селектора
zi_home #
12:24
Dmitry1, что и почему ты хочешь запускать руками а не по расписанию?
Dmitry1 #
12:24
Две недели назад я об этом писал
12:25
Какой-то скрипт, который был запущен по расписанию, постоянно долбился на свич
12:26
Очень важна привязка к time-series
_4ePTeHok #
12:26
e_zombie, в модельках протокол TransEth1\10\40G - для дырок под трансиверы. для RJ45 - 1000BASETX и т д
Dmitry1 #
12:26
Когда в зависимости от time-series высылать уведомления разным людям
12:26
Триггеры это все умели
dvolodin #
12:27
notification group завязаны на время
Dmitry1 #
12:29
на время должны быть завязаны не только notification group, но и выполнение всех скриптов
12:30
те же "тяжелые" скрипты, которые загружают CPU железки, выполнять в 3 часа ночи, например
12:31
В случае с триггкрами, которые выполняли pyrule, я мог их привязать ко времени выполнения
12:33
Сбор конфига у некоторых железяк загружает CPU на 100%
12:33
Поэтому нужна возможность управлять выполнением этого скрипта, в зависимости от селектора
12:34
А у нас сбор конфига выполняется после любого "чиха" нпа изменение конфига
12:36
Раньше сбор конфига работал через ивенттриггер, и было удобно
12:37
Я предлагаю ивенттриггеры оформить в виде JSON и правил FM
12:38
Собственно говоря, все наши disposiotion - это и есть ивенттриггеры, но встроенные напрямую в правила FM
12:39
Оформить их как buildin, с возможностью изменять параметры. Например, для того-же zi_rus "время подавления"
dvolodin #
12:40
и будут все кишки наружу
Dmitry1 #
12:41
А если еще в них и небольшой скриптовый язык встроить, чтобы disposition срабатывали в зависимости от значений приходящих переменных - вообще им цены не будет
12:41
dvolodin: 1 - Порог вхождения будет ниже
12:42
2 - Обычный пользователь сможет что-то менять, не изучая при этом python
12:42
3 - возможность сделать 100500 предустановленных сценариев поведения, что дастт +1 к харизме
12:44
Сейчас, напиример, suppression и disposition я никак не могу привязать к конкретной железке
12:45
Если на той же циске, интервал сообщения о неполадке на порту равен 10 минутам, то на длинке может быть равен 1 минуте
12:46
И, если для циски сообщение "module inserted" должно вызывать как минимум asset_discovery, то на профиле DGS3100 такие сообшения возникают при включении свича. Оно считает, что в момент включения в него по очереди втыкаются все SFP
12:50
И самое главное, что нехватает сейчас NOC - 100500 предустановленных сценариев поведения
12:52
Сделать класс "scenaries", корый будет в себе объединять pyrule, job, handlers, discovery
12:52
Для него сделать единое API с формализацией параметров
12:53
которые туда можно передавать чуть ли не в JSON
12:53
и выходные данные так само
12:53
и кучу мелких скриптов на основе него
12:55
Типа таких:
dvolodin #
12:56
чем твои скрипты отличаются от handler'ов?
Dmitry1 #
12:57
SetInterfaceStatus(vars["managed_object"], vars["interface"], oper_status=False)
12:57
тем, что туда идут JSON
12:58
И решение, запускать его или не запускать, принимает пользователь на основе какой-то панели управления
12:59
И сценарий работы тоже определяет пользователь
12:59
Например такой сценарий:
13:00
Ивент "Link down" -> disposition с возможностью выбора -> job "check_link" -> SetInterfaceStatus(vars["managed_object"], vars["interface"], oper_status=False)
13:01
А, еще может быть и suppression
13:01
Сейчас все это прибито гвоздями. В идеале должно выглядеть как сценарий workflow
13:02
когда каждый квадратик - маленький встроенный скрипт
13:02
а между квадратиками - условие, выполнять его, или не выполнять
13:03
Например, для селектора "DGS3100" и "access level" мне не нужно выполнять "job "check_link""
13:05
Оформлять эти правила нужно в формате JSON
13:06
И сделать кучу предустановленных
_4ePTeHok #
13:06
графически ето редактировать прекольно
Dmitry1 #
13:06
Я уже приводил пример, что при ивенте "link up" желательно поднимать аларм "half duplex"
13:07
Но для каких-то железок или линков это может быть и не обязательно
13:09
А при ивенте, к примеру, "PIM Neighbor Down" изменять alarm severity в зависимости от IP neighbor'а
13:09
dvolodin: Смотри, для SA у нас есть класс NOCScript
13:10
Почему бы такой общий класс не сделать для хандлеров, джобов и т.п.
13:11
Параметры туда будут передаваться в виде JSON - это видимость для юзера
13:11
Т.е.
13:12
Для встроенных скриптов и сценариев, параметры будут идти напрямую, и работать будет на python
13:12
А "для юзера", как будто-юы через JSON
13:13
Юзеровские сценарии (не стандартные), будут работать через JSON
dvolodin #
13:13
вот мне что интересно -- селекторы у тебя есть, а вот раскрасить железки тебе лень
13:14
мне очень не нравится идея вытаскивать вот так все кишки наружу
13:14
если тебе нужно пару костылей которые годны только тебе -- делай триггеры
Dmitry1 #
13:14
И как в зависимости от раскраски железок я к ним привяжу job, handlers, discovery ?
dvolodin #
13:14
если возможно повторное использование - делай solution
13:15
у solution'а обычный конфиг
Dmitry1 #
13:15
где жто конфиг находится?
dvolodin #
13:15
в etc у solution
13:16
или там, где ты его положишь
Dmitry1 #
13:16
root@noc:/home/2/noc/etc # ls
13:16
address noc-launcher.defaults noc-web.defaults
13:16
beef.defaults noc-notifier.defaults noc-wf.defaults
13:16
manifests noc-pmprobe.defaults noc.defaults
13:16
noc-activator.defaults noc-pmwriter.defaults requirements
13:16
noc-classifier.defaults noc-sae.defaults ssh
13:16
noc-collector.defaults noc-scheduler.defaults upgrade.defaults
13:16
noc-correlator.defaults noc-stomp.defaults
13:16
noc-discovery.defaults noc-sync.defaults
dvolodin #
13:16
мне больше нравится идея когда юзер получает нужный функционал пакетом
Dmitry1 #
13:16
где?
dvolodin #
13:17
solutions/<vendor>/<name>/etc/
13:17
если тебе так нужна борьба с half duplex'ом -- сделай solution, который подпишется на event'ы и будет делать что-то осмысленное
13:18
другие его просто поставят себе и не будут задумываться над деталями реализации
Dmitry1 #
13:18
Как этот конфиг сделать обычному пользователю, не знающему о существовании solutions/<vendor>/<name>/etc/ и глубоких отношениях между иерархией объектов NOC ?
13:18
Резултат: Я просто поставил его себе, и мне он положил сеть
dvolodin #
13:18
какая вероятность что этот пользователь не схлопочет заворот кишок при всех этих настройках?
13:19
ну не сеть положил, а в логах лишнего написал
13:19
и?
Dmitry1 #
13:19
Нет. Таки положил
dvolodin #
13:19
конкретно для этого job'а нужно сделать нормальные настройки
Dmitry1 #
13:19
Потому как я потом вручную отключал все эти discovery
13:21
потом вручную отключал джобы
13:21
потом вручную снимал галочки "is managed"
13:22
В конце концов я вручную отключил нафиг NOC
dvolodin #
13:22
а так будешь вручную включать
Dmitry1 #
13:22
Я выше писал
13:22
"возможность сделать 100500 предустановленных сценариев поведения"
dvolodin #
13:23
вот-вот
13:23
и они называются solution :)
Dmitry1 #
13:23
Сейчас только один - для лютого ентерпрайза
13:24
смотри в код солюшн
13:25
elif InterfaceClassificationRule.objects.filter(is_active=True).count():
dvolodin #
13:26
и?
13:26
Блин
13:26
Был гвоздями прибитый функционал
13:26
по раскраске интерфейсов
13:26
я его выдрал с корнем и для обратной совместимости перенес в solution
Dmitry1 #
13:28
откуда я должен знать, что такое InterfaceClassificationRule, что у него есть подкласс objects, а у него метод filter, а у него метод count ?
13:28
Или вот:
13:28
from noc.inv.models.interfaceclassificationrule import InterfaceClassificationRule
13:29
noc.inv.models.interfaceclassificationrule - это что?
13:29
r = list(PyRule.objects.filter(name=p, interface="IInterfaceClassification")) - еще круче
13:30
Как это сможет написать ОБЫЧНЫЙ пользователь
13:30
Вот задача
13:30
Есть ивент "Link UP"
13:30
из него есть переменные
13:31
"vars": [
13:31
{
13:31
"name": "interface",
13:31
"description": "Affected interface",
13:31
"type": "interface_name",
13:31
"required": true
13:31
},
13:31
{
13:31
"name": "speed",
13:31
"description": "Link speed",
13:31
"type": "str",
13:31
"required": false
13:31
},
13:31
{
13:31
"name": "duplex",
13:31
"description": "Duplex mode",
13:31
"type": "str",
13:31
"required": false
13:31
}
13:31
],
13:31
что мне надо сделать, чтобы на определенном челекторе оно мне ругалось при "duplex"=="HALF"
13:32
а на другом селекторе при "speed"=="10M"
dvolodin #
13:33
а чего тебе писать-то там
13:33
handler делаешь
13:33
проверка по селектору -- <object> in <selector>
Dmitry1 #
13:34
у тебя хандлеры гвоздями прибиты в JSON
dvolodin #
13:34
блин
Dmitry1 #
13:34
Как управлять этой проверкой по селектору ? Тоже гвоздями внутри скрипта прибить?
13:34
Что блин?
13:35
Вот тебе кусое ивенткласса LINK UP
13:35
"handlers": [
13:35
"noc.fm.handlers.event.link.oper_up"
13:35
],
13:35
Прибито не просто гвоздями, а двухсотками!
dvolodin #
13:36
посмотри lib/solutions.py
Dmitry1 #
13:37
там афромагия
13:37
from noc.fm.models.eventclass import EventClass
13:37
if not isinstance(ec, (list, tuple)):
13:37
return _get_event_class_keys([ec])
dvolodin #
13:37
register_event_handler("Network | Link | Link Up", "noc.solutions.my.solution.handlers.link.check_duplex")
13:38
и твой check_duplex прилепится
13:38
{register,unregister}_{event,alarm}_handler(....)
13:39
тебе в __init__.py handler'а нужно просто вызвать правильные register
Dmitry1 #
13:39
в какой файл нужно написать строчку "register_event_handler("Network | Link | Link Up", "noc.solutions.my.solution.handlers.link.check_duplex")"
dvolodin #
13:39
в __init__.py solution'а
13:40
./noc create-solution <my company>.<solution name>
13:40
получишь рыбу
Dmitry1 #
13:41
ДИМ!
13:41
Я сейчас посажу вместо себя своего соседа
13:41
Который нифига не понимает в питон, javascript и т.п.
13:41
Но ему нужен функционал NOC
13:42
А ты ему попробуй объяснить прро всякие __init__.py, ханжлеры и солюшены
dvolodin #
13:42
и не буду даже
Dmitry1 #
13:42
А чего так?
13:43
Вроде как NOC для пользователей делается
dvolodin #
13:43
он потребитель а не производитель
13:43
NOC делается не для пользователей, а для компаний
Dmitry1 #
13:43
Которые даже не будут иметь доступ к командной строке
dvolodin #
13:45
тут уж либо настраивай, либо кушай как есть
Dmitry1 #
13:46
Дим. Привязывать скрипт к селектору, времени выполнения и т.п. должны иметь возможность КОНЕЧНЫЕ ПОЛЬЗОВАТЕЛИ
13:46
Иначе получится как в моем случае
13:47
Парализовало работу целого участка, пока не прибежал я, и не выключил NOC
13:50
Решать о том, поднимать ли аларм при полудуплексе должен КОНЕЧНЫЙ ПОЛЬЗОВАТЕЛЬ, который сидит на учаске вместе с этим оборудованием, а не какой-то мифический админ, который этого оборудования и в глаза не видел
zi_home #
13:54
Dmitry1, если админ и есть юзер, то он сам и должен решать, если это не так значит есть разделение труда и регламент. если мониторинг должен беспокоиться о полудуплексе, то так и должно быть настроено, если нет - то нет
Dmitry1 #
13:55
А почему не может быть заведено куча пользователей в NOC, каждый из которых сам решает, какой сценарий применить к своей части оборудования?
13:56
Я привел живой пример:
13:56
Прибиты гвоздями к ивенту "config changed"
13:56
"handlers": [
13:56
"noc.fm.handlers.event.discovery.schedule_discovery",
13:56
"noc.fm.handlers.event.audit.log_config_changed"
13:56
],
13:57
У меня при сборе конфига загрузка CPU некоторых устройств достигает 100%
zi_home #
13:57
в пределах конторы должен быть регламент. иначе, отключается ФМ и нет аварии - нет проблемы
dvolodin #
13:58
unregister для "noc.fm.handlers.event.discovery.schedule_discovery"
Dmitry1 #
13:58
Сколько раз уже повторять - у нас 15 контор !
dvolodin #
13:58
и замена его на какую-то свою реализацию
Dmitry1 #
13:58
Для каждой нужен свой сценарий
dvolodin #
13:58
хочешь с селекторами, хочешь с time patterns
zi_home #
13:59
у вас одна система на 15 контор?
Dmitry1 #
13:59
dvolodin: event trigger "config changed", который ты успешно прибил, работал отлично
zi_home #
13:59
кто-то где-то наркоман
13:59
а виноват нок
Dmitry1 #
13:59
zi_home: Да! Одна система на 15 контор. Что тут такого?
dvolodin #
14:00
дим, еще раз -- не нравится РАЗУМНЫЙ дефолтный набор handler'ов -- отключай их и заменяй на свои
Dmitry1 #
14:00
У нас 15 учредителей, у каждого из которых свой участок с кабельным и интернетом
14:00
dvolodin: Где кнопочка - "отключить" ?
dvolodin #
14:00
руки полностью развязаны
14:00
не будет ее
14:01
потому как почем юзер знает, что если он отключил version discovery, у него всяко-разное посыпется?
14:01
или допрет, что ему id discovery нужен только по четным фазам луны
Dmitry1 #
14:01
сценарии писать надо
dvolodin #
14:01
угу
Dmitry1 #
14:01
юзерочитабельные
dvolodin #
14:01
а дальше ан форумах -- NOC говно, линки не рисует
zi_home #
14:01
Dmitry1, и пятнадцать директоров и пятнадцать админов и пятнадцать систем
dvolodin #
14:02
даже за примерами ходить не буду
Dmitry1 #
14:02
чтобы юзер имел врозможность выбирать, какие сченарии будут работать, а каие - нет
zi_home #
14:02
dvolodin, я тебе говорил, id discovery должен быть ненастраиваемым, включаться только если он нужен для дискавери, иначе быть отключен
dvolodin #
14:02
JIRA -- что-то ты налабаешь, хочешь посерьезнее -- плагины на JAVA
14:03
RT --- там вообще ошметки перлового кода в поля формы вставляешь
14:03
и так далее
Dmitry1 #
14:03
dvolodin: Вот тебе другой пример - JOOMLA, или WORDPRESS
dvolodin #
14:03
trac возьми -- он вообще ничего не умеет
14:03
без плагинов
Dmitry1 #
14:03
Давай мы включим там ВСЕ модули одновременно. Это же так круто!
dvolodin #
14:04
включены разумные
14:04
необходимые для другого функционала
Dmitry1 #
14:04
А чтобы подключить другой модуль нужно его написать?
dvolodin #
14:04
скачай
14:04
точно так же
14:04
в идеале вообще pip'ом будет, наверное
14:05
на колесах
14:05
что тебя смущает?
14:05
да хоть делай solution, который все кишки наружу вывернет
14:06
с кучей ручечек в стиле старого лампового радио
14:06
подключил его -- и крути
Dmitry1 #
14:06
Из этого "включены разумные", я могу мышкой включить/выключить в админке любой модуль
dvolodin #
14:06
угу
14:06
и зависимости весело отслеживать
Dmitry1 #
14:06
А в NOC ?
dvolodin #
14:06
а потом понять, что после апгрейда часть плагинов отвалилась
14:07
в noc solution ты в main.config точно также крутануть можешь
Dmitry1 #
14:07
main.config доступен через web ?
dvolodin #
14:08
да
Dmitry1 #
14:08
В какой меню?
dvolodin #
14:08
main > setup > config
14:09
другое дело, что хочется убить эти многочисленные конфиги
14:09
и засадить их в базу
14:09
но это отдельная песня
Dmitry1 #
14:09
Какой конфиг там отвечает за solution ?
dvolodin #
14:09
noc.conf
14:09
[solutions]
14:10
у нас есть система, которая подключает 1000 физиков в день
14:10
и при этом там дополнительные права раздаются правкой php-файла
14:10
но второе не мешает первому
14:11
а рядом есть система где все мышкой
14:11
но 75% подключек умудряются просрать
Dmitry1 #
14:11
не нашел в noc.conf раздела [solutions]
dvolodin #
14:11
в defaults глянь
Dmitry1 #
14:14
беспредметный разговор
14:17
два часа потрачены зря
zi_home #
14:19
Прежде чем что-то сделать подумай почему этого делать не стоит
Dmitry1 #
14:21
нет не понимаю
14:21
(17:04:42) dvolodin: включены разумные
14:21
(17:04:53) dvolodin: необходимые для другого функционала
14:21
а если мне нужен другой функционал?
14:22
А давайте я сделаю свои солюшены, работающие так, как мне нужно, и закоммичу их в общий репозиторий
14:23
И всем буду рассказывать, что именно это и есть правильная работа, а всем кто не согласен, пусть пишут свои солюшены локально
14:26
Сейчас NOC напоминает автомобиль, у которого есть двигатель, есть коробка передач, но рычаг переключения передач не выведен. Ибо разработчик этого автомобимля решил, что лцчше всего машина будет ездить на пятой передаче
_4ePTeHok #
14:26
потому их Дима и не шлепает пачками спкцифичные
14:26
а предполагался отдельный репо
Dmitry1 #
14:26
Не нужен репо
14:26
Можно все туда всунуть
14:26
Но сделать ими человеческое управление
_4ePTeHok #
14:26
Дима, ну ты прям как маленький
14:27
я тебе раскрою одну страшную тайну
14:27
НОК - некомм. проект официально
14:27
и заработать можно только на одном
14:27
внедрение, допилка и саппорт
14:27
уловил идею?
Dmitry1 #
14:28
Компания, в которой я работаю, не заплатит за допилку. Значит NOC для меня бесполезен
_4ePTeHok #
14:28
невозможно учесть специфику каждой компании
14:28
в таком рынке
14:28
потому и есть базовый набор
Dmitry1 #
14:28
Я привел аналогию
14:28
в автомобиле уже есть коробка передач
_4ePTeHok #
14:28
тут все просто - или ты вникаешь и пилишь сам
14:28
или платишь
14:28
ну есть
14:29
коробка автомат
14:29
где есть только 3 селектора
14:29
вперед по полной, отключить руками чото и стоп.
14:29
вот это и есть в ноке
Dmitry1 #
14:29
Прикручивание рычага для управления передачами - ничто, по сравнению с двигателем и коробкой передач
_4ePTeHok #
14:29
с одним исключением
14:29
под бардачком есть диагностический разъем
14:30
включившись в который можешь напрограммировать что хочешь
Dmitry1 #
14:30
Не хочу программировать. Хочу нажимать мышкой
_4ePTeHok #
14:30
это эникейство
14:30
ни до чего хорошего не приводит
Dmitry1 #
14:31
Когда "лежит" пол-района - как-то не до программирования
_4ePTeHok #
14:31
пример - АД
14:31
галочек хоть обдрочист
14:31
а толк
14:31
у
14:31
Dmitry1, я для тебя сделал групповое отключение managed
14:31
:D
14:32
а вообще надо просто root_cause допиливать
Dmitry1 #
14:32
А смысл тогда в NOC, если все объекты там будут unmanaged ?
_4ePTeHok #
14:32
чтобы никто не ломился
14:32
твой случай - экстренный
14:32
форс мажор
14:32
на этот случай оно поможет
14:32
будет рут-коз, оно отпадет
Dmitry1 #
14:33
У меня такой форс-мажор каждый день
14:33
Я курсы экстрасенсов не заканчивал, чтобы заранее расставить галочки на тех объектах, где завтра вырежут оптику, а послезавтра укоадут свич, а после-послезавтра от грозы его перемкнет
_4ePTeHok #
14:34
ох.
14:34
Дим с тобой стало очень тяжело вести дискуссию
Dmitry1 #
14:34
У меня такая специфика
_4ePTeHok #
14:34
в последнее время
14:35
пойми, специфика на то и специфика, что под нее прогибаться никто не будет
14:35
это конкретно проблема твоей ситуации
Dmitry1 #
14:35
Чем Диму не устраивали триггеры?
_4ePTeHok #
14:36
которую можно решить механизмами, но надо вникнуть
Dmitry1 #
14:36
Их можно было включить/отключить, привязать к селектору, привязать к time-series и т.п.
_4ePTeHok #
14:36
я за Диму ничего не могу ответить.
14:37
механизм решений есть. Механизм распространения и обмена - тоже
Dmitry1 #
14:37
Я его уже несколько месяцев спрашиваю, почему нельзя сделать jobs и handlers через триггеры
_4ePTeHok #
14:37
вопрос в понимании
Dmitry1 #
14:37
Хотя было бы очень удобно
_4ePTeHok #
14:37
потому что механика там другая
14:38
из твоего примера - торчащие рычаги и тумблеры из каждой дырки не добавляют приятного
Dmitry1 #
14:38
"торчащие рычаги и тумблеры из каждой дырки" по умолчанию - это нормально
_4ePTeHok #
14:39
уверяю - для большинства - нет
14:39
иначе такими бы машины и были в реальности
Dmitry1 #
14:39
Сейчас зайди в "Fault management" -> "Setup" -> "Classification Rules"
14:40
Там "рычагов и тумблеров" аж несколько сотен
14:40
И никого это не напрягает
zi_home #
14:40
никто туда не ходит
Dmitry1 #
14:41
Но есть возможность из WEB управлять поведением
zi_home #
14:41
тут фм 2 человека пользуются
_4ePTeHok #
14:42
рулы это рулы
14:42
и делались они для широкого наполнения
14:42
а не для повседневного руление
Dmitry1 #
14:42
Чем ивенттриггеры будут от них отличаться?
_4ePTeHok #
14:42
Дим, вот чес слово, задолбал уже тригграми
14:43
мне не горячо от них и не холодно
14:43
Володин высказал свое мнение что возвращатся к ним он не хочет
Dmitry1 #
14:43
Другого механизма у нас нету, кроме как триггеры
14:43
А Дима упорно не хочет писать новый
_4ePTeHok #
14:44
я вижу выход только в одном - уходить в вникание механизма солюшенов и расширения их возможностей
14:44
раз так это видит разработчик нока
Dmitry1 #
14:44
"точка входа" в солюшн должна быть в WEB
14:44
а не где-то закопана в конфигах или в питоне
_4ePTeHok #
14:44
даладно
14:45
скрипты же писал
14:45
без веба
14:45
включение-отключение, обмен\скачивание да, со временем можно вынести
Dmitry1 #
14:45
для скриптов был класс NOCScript
14:45
Который все умел
14:46
_4ePTeHok: Пример
14:46
class ArchiveJob(AutoIntervalJob):
14:46
name = "fm.archive"
14:46
interval = 300
14:46
randomize = True
14:47
Как мне поменять число 300 ?
14:47
Писать solution для solution для solution ?
14:48
А на мое предложение вынести управление этой переменной в WEB, мне говорять, что это никому не нужно
_4ePTeHok #
14:49
чем тебе не угодил интервал архивирования?)
Dmitry1 #
14:49
Я пример дал
14:49
В половине скриптов там гвоздями прибитые константы
14:50
"jobs": [
14:50
{
14:50
"job": "check_link",
14:50
"interval": 60,
14:50
"vars": {
14:50
"interface": "alarm.vars['interface']"
14:50
}
14:50
}
14:50
]
_4ePTeHok #
14:50
Володин тебе верно сказал, что возможность менять какие то константы приведет к тому, что у людей начнутся вопросы - а чо не работает
14:50
по линкам же решили уже адаптивку делать
14:51
два таймера и 3 интервала
Dmitry1 #
14:51
Смотри как замечательно сделано в конфигах
14:51
есть значение по умолчанию, а есть значение, выставляемое пользователем
zi_home #
14:51
_4ePTeHok, там пробелма что длинк каждый логин срет в логи
Dmitry1 #
14:51
Всегда видно, если что-то менял
zi_home #
14:51
а нок слишком агресивен
_4ePTeHok #
14:51
zi_home, это не проблема нока.
14:52
я ж говорю - это в профиль собирались вроде выносить
zi_home #
14:52
отнюдь
Dmitry1 #
14:52
Какой такой профиль?
_4ePTeHok #
14:52
если оно будет в профиле интерфейса - то какая разница
14:52
срет оно в лог или нет
Dmitry1 #
14:52
Смотри ситуацию. Реальную
_4ePTeHok #
14:53
будет в дефолтовом профиле отключен нахрен чек
14:53
там где надо - навешан
14:53
более сложная логика - через солюшен
Dmitry1 #
14:53
Спиздили свич, который не срал в консоль. Для него были все настройки сделаны. Раскраска, хуекраска и т.п.
14:53
Срочно нашли замену.
_4ePTeHok #
14:53
отключили менеджмент
14:53
поставили
14:53
донастроили
14:53
включили менеджмент
14:54
все.
Dmitry1 #
14:54
Вот именно, что тогда как раз отключение менеджемент не сработало
_4ePTeHok #
14:54
блядь. оно само должно решать - спиздили у тебя что то, или ты его отключил просто?)
14:54
естественно руками
14:55
как любой меинтернанс
Dmitry1 #
14:55
Оно несколько раз в минуту ломилось на него
_4ePTeHok #
14:55
да хоть 100 раз
zi_home #
14:55
_4ePTeHok, check_link вспомогательный джоб который придумали на всякий случай, но почему-то включили подефолту, а надо было, отключить и включить тем кому надо
14:55
мне например не надо
14:55
я бы тоже отключил
Dmitry1 #
14:55
И мне не надо
_4ePTeHok #
14:55
дык переделывают
zi_home #
14:56
не вижу
_4ePTeHok #
14:56
я сказал про адаптивку в профиле
zi_home #
14:56
я вижу что делают офм
14:56
нет
14:56
адаптивка это костыли
_4ePTeHok #
14:56
блядь.
zi_home #
14:56
необходимо настраивать
14:56
вкл/выкл
_4ePTeHok #
14:56
я уже сказал выше
Dmitry1 #
14:56
А "noc.fm.handlers.event.discovery.schedule_discovery", ?
_4ePTeHok #
14:56
в дефолтовом профиле - выключить
Dmitry1 #
14:56
Как отключить?
zi_home #
14:56
чего ты сказал, что оно включено
14:57
а как отключить, ебитесь вы конем
_4ePTeHok #
14:57
facepalm
Dmitry1 #
14:57
да
_4ePTeHok #
14:57
еще раз
zi_home #
14:57
и не один
_4ePTeHok #
14:57
адаптивный шедулер запуска джоба настраивается в профиле интерфейсы
14:58
там его можно выключить или выставить нужный таймаут
14:58
в дефолтовом профиле сделать его отключенным
14:58
еще вопросы?
zi_home #
14:58
где это?
Dmitry1 #
14:58
А noc.fm.handlers.event.discovery.schedule_discovery" ?
_4ePTeHok #
14:58
это сделать
14:58
т е в процессе
14:59
шедулинг дискавери это отдельная тема
zi_home #
14:59
не в процессе, а в задумке, как инвентори и графики
14:59
и еще 100500 полезных фич
_4ePTeHok #
14:59
дык помогай
Dmitry1 #
14:59
Оно мне запускаке этот шкдуле дискавери на каждое изменение конфига
zi_home #
15:00
помогаю, мои issue, неторые даже с кодом для коммита висят
15:00
а толку
15:00
я правил для ФМ наделал
15:00
кто будет коммитить
15:00
я функцию для очиски цоско-конфига сделал. кто будет коммитить?
Dmitry1 #
15:01
_4ePTeHok: Оно мне запускаке этот шедуле дискавери на каждое изменение конфига. При этом загрузка CPU свичей доходит до 100%. Как это отключить?
_4ePTeHok #
15:03
zi_home, ну ты вспомни что я твои инвентори комиттил?
15:03
дойдет и до другого
15:03
сам же видел что по выходным вкалывая нахожу время
Dmitry1 #
15:03
_4ePTeHok: Представь себе ситуацию, когда я запускаю "run command" на 100 свичах. В результате - ложится сеть
_4ePTeHok #
15:04
напоминай только, не на все памяти хватает
15:05
Dmitry1, это опять специфика железа
15:05
под специфику надо и решение свое
15:06
у меня на 500 железок при сдергивании конфига ничего не ложится
Heretiqu3 #
15:06
почему может в вэбе скрипт получать exception, а при debug-script из консоли - нет?
zi_home #
15:06
_4ePTeHok, ну вот ты один, а еще есть реквесты по кторым надо совместно работать, например надо на ребут железки поднимать маленький аларм и под него все прятать, это не просто правило клссификации налабать, я не могу его сделать, а кто тогда?
Dmitry1 #
15:06
Это не специфика железа, а специфика NOC, в котором эту "фичу" нельзя отключить, я уже не говорю о том, чтобы привязать к селектору
_4ePTeHok #
15:06
Heretiqu3, проверь что снмп не юзаешь
zi_home #
15:06
Heretiqu3, snmp
_4ePTeHok #
15:06
из веба по дефолту снмп дергает
15:06
а уж если нет - кли
Heretiqu3 #
15:07
а где это проверить, такой вот вопрос :)
_4ePTeHok #
15:07
запусти дебаг с снмр
15:07
snmp
15:07
-c community
15:08
если пройдет, а без - нет, значит вопрос в конкретной части скрипта
Heretiqu3 #
15:08
это через ./noc делается или чисто snmp?
zi_home #
15:08
в настройках мо комьюнити указывал?
Heretiqu3 #
15:08
указывал, RO
zi_home #
15:08
ну вот
_4ePTeHok #
15:08
./noc debug-script -c cummunity
Heretiqu3 #
15:08
половина свитчей опросилась, половина нет
zi_home #
15:08
-с-
_4ePTeHok #
15:08
и дальше бла бла
zi_home #
15:08
djpmvtn bp ghjabkz
Heretiqu3 #
15:08
хотя все одинаковое
zi_home #
15:08
возьмет из настроек
_4ePTeHok #
15:09
zi_home, ты же знаешь что количество разрабов не от меня зависит
15:09
я тут на таком же положении как и ты, только с доступом к репо
Dmitry1 #
15:09
_4ePTeHok: Напрямую зависит от сложности API
zi_home #
15:09
а те разрабы что есть заняты непонятно чем
_4ePTeHok #
15:10
апи там проще некуда в сравнении кстати
15:10
ты бы в яву попробовал сунутся
15:11
вопрос в понимании механики
Dmitry1 #
15:11
InteractionLog(
15:11
timestamp=event.timestamp,
15:11
expire=event.timestamp + datetime.timedelta(seconds=TTL_CONFIG),
15:11
object=event.managed_object.id,
15:11
user=event.vars.get("user"),
15:11
op=InteractionLog.OP_CONFIG_CHANGED,
15:11
text="Config changed"
15:11
).save()
15:11
Это точно простое API ?
_4ePTeHok #
15:11
это проше некуда
15:12
потому что все на ладони
15:12
что вот тут неясно - user=event.vars.get("user"),
15:12
?
Dmitry1 #
15:12
Я честно посмотрел код всех хандлеров, джобов и солюшенов
15:12
_4ePTeHok: Что такое event ?
_4ePTeHok #
15:12
ивент же, как ни странно)
Dmitry1 #
15:13
А почему ни _event, ни event_, ни events, а event?
_4ePTeHok #
15:13
ну чего ты придираешься?)
Dmitry1 #
15:14
Я не придераюсь.
_4ePTeHok #
15:14
я могу переменную как хочешь обозвать
15:14
ты будешь гадать - или зайдешь в код и посмотришь?
15:14
что куда передается
15:14
как вызывается
15:14
и т д
Dmitry1 #
15:14
Для этого есть ООП, где все видимые пользователю функции и переменные выносят на верхний уровень
_4ePTeHok #
15:15
ну опять полезли в дебри
15:15
вон в обджект си
15:15
дохрена да
15:15
переменных на верхнем уровне
15:15
открой любой код для айфончика
15:15
там читабельность пиздец адовая
15:16
CFHTTPMessageRef authoriztionMessageRef = CFHTTPMessageCreateRequest(kCFAllocatorDefault, (__bridge CFStringRef)[request HTTPMethod], (__bridge CFURLRef)[request URL], kCFHTTPVersion1_1)
15:16
вот спроси у низ чо такое kCFAllocatorDefaul
Dmitry1 #
15:17
эта переменная видна на верхнем уровне, как и функция CFHTTPMessageCreateRequest
15:17
А у нас наоборот
15:18
"noc.fm.handlers.event.link.oper_down"
15:18
т.е. мне не только нужно знать все методы класса lonk
15:18
link
15:18
но и все методы классов noc, fm, handlers и event
15:20
Может Дима их все и знает, но я их не знаю. Поэтому что-то написать подобное не смогу
zi_home #
15:21
это да
15:21
я про синхронизатор префикс листов целый день пытал
15:22
а потом оказался хуй
Dmitry1 #
15:30
_4ePTeHok: Открой sa/profiles/DLink/DxS/get_interfaces.py
15:30
Там вложенности, глубже, чем self.scripts или self.profile не найдешь
15:33
Причем весь profile находится в sa/profiles/__init__.py, а весь scripts в sa/script/script.py
15:33
И этих двух файлов хватает, чтобы написать сотню скриптов SA
15:35
Причем эти два файла хорошо документированы, содержат примеры и юниттесты
Tweet
Share this page
Share this page: Tweet