nocproject.org
09:01
dvolodin, Дим привет. А сделай плиз, чтобы дискавери проверял результат get_inventory во всех полях на юникод?
09:01
<type 'exceptions.UnicodeDecodeError'>
09:01
'ascii' codec can't decode byte 0x88 in position 132: ordinal not in range(128)
09:01
START OF TRACEBACK
09:02
там, наверное, discription нужно поменять на UnicodeString
09:02
09:02
там не в дескрипшене дело..
09:02
оно и в серийники и в ревизии срет
09:03
всмысле в трансиверах оно такое
09:03
а попробуй такое
09:03
logging.debug(u"
09:04
я пробовал вот так - = unicode(repr(v), "utf-8"), не помогает
09:04
ладно, посмотрю на досуге
09:05
можно конечно в самом скрипте херить при наличии \x
09:13
2013-12-29 13:13:44,102 [inv.discovery: asset_discovery(kommuny-28-1-es3552.line-r.ru)] Creating new object. model='NoName | Transceiver | 1G | SFP', serial='dHS\x88\x87\xa4'
09:13
поехало
09:13
в скрипте сделал unicode(repr(v), "utf-8") до этого не верно пробовал)
09:14
unicode(repr(v), "utf-8")
09:15
я в get_inventory это делал
09:15
не в asset
09:18
кстати странно - в репозитории уже есть моделька для ES3510, но дискавери то нет)
09:18
кто то сделал для себя дискавери и зажал?)))
09:26
я допилил немного классификатор
09:27
теперь в event class можно указать список обработчиков в поле handlers
09:27
примеры лежат в fm/handlers/event
09:28
на изменение конфига и падение/подъем линков
09:38
ага, я видел коммиты
09:38
теперь статусы можно тащить в инвентори-интерфейсес
09:39
да, они лежат в отдельной коллекции сейчас
09:39
только сначала разделить
09:39
в профилях
09:39
и модели
09:39
опер и админ
09:39
кстати хороший вопрос
09:40
есть вед три понятия - статус линии, operation статус порта и админ статус
09:40
есть ли смысл вообще разделять первые два?
09:40
оно разное в случае отрабатывания кольцевых протоколов
09:41
т е линия может быть, но порт blocked
09:41
ну так oper status у него все равно up
09:42
это уже от вендора зависит, чо он выводит
09:43
но в принципе, видеть в ноке где порт залочен по stp например было бы полезно
09:43
по мне так два статуса оставить
09:43
ты это и так увидишь из результата опроса stp
09:43
угу
09:44
через пару минуток зашлю в issue get_inventory и модельки для ежиков.
10:19
вижу
10:23
трансивер у тебя странный
10:23
только RX
10:25
так и оставить?
10:25
эм. ну добавь как полагается
10:26
проглядел значит
10:26
dvolodin, а ты только для линков сделал или bgp пиров также можно обновлять?
10:26
там собственно железо тупое, тип трансиверов не выдернуть
10:26
а пиров ты где хранишь?)
10:26
линки то в инвентори
10:27
статусов там не было
10:28
а тут тоже хороший вопрос - oper и admin state
10:28
для пиров статусы административные только етсь
10:28
сделали уже или только делаем
10:28
т е само наебнулось, или руками
10:29
zi_home, как живет Cisco.IOS.get_inventory?
10:30
да вроде живет
10:30
думаю годно для коммита
10:30
вы его как-то жутко похачили?
10:30
не трейсился?
10:30
жутко да
10:30
если что вылезет, то можно починить
10:30
трейсов не было
10:31
zi_home: посмотрел fm?
10:31
dvolodin, куда именно?
10:31
там еще err-disable можно отлавливать
10:31
то, что я в пятницу коммитил
10:32
эмм, ну коммитя посмотрел, ничего не понял. где результат смотреть?
10:32
db.noc.interfacestatus.find()
10:33
{ "_id" : ObjectId("52bfbc9af3b68261e8960f03"), "admin_status" : true, "broken" : false, "err_disable" : false, "name" : "38", "object" : 16, "oper_status" : true }
10:33
{ "_id" : ObjectId("52bfd63df3b68261e8960f05"), "admin_status" : true, "broken" : false, "err_disable" : false, "name" : "Fa 0/2", "object" : 66, "oper_status" : true }
10:33
ну кое-что
10:34
Дим, сам get_inventory забыл прилепить в коммит
10:34
в интерфейс теперь вытащить
10:36
наверное, еще job нужен get_interfaces_status
10:36
в discovery
10:36
зачем?
10:37
фм по трапам вполне себе дергает статусы
10:37
чтобы ходил и обновлял регулярно
10:37
по состояниям пока сделал
10:37
admin_status, oper_status, err_disable и broken
10:37
последним будем помечать битые порты
10:39
дык гет_интерфейсес и так дергает
10:39
туда только второй статус нормально добавить
10:39
_4ePTeHok: он тяжелый и дергает достаточно редко
10:39
dvolodin, oper_status у циски состоит из link и line protocol. в принципе и в некоторых других случаях есть разделение в АДСЛ например или SDH
10:39
и если тебе нужен только статус, не тянуть же все
10:40
ну так давай подумаем, какие аттрибуты вообще хранить
10:40
ну мы давно обсуждали, что гет_инвентори делает начальное заполнение, дальше по фм меняем статусы, а если чего недолетело - следующий проход поправи
10:41
т
10:41
я бы сделал отдельный job все равно
10:41
имхо лучше задержка будет в обнаружении, чем железка от дергатни завалится
10:41
dvolodin, джобы неуправляемые
10:42
а я не хочу эту штуку, и хотел бы ее отключить если ты запилишь
10:42
как так неуправляемые?
10:42
в object profile крутится спокойно
10:42
а как? в интерфейсе про джобы ни слова
10:43
sa > managedobject > discovery
10:43
здрасьте
10:44
dvolodin, и где там джобы?
10:44
там только методы дискавери
10:44
это разные вещи
10:44
они же и есть job'ы
10:44
:)
10:44
есть еще другие джобы
10:45
у тебя кстати уже есть ФМ джоб который и дергает статус портов
10:45
которые при падении линка например запускаются
10:45
и вот его - хрен отключишь
10:45
зачем это все дублировать по три раза
10:46
нагиос или заббикс какой-то получается
10:46
ладно, какие статусы лепим?
10:46
;)
10:46
опр статус думаю надо разделить на линк и line proto
10:46
не будем делать нагибос или заебикс
10:46
значит джоб не нужен
10:46
сидим на трапах из ФМ
10:47
line, oper и admin делаем boolean?
10:48
может не опер тогда писать а линк
10:48
boolean думаю да, достаточно
10:48
line, link и admin?
10:49
да
10:49
ну это мое мнение
10:49
может кто по-другому думает
10:49
все же я на цисках
10:49
oper status -- это у нас link будет?
10:49
да
10:50
dvolodin, вот еще что
10:50
у циски есть такие статусы портов
10:50
monitoring при зеркалировании
10:50
и loopback - когда oam loopback включен
10:50
нужны ли они нам?
10:51
monitoring -- это тот порт, куда зеркало льется
10:51
если мне память не изменяет
10:51
Physical interface: pfe-1/0/0, Enabled, Physical link is Up
10:51
это вот у juniper
10:51
Physical interface: ge-1/0/1, Enabled, Physical link is Up
10:52
Enabled == admin status, Up - link status
10:52
да
10:52
line - тоже Up раз не написано иное
10:52
loopback у него тоже есть
10:53
line protocol -- нужно смотреть, у меня нет POS портов
10:53
а дальше самое животрепещущее
10:54
на радость Dmitry1
10:54
speed/duplex/flow control rx/tx ?
10:54
line - это и ест ьlink
10:55
dvolodin, вот
10:55
FastEthernet0/1 is up, line protocol is down (loopback)
10:56
loopback или monitoring это фактически причина по которой line лежит
10:56
может их отдельно тогда?
10:56
show interfaces terse
10:56
Interface Admin Link Proto Local Remote
10:56
ge-1/0/0 up down
10:56
juniper в sh int terse показывает колонки admin и link
10:57
Switch#sh int status
10:57
Port Name Status Vlan Duplex Speed Type
10:57
Fa0/1 loopback 100 a-full a-100 10/100BaseTX
10:57
Fa0/2 disabled 1 auto auto 10/100BaseTX
10:57
disabled == admin down
10:58
Gi4/16 gg18 monitoring
10:58
в ту же степь
10:58
итого
10:58
может все-таки оставить admin и oper?
10:59
тогда мне нужно две вещи
10:59
есть зависимости между статусами, но все-таки...
10:59
1. какие статусы делать вообще
10:59
2. таблицу зависимостей, что делать при установке каждого конкретного статуса в true и false
11:00
сейчас object status умеет обновлять зависимые статусы
11:00
InterfaceStatus
11:02
InterfaceStatus.set_status
11:02
а может так
11:02
link - admin/up/down/err-dis/broken
11:03
line - up/down/monitoring/loop
11:05
dvolodin, а что думаешь про небинарные статусы?
11:05
admin_down имеется ввиду
11:05
для наглядности уж
11:06
да без разныцы совсем
11:07
первое -- не линк, а настройки интерфейса, скорее
11:07
ну не знаю, вот такой вариант пришел просто в голову, может есть возражения? такой вариант как-то упрощает если вдруг новые варианты появятся
11:07
включен/отлючен административно, загашен протоколом по ошибке или просто сдох как бобик
11:09
dvolodin, просто они друг друга исключают
11:09
порт может быть в одном из указанных состояний
11:10
а если делать бинарные, тебе придется их все менять при изменениях
11:11
а так проще
11:11
line в up только когда link - up, в остальных случаях он down
11:13
так как это красиво обозвать, чтобы путаницы не было?
11:16
что там творится всем понятно, в принципе
11:19
11:19
вот в IF-MIB что
11:19
admin status = up/down/testing
11:20
oper status = up/down/testing/unknown/dormant/not present/lower layer down
11:20
но это никак с реальной жизнью не коррелирует
11:21
up down. а дальше черти что
11:21
dormant еще был на serial'ах
11:22
тогда возвращаемся к тому, что у нас остается административный статус и операционный
11:22
допустим даже строчных типов
11:22
admin -- "up", "down", "err-disable", "broken", "monitoring"
11:23
open = up/down
11:23
насчет loop я не уверен
11:23
loop можно из fm получить
11:23
Dec 29 10:52:15.288: %ETHERNET_OAM-6-LOOPBACK: Interface Gi0/0 has entered the master loopback mode.
11:24
а вот мониторинг никак не придет
11:24
на сколько я помню
11:25
и не надо
11:25
когда ты включишь зеркало, придет сообщение о смене конфига
11:25
и через 10 минут перезапустится discovery
11:26
и сдернет новый конфиг
11:26
и про порты ничего не изменится
11:26
get_interfaces тоже пойдет
11:28
dvolodin, твой вариант не учитывает исключение, admin up и monitoring ты как будешь различать?
11:28
а зачем их различать?
11:29
хм
11:29
а что ты предлагаешь
11:29
что-то мне подсказывает что все становится слишком сложно комбинировать
11:30
тогда подумаем до завтра
11:30
пойду убираться и елку ставить
11:41
dvolodin, а мы разделяем 1000BASELX \ LH?
11:41
формально - надо
11:41
но брендовые все LH
11:42
ну у меня тут просто зоопарк, потому либо отдавать всех в LH
11:42
либо делить и делать модельку
11:42
для нонеймов
11:43
_4ePTeHok, для нонеймов уже есть обе модели
11:43
для sfp да
11:43
gbic - нет
11:44
ну это секндное дело
11:44
ну ок. отдаем как есть
11:45
угу
11:45
в конце января релизиться будем
11:45
смущать широкие массы
11:46
dvolodin, ты sa допили, чтобы релизиться
11:46
а то разогнался
11:47
зеркала конфигов на диске для грепа не хватает. чтобы не забыл
11:53
эээ
11:53
а настроить его?
11:53
[gridvcs]
11:53
# Mirror sa.managedobject.config to designated directory
11:53
# Do not mirror when empty
11:53
mirror.sa.managedobject.config =
11:55
эмм, телепатией не обладаю. не знал что оно появилось и тем более как это настраивать
12:00
настроил, не миррорит
12:00
[gridvcs]
12:00
mirror.sa.managedobject.config = /var/noc/repo/config/
12:00
root@noc:/var/noc/repo/config # ll
12:00
total 4
12:00
drwxr-xr-x 4 noc noc 512 Sep 8 15:56 .hg/
12:00
при изменении пропишет
12:00
он там со старых времен остался
12:01
сотри, чтобы не натыкаться на него
12:01
ок
12:01
а rpsl и префикс листы также?
12:02
мне они не особо нужны, но просто для полноты картины
12:02
dvolodin, а есть возможность где то глянуть какой юзер сейчас активен в вебморде?
12:03
т е кто кроме меня в ui запросы делает, кроме логов нджинкса
12:03
т е не ip, а имя учетки
12:03
_4ePTeHok: если только в сессиях
12:03
а ведь стоит сделать монитор)
12:04
_4ePTeHok, а зачем?
12:05
ну вот вижу я в логах noc-web запросы кое-куда
12:05
и хочу понять - на каком юзере я права неверно выставил
12:05
а так - сразу видно будет кто там залогинился
12:06
хотя
12:06
аудит-трейл то есть
12:06
там логин виден
15:44
поздравьте меня. я завершил свою 5.1 акустику...
15:56
а я тут вовслю профиля железкам навешиваю через ./noc shell)
15:56
афигенная дурь
15:56
года два назад только мечтать с csv о ней можно было
16:20
_4ePTeHok, какие еще профиля
16:21
объектов
16:21
интерфейсы уже давно скрипт делал
16:21
а тут в 3 команды развесить профиля объектам - круть.
18:23
не могу получить с фряхи инфу (
http://pastebin.com/ENphfM5a). судя по логу нормально логинится обычным юзером, дальше по таймауту отлетает. подскажите что глянуть?
20:00
ну так чего со статусами делаем?
20:08
mikevlz|2 а фото/описание где ?
Share this page
Share this page: