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: 05.10.2012
StraNNicK #
00:27
Вопрос: есть готовый способ готовить csv из xml? Я просто экспортировал из zabbix кучу хостов и сейчас пилю велосипед, чтобы подготовить csv для импорта в NOC. Может есть что-то готовое, а я зря время теряю?
02:30
ping
02:31
Есть кто живой?
lexus-omsk #
02:34
есть
StraNNicK #
02:40
Прогоняю скрипт из http://forum.nocproject.org/index.php?topic=21.msg51#msg51
02:40
Выдаёт ошибку:
02:41
Traceback (most recent call last):
02:41
File "./scripts/zabbix2noc.py", line 114, in <module>
02:41
address = zabbix_objects[i]["ip"].encode('UTF-8')
02:41
KeyError: 'ip'
02:41
откуда грабли?
lexus-omsk #
03:04
я не настолько крут, чтобы сразу определить грабли, но, по-моему, нужно посмотреть, что находится в переменной zabbix_objects[i] и оттуда уже думать
03:05
в трейсе же показывает содержимое переменных?
zi_rus #
05:49
товарищи, вчера обнаружили пренеприятнейшую проблему, у 7609 на которой при числе маков >7000 при выполнении Show mac address-table, течет память, на каждое выполнение в нашем случае утекает 260кБ памяти. неприятность в том что нок выполняет эту команду даже когда
05:49
галочки mac discovery отключены и все опции дискавери в noc.conf стоят в enabled = false. Кто-нибудь может мне объяснить что это такое происходит? Почему нок выполняет отключенные функции?
mikevlz #
05:55
помолитесь за меня, обновляюсь :)
Andreas-SWE #
06:13
dvolodin: Good morning.
06:13
Good morning to everyone... =)
mikevlz #
06:14
dvolodin: 2012-10-05 10:09:36,765 UNHANDLED EXCEPTION (2012-10-05 10:09:36.751282)
06:14
Working directory: /usr/local/noc
06:14
<type 'exceptions.TypeError'>
06:14
__init__() got an unexpected keyword argument 'soa'
06:15
шедулер такие трейсы дает
dvolodin #
06:15
mikevlz: где такое?
06:16
Andreas-SWE: hi
mikevlz #
06:16
noc-scheduler.logFile: /usr/local/noc/dns/generators/bindv9.py (Line: 27)
06:16
Function: get_zone
06:18
http://dpaste.org/VAxbg/
Andreas-SWE #
06:19
I want to merge to VRFs into one. Best practice to do?
dvolodin #
06:22
Andreas-SWE: noc shell
06:22
./noc shell
06:22
from noc.ip.models import *
06:23
vrf1 = VRF.objects.get(name=....)
06:23
vrf2 = VRF.objects.get(name=.....)
06:24
for a in vrf1.address_set.all():
06:24
a.vrf = vrf2
06:24
a.save()
06:24
for p in vrf1.prefix_set.all():
06:24
p.vrf = vrf2
06:24
p.save()
Andreas-SWE #
06:27
dvolodin: Would that move all prefixes from vrf2 to vrf1 or vice versa?
dvolodin #
06:27
vrf1 -> vrf2
Andreas-SWE #
06:27
Thanks
mikevlz #
06:50
dvolodin: ммм?
dvolodin #
06:51
пофиксил
Andreas-SWE #
07:15
dvolodin: running ./noc shell (as user noc gives "Bus error". Running as user root gives: psycopg2.OperationalError: FATAL: Peer authentication failed for user "noc"
dvolodin #
07:16
check system limits
mikevlz #
07:18
dvolodin: глюк есть забавный
07:19
если в каталоге repo есть каталог ttt - тогда питон не может создать там еще и файл ttt
07:20
последствия - нельзя иметь ДНС-сервер и зону, называющиеся одинаково
07:21
ну и с конфигами свичей тоже самое
dvolodin #
07:22
это с комбинацией старого и нового метода provisioning'а?
mikevlz #
07:25
не, это видимо действительно ОС чудит. на конфигах свичей заметил изначально. Сейчас вот воткнулся с ДНС
07:25
завели ДНС-сервер с таким же именем, что и зона. Тепер зону не сохраняет, в трейсбек валится
07:25
потому что есть каталог с файлом autozones.conf для сервера
dvolodin #
07:26
в новой схеме этот файл локально генерируется
mikevlz #
07:27
новое я пока не настраивал
Dmitry1 #
07:31
Привет всем
07:31
Я тут ковыряю FM
07:32
И понял, что очень не хватает группы WARNING, промежуточной между EVANT и ALARM
07:33
Есть куча вещей, из-за которых не нужно поднимать аларм, но на которые желательно как-то обратить внимание
07:33
В той же циско:
07:33
%ETHCNTR-3-LOOP_BACK_DETECTED: Keepalive packet loop-back detected on FastEthernet0/24.9:07:
07:33
%PM-4-ERR_DISABLE: loopback error detected on Fa0/24, putting Fa0/24 in err-disable state9:08:
07:33
%LINEPROTO-5-UPDOWN: Line protocol on Interface FastEthernet0/24, changed state to down9:09:
07:33
%LINK-3-UPDOWN: Interface FastEthernet0/24, changed state to down
07:33
Подряд идут 4 сообщения.
07:34
1-е и 3-е нужно в WARNING
07:34
2-е и 4-е - в ALARM
07:36
Т.е., если у нас не настроено, что в случае loopback, нужно ложить интерфейс в err-disable состояние, то это WARNING. Иначе - ALARM
07:37
Соответвственно, в WARNING попадают события Line protocol down, а в ALARM - Interface down
lexus-omsk #
07:38
Это может быть в любом случае Alarm, только с разным уровнем severity
07:39
просто реагировать на них нужно по-разному
mikevlz #
07:40
из-за чего кошка 3750 и линуксовые серваки могут отказываться поднимать LACP?
07:41
кошка считает, что порты входящие в группу в апе, сам port-channel в дауне. Линукс считает, что в апе только один порт. Что им надо?
zi_rus #
07:45
Dmitry1, ты тут правила для ФМ пишешь?
Dmitry1 #
07:46
вроде как да
misak #
07:46
mikevlz: попробуй слоу поставить периодик
zi_rus #
07:46
такие сообщения в сислоге надо распознать
07:46
http://pastebin.com/W7b54Wm6
07:46
это критикал шо пиздец аларм должен подниматься
Dmitry1 #
07:46
ok
misak #
07:47
или мод актив
acid232_ #
07:48
zi_rus: софт какой? от софта зависеть может
mikevlz #
07:49
актив/пассив не играет рояля. На актив - он видит только, что сам отсылает. На пассив он получает LACPDU, но port-channel в дауне
07:49
насчет периодики - оно и так слоу
zi_rus #
07:50
acid232_, 12.2(33)SRE5 - в данном конкретном случае
mikevlz #
07:50
он флаги имеет или SP или SA соотв
zi_rus #
07:51
там на самом деле важна первая строчка а последующие к ней подвязаны, видно что они не в сислоговском формате
Dmitry1 #
07:51
Надо, чтобы была возможность из состояния WARNING перерасти в состояние ALARM
acid232_ #
07:52
zi_rus: а у тебя нок маки дискаверит?
zi_rus #
07:52
уже нет :)
misak #
07:53
может фаст свитчовер чудит ?
mikevlz #
07:54
где прибивается?
misak #
07:54
с джуном надо включать фаст свитчовер на портченел интерфейсах, а на самих эзернетах - актив мод
07:54
а то тоже не поднимается
07:55
но у меня связка АСР-МХ480
acid232_ #
07:55
а как сделать мак дискавери
zi_rus #
07:55
галочки в интерфейс профилях поставитьufkjxrb d bynthatqc
07:56
только запомни, надо обновиться до сегодня, иначе не отключишь его
acid232_ #
07:56
логично
zi_rus #
07:57
нет не логично, это баг который сегодня исправили
acid232_ #
07:57
сначала обновиться потом включить )
07:58
а где єти маки потом смотреть? в ipam?
zi_rus #
07:59
я не знаю, там где-то бд есть, интерфейса к ней нету
mikevlz #
07:59
misak: с С3750Х не путаешь? у моей 3750G не вижу этой настройки
zi_rus #
08:00
кстати, идея для репорта, нок по найденым макам определяет вендоров и потом выводит сколько чьих маков светится
08:00
пользы никакой, зато интересная статистика
08:00
:)
misak #
08:02
mikevlz: у меня вообще ASR1006, просто недавно сам мучался с LACP на цисках, фичи специфичные к платформе конечно не знаю
08:03
а как массово таг проставить на устройства ?
zi_rus #
08:06
csv
08:06
в экселе открываешь и хреначишь
misak #
08:06
на уже существующие ...
08:07
страшно
zi_rus #
08:07
все нормально
08:07
экспортишь все, потом заполняешь и вливаешь с обновлением
misak #
08:07
эскпортировать все объекты, править, импортировать ?
zi_rus #
08:07
да
08:08
или не все, а только где надо поправить
misak #
08:08
лааадна
08:08
пошел делать
mikevlz #
08:16
./noc shell еще можно
08:25
так, хозявам серверов отписал... буду ждать
ufir #
08:53
Huawei.VRP.get_ip_discovery на ME60 в трейсбеки валится
acid232_ #
09:16
на строке 164? )
Dmitry1 #
09:17
киньте на pasebin
acid232_ #
09:24
NOC-702 кинул уже
ufir #
09:25
и в корреляторе постоянно Invalid job class. Park job to FAIL state
09:25
;( дискавери вообще сума сошол
09:25
2012-10-05 13:24:07,478 UNHANDLED EXCEPTION (2012-10-05 13:24:07.420878)
09:25
Working directory: /opt/noc
09:25
<type 'exceptions.TypeError'>
09:25
unsupported operand type(s) for -=: 'NoneType' and 'int'
09:26
а от чего noc-correlator[#0] daemon is terminated with status 0 - может бесконечно перезапускаться ?
mikevlz #
09:29
дискавери запихивает адреса в IPAM, а managed_object адресу не проставляет - пащему?
09:29
и только ли у меня это?
acid232_ #
09:34
Dmitry1: http://pastebin.com/pbEpDKZj
Dmitry1 #
09:41
вроде пофиксил
acid232_ #
09:48
ишь ты
09:48
что-то я не выжу в hg diff изменений
09:53
а глянь еще как от этого патча все ломаться может http://pastebin.com/Z31gYH4U
Dmitry1 #
09:54
а что это за патч?
09:55
он от чего-то помогает? тушенку не ломает?
acid232_ #
10:02
собирать серийники пытается
10:02
но в итоге ломается get_interfaces
10:02
почему - хз
10:03
get_interfaces вызывает get_version
10:03
get_version снимает по snmp, а в том что я добавил - по cli, и в итоге ломается что-то с выводом cli
10:04
может пейджер или что-то такое
Amorsen #
10:06
I just downloaded the NocProject VM image to try it out a little
acid232_ #
10:06
ok
Amorsen #
10:06
When I add a custom field "location" to "ip_prefix", I can no longer access assigned addresses
10:07
'Prefix' object has no attribute 'location'
mikevlz #
10:07
дебаг-скрипт без принудительного указания snmp-community не использует snmp, так что проеврь свои изменения дебаг-скриптом
10:08
кстати, эти веселые парни посмотрели на конфиг моего свича, подергали свои сетевухи, LACP поднялся :)
acid232_ #
10:14
дебаг скрипт показывает что get_verison работает, а вот get_interfaces уже нет
mikevlz #
10:17
ты не нарушил своим get_version интерфейс обмена?
10:17
IGetVersion ?
acid232_ #
10:25
вот видимо что-то нарушено
10:25
а как я понять не могу
mikevlz #
10:25
результат твоего get_version
10:25
на пэйстбин
acid232_ #
10:25
такое ощущение что вывод серийников (он большой) попадет на вход get_version
10:25
такое ощущение что вывод серийников (он большой) попадет на вход get_interfaces
10:27
пожалуйста - http://pastebin.com/6RCv6LfS
mikevlz #
10:32
вроде все соответствует требованиям интерфейса...
acid232_ #
10:34
а вот как выглядит вывод get_interfaces http://pastebin.com/RYpCf9mD
10:35
на команду display ip interface показывает результат команды display elabel из get_version
mikevlz #
10:36
фильм ужасов :)
acid232_ #
10:37
комментарю строчки в 13:37 < acid232_> на команду display ip interface показывает результат команды display elabel из get_version
10:38
комментарю строчки в get_version, которые делают display elabel - все снова работает
Dmitry1 #
10:45
фаза луны?
10:46
а доступ на эту железку получить можно?
10:46
Amorsen: Try to update to current snapshot
10:47
Amorsen: Or try to install to clean dir from soource
Amorsen #
10:49
Dmitry1: is that available as RPM or is there another handy way to get the VM image up to current snapshot?
Dmitry1 #
10:49
no, only sources :(
10:50
0.7(4) - is interim release, not all features work fine.
dvolodin #
10:51
NOC-736 - вот вам ужастик
mikevlz #
10:52
у нас бы директор за такое звиздюлей уже навешал...
freeseacher #
10:52
дима, настраивается через конфиг ?
dvolodin #
10:53
пока нет, только либа
mikevlz #
10:54
У нас до сих пор каждые 2 минуты с многомегабайтным конфигом рестартится ISC-DHCPd, погроммисты решили написать свой DHCP(ну то есть расширить возможности виндового) - оказалось, что никто не в курсе и пилить интересный геморрой не просил.
10:54
за инициативность погроммистам навешали
dvolodin #
10:54
использует bdiff mercurial'а
Amorsen #
10:54
Ah, in the VM, nocproject has been installed from source, not by the package manager
dvolodin #
10:54
Amorsen: yes
10:55
as a recommended way
10:55
NOC is very quickly emerging project
Amorsen #
10:56
Well, for everything else that is quickly emerging, I just make packages myself
dvolodin #
10:57
You'll quickly get bored by rebuilding packages every day :)
10:58
freeseacher: но у меня есть сильное желание пихнуть репы в нее
10:59
ибо плюсов - масса
10:59
да и не приспособлены git/mercurial для миллиона коммитов в день
Amorsen #
11:01
dvolodin, it's easily automated, I used to do it with Asterisk several times a day :)
dvolodin #
11:01
взял bdiff из mercurial
11:02
причем есть возможность менять формат diff'ов на ходу
11:03
например, сжимать ревизии
11:03
если надо, могу сделать аннотации для ревизии
11:04
это то, что у нас не получилось с mercurial
11:04
потом - можно относительно безопасно сливать изменения вместе
acid232_ #
11:04
да доступ можно дело же не в доступе
11:04
а в механизме работы скриптов
dvolodin #
11:05
например, если случайно нагенерили десять ревизий объекта за 5 минут, можно слить в одну
acid232_ #
11:06
может быть dvolodin нам объяснит почему вывод cli одного скрипта попадает на вход другого, который вызывал первый перед этим
dvolodin #
11:07
acid232_: это debug смотреть надо
11:08
может пропт раньше времени сработал?
11:09
еще с GridVCS можно ограничить глубину истории, скажем
11:09
если не нужно хранить изменения больше чем за год - можно слить ненужные ревизии
acid232_ #
11:11
debug чего?
dvolodin #
11:11
скрипта
acid232_ #
11:13
вот фрагмент где ломается http://pastebin.com/qXCYSmwh
11:14
на display eth-trunk попадает результат display elabel из get_version
dvolodin #
11:16
\n/$
11:16
это у тебя под промпт не матчится?
11:16
pattern_prompt в профиле какой?
11:17
pattern_prompt = r"^[<#\[]\S+?[>#\]]"
acid232_ #
11:17
я уже понял
dvolodin #
11:17
вот тут он и обламывается
acid232_ #
11:17
видимо да
dvolodin #
11:17
делай адаптивный промпт
acid232_ #
11:18
[ ] разве такой промпт в хуавее есть? )
11:18
а ну да есть конечно
dvolodin #
11:19
как в VRP3, хотя бы
11:19
есть, да, в system-view
11:19
он из <hostname> становится [hostname]
acid232_ #
11:28
а что такое ^[<#\[]\S+?[>#\]] :)
11:28
у меня в хуавеях везде промпты <hostname>
Dmitry1 #
11:38
точно надо адаптивный prompt
11:39
Надо где-то взять коммитера для huawei
dvolodin #
11:54
ага
acid232_ #
11:55
./noc script-test Huawei.VRP ?
dvolodin #
11:55
pattern_prompt = r"^[<#\[](?P<hostname>\S+?)[>#\]]"
11:56
вот такой попробуй ему загнать
acid232_ #
11:59
проехало, но все равно падает get_interfaces в строке 164 если хотя бы один Ethernet0/0/X - порт в апе, если в апе только Gigabit - не падает, но и не видит Ethernet
mikevlz #
12:00
насколько безопасно репу ДНС зачистить наглухо?
12:00
при условии, что механизм провижена еще старый
Andreas-SWE #
12:00
dvolodin: Your right. full disk. Lucky this is the lab server.. =) Mongodb is 3.5G, Resized and trying again...
acid232_ #
12:05
вот такой трейс http://pastebin.com/jyUmaSK8
12:06
строка "type": self.types[re.sub(r\'\\d.*\', "", ifname)],
dvolodin #
12:15
Andreas-SWE: mongodb creates 3 exent files for journal, 1G each
12:15
so eth empty database is 3G
12:15
:)
12:15
mikevlz: абсолютно безопасно
12:16
сделай в пустом каталоге hg init
12:16
и проставь права на файлы
Andreas-SWE #
12:16
dvolodin: ok
12:16
dvolodin: Thats fix now.
12:16
dvolodin: But i cant run the commands you instructed med to.
acid232_ #
12:17
полечил свои хуавеи, вот патчик http://pastebin.com/LApHiuS3
Andreas-SWE #
12:18
dvolodin: I get a NameError: name 'Grey1' is not defined
dvolodin #
12:18
'Grey1'
Andreas-SWE #
12:18
dvolodin: First my VRF could not be entered cause it was named with swedish letters
dvolodin #
12:19
seemed you have forget the quotes
Andreas-SWE #
12:19
Grey1 is the name of the VRF i wants to move to my main VRF
12:19
Aha
dvolodin #
12:19
rd="...."
12:19
instead of name
Andreas-SWE #
12:19
four dots?
acid232_ #
12:19
возьмите меня хуавеи ломать
Andreas-SWE #
12:20
I have five VRFs 1 for my public prefixes one for my Grey nets and three more for Grey duplicates
12:21
So i want to move VRF 1:0 to 0:0
12:21
not touching 2:0 3:0 and so on...
mikevlz #
12:28
ломать топором?
Dmitry1 #
12:28
протестируй адаптивный prompt
mikevlz #
12:28
или коммиты делать длоя них?
Dmitry1 #
12:29
acid232_: сможешь сделать адаптивный prompt для Huawei ?
acid232_ #
12:32
ни разу не делал, добавить pattern_unpriveleged_prompt = r"^\S+?>" и все?
dvolodin #
12:35
Andreas-SWE: vrf1 = VRF.objects.get(rd="1:0")
12:35
and so on
Andreas-SWE #
12:48
Works except i get a duplicate key on 0.0.0.0/0 almost everything moved except my 192.168.x.x/16 prefixes now
acid232_ #
12:58
а get_interfaces должен все интерфейсы железки показывать?
12:58
или только те которые up ?
Amorsen #
13:11
noc.fm.models.OIDCollision: Cannot resolve OID 1.3.6.1.4.1.171.12.11.1.11.1 collision between EQUIPMENT-MIB::swEquipPowerSavingLinkDetectState and EQUIPMENT-MIB::swEquipmentPowerSavingState. Equal preferences
13:11
post-update: 80: sync-mibs failed
13:13
Ah that one was easy to solve db.noc.mibs.drop();
13:14
db.noc.mibdata.drop();
acid232_ #
13:22
а что матчит r"^[<#\[](?P<hostname>\S+?)[>#\]]"
13:31
онлайн разбиратель питоновских регекспов был бы очень кстати
Amorsen #
13:41
Hmm most log goes to /local/, but STOMP seems to log to /var/log/noc/noc-stomp.log
13:47
And I can reproduce the custom field problem with the hg version of a few hours ago
13:48
If I reboot after adding the custom field, everything works fine :)
Tweet
Share this page
Share this page: Tweet