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: 12.01.2016
Krakozaber #
04:47
доброе утро, как из mongodb вычистить все event со статусом archive
AleksandrB76 #
05:05
доброе утро, микросервисы, завел одну циску для теста, получаю следующее в sae.log http://pastebin.com/K8dnhfFN
05:05
что это за загадочный атрибут access_profile и где его указать надо?
Krakozaber #
05:10
это то как ты авторизуешься на девайсе
05:10
логин/пароль для telnet/ssh
AleksandrB76 #
05:13
похоже что нет - эти данные указаны - я их просто убрал из лога и заменил на _хххххх_
Krakozaber #
05:57
Dmitry1: можешь объяснить в каком месте у D-Link "remote_port_subtype": 5, "remote_port": "67.69.31.35" - ломается данная штука ?
05:57
а то облазил весь get_lldp там на всех этапах идёт правильное значение, а на вывод ухедит не то
e_zombie #
05:58
,,
06:20
db.noc.events.archive.remove();db.noc.events.archive.runCommand("compact");
dvolodin #
06:21
e_zombie: не remove, а .drop()
e_zombie #
06:22
так он просил удалить эвенты а не дропнуть коллекцию
zi_rus #
06:24
dvolodin: давай отрепорчу в саппорт
06:24
только у меня не дает приаттачить существующий акк
06:25
evyscr вчера нашел что у тебя сертификат протух
dvolodin #
06:26
да, знаю
zi_rus #
06:27
поправишь? и я трейс отправлю
06:27
чтобы с пастой не возиться
06:29
dvolodin: ладно, на пасту залил
06:29
http://pastebin.com/2rtCGeLJ
dvolodin #
06:35
zi_rus: что-то недоброе ты затеял
06:36
у тебя база и модель разъехалась, похоже
06:37
база новая - питоновский код - старый
zi_rus #
06:39
dvolodin: действительно, default ветка
06:39
я уверен что правил апгрейд
06:39
спасибо
dvolodin #
06:39
lets blame NOC
06:39
:)
zi_rus #
06:39
сейчас разберусь
Krakozaber #
06:42
remove needs a query at src/mongo/shell/collection.js:299
dvolodin #
06:42
Krakozaber: используй .drop()
Krakozaber #
06:43
а как в remov вписать параметр по дате
dvolodin #
06:46
так же, как и в .find
Krakozaber #
06:48
db.noc.events.active.find({"timestamp": {"$gt": ISODate("2015-12-20T07:44:56.022Z") }});
06:48
в чем косяк ?
06:48
не отдаёт данные
06:51
и ещё вопрос на православную тему, а почему просто не использовать JSON в Postgres
06:51
зачем ещё одну сущность заплодили ?
dvolodin #
06:52
JSON в постгресе появился намного позже
zi_rus #
07:03
dvolodin: а ты segment в монгу что ли положил?
07:03
у меня не перенеслись они
dvolodin #
07:03
да
zi_rus #
07:03
dvolodin: смотри тогда
07:03
In [18]: seg
07:03
Out[18]: <NetworkSegment: ALL>
07:03
делаю
07:03
o.segment=seg
07:04
DoesNotExist: NetworkSegment matching query does not exist.
07:04
точнее вот так
07:04
for o in ManagedObject.objects.all():
07:04
o.segment=seg
07:04
o.save()
07:06
а
07:06
dvolodin: o = ManagedObject.objects.all()[0]
07:06
она не может выбрать МО
07:07
потому что сегмент не может найти
dvolodin #
07:07
ManagedObject.objects.update(segment=str(seg.id))
zi_rus #
07:07
dvolodin: это просто одной командой без цикла запулить?
07:08
да
07:08
сработало
07:08
спасибо еще раз
07:08
я же говорил что миграция нока это пиздец
dvolodin #
07:11
нет, миграция нока с дропом монги - выстрел по яйцам
07:11
mongodump/mongorestore -- незатейливая операция
07:12
и в монге 3.2, кстати, дамп можно сделать одним файлом
e_zombie #
07:12
:-D
zi_rus #
07:13
блин
07:14
все равно не разгоняется
dvolodin #
07:14
так ты теперь сделай
07:14
for o in ManagedObject.objects.all():
07:14
o.save()
07:14
кеши дострой
zi_rus #
07:14
это я сделал
07:15
запускаю приложение version inventory
dvolodin #
07:15
./noc fix еще сделай
zi_rus #
07:17
сделал
07:17
перезапустил нок
07:17
посмотрим
07:19
надо же
07:19
побежало
07:28
Dmitry1: теперь ты
07:28
давай правила в ФМ покоммитим
07:28
то что я тебе скидывал
Dmitry1 #
07:29
zi_rus: у меня еще noc на стадии запуска
07:29
zi_rus: обязательно сделаю. у меня твои правила в отдельном файлике хранятся
zi_rus #
07:30
только надо будет по ним внимательно пройтись
07:30
я там пару багов фиксил
07:30
и возможно что-то можно оптимизировать
07:31
я то их делал когда они кучей сыпались
07:31
несколько правил в одно можно склеить правильный regexp
anp135 #
07:56
добрый день
zi_rus #
08:02
точку забыл поставить :)
anp135 #
08:07
вот вот.. всю голову сломал - не могу найти где же я точку не поставил с этим lldp+qtech -(
Krakozaber #
08:10
ыыы гениальная проверка IPv4 :-)
08:10
if len(value) == 4: # IP address in binary form
08:11
почему только binary, когда hex или ord
anp135 #
08:11
http://pastebin.com/8De3P81i - почему-то интерфейс e0/0/16 не попадает в выборку питона -(
dvolodin #
08:28
https://www.evernote.com/l/ADkMiTGqDnJMRZDjz2e1yWJSGLFg-z0Y2I8
08:28
вот вам на вентилятор еще раз
08:31
общая суть такая
08:32
техподдержка должна знать, какаие услуги не работают, а не какая железка отвалилась
zi_rus #
08:33
NOC, нормальный NOC который занимается эксплуатацией сети должен знать именно про железку
08:33
и про линк
08:33
и про ошибки на порту
08:33
а не про сервисы
dvolodin #
08:35
порты сами по себе не живут
08:35
они чем-то занято
08:35
заняты
08:35
считай, что они заняты сервисами
08:36
и ошибки тебе интересны не потому, что они на порту, а потому, что они на что-то влияют
08:36
грубо говоря -- твой порт - физика
08:36
но еще нужна логика
08:37
у физики, кстати, есть зеркальное отображение в логике
08:37
там RFS посмотри
08:39
там суть в том, что по очень простым правилам зависимости между сервисами
08:39
общим для всех
08:39
ты от своих физических ошибок перейдешь на то, за что будут дрючить
08:39
ошибки на порту васи пупкина и на порту БС - немного разные ошибки
08:41
собственно, что тебя удивляет
08:41
возьми nagios
08:41
там похожая схема
08:41
сервисы, зависимости
08:42
только там в другую сторону
08:42
есть проба
Dmitry1 #
08:42
dvolodin: не совсем так. появились ошибки на порту - пинок под зад монтажнику. пофиг, какой там сервис
dvolodin #
08:42
заявляется, что она проверяет некий сервис
08:42
Dmitry1: это один из use case
08:43
но в РТ не работает
08:43
а, вот, напрмере
08:43
если ошибки на порту, где только ШПД - посрать
08:43
если там IPTV - разбираться надо
08:43
или в другую сторону
08:44
если там нет заказанного IPTV - какого рожна на порту MVR прописан
anp135 #
08:44
> dvolodin: не совсем так. появились ошибки на порту - пинок под зад монтажнику. пофиг, какой там сервис
08:44
и правда мщно
dvolodin #
08:45
еще раз - одно не мешает другому
08:45
сам настраивай реакцию
Dmitry1 #
08:45
кроме того, я уже 100 раз говорил об этом
08:46
capabilities нужны на порту
08:48
вот к примеру:
08:48
config ports [<portlist> | all] {medium_type [fiber | copper]}
08:48
{speed [auto {capability_advertised {10_half | 10_full | 100_half | 100_full | 1000_full}}
08:48
| 10_half | 10_full | 100_half | 100_full | 1000_full {[master | slave]} | 10g_full {[master | slave]} ] | flow_control [enable | disable] | learning [enable | disable] | state [enable | disable]
08:48
| mdix [auto | normal | cross] | [description <desc 1-64> | clear_description]}
08:49
если я отдаю 1000_full, и принимаю 1000_full, а линк поднялся на 100_full, или на 100_half - это пинок монтажнику
08:51
если у меня с одной стороны стоит mdix auto, а с другой стороны mdix cross - это пинок монтажнику
08:51
если у меня с одной стороны стоит 1000_full, а с другой - 1000_full master - это пинок монтажнику
08:52
если с одной стороны у меня стоит flow_control enable, а с другой flow_control disable - это пинок монтажнику
Krakozaber #
08:53
а в последнем то почему монтажнику ?
08:54
профилактика ?
Dmitry1 #
08:54
Krakozaber: потому как за "последнюю милю" отвечают монтажники
Krakozaber #
08:54
и девайсы там они тоже настраивают ?
Dmitry1 #
08:55
Не совсем. В том же d-link, если на порту включается bandwith-control, то рекомендуется включить и управление потоком
08:56
Зачастую бывает так, что абонент отключился, а настройки порта поменять забыли
08:56
А потом в этот порт подключают нового абонента, а он жалуется на херовую скорость
08:58
Это вполне штатная ситуация, которая только у нас возникала десятки раз
Krakozaber #
09:01
"remote_port": "1/17\u0000", - сволочи зачем они в конце HEX-STR дописывют 00
Dmitry1 #
09:01
Krakozaber: забей. вот запущу noc, поправлю тебе эту фигню.
e_zombie #
09:02
мараль сей басни такова что у тебя должна быть интеграция сети и биллинга. для того чтобы чекать что где и когда.
Dmitry1 #
09:02
e_zombie: не совсем
e_zombie #
09:02
хотябы в полуавтоматическом режиме.
09:02
дооооо
Dmitry1 #
09:02
вот пример криво настроенного порта:
e_zombie #
09:03
да пофигу на примеры. не рассказывай мне. у меня такого говна несколько сот тысяч портов.
09:03
и без интеграции с биллингом хуй ты проссышь где должен быть абонент а где не должен.
Dmitry1 #
09:03
DES-3200-52:admin#show ports 52 auto_negotiation
09:03
Command: show ports 52 auto_negotiation
09:03
Port : 52
09:03
--------------------
09:03
Auto Negotiation : Enabled
09:03
Config Status : Configuring
09:03
Capability Bits :
09:03
Capbility Advertised Bits : 1000M_Full
09:03
Capbility Received Bits :
09:04
при этом:
09:04
DES-3200-52:admin#show ports 52
09:04
Command: show ports 52
09:04
Port State/ Settings Connection Address
09:04
MDIX Speed/Duplex/FlowCtrl Speed/Duplex/FlowCtrl Learning
09:04
------- -------- --------------------- ---------------------- ---------
09:04
52 Enabled Auto/Disabled 1000M/Full/None Enabled
09:04
вывод - на удаленной стороне неверно настроенная железка
e_zombie #
09:05
все эти знания ничего не стоят пока ты на 100% не уверен что там есть абонент.
Dmitry1 #
09:06
возможно, но как минимум, этот порт нужно пометить как "warning", чтобы обратить на него внимание
e_zombie #
09:06
тебя пошлют нахуй сразу как только ты найдёшь такой порт а там не будет абонента.
09:06
вернее будет так.
09:07
тебя спросят - а кто там сидит? а ты скажешь - хз. и тебя послали.
09:07
ибо стоимость часа работы монтёра надо оплачивать и не из твоего кармана
Krakozaber #
09:10
скажите люди, вот я написал две штуки для сбора lldp, не совсем уверен что правильно
09:10
http://pastebin.com/C54N1gkj
09:10
стоит такое отдавать в dev ветку ?
e_zombie #
09:11
попробуй. у меня такого железа нету.
09:11
в любом случае рецензирование пулреквастов приятнее чем пасту
Dmitry1 #
09:26
Krakozaber: Cisco.SBM.get_lldp_neighbors ?
Krakozaber #
09:31
угу
anp135 #
09:36
помогите пожалуйста с lldp. Не могу понять почему noc игнорит пару портов -(
Krakozaber #
09:38
https://bitbucket.org/nocproject/noc/pull-requests/138/add-snmp-get_lldp_neighbors-for-ciscosmb/diff - запулил
anp135 #
09:38
к Qtech-3900 в числе прочих подключены два Qtech-2800. 13 связей с такими же коробками нашлись и закоммитились автоматически, а две связи отсутствуют.
Krakozaber #
09:38
anp135: скинь что возвращает с портов
anp135 #
09:40
вывод lldp https://paste.ee/p/JNIo5
09:42
вывод дебага lldp_neighbors https://paste.ee/p/1rFwu
09:42
lldp_discovery пардон
Krakozaber #
09:43
с обоих девайсов через MO запусти скрипт get_lldp_neighbors и покажи JSON с портов которые не клеятся
anp135 #
09:43
не хватает портов e0/0/13 и e0/0/16. С дальних концов lldp_discovery https://paste.ee/p/KnGfD
09:44
их нет в JSON
09:46
https://paste.ee/p/tQnl1 - если я правильно понял о чём речь
AleksandrB76 #
09:50
На всякий случай спрошу еще раз: - это что за параметр access_profile упоминается в sae.log http://pastebin.com/K8dnhfFN ?
zi_rus #
10:00
dvolodin: а по какой такой логике нок мне насоздавал врф в ипам, все что нашел на железках?
10:00
я включил только interface discovery
dvolodin #
10:08
там ip discovery был?
anp135 #
10:28
разобрался
zi_rus #
11:01
dvolodin: нет
11:02
специально отключил
11:02
и не включал, но не в этом дело
11:02
dvolodin: мне кажется что нок создал врф которые на интерфейсах настроены
dvolodin #
11:02
это плохо?
zi_rus #
11:03
dvolodin: мне они не нужны, и ладно бы, но там везде разные RD, и нок создает сотни врф разных
freeseacher #
11:04
zi_rus, у меня так же
11:04
и в целом это проблема
zi_rus #
11:04
ну вот и плохо
freeseacher #
11:04
но в частности нет
zi_rus #
11:04
и на BT я помню баг такой репортили
11:04
в крайнем случае по имени надо ориентироваться
freeseacher #
11:05
zi_rus, подумай что ты говоришь. сейчас у dvolodin в голове созреет план переделки ipam и всё.
11:05
пиши пропало
zi_rus #
11:05
мы пока про vrf discovery говорим
11:05
это разные вещи
11:05
к ипам слабо относится
Krakozaber #
11:06
DGS-1510-20 кто-то палочкой тыкал ?
11:06
адекватные ?
zi_rus #
11:08
подскажите по питону еще
11:08
interface = Interface.objects.filter(type="physical")
11:08
я еще хочу в выборку type "aggregate"
11:08
как добавить?
dvolodin #
11:14
и то и другое?
11:15
zi_rus: вот придумывайте алгорим для этого вашего vrf discovery
11:15
во вкладочке details пусто?
Krakozaber #
11:22
как добавить новый профиль в sa ?
11:23
я косяк, разобрался
anp135 #
11:36
подскажите пожалуйста, MO, педаль Interfaces. Какой скрипт отвечает за наполнение/формирование колонки Status? У меня по одному коммутатору пишет -/-/-, а по другому Down/-/-|Up/1G/Full
e_zombie #
11:36
статус ех
anp135 #
11:37
хм. debug-script get_interface_status_ex ничего не показывает -/
11:43
а куда рыть смотреть в таком случае? коммутаторы одинаковые и по версии софта и по настройкам доступа/SNMP
e_zombie #
11:43
ты попробуй его с ключён -c
anp135 #
11:43
-c-?
e_zombie #
11:44
дебаг по умолчанию тестит телнет. чтобы протестить по снмп нужен ключ
anp135 #
11:44
спс, копаю..
zi_rus #
11:45
dvolodin: да, чтобы и physical и aggregate были в выборке
11:45
или просто две выборки объединить
dvolodin #
11:54
filter(type__in=["physical", "aggregate"])
zi_rus #
11:57
спасибо
12:00
dvolodin: еще бага есть
12:00
http://pastebin.com/NhmfRJy7
12:01
managed object profile
12:01
когда жму save
12:01
не сохраняет
12:01
судя по всему дело в этом
12:01
option = 'enabled'
12:02
а тут такого варианта нет
12:02
_boolean_states = {'1': True, 'yes': True, 'true': True, 'on': True,
dvolodin #
12:02
ты ему в конфиг прописал fasle
12:02
а не false
zi_rus #
12:02
а
12:02
я лох опять
12:02
что за день
dvolodin #
12:02
section = 'ip_discovery'
12:02
option = 'enabled'
12:02
v = 'fasle'
12:02
lets blame noc
12:02
:)
anp135 #
12:20
подскажите пожалуйста по VRF в коммутаторах. в MO коммутатору я указал VRF а в Interfaces вкладка L3 поле VRF напротив Vlan интерфейса пустое. Как следствие OAM адреса дублируются и кроме правильного vrf, присутствуют ещё и в Root в IPAM
evyscr #
12:39
dvolodin: как бы смешно это не звучало, но таки let's blame noc.
12:40
(в целом, let's blame <any program>, где более двух кнопок.
dvolodin #
12:48
ну упс
12:49
день у него сегодня неудачный
12:49
А Москву снегопадом накрывать начинает
e_zombie #
12:49
uniper.JUNOS.get_interfaces: Ignore *fab* interface закоммить плз в девелоп
anp135 #
12:51
про DNS модуль ничего нет почитать? Я так понимаю что мануалы от 2012 года к текущей develop версии не подходят никак?
dvolodin #
12:53
e_zombie: а вот не буду :)
e_zombie #
12:53
вот ты гад.
12:53
давай коммить а то выложу фотки мужика в женских стрингах и колготках
anp135 #
13:24
dvolodin: про DNS модуль ничего нет почитать? Я так понимаю что мануалы от 2012 года к текущей develop версии не подходят никак?
zi_rus #
13:24
dvolodin: а как мог завалиться скрипт Alcatel.TIMOS.get_interface_status_ex если такого нету
dvolodin #
13:25
это generic
anp135 #
14:08
А что подразумевается под builtin в igetinventory?
zi_rus #
14:19
dvolodin: я что-то не пойму, а откуда нок ifindex берет для Cisco.IOSXR
14:19
читаю скрипт и не понимаю
14:24
похоже что пытается по snmp стучаться
|Marael| #
14:26
а в ноке модуль проэктов рабочий?
dvolodin #
14:28
zi_rus: да, отдельно уточняет через get_ifindexes
zi_rus #
14:36
dvolodin: а handler mismatch
14:36
это ошибка в PM
14:36
это что значит
14:37
dvolodin: вот тут
14:37
http://i74.fastpic.ru/big/2016/0112/62/d40060b212d01c1334437d5053853562.png
dvolodin #
14:50
ifindex нет скорее всего
zi_rus #
14:51
dvolodin: теперь есть, там была другая запись
14:52
ifindex я починил
14:53
dvolodin: хм, само просралось
14:55
snmp работает
14:55
метрики не создаются
Dmitry1 #
15:22
народ, кто победил nginx ?
15:22
у меня он все css отдает как text/plain
15:23
mime.types тупо игнорирует
Tweet
Share this page
Share this page: Tweet