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: 16.08.2012
acid232 #
06:04
привет
06:05
dvolodin: поставил себе confluence, java сожрала все ram & cpu, это нормально ? )
dvolodin #
06:14
да
06:14
CPU он несильно жрет, а памяти ему гига полтора надо
acid232 #
06:20
пустая 32битная - virt 1301m res 868m
dvolodin #
06:25
ну нормально
06:25
это же жаба
Dmitry1 #
06:55
Вышла новая версия FishEye.
07:28
Можно ли в SA->Tasks->Show Switchport добавить колонку "Admin Status" ?
07:29
dvolodin: И заодно сделать HTML темплейт для команды get_switchport
dvolodin #
07:34
зачем он нужен, если есть interfaces?
Dmitry1 #
07:43
web-морда
07:44
Зайди в SA->Tasks->Show Switchport и посмотри
dvolodin #
07:46
есть морда для интерфейсов
07:46
там все это видно
Dmitry1 #
07:48
Я имел ввиду SA->Tasks->Show Switchport
07:48
Там удобно смотреть
Guest7-ru #
07:51
для етого надо или менять igetswitchport, get_switchport и чуть подправить view, или радикально переписать view используя get_interfaces..
07:52
Лучше написать отдельное SA приложение которое будет дёргать get_interfaces и делать вывод похож на SA->Tasks->Show Switchport
07:54
Если без ExtJS на голой джанге то за час можно наваять...
Dmitry1 #
07:55
Мда. Наверное, нужно все-таки менять igetswitchport и igetinterfacestatus
07:56
Это уже обсуждалось.
07:57
Для роутеров, возможно, и удобно дергать get_interfaces, но для свичей get_switchport гораздо информативнее и нужнее.
Guest7-ru #
07:57
И переписывать get_switchport и get_interfacestatus для всех профилей и наново создавать тушонки.. Плюс переписать все приложения которые их дёргают ;)
Dmitry1 #
07:57
Зачем? Сделать параметр опциональным. Всегда равным True.
Guest7-ru #
07:58
Лучше написать отдельное SA->Tasks->Show Interfaces где будет всё что тебе надо.
Dmitry1 #
07:58
Тушенку и скрипты со временем можно переписать.
07:58
Зачем мне на L2 свиче show interfaces ?
Guest7-ru #
07:59
Давайте условимся что старые интерфейсы херить не будем, а только добавлять новые...
Dmitry1 #
07:59
Ээээ... Не хватает однако функционала старых.
08:00
Их писал dvolodin под какие-то свои условия.
08:00
А в боевой обкатке выявились недоработки.
Guest7-ru #
08:01
Тогда если get_interfaces неподходит проще создать новый igetswitchinterfaces, написать его скрипты для профилей get_switchinterfaces и также SA->Tasks->Show Interfaces
Dmitry1 #
08:01
Зачем писать новые скрипты?
Guest7-ru #
08:01
Нехватает в старых функционаля для войн, пишем новые, но старые при этом не херим.
dvolodin #
08:02
Dmitry1: в get_interfaces есть все, что есть в get_switchports
Dmitry1 #
08:02
Вот смотри пример:
08:02
В профиле Cisco.IOS скрипт get_switchport выполняет следующую команду:
08:03
show interfaces description
08:03
Которая выводит:
08:03
nterface Status Protocol Description
08:03
Vl1 admin down down
08:03
Vl256 up up
08:03
Gi0/1 up up Wnet
08:03
Gi0/2 down down Vishka
08:03
Т.е. вот готовый "admin status" бери - не хочу.
08:03
И не надо ничего ломать.
08:04
dvolodin: В get_interfaces много избыточной информации, которая нафиг не нужна рядовому инженеру.
08:05
У нас есть специальный человек, который занимается корпоративными клиентами. Пробрасывает VLAN'ы по всему городу. Ему нафиг не нужна информация о том, какие IP интерфейсы есть на коммутаторе, а также, какие протоколы маршрутизации там используются.
08:06
Это я говорю не про сферических коней в вакууме, а про реальную работу, с котрой мы ежедневно сталкиваемся.
zi_rus #
08:07
может лучше в inv.interfaces добавить кнопочку типа рефреш, нажал, и запустился скрипт get_interfaces или switchport, в зависимости от таба
08:07
заодно и инвнтори обновилось
Guest7-ru #
08:08
Вот ломать старые интерфейсы не надо! Добавляем новые igetswitchinterfaces, написать его скрипты для профилей get_switchinterfaces где будет необходимое для реальных боёв.
Dmitry1 #
08:08
Правтически все CLI команды выводят "избыточную" информацию, которую можно безболезненно "вытащить".
08:09
Guest7-ru: Я смогу переделать все скрипты, для которых есть тушенка. Кроме того, NOC умеет исправлять тушенку, в зависимости от изменения логики скрипта.
08:10
Собственно говоря, консервируются сами CLI команды и их вывод. А скрипты подгоняются так, чтобы не нарушался интерфейс.
Guest7-ru #
08:10
Вот непойму зачем ломать старый интерфейс когда в даной ситуации проще добавить новый.
Dmitry1 #
08:10
А зачем ломать?
Guest7-ru #
08:10
Много интерфейсов не мало...
Dmitry1 #
08:10
Добавить опциональное поле.
08:11
И ничего не поломается.
Guest7-ru #
08:12
А почему не добавить новы интерфейс? И тогда точно ничего не поломается!
Dmitry1 #
08:12
Потому что get_switchport вполне достаточен.
zi_rus #
08:13
Dmitry1, я что-то не догоню, а чего тебе нужно-то?
Guest7-ru #
08:13
Давай определимся, если get_switchport вполне достаточен. То вообще ничего не надо менять.
Dmitry1 #
08:14
Чтобы get_switchport показывал "admin status" порта. Физического порта. На свиче L2.
Guest7-ru #
08:14
А если get_switchport нехватает admin_status, то наверно лучше создать новый интерфейс get_switchinterfaces
Dmitry1 #
08:15
Есть абонентский свич. С помощью set_switchport включаются/выключаются порты. Нам нужно знать, порт выключен потому, что у абонента выключен компьютер, или вывлючен административно.
08:16
Выйдите наконец-то из своих датацентров в люди. Десятки тысячи свичей используются именно как абонентские. Там нету VRF, MPLS, LACP и тому подобной фигни.
Guest7-ru #
08:17
Да, можно использовать существующий get_interfaces или написать или создать новый и написать ещё SA->Tasks->Show Interfaces
Dmitry1 #
08:18
нафига на абонентской мыльнице из 8 портов get_interface ?
Guest7-ru #
08:18
А можно переделать get_switchport и SA->Tasks->Show Switchport, но при этом работы будет больше и больше ошибок.
08:20
Вообще партия приняла решения техперсоналу не давать права включать/выключать порты, а то клиент звонит они порт дёрнут и больше ничего не делают.
Dmitry1 #
08:22
Порты могут включаться/отключаться через биллинг.
acid232 #
08:22
)
08:23
философские дискуссии снова )
Dmitry1 #
08:23
Врлде бы как раз для этого REST и делается
mikevlz|2 #
08:23
ээээээ... Пагадите!
acid232 #
08:23
это хорошо если биллинг самописный
mikevlz|2 #
08:23
я жопкорн не купил :)
acid232 #
08:23
а если он пишется аутсорсерами
mikevlz|2 #
08:23
acid232: любой внятный биллинг может или отправить снмп команду, или запустить внешний скрипт
Dmitry1 #
08:24
Вот и я о том же.
acid232 #
08:24
и на каждый чих и пук нужен весь цикл от запроса на изменения, составления тз оценки исполнения приемки оплаты тендера итд
08:24
биллинг не должен трогать порты
zi_rus #
08:24
Dmitry1, get_interfaces может узнавать админ статус, просто он приравнен к опер статусу. зачем это сделано, неясно. лучше допилить get_interfaces и админ статус держать в базе и выводить в inv.interfaces
mikevlz|2 #
08:24
Dmitry1: вот зачем ты его из датацентра вытащил? :)
08:24
acid232: а что он должен трогать?
acid232 #
08:25
он должен взаимодействовать с ааа фолтом и инвентори
mikevlz|2 #
08:25
мммммм... клева.
08:25
диаметры, да?
acid232 #
08:25
ну в идеальной модели ясное дело
Dmitry1 #
08:26
zi_rus: 1. Добавление необязательного параметра ничего не поломает.
mikevlz|2 #
08:26
Dmitry1: они не туда из датацентров вышли... :)
Dmitry1 #
08:26
2. Я сам поправлю все имеющиеся скрипты и тушенку.
acid232 #
08:26
я кстати в get_interface_status для хуавея добавил admin_status
08:26
три строчки кода
mikevlz|2 #
08:27
ты убил нок :)
Dmitry1 #
08:27
Никто никого не застваляет переделывать скрипты.
zi_rus #
08:27
Dmitry1, я не беспокоюсь за поломки, поломаное можно починить, я просто считаю это лишнее, надо приходить к единой базе и это inv.interfaces
Guest7-ru #
08:28
Ладно, делайте как считаете нужным, но старайтесь ничего рабочего не ломать.
Dmitry1 #
08:28
Эта база статическая. А скрипты - динамика.
evyscr #
08:28
zi_rus: поддерживаю единую точку входа.
dvolodin #
08:29
опциональное поле можно добавить, да
08:29
status будет operstatus
mikevlz|2 #
08:29
Dmitry1: она не статическая. Просто надо пинать шедулер, чтоб он обновил инфу о нужной железке раньше, чем ты захочешь посмотреть
dvolodin #
08:29
True -- если порт поднят
08:29
False - если лежит
08:29
как сейчас
08:29
будет еще admin_status
zi_rus #
08:29
Dmitry1, эта база динамическая, для этого работает дискавери. То что она отстает от актуального состояния на время расписания, я предлагаю компенсировать возможностью актуализации информации по запросу
dvolodin #
08:29
если он False -- это значит, что порт лежит потому, что его положили или не поднимали
08:30
расписания я уже сделал, получилось офигительно
08:30
:)
zi_rus #
08:30
dvolodin, отсюда не видно
08:30
:)
dvolodin #
08:30
вот теперь на них надо натянуть discovery
08:30
я уже version discovery на них сделал
08:31
надо добавить interface и address discovery
zi_rus #
08:31
dvolodin, дискавери не натянешь, слишком дорого гонять его очень часто, я со скрипом с недели понизил срок до 3х дней и то считаю это часто
dvolodin #
08:31
у нового scheduler'а не плавает время запуска
08:31
zi_rus: я не про то
zi_rus #
08:32
я понял, но мы тут эту проблему пытались обсудить
dvolodin #
08:32
в нем, например, нет проблемы, что после долгого простоя он пытается выполнить все, что наболело
08:33
lib/scheduler
zi_rus #
08:33
dvolodin, admin action "run interface discovery now", можешь добавить такую же кнопочку в inv.interfaces?
dvolodin #
08:34
вот и добавлю с новым scheduler'ом
08:34
будет кнопочка Refresh
08:35
http://dpaste.org/SsdBG/
08:35
вот пример job'а, который запускает MRT, пишет письма, и запускается в указанный интервал времени
zi_rus #
08:44
dvolodin, в старых приложениях был csv export, будет он в новых? в инвентори вообще и в inv.interfaces в частности пригодился бы
08:45
да и в vc.vc
dvolodin #
08:45
будет
08:45
но, скорее всего, кнопками на тулбаре и с отдельными правами на export/import
zi_rus #
08:45
это не принципиально, главное чтобы в результате можно было получить csv-файлик
dvolodin #
08:46
со стороны сервера могу сделать соответсвующие сервисы
Dmitry1 #
08:49
Надо вменяемую табличку для бабушки 50 лет. Именно такие в основном сидят диспетчерами на узлах. Без всяких refresh и т.п. Если мы вызвали эту страничку, то явно не для того, чтобы увидеть данные, которые были пол-дня назад.
08:50
И это наша суровая действительность. Бабушка не должна знать про всякие IP, VRF и т.п.
dvolodin #
08:52
Дим, это уже АРМ Бабушки
08:52
если надо, могу показать, как делаются такие вещи
Dmitry1 #
08:53
Нет. Просто часть отчетов нужно выводить в таком виде, чтобы понял диспетчер, который не разбирается в компьютерах.
zi_rus #
08:54
Dmitry1, то есть автоматом выводить на печать и вызывать курьера?
Dmitry1 #
08:54
Да.
zi_rus #
08:54
чтобы отнести отчет диспетчеру
Dmitry1 #
08:54
Для этого я уже предлагал следующее.
08:56
В интерфейсы IGetPortchannel, IGetSpanningTree, IGetDOMStatus и IGetDOMStatus
08:56
Добавить необязательные поля типа Boolean
08:56
Которые "взводятся" в True средствами скрипта.
08:57
И состояние True которых означает, что произошла ошибка.
08:58
Пример скрипта get_portchannel
zi_rus #
08:58
какие-то странные слова. что же это даст?
Dmitry1 #
08:58
result = [{'interface': 'Eth-Trunk0',
08:58
'members': ['GigabitEthernet0/0/1', 'GigabitEthernet0/0/2'],
08:58
'type': 'S'}]
09:00
Что мы отсюда видим? А ничего. А теперь заглянем в CLI:
09:00
display eth-trunk
09:00
Eth-Trunk0's state information is:
09:00
WorkingMode: NORMAL Hash arithmetic: According to SA-XOR-DA
09:00
Least Active-linknumber: 1 Max Bandwidth-affected-linknumber: 8
09:00
Operate status: up Number Of Up Port In Trunk: 1
09:00
--------------------------------------------------------------------------------
09:00
PortName Status Weight
09:00
GigabitEthernet0/0/1 Up 1
09:00
GigabitEthernet0/0/2 Down 1
09:00
ОФИГЕТЬ. Так у нас же не работает portchannel !!!
09:01
Как об этом узнает оператор/инженер ?
zi_rus #
09:01
аларм в фм
Dmitry1 #
09:01
Какой еще аларм?
zi_rus #
09:02
линк даун, портченел даун, что-то еще даун, в зависимости что не работает
mikevlz|2 #
09:02
порт-ченел работает...
Dmitry1 #
09:02
И бабушка диспетчер будет просматривать все алармы?
mikevlz|2 #
09:03
оно же четко говорит, что опер статус ап. Что воркинг моде нормал. Ну один из линков свалился... Это же не все линки
zi_rus #
09:03
Dmitry1, бабушка-инженер?
Dmitry1 #
09:03
Блин. да вникните вы в ситуацию. Инженер пошел на заявку. В офисе остается бабашка диспетчер или девушка с 4-м размером груди.
mikevlz|2 #
09:03
бабушка диспетчер даже если и посмотрит в алармы - увидит, что линк какой-то в дауне
Dmitry1 #
09:03
Он по телефону звонит с просьбой посмотреть, устранились ли неполадки.
09:04
Нужно в реальном времени посмотреть, работает эта фигня или нет.
zi_rus #
09:04
Dmitry1, тем более ФМ
Dmitry1 #
09:04
Аларм нам ничего не даст.
zi_rus #
09:04
аларм уйдет
09:04
или не уйдет
mikevlz|2 #
09:04
Dmitry1: шлем девочку с 4 размером/бабушку(в зависимости от предпочтений абонента), никуда смотреть не надо. Правда УК...
zi_rus #
09:06
Dmitry1, говорим девочке, смотреть на аларм, звоним, спрашиваем пропал он или нет. а что ты предлагаешь делать с бабушкой с 4-м размером?
09:06
дергать get_switchport?
Dmitry1 #
09:06
Да
zi_rus #
09:07
хотел бы я на это посмотреть. хотя и обезьян смогли научить курить
Dmitry1 #
09:08
Это реальная ситуация.
09:09
У нас один из операторов поставил себе D-View. Там есть возможность, нажав на изображение порта коммутатора, выставиит ему какие-то параметры.
09:09
В том числе и выключить/включить.
09:09
Простейший пример.
09:10
"Ложится сеть". Инженер идет с ноутбуком на линию, и определяет, что после грозы сгорел порт куммутатора и начинает флудить в сеть.
09:11
Он должен позвонить диспетчеру, чтобы она отключила это порт.
09:11
Она должна в FM смотреть для этого?
dvolodin #
09:11
стой-стой-стой
09:11
я нить рассуждения потерял
zi_rus #
09:11
ты примерами уже все запутал, то админ статус надо узнать, то портченел не работает, то работает, но надо линк восстановить, но падение линка не административное, а оперативное
dvolodin #
09:11
кто с 4 размером? девочка или бабушка?
Dmitry1 #
09:12
Эта ситуация возникает каждый раз после грозы. Регулярно. Десятки и сотни раз.
mikevlz|2 #
09:12
dvolodin: 4-й размер у IGetSwitchport
zi_rus #
09:12
что? админстатус самопроизвольно кладет порты?
Dmitry1 #
09:13
zi_rus: Я за то, чтобы добавить в некоторые интерфейсы необязательные параметры, которые потом можно будет использовать в будущем.
dvolodin #
09:14
мне кажется, нужно делать соотвествующие формы для обладателей почтенных возрастов и бюстов
Dmitry1 #
09:15
Согласен. Но откуда брать данные, которые будут выводиться в эти формы?
09:16
Для этого я и предлагаю добавить некоторые переменные в интерфейсы, которые потом облегчат обработку
dvolodin #
09:16
начинайте обсуждения на форуме
09:16
по каждому интерфейсу
09:16
я пока - таймаут до понедельника
09:17
голова другим забита
Dmitry1 #
09:17
ты в понедельник обещал заняться self.cli.stream() :)
zi_rus #
09:51
Dmitry1, у вас бабушки кладут порты на сети?
Dmitry1 #
09:51
Да.
zi_rus #
09:51
а не страшно?
Dmitry1 #
09:51
Диспетчера обучили пользоваться D-View на уровне пользователя.
zi_rus #
09:52
а доступ у них на уровне админа
Dmitry1 #
09:52
Офигенная вещь: Показывает топологию сети, статус портов, проблемы в сети и т.п.
zi_rus #
09:52
это ты сейчас так нок опустил
Dmitry1 #
09:52
D-View работает по SNMP
zi_rus #
09:52
и еще раз
09:53
:)
Guest7-ru #
09:53
Кто работал с pyserial? Есть девайс никак на связь с ним выйти не могу. Еть родная прога которая выходит я её "диалог" выснифил, ставлю вроже теже параметри, шлю теже байты, а в ответ тишена. Целый день мудохаюсь.
zi_rus #
09:54
Dmitry1, а как же "длинки виснут от снмп"?
Dmitry1 #
09:55
Они виснут из-за интенсивного обращения. Типа выгребания таблицы arp или fdb.
zi_rus #
09:55
а двью этого не делает?
09:55
ну и правильно, кому это надо на самом деле
Dmitry1 #
09:55
Ну, если им пататься выгрести таблицу fdb, то эффект будет тот же.
09:56
Другой вопрос, что никто с помощью d-view это не делает.
zi_rus #
09:56
ибо не надо, это и ноком делать не надо
Dmitry1 #
09:57
А как же get_arp и get_mac_address_table ?
zi_rus #
09:58
это называется мы тут сделали какую-то хрень, зачем она нужна не знаем, но она кладет железки, как теперь это починить
Guest7-ru #
09:58
Помогите мне лучше через компорт с устройством связатся...
Dmitry1 #
10:00
Побалуйся RTS/CTS и XON/XOFF
10:00
Заодно посмотри биты четности и т.п.
zi_rus #
10:03
поставил сегодня, по совету, проксмокс. он тоже на ext4 работает, смотрите как они графики сделали http://imageshack.us/photo/my-images/843/screenshotevr.png/
Dmitry1 #
10:05
О. На ExtJS написан
dvolodin #
10:06
да, я видел
10:15
кто сделает нам графиги на extjs?
10:15
:)
mikevlz|2 #
10:16
покажЫ как свести в один таймлайн разные данные корректно - покажу, как оно рисуется
dvolodin #
10:20
скажи, что на входе надо
10:21
выдадим нужный json
zi_rus #
10:30
dvolodin, они в таблице, одельно от графиков в реалтайме показывают CPU usage, когда же нок будет пушить
dvolodin #
10:33
zi_rus: делаю клиент и сервер STOMP ;)
10:36
видел реальзацию клиента STOMP на JS с туннелированием по http
zi_rus #
10:39
и как, есть прогресс?
dvolodin #
10:40
генерация и парсинг сообщений есть
Guest7-ru #
11:04
Вот наши молодцы устройства клепают, день ушол чтобы квест пройти и к компорту подключится!
11:08
Подключаешся на 2400 шлёш 000...000 чтобы оно проснулось (ибо 5 лет на батарейке и без внешнего питания) потом посылаешь команду изменения скорости, пару раз, меняешь скорость не разрывая связь и опять шлёш команду изменения скорости.. потом кучу нулей и
11:08
наконец управляющую команду!!!
mikevlz|2 #
11:24
dvolodin: на входе надо: [[время, параметр1,параметр2],[время, параметр1,параметр2],[время,параметр1, параметр2],[время,параметр1,параметр2]]
dvolodin #
11:24
время в каком формате?
mikevlz|2 #
11:24
на выходе будет линейный график, можно еще и разные оси задействовать, чтоб параметры были в разном масштабе
11:25
ну я вроде и таймстемпы на JS переводил...
11:26
да, переводил.
dvolodin #
11:28
на сервер оно что слать умеет?
11:28
какие графики и диапазон времени?
mikevlz|2 #
11:28
эммм...
dvolodin #
11:29
нужна возможность менять масштаб графика и двигать время
mikevlz|2 #
11:29
запросить номер графика, указать диапазон времени можно.
11:30
все как обычно, банальный ajax на сервак, в ответ ждем json с данными в указанном формате. Дальше этот ответ суется в датастор, из него чертякается график.
11:31
причем этой лабуде можно сказать, чтоб сама обновлялась, то есть дергала по таймеру ajax
zi_rus #
11:34
а не лучше наоборот, чтобы обновление приходило с сервера, когда новые данные появились?
mikevlz|2 #
11:35
может и лучше... Тогда просто при обновлении датастора надо дернуть функцию перерисовки графика
misak #
11:49
добрый день
11:50
что-то с ДНС-ом не то
11:50
не генерит
11:51
dvolodin: pastebin в личке
veng #
13:08
на днях поймал такой момент... событие, классифицируемое как "Network | BGP | Peer State Changed" вызывает alarm "bgp session down". При чем без разбора что на что изменилось
dvolodin #
14:14
статус
Tweet
Share this page
Share this page: Tweet