nocproject.org
06:04
привет
06:05
dvolodin: поставил себе confluence, java сожрала все ram & cpu, это нормально ? )
06:14
да
06:14
CPU он несильно жрет, а памяти ему гига полтора надо
06:20
пустая 32битная - virt 1301m res 868m
06:25
ну нормально
06:25
это же жаба
06:55
Вышла новая версия FishEye.
07:28
Можно ли в SA->Tasks->Show Switchport добавить колонку "Admin Status" ?
07:29
dvolodin: И заодно сделать HTML темплейт для команды get_switchport
07:34
зачем он нужен, если есть interfaces?
07:43
web-морда
07:44
Зайди в SA->Tasks->Show Switchport и посмотри
07:46
есть морда для интерфейсов
07:46
там все это видно
07:48
Я имел ввиду SA->Tasks->Show Switchport
07:48
Там удобно смотреть
07:51
для етого надо или менять igetswitchport, get_switchport и чуть подправить view, или радикально переписать view используя get_interfaces..
07:52
Лучше написать отдельное SA приложение которое будет дёргать get_interfaces и делать вывод похож на SA->Tasks->Show Switchport
07:54
Если без ExtJS на голой джанге то за час можно наваять...
07:55
Мда. Наверное, нужно все-таки менять igetswitchport и igetinterfacestatus
07:56
Это уже обсуждалось.
07:57
Для роутеров, возможно, и удобно дергать get_interfaces, но для свичей get_switchport гораздо информативнее и нужнее.
07:57
И переписывать get_switchport и get_interfacestatus для всех профилей и наново создавать тушонки.. Плюс переписать все приложения которые их дёргают ;)
07:57
Зачем? Сделать параметр опциональным. Всегда равным True.
07:58
Лучше написать отдельное SA->Tasks->Show Interfaces где будет всё что тебе надо.
07:58
Тушенку и скрипты со временем можно переписать.
07:58
Зачем мне на L2 свиче show interfaces ?
07:59
Давайте условимся что старые интерфейсы херить не будем, а только добавлять новые...
07:59
Ээээ... Не хватает однако функционала старых.
08:00
Их писал dvolodin под какие-то свои условия.
08:00
А в боевой обкатке выявились недоработки.
08:01
Тогда если get_interfaces неподходит проще создать новый igetswitchinterfaces, написать его скрипты для профилей get_switchinterfaces и также SA->Tasks->Show Interfaces
08:01
Зачем писать новые скрипты?
08:01
Нехватает в старых функционаля для войн, пишем новые, но старые при этом не херим.
08:02
Dmitry1: в get_interfaces есть все, что есть в get_switchports
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
Это я говорю не про сферических коней в вакууме, а про реальную работу, с котрой мы ежедневно сталкиваемся.
08:07
может лучше в inv.interfaces добавить кнопочку типа рефреш, нажал, и запустился скрипт get_interfaces или switchport, в зависимости от таба
08:07
заодно и инвнтори обновилось
08:08
Вот ломать старые интерфейсы не надо! Добавляем новые igetswitchinterfaces, написать его скрипты для профилей get_switchinterfaces где будет необходимое для реальных боёв.
08:08
Правтически все CLI команды выводят "избыточную" информацию, которую можно безболезненно "вытащить".
08:09
Guest7-ru: Я смогу переделать все скрипты, для которых есть тушенка. Кроме того, NOC умеет исправлять тушенку, в зависимости от изменения логики скрипта.
08:10
Собственно говоря, консервируются сами CLI команды и их вывод. А скрипты подгоняются так, чтобы не нарушался интерфейс.
08:10
Вот непойму зачем ломать старый интерфейс когда в даной ситуации проще добавить новый.
08:10
Много интерфейсов не мало...
08:10
Добавить опциональное поле.
08:11
И ничего не поломается.
08:12
А почему не добавить новы интерфейс? И тогда точно ничего не поломается!
08:12
Потому что get_switchport вполне достаточен.
08:13
Dmitry1, я что-то не догоню, а чего тебе нужно-то?
08:13
Давай определимся, если get_switchport вполне достаточен. То вообще ничего не надо менять.
08:14
Чтобы get_switchport показывал "admin status" порта. Физического порта. На свиче L2.
08:14
А если get_switchport нехватает admin_status, то наверно лучше создать новый интерфейс get_switchinterfaces
08:15
Есть абонентский свич. С помощью set_switchport включаются/выключаются порты. Нам нужно знать, порт выключен потому, что у абонента выключен компьютер, или вывлючен административно.
08:16
Выйдите наконец-то из своих датацентров в люди. Десятки тысячи свичей используются именно как абонентские. Там нету VRF, MPLS, LACP и тому подобной фигни.
08:17
Да, можно использовать существующий get_interfaces или написать или создать новый и написать ещё SA->Tasks->Show Interfaces
08:18
нафига на абонентской мыльнице из 8 портов get_interface ?
08:18
А можно переделать get_switchport и SA->Tasks->Show Switchport, но при этом работы будет больше и больше ошибок.
08:20
Вообще партия приняла решения техперсоналу не давать права включать/выключать порты, а то клиент звонит они порт дёрнут и больше ничего не делают.
08:22
Порты могут включаться/отключаться через биллинг.
08:22
)
08:23
философские дискуссии снова )
08:23
Врлде бы как раз для этого REST и делается
08:23
ээээээ... Пагадите!
08:23
это хорошо если биллинг самописный
08:23
я жопкорн не купил :)
08:23
а если он пишется аутсорсерами
08:23
acid232: любой внятный биллинг может или отправить снмп команду, или запустить внешний скрипт
08:24
и на каждый чих и пук нужен весь цикл от запроса на изменения, составления тз оценки исполнения приемки оплаты тендера итд
08:24
биллинг не должен трогать порты
08:24
Dmitry1, get_interfaces может узнавать админ статус, просто он приравнен к опер статусу. зачем это сделано, неясно. лучше допилить get_interfaces и админ статус держать в базе и выводить в inv.interfaces
08:24
Dmitry1: вот зачем ты его из датацентра вытащил? :)
08:24
acid232: а что он должен трогать?
08:25
он должен взаимодействовать с ааа фолтом и инвентори
08:25
мммммм... клева.
08:25
диаметры, да?
08:25
ну в идеальной модели ясное дело
08:26
zi_rus: 1. Добавление необязательного параметра ничего не поломает.
08:26
Dmitry1: они не туда из датацентров вышли... :)
08:26
2. Я сам поправлю все имеющиеся скрипты и тушенку.
08:26
я кстати в get_interface_status для хуавея добавил admin_status
08:26
три строчки кода
08:27
Никто никого не застваляет переделывать скрипты.
08:27
Dmitry1, я не беспокоюсь за поломки, поломаное можно починить, я просто считаю это лишнее, надо приходить к единой базе и это inv.interfaces
08:28
Ладно, делайте как считаете нужным, но старайтесь ничего рабочего не ломать.
08:28
Эта база статическая. А скрипты - динамика.
08:28
zi_rus: поддерживаю единую точку входа.
08:29
опциональное поле можно добавить, да
08:29
status будет operstatus
08:29
Dmitry1: она не статическая. Просто надо пинать шедулер, чтоб он обновил инфу о нужной железке раньше, чем ты захочешь посмотреть
08:29
True -- если порт поднят
08:29
False - если лежит
08:29
как сейчас
08:29
будет еще admin_status
08:29
Dmitry1, эта база динамическая, для этого работает дискавери. То что она отстает от актуального состояния на время расписания, я предлагаю компенсировать возможностью актуализации информации по запросу
08:29
если он False -- это значит, что порт лежит потому, что его положили или не поднимали
08:30
расписания я уже сделал, получилось офигительно
08:30
:)
08:30
dvolodin, отсюда не видно
08:30
:)
08:30
вот теперь на них надо натянуть discovery
08:30
я уже version discovery на них сделал
08:31
надо добавить interface и address discovery
08:31
dvolodin, дискавери не натянешь, слишком дорого гонять его очень часто, я со скрипом с недели понизил срок до 3х дней и то считаю это часто
08:31
у нового scheduler'а не плавает время запуска
08:31
zi_rus: я не про то
08:32
я понял, но мы тут эту проблему пытались обсудить
08:32
в нем, например, нет проблемы, что после долгого простоя он пытается выполнить все, что наболело
08:33
lib/scheduler
08:33
dvolodin, admin action "run interface discovery now", можешь добавить такую же кнопочку в inv.interfaces?
08:34
вот и добавлю с новым scheduler'ом
08:34
будет кнопочка Refresh
08:35
08:35
вот пример job'а, который запускает MRT, пишет письма, и запускается в указанный интервал времени
08:44
dvolodin, в старых приложениях был csv export, будет он в новых? в инвентори вообще и в inv.interfaces в частности пригодился бы
08:45
да и в vc.vc
08:45
будет
08:45
но, скорее всего, кнопками на тулбаре и с отдельными правами на export/import
08:45
это не принципиально, главное чтобы в результате можно было получить csv-файлик
08:46
со стороны сервера могу сделать соответсвующие сервисы
08:49
Надо вменяемую табличку для бабушки 50 лет. Именно такие в основном сидят диспетчерами на узлах. Без всяких refresh и т.п. Если мы вызвали эту страничку, то явно не для того, чтобы увидеть данные, которые были пол-дня назад.
08:50
И это наша суровая действительность. Бабушка не должна знать про всякие IP, VRF и т.п.
08:52
Дим, это уже АРМ Бабушки
08:52
если надо, могу показать, как делаются такие вещи
08:53
Нет. Просто часть отчетов нужно выводить в таком виде, чтобы понял диспетчер, который не разбирается в компьютерах.
08:54
Dmitry1, то есть автоматом выводить на печать и вызывать курьера?
08:54
чтобы отнести отчет диспетчеру
08:54
Для этого я уже предлагал следующее.
08:56
В интерфейсы IGetPortchannel, IGetSpanningTree, IGetDOMStatus и IGetDOMStatus
08:56
Добавить необязательные поля типа Boolean
08:56
Которые "взводятся" в True средствами скрипта.
08:57
И состояние True которых означает, что произошла ошибка.
08:58
Пример скрипта get_portchannel
08:58
какие-то странные слова. что же это даст?
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
Как об этом узнает оператор/инженер ?
09:02
линк даун, портченел даун, что-то еще даун, в зависимости что не работает
09:02
порт-ченел работает...
09:02
И бабушка диспетчер будет просматривать все алармы?
09:03
оно же четко говорит, что опер статус ап. Что воркинг моде нормал. Ну один из линков свалился... Это же не все линки
09:03
Dmitry1, бабушка-инженер?
09:03
Блин. да вникните вы в ситуацию. Инженер пошел на заявку. В офисе остается бабашка диспетчер или девушка с 4-м размером груди.
09:03
бабушка диспетчер даже если и посмотрит в алармы - увидит, что линк какой-то в дауне
09:03
Он по телефону звонит с просьбой посмотреть, устранились ли неполадки.
09:04
Нужно в реальном времени посмотреть, работает эта фигня или нет.
09:04
Dmitry1, тем более ФМ
09:04
Аларм нам ничего не даст.
09:04
аларм уйдет
09:04
или не уйдет
09:04
Dmitry1: шлем девочку с 4 размером/бабушку(в зависимости от предпочтений абонента), никуда смотреть не надо. Правда УК...
09:06
Dmitry1, говорим девочке, смотреть на аларм, звоним, спрашиваем пропал он или нет. а что ты предлагаешь делать с бабушкой с 4-м размером?
09:06
дергать get_switchport?
09:07
хотел бы я на это посмотреть. хотя и обезьян смогли научить курить
09:08
Это реальная ситуация.
09:09
У нас один из операторов поставил себе D-View. Там есть возможность, нажав на изображение порта коммутатора, выставиит ему какие-то параметры.
09:09
В том числе и выключить/включить.
09:09
Простейший пример.
09:10
"Ложится сеть". Инженер идет с ноутбуком на линию, и определяет, что после грозы сгорел порт куммутатора и начинает флудить в сеть.
09:11
Он должен позвонить диспетчеру, чтобы она отключила это порт.
09:11
Она должна в FM смотреть для этого?
09:11
стой-стой-стой
09:11
я нить рассуждения потерял
09:11
ты примерами уже все запутал, то админ статус надо узнать, то портченел не работает, то работает, но надо линк восстановить, но падение линка не административное, а оперативное
09:11
кто с 4 размером? девочка или бабушка?
09:12
Эта ситуация возникает каждый раз после грозы. Регулярно. Десятки и сотни раз.
09:12
dvolodin: 4-й размер у IGetSwitchport
09:12
что? админстатус самопроизвольно кладет порты?
09:13
zi_rus: Я за то, чтобы добавить в некоторые интерфейсы необязательные параметры, которые потом можно будет использовать в будущем.
09:14
мне кажется, нужно делать соотвествующие формы для обладателей почтенных возрастов и бюстов
09:15
Согласен. Но откуда брать данные, которые будут выводиться в эти формы?
09:16
Для этого я и предлагаю добавить некоторые переменные в интерфейсы, которые потом облегчат обработку
09:16
начинайте обсуждения на форуме
09:16
по каждому интерфейсу
09:16
я пока - таймаут до понедельника
09:17
голова другим забита
09:17
ты в понедельник обещал заняться self.cli.stream() :)
09:51
Dmitry1, у вас бабушки кладут порты на сети?
09:51
Диспетчера обучили пользоваться D-View на уровне пользователя.
09:52
а доступ у них на уровне админа
09:52
Офигенная вещь: Показывает топологию сети, статус портов, проблемы в сети и т.п.
09:52
это ты сейчас так нок опустил
09:52
D-View работает по SNMP
09:53
Кто работал с pyserial? Есть девайс никак на связь с ним выйти не могу. Еть родная прога которая выходит я её "диалог" выснифил, ставлю вроже теже параметри, шлю теже байты, а в ответ тишена. Целый день мудохаюсь.
09:54
Dmitry1, а как же "длинки виснут от снмп"?
09:55
Они виснут из-за интенсивного обращения. Типа выгребания таблицы arp или fdb.
09:55
а двью этого не делает?
09:55
ну и правильно, кому это надо на самом деле
09:55
Ну, если им пататься выгрести таблицу fdb, то эффект будет тот же.
09:56
Другой вопрос, что никто с помощью d-view это не делает.
09:56
ибо не надо, это и ноком делать не надо
09:57
А как же get_arp и get_mac_address_table ?
09:58
это называется мы тут сделали какую-то хрень, зачем она нужна не знаем, но она кладет железки, как теперь это починить
09:58
Помогите мне лучше через компорт с устройством связатся...
10:00
Побалуйся RTS/CTS и XON/XOFF
10:00
Заодно посмотри биты четности и т.п.
10:05
О. На ExtJS написан
10:06
да, я видел
10:15
кто сделает нам графиги на extjs?
10:15
:)
10:16
покажЫ как свести в один таймлайн разные данные корректно - покажу, как оно рисуется
10:20
скажи, что на входе надо
10:21
выдадим нужный json
10:30
dvolodin, они в таблице, одельно от графиков в реалтайме показывают CPU usage, когда же нок будет пушить
10:33
zi_rus: делаю клиент и сервер STOMP ;)
10:36
видел реальзацию клиента STOMP на JS с туннелированием по http
10:39
и как, есть прогресс?
10:40
генерация и парсинг сообщений есть
11:04
Вот наши молодцы устройства клепают, день ушол чтобы квест пройти и к компорту подключится!
11:08
Подключаешся на 2400 шлёш 000...000 чтобы оно проснулось (ибо 5 лет на батарейке и без внешнего питания) потом посылаешь команду изменения скорости, пару раз, меняешь скорость не разрывая связь и опять шлёш команду изменения скорости.. потом кучу нулей и
11:08
наконец управляющую команду!!!
11:24
dvolodin: на входе надо: [[время, параметр1,параметр2],[время, параметр1,параметр2],[время,параметр1, параметр2],[время,параметр1,параметр2]]
11:24
время в каком формате?
11:24
на выходе будет линейный график, можно еще и разные оси задействовать, чтоб параметры были в разном масштабе
11:25
ну я вроде и таймстемпы на JS переводил...
11:26
да, переводил.
11:28
на сервер оно что слать умеет?
11:28
какие графики и диапазон времени?
11:29
нужна возможность менять масштаб графика и двигать время
11:29
запросить номер графика, указать диапазон времени можно.
11:30
все как обычно, банальный ajax на сервак, в ответ ждем json с данными в указанном формате. Дальше этот ответ суется в датастор, из него чертякается график.
11:31
причем этой лабуде можно сказать, чтоб сама обновлялась, то есть дергала по таймеру ajax
11:34
а не лучше наоборот, чтобы обновление приходило с сервера, когда новые данные появились?
11:35
может и лучше... Тогда просто при обновлении датастора надо дернуть функцию перерисовки графика
11:49
добрый день
11:50
что-то с ДНС-ом не то
11:50
не генерит
11:51
dvolodin: pastebin в личке
13:08
на днях поймал такой момент... событие, классифицируемое как "Network | BGP | Peer State Changed" вызывает alarm "bgp session down". При чем без разбора что на что изменилось
Share this page
Share this page: