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: 15.06.2014
dvolodin #
06:58
zi_home: как вы все дружно любите кактус
zi_home #
06:58
dvolodin, был бы выбор :(
dvolodin #
06:59
там же хорошая документация, понятный конфиг ;)
zi_home #
06:59
yb ntv yb lheubv yt gjkmpjdfkcz
06:59
ни тем ни другим не пользовался
_4ePTeHok #
06:59
бгг, Дима решил потроллить)
zi_home #
06:59
у нас вообще кактус чисто исторически сложился
07:00
я и не стал переделывать
07:00
хотя про заббикс были мысли
_4ePTeHok #
07:00
По сути, нам надо механизм точного шедулера для таймсериес+механизм хранения периодических данных с настройкой их аггрегации по интервалам
07:00
заббикс говно)
07:01
имхо*
07:01
функции+интерфейс наколбасить не такая уж проблема
07:01
для графиков
07:01
что там уже есть - честно не смотрел)
07:02
кстати прикрутить сбор данных с заббикс агента - как два пальца
07:02
там все джсонами отдается
dvolodin #
07:04
проблема в том, чтобы автоматом создавать новые графики
_4ePTeHok #
07:04
а вот хз надо ли автомат
zi_home #
07:04
надо
07:04
но не вижу проблемы
_4ePTeHok #
07:04
у тебя база распухнет на дрожжах
dvolodin #
07:04
надо
07:04
вот кроме ресурсов я вменяемого механизма не вижу
_4ePTeHok #
07:05
ну стоп
07:05
у нас графики применительно к железу - это обычно л2-л3 интерфейсы
07:05
их характеристики
07:05
плюс всякая загрузка железок - память цпу
07:05
это все от объекта пляшет
dvolodin #
07:05
на l2/l3 интерфейсах кто-то сидит
zi_home #
07:06
магистрали
07:06
и изредка клиенты
_4ePTeHok #
07:06
ресурс - это л2 порт?
dvolodin #
07:06
магистральные порты нужно мониторить по профилю
zi_home #
07:06
да
07:06
это раз
dvolodin #
07:06
а абонентские -- только если абонент есть и вышел рылом
07:06
ибо не каждого физика стоит мониторить
_4ePTeHok #
07:07
угу
dvolodin #
07:07
да и не каждого юрика
zi_home #
07:07
а я бы всех своих юриков на карандаш поставил
07:07
жалуются иногда гандоны, скорости им недовешивают
07:07
а так будет чем тыкнуть
_4ePTeHok #
07:07
это можно про каждого физика сказать
zi_home #
07:08
уже сто раз было, приходилось график постфактум делать
07:08
физика проще нахер послать
_4ePTeHok #
07:08
тут скорее надо логику додумывать
zi_home #
07:13
я думаю для начала надо как раз сделать интерфейс чтобы графики можно было создавать и просматривать в ручном режиме, для самого простого случая с произвольным оид, а потом уже про обвес думать
07:14
а то прошлый заход закончился тем что выбранный движок отображения графиков не очень быстрым оказался
dvolodin #
07:15
движок - дело поправимое
07:15
вот хранилка в базе нормальная - более сложный момент
07:16
http://blog.mongodb.org/post/65517193370/schema-design-for-time-series-data-in-mongodb
07:16
там типа такого нужно вертеть
07:16
или затраты на агрегацию и вытирание старого будут как в заббиксе
_4ePTeHok #
07:20
угу..
zi_home #
07:20
в общем, надо хоть что-то делать
dvolodin #
07:23
но такая схема жестко фиксирует периодичность опроса
07:23
хотя, можно и забить на это
_4ePTeHok #
07:25
периодичность надо задавать при создании графика
dvolodin #
07:29
да нет
07:29
там суть в том, что на все графики она
07:29
и ее нельзя поменять
_4ePTeHok #
07:29
ну у кактуса оно вообще задается шедулером
07:29
те стандартные 5 минут
dvolodin #
07:29
это на их совести
07:30
у нас, в принципе, есть PMDatabase
07:30
которые в разных коллекциях живут
07:30
и PMStorage
07:30
гранулярность на уровне storage должна задаваться
07:31
и где-то надо указать, что такие-то графики падают в такой-то storage
07:31
и на каждый storage должен быть job, который заранее будет документы созавать на следующий период
_4ePTeHok #
07:33
бля, опять с этими 6500/7600 жопа
zi_home #
07:34
ыыы
_4ePTeHok #
07:34
коннекшены разные
07:34
платы можно и туда и туда воткнуть
07:34
как задать совместимость?)
07:35
dvolodin, как юзать compatible groups в connection types?
dvolodin #
07:35
вы про какие платы?
_4ePTeHok #
07:37
там в модельках недавние коммиты
07:38
мсцф и пфц платы
07:38
и соответственно ответка в супах
dvolodin #
07:38
ну так сделайте 2 connection type
_4ePTeHok #
07:38
по ошибке сделали все дфц их, вот пытаюсь поправить
07:38
дак и так 2
dvolodin #
07:38
pfc и msfc
_4ePTeHok #
07:39
делаю
dvolodin #
07:39
ну а какие проблемы?
_4ePTeHok #
07:39
только там еще 7600
07:39
и 6500
07:39
для каждого сови
07:39
свои
dvolodin #
07:39
?
zi_home #
07:39
эээ
dvolodin #
07:39
там просто разные супы
07:39
вы про что :)
zi_home #
07:39
дфц и прочее втыкается в платы а не шасси
07:39
где связь?
dvolodin #
07:39
76 от 65 отличается только part no в idprom
_4ePTeHok #
07:40
бля, ну ты же сам комментил коммит
dvolodin #
07:40
:)
07:40
на супе делаешь разъем msfc и pfc
07:40
и все
_4ePTeHok #
07:40
dvolodin, предлагаешь свернуть все коннекшены у ниверсальные для 6500\7600?
dvolodin #
07:40
да
_4ePTeHok #
07:40
эх.опять гемморой
dvolodin #
07:40
там другой прикол - с шиной и фабрикой
07:41
на шасси вроде 6513
zi_home #
07:41
и sfp+ выпилить и оставить только sfp
dvolodin #
07:41
зачем?
zi_home #
07:41
ибо нехуй :)
07:41
dvolodin, нок совместимость по коннекшену определяет
07:41
и не воткнет sfp в sfp+
07:42
а должен
dvolodin #
07:42
это да
07:42
на самом деле там нужен третий тип, который хавает sfp и sfp+
zi_home #
07:42
нахуй
dvolodin #
07:42
потому как на многих картах дырка sfp+ -- строго для десяток
zi_home #
07:42
есть протоколы нде прописывается скорость и этого достаточно
_4ePTeHok #
07:43
в общем чтобы мосг не трахать, я оставляю коннекшены Cisco | 6500 | xxx, прописываю в дескрипшене что оно и для 7600 и меняю во всех модельках на них
07:43
ок?
zi_home #
07:43
6500/7600 htkbubz yt gjpdjkztn yfgbcfnm&
07:43
религия не позволяет написать?
_4ePTeHok #
07:44
создай мне директорию с таким именем
07:44
где оно будет лежать
zi_home #
07:44
через минус запиши
_4ePTeHok #
07:45
один хер уид от какого то брать надо, чтобы не вообще во всех моделях менять
zi_home #
07:45
какая разница, через sed меняй и все
_4ePTeHok #
07:48
ну вентиляторы я трогать не буду
07:48
цлк втт тоже
zi_home #
07:48
дык у них свой conn type
07:48
dvolodin, а чего это не закоммитил http://pastebin.com/iFqtKS9F
07:49
вроде работает
dvolodin #
07:49
zi_home: точно работает?
zi_home #
07:50
линки переписывает, криминальных последствий не замечено
07:51
_4ePTeHok, а это твое http://pastebin.com/kB4U3bVH - тоже можно закоммитить
_4ePTeHok #
07:52
погоди, с моделями разберусь
dvolodin #
08:07
http://codecombat.com
08:07
мать
_4ePTeHok #
08:11
явистам похоже совсем нехуй делать уже.
dvolodin #
08:15
ага
_4ePTeHok #
08:29
уф.
08:30
счас залью в репо измененные модельки и коннекшены, проверьте там
08:31
пока MSFC/PFC универсализировал)
08:31
сами модельки плат в одну папку сваливать не стал, по партномеру пусть пока
zi_home #
08:40
_4ePTeHok, закоммить еще фикс для get_inventory
_4ePTeHok #
08:45
проверяй все скопом
zi_home #
09:00
_4ePTeHok, давай sfp+ выпилим
09:04
а то проблемы нарастают
_4ePTeHok #
09:08
Дима не одобрил)
09:08
там надо просто совместимость выставит
zi_home #
09:09
нет, он согласился
09:10
а еще есть мысль выкинуть вендор локнутые типы
09:11
по той же причине
09:13
ну ладно, подождем его
09:38
dvolodin, есть предложение выпилить sfp+ и vendor-locked типы коннекторов, оставить только реальные, то есть если дырка sfp то ее такой и делать, не заморачиваясь cisco/juniper -only она или нет, sfp+ -only она или нет
dvolodin #
09:38
не
09:39
вот этого мне сильно не хочется
zi_home #
09:39
их наличие только мешает
09:39
а профита ноль
dvolodin #
09:39
дырка sfp+ -- все-таки sfp+
zi_home #
09:39
дырка sfp+ все-таки sfp
09:40
одинаковые они
09:40
различие только в протоколе
09:40
для этого протоколы и сделали
09:40
тебя же не смущает что на циске в rj45 ходит rs232
_4ePTeHok #
10:32
=)
10:32
чото ты его спугиваешь)
10:48
zi_home, обновился?
zi_home #
10:48
да
_4ePTeHok #
10:48
норм модельки сожрались
zi_home #
10:49
ну ошибок не было
10:50
_4ePTeHok, передискаверил одну железку, msfc и pfc сразу воткнулись
_4ePTeHok #
10:50
ну заебца
10:50
а то там пиздец выгребать где чо не так
10:50
то рахъем, то тип попутали
zi_home #
10:51
я победю ASR9001 и тогда проверю что где у меня еще не воткнулось
10:52
dvolodin, пока ты тут флапаешь. напомни где патч чтобы нок предпочитал тип из базы, а не от скрипта
10:53
я думал что накатывал его, но нет
10:57
черт
_4ePTeHok #
10:59
гг
10:59
да хватит его пугать
dvolodin #
12:40
насчет sfp+ подумать надо
12:40
может действительно и протоколами развести
zi_home #
12:50
dvolodin, а на счет патчика подскажи, а то без него железка не собирается. PS только не убегай :)
dvolodin #
12:51
какого?
zi_home #
12:53
dvolodin, чтбы тип модуля брался из модели а не скрипта
dvolodin #
12:53
накатил я его в понедельник
zi_home #
12:53
эммм
12:53
тогда не работает
12:53
хотя
12:53
...
12:56
dvolodin, нет, не работает
12:56
Submit vendor=CISCO, description=ASR 9000 Virtual Module, part_no=['A9K-MODULEv'], number=0, builtin=False, serial=N/A, type=MOD, revision=N/A
12:56
должен быть type=MPA - как в модели
dvolodin #
12:57
погоди
12:57
это он пишет то, что в скрипте пришло
12:57
а реально использует из можели
zi_home #
12:57
но не втыкает
12:58
dvolodin, http://pastebin.com/VmzdF0ZS - или чего еще ему может не хватать
12:59
а
12:59
все, я понял
13:00
номер неправильный возвращает
dvolodin #
13:00
Set context mpa = 0 -> NN=14, mpa=0, Nmpa=1, N=0, chassis=None, Nchassis=0
13:00
mpa=0
13:00
все нормально там
zi_home #
13:01
она втыкает в нулевой разъем
13:01
а надо во второй
13:01
NAME: "module 0/0/2", DESCR: "ASR 9000 Virtual Module"
13:01
PID: A9K-MODULEv, VID: N/A, SN: N/A
13:01
NAME: "module mau 0/0/2/0", DESCR: "SFP"
13:01
PID: SFP-10G-LR , VID: V02 , SN: FNS17412F96
13:01
NAME: "module mau 0/0/2/1", DESCR: "SFP"
13:01
PID: SFP-10G-LR , VID: V02 , SN: FNS17412BJC
13:01
NAME: "module mau 0/0/2/2", DESCR: "SFP"
13:01
PID: SFP-10G-LR , VID: V02 , SN: FNS17411X8D
13:01
NAME: "module mau 0/0/2/3", DESCR: "SFP"
13:01
PID: SFP-10G-LR , VID: V02 , SN: FNS174128UH
13:01
а скрипт вернул ноль
13:01
{'builtin': False,
13:01
'description': 'ASR 9000 Virtual Module',
13:01
'number': '0',
13:01
'part_no': ['A9K-MODULEv'],
13:01
'revision': 'N/A',
13:01
'serial': 'N/A',
13:01
'type': 'MOD',
13:01
'vendor': 'CISCO'},
13:01
черт
dvolodin #
13:02
http://pastie.org/9292164
13:02
накати патчик
13:03
оно будет писать, если модель задает другой тип
zi_home #
13:03
ок
dvolodin #
13:03
а тут скрипт править, да
zi_home #
13:06
костыль поставил
13:06
dvolodin, теперь с sfp+ надо решать
dvolodin #
13:07
с костылем понятнее?
zi_home #
13:07
dvolodin, ну вот так :) http://pastebin.com/uQLWZ9Jw
dvolodin #
13:08
работает?
zi_home #
13:08
да
13:13
вентилятор еще чего-то не втыкается
13:14
что ж за геморой то какой
dvolodin #
13:15
чего хочет?
zi_home #
13:16
а хер знает
13:16
Trying to connect #1. FAN (chassis=None, NN=1, Nchassis=0, N=0)
13:16
Trying to connect #2. MPA (chassis=None, Nchassis=0, NN=2, mpa=1, Nmpa=0, N=1)
13:16
вроде все правильно написал
13:18
со второго раза воткнул
13:18
хм
13:18
ну ладно
13:19
dvolodin, у меня тут витает мысль для трансиверов сделать опцию поддерживает ли модуль DOM или нет
dvolodin #
13:19
modelinterface
13:19
куда-то туда
13:19
либо интерфейс
13:19
либо просто capabilities
zi_home #
13:21
тогда нок сможет выбирать и не будет пытаться дернуть DOM статус с портов которые его не поддерживают
13:21
но это пока только мысли
13:21
инвентори с остальной частью надо свзявать
13:22
SFP+ - вот проблема
_4ePTeHok #
13:31
zi_home, а вот тут есть большое но
13:32
мы же договорились что пиды объединяем под общей вывеской
13:32
а одни могут поддерживать дом - другие нет
13:32
вот тебе и грабли вылезут сразу
zi_home #
13:34
нет
13:34
там где пиды есть
13:35
все разделяется по пидам
13:35
сейчас просто нет смысла разделять когда различие только в форме рычажка для вытскивания
13:35
а у нонеймов нет пида
dvolodin #
13:40
у киски трансиверы с одним pid'ом могут быть как с dom, так и без него
13:40
потому как сама киска оптики не делает
_4ePTeHok #
13:43
о чем и речь, что пид один, а реальных трансиверов куча
13:43
у нас модели объединяющшие по 5-8 пидов есть
13:44
нет такой детализации чтобы учитывать есть там дом или нет
13:46
хотя это и было бы интересным
13:46
как и скажем автоотключение лишних методов дискавери на основе get_version)
13:47
некая автоматизация профилирования
dvolodin #
13:51
_4ePTeHok: последнее возможно только если будет адский гиперкуб по моделям, версиям софта и применимости отдельных метолов discovery
_4ePTeHok #
13:52
угу
13:52
но идея ведь красивая)
13:52
хотелка тоесть)
13:53
но как представлю ето хозяйство для длинка и их жопописательским прошивкам...
13:53
там проще застрелицо, чем матрицу нарисовать
dvolodin #
13:53
именно
_4ePTeHok #
13:54
а так да, прям соцеялизмъ = от каждого по способностям)
dvolodin #
13:54
да и киска тоже
13:54
возьми мелкие каталисты
_4ePTeHok #
13:54
длинк это просто гипербола)
13:54
во всем)))
dvolodin #
13:54
LLDP там работает начиная с 12.2(33)SE
13:55
но там еще есть SEE2, XA и всякая прочая нечисть
_4ePTeHok #
13:55
правда?) у меня нигде не работает))
zi_home #
13:55
методы дискавери надо не по версии софта определять а по конфигу
_4ePTeHok #
13:55
тут не совсем прав
dvolodin #
13:55
у меня работал нормально на 12.2(53)SE
_4ePTeHok #
13:55
одно дело -железка умеет, а другое - не включено
dvolodin #
13:55
zi_home: ты напишешь парсер конфига
13:55
который скажет, что умеет железка?
zi_home #
13:56
_4ePTeHok, http://bt.nocproject.org/browse/INV-18 - посмотри
13:56
dvolodin, это просто, не обязательно конфиг парсить
13:56
if "oam" in config:
13:56
if "rep" in config:
_4ePTeHok #
13:56
вкуды смотреть, в коммент последний?
zi_home #
13:57
да
dvolodin #
13:57
zi_home:
13:57
interface blablabla
13:57
description "Foam show"
13:57
:)
zi_home #
13:57
ну и ничего страшного
_4ePTeHok #
13:57
zi_home, еще раз - одно дело не включено, другое - железка не умеет
zi_home #
13:57
ну можно if "ethenet oam" in config:
13:58
_4ePTeHok, я тебе и говорю, поверь, нельзя включить то чего она не умеет
dvolodin #
13:58
interface blablabla
13:58
description "!!! Do not enable ethernet oam"
13:58
:)
_4ePTeHok #
13:59
спорить с Володиным..))
zi_home #
13:59
ой, да ладно
_4ePTeHok #
13:59
это всегда так увлекательно)
dvolodin #
13:59
zi_home: inv-18 я не коммитил?
zi_home #
13:59
нет
13:59
он не готов был
dvolodin #
13:59
ну и чудно
13:59
_4ePTeHok: можешь в репо пихнуть?
_4ePTeHok #
13:59
dvolodin, отмечай в трекере чтоли)
zi_home #
13:59
я только сейчас модель доделал
dvolodin #
13:59
я в трекере отмечаю
zi_home #
13:59
dvolodin, ты авто включение/отключение id discovery сделай
_4ePTeHok #
13:59
впихнуть то запросто. было б куда и кому)
zi_home #
14:00
это не сложно кмк
dvolodin #
14:04
zi_home: а можешь сделать pull request?
zi_home #
14:04
нет
14:04
:)
14:05
полгода только код курить придется
_4ePTeHok #
14:05
гг
14:05
несложно - и тут же полгода
zi_home #
14:06
ну логика простая, а куда ее всунуть надо еще найти
_4ePTeHok #
14:06
"name": "Cisco | ASR9k | A9K-MODULEv",
14:06
лх не стал бы я такой пид класть во все 9л
14:06
14:07
они же разные там бывают вроде
14:07
с разным набором потрохов, не?
14:07
может в 9001 все ж?
zi_home #
14:07
эээ
14:07
кто разные?
_4ePTeHok #
14:07
встроенный модуль
zi_home #
14:08
ну встроенный
_4ePTeHok #
14:08
или во всей линейке один?
14:08
от 9001 до здоровых
zi_home #
14:08
он только в 9001
14:08
но серия то одна
14:08
не вижу смысла разделять
_4ePTeHok #
14:08
ну смотри, главное чтобы такого же пида не попалось потом
zi_home #
14:08
даже есть мысль остальные туда же засунуть
14:09
не попадется
14:09
я так думаю :)
14:09
иначе все равно никак
14:09
это самый простой вариант
14:09
если коллизия случится, тогда и переделаем
14:10
не имеет значения, сейчас или потом это делать
14:10
а пока и так сойдет
14:12
SFP+ - надо решать
14:23
блин, теперь Lost&Found не открывается
_4ePTeHok #
14:23
почему?)
zi_home #
14:24
хз
14:24
жму развернуть
14:24
оно крутит кругом и все
14:24
в консоли ошибок не видно
_4ePTeHok #
14:24
я закомитил
14:25
наверно дохера у тебя там просто
zi_home #
14:25
а нет, есть какая-то ошибка. когда дохера он дольше крутит. сейчас трейс посмотрим
14:26
млять
14:26
UNHANDLED EXCEPTION (2014-06-15 18:27:54.916131)
14:26
Working directory: /opt/noc
14:26
<class 'mongoengine.base.ValidationError'>
14:26
Unable to dereference <class 'noc.inv.models.objectmodel.ObjectModel'>:528ba0faf3b682005b9788a1
14:26
START OF TRACEBACK
_4ePTeHok #
14:26
агась
14:26
ниже смотри
zi_home #
14:26
после такого в инвентори соваться не хочется
_4ePTeHok #
14:26
что там за модель
zi_home #
14:27
_4ePTeHok, http://pastebin.com/NnGudbgq
_4ePTeHok #
14:28
хм
14:28
надо смотреть что утебя в базе под этим айдишником
14:28
что то удаленное наверно
zi_home #
14:29
ммм
14:29
если в могу лезть
14:29
*монгу
14:29
я даже не знаю как
_4ePTeHok #
14:33
db.noc.objectmodels.find({_id: ObjectId("5288d24d5c8b827f343acea4")})
14:33
только айди свой
zi_home #
14:34
> db.noc.objectmodels.find({_id: ObjectId("528ba0faf3b682005b9788a1")})
14:34
>
14:36
> db.noc.objects.find({_id: ObjectId("530afb52f3b682045a7bce89")})
14:36
{ "_id" : ObjectId("530afb52f3b682045a7bce89"), "model" : ObjectId("529ee77bf3b682392f8d6a09"), "container" : ObjectId("530afb52f3b682045a7bce88"), "name" : "Global Lost&Found" }
14:37
_4ePTeHok, во
14:37
> db.noc.objects.find({_id: ObjectId("532c259df3b6826da1570e31")})
14:37
{ "_id" : ObjectId("532c259df3b6826da1570e31"), "container" : ObjectId("530afb52f3b682045a7bce89"), "model" : ObjectId("528ba0faf3b682005b9788a1"), "data" : { "asset" : { "serial" : "FNS17041572", "revision" : "A" } } }
14:37
> db.noc.objectmodels.find({_id: ObjectId("528ba0faf3b682005b9788a1")})
14:38
дропнуть?
_4ePTeHok #
14:42
по серийнику это трансивер
14:43
ну ебнуть мало
14:43
там же еще линк
14:43
dvolodin, ты же делал команду какую то чтобы линки вычищать?
dvolodin #
14:44
это вы про что?
zi_home #
14:45
dvolodin, http://pastebin.com/NnGudbgq
_4ePTeHok #
14:45
да у него лост энд фаунд модельку потерял
14:45
объект сам можно дропнуть, а про линк я помню что ты вроде делал команду какую то
14:45
или это при удалении из веб модры модельки оно чистило
14:45
совсем память дырявая стала
14:46
=) пора ECC ставить)
dvolodin #
14:46
каким боком тут линки?
_4ePTeHok #
14:47
линк между трансивером и платой
14:47
родителем и детьми
14:47
=)
zi_home #
14:54
таки чего мне сделать?
14:54
format c: ?
15:14
_4ePTeHok, таки дропнуть?
15:17
млять
15:17
опять все сломал
15:22
все дропнул, теперь надо корень обратно создать и Lost&Found
16:01
подебил
16:13
_4ePTeHok, тут?
Tweet
Share this page
Share this page: Tweet