nocproject.org
05:34
zi_rus: ./noc shell
05:34
>>> from noc.inv.models import SubInterface
05:34
>>> SubInterface.objects.filter(is_bridge=True, untagged_vlan__exists=True)
05:35
так работает, но ...(remaining elements truncated)...
05:36
все же будем костылять. а вот если на будущее будет репорт в ноке это просто шикарно. но в этом есть смысл если остальные поодержат тему с репортом
05:37
dvolodin, а вообще, спасибо за подсказки
05:37
report какого рода?
05:37
for si in SubInterface......:
05:38
....
05:38
и делай с ним, что хочешь
05:38
managed object автоматом подтянет
05:44
ну репорт, как в ипам, там например есть такой как ip usage/overview. тут можно было бы выбрать физические порты с ненудевым дескрипшеном, все нетранковые порты, все физические роутед порты. просто вот у нас сейчас запросили список всех рабочих портов на сет
05:44
и, в ноке все данные есть, а вытащить их нельзя, в питоне или работе с БД, я как обычный юзер не очень, сейчас с помощью нока дернем по несколько команд на всех железках и скриптом приведем к нужному виду. а по-другому - никак
05:46
такая бедв
06:07
ну так пишите описания отчетов
06:07
в space development
06:07
будем обсуждать
06:07
полезный и универсальные вещи - делать
06:13
dvolodin, space development - это где? ссылочку, или лучше куда тыкать, на будущее пригодилось бы. сейчас попробовал бы мысли изложить
06:14
06:14
делай страничку
06:14
по результатам обсуждения можно уточнять описание
06:15
в итоге получится задание
06:15
вообще на тему отчетов для inventory можно подумать
06:15
хочу разобраться с fault manager, даже alarm создать немогу
06:16
непонимаю как
06:16
зачем создавать?
06:16
отправь в коллектор syslog и трапы
06:17
он их сам будет ловить?
06:17
ничего не надо настраивать?
06:17
в документации у меня неотображаются диаграммы gliffy
06:19
как добавить в коллектор?
06:31
dvolodin: как можно отдебажить Knowledge Base? у меня давно уже поломался вывод стоек, ща бы опять попланировать монтаж 4 серваков, а не показывает, мать ее
06:35
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
06:35
post-update: 80: sync-mibs failed
06:35
wtf
06:42
il: ловить будет сам, надо на активаторе поднять коллекторы
06:42
Там вроде надо было базу чистить при очередном апдейте
06:42
Unbeerable: эт я тебе писал
06:43
уже вбил в гугл ошибку
06:43
нашёл логи канала от 4 июля
06:43
ок. Как поднять коллекторы? и как проверить поднялись или нет?
06:48
il: sockstat -n или netstat -a на тазике с активаторами. Смотришь, чтоб были порты snmptrap и syslog открыты
06:49
и если есть вариант посмотреть - кем открыты, то это должен быть python
06:50
noc python 73505 13 udp4 *:162 *:*
06:50
noc python 73505 14 udp4 *:514 *:*
06:50
06:50
пример вывода sockstat
06:52
161 и 162 закрыты
06:53
покрайней мере netstat их не показал
06:53
noc# netstat -an | grep 162
06:53
udp4 0 0 *.162 *.*
06:55
настраивать всякие безопасности и прочие зависимые от ОС вещи. Смотреть логи активатора, он может ругаться, что не может открыть порт. Сменить пользователя активатору на root, чтоб не было проблем с портом, отобрать порт у других прог, например snmptrapd из
06:55
комплекта net-snmp
06:55
спасибо я умею искать grep ом
06:55
netstat ненашел 162 и 161
06:56
Вопрос как поднять коллектор?
07:04
прошу прощения, mikevlz предыдущее сообщение пришло кракозябрами, можешь повторить?
07:05
настраивать всякие безопасности и прочие зависимые от ОС вещи. Смотреть логи активатора, он может ругаться, что не может открыть порт. Сменить пользователя активатору на root, чтоб не было проблем с портом, отобрать порт у других прог, например snmptrapd из
07:05
комплекта net-snmp
07:06
блин. опять кракозябры
07:06
netstat -a не покажет 162-й порт
07:06
надо еще ключ n
07:07
noc-activator.log
07:07
смотреть ошибки
07:07
ок
07:13
2012-09-05 11:10:00,335 [fm.correlator] Running job performance_report(report)
07:13
2012-09-05 11:10:00,338 0 events has been disposed (success: 0, failed: 0). 60.1688160896 seconds elapsed. 0.00 events/sec
07:13
каждую минуту куда-то report хоронит
07:14
ну нормально
07:14
нет трапов, нет алармов
07:14
а почему тогда в netstat невидно
07:14
что он слушает
07:15
?
07:15
логи активатора посмотри
07:15
там вроде норм
07:18
07:18
я ничего плохого не увидел
07:18
не поднимает он коллекторы
07:18
listen_traps
07:19
и listen_syslog в конфиге
07:20
оу. ) там пусто. А что должно быть?
07:22
listen_traps = 0.0.0.0
07:23
да. нашел
07:23
спасибо
07:27
всмысле с которыми буду работать?
07:27
сейчас просто стенд собрал два dlink des 3200
07:29
подергай им порты, алармы увидишь
07:57
тыкс
07:58
fdp/cdp не пашет на Foundry.
07:58
тополоджи дискавери
07:59
каталист(cdp) - (cdp listen) Foundry (fdp) - (fdp) Foundry
07:59
вот такая схема. На среднем foundry в консоли видно всех соседев...
08:13
с поллерами проблема осталась?
08:22
у меня пока не наблюдается проблемы... но она не всегда сразу вылезает... мониторим пока
08:23
прошло около часа, полёт нормальный
08:33
вопрос не в тему: а в регекспах \n и $ одинаково интерпретируются?
08:34
нет
08:34
зависит от режима
08:35
если конкретно, то копаюсь в get_interfaces для huawei
08:35
ищу, почему же XGigabit порты не попадают в результат
08:36
а ещё смутила вот такая конструкция [^\n,]+
08:38
а как вам идейка - определять fqdn template для discovery на уровне префикса?
08:40
очень.
08:41
это по факту будет поледно для пулов.
08:41
и очень полезно для всех остальных хостов
08:41
для пулов есть address ranges
08:41
насчёт huawei - похоже в принципе не попадают в результат порты с дефолтным дескрипшеном
08:53
идея такая
08:53
ищем template по цепочке вверх
08:54
не нашли - берем из конфига
08:55
я так и не понял мотивации для этого
08:55
dvolodin, подумай лучше про инвентори репортс
08:56
мотивация -- разные имена в разных сетях
08:56
возможны галочки - не обнаруживать адреса вообще в этом префиксе и ниже
09:02
хм. когда имя принципиально его задаешь руками или через addr range, а когда нет, то какая разница. хотя вам виднее, лично для себя я не вижу пользы
09:04
это для discovery
09:05
сейчас используется один общий шаблон
09:07
вот иметь отдельный шаблон для префикса - это клева было бы
09:07
статусы портов в инвентори...
09:08
инфа с железок для рисования морды инвентори
09:08
разделение статусов в конце-концов
09:08
например, делаем префикс для p2p-линков между маршрутизаторами, задаем шаблон для сетки, из которой будут /30 браться...
09:08
тяжело 2 fqdn прописать руками?
09:09
_4ePTeHok: мы уже третью /24 заполняем префиксами по /30
09:09
имхо это более узкоспециализированная проблема нежели вышеописанные.
09:10
fqdn template на уровне префикса решает мою задачу :)
09:10
но не положит линки в БД
09:11
у меня в переходном состоянии миграция на автоматически управляемый ДНС.
09:11
mikevlz: там большие изменения готовятся
09:12
я помню
09:12
но изменения изменениями, а я имел в виду, что там не два fqdn вписать надо
09:14
zi_rus: относительно отчета -- пишите пока идеи, рисуйте в gliffy варианты формы запросов, дойдут руки - подумаю
09:16
блин, нужна морда для просмотра job'ов
09:43
Нужна морда для просмотра передней панели свича
09:43
Dmitry1, а для нее надо еще много чего в бд инвентори положить.
09:44
я не про гет интерфейсес
09:44
я про version inv к примеру
09:45
Кстати, после долгих размышлений, решил для D-Link разные виды media считать разными интерфейсами
09:46
нумерация то одна
09:46
ifindex у них разве различается?
09:46
Но для разных media можно выставлять разные admin_status, description, speed, duplex, flow_control и т.п.
09:47
и тут не могли как у всех сделать. все равно можно только один медиа задействовать
09:48
Решили с dvolodin в будущем сделать специальный тип интерфеса, у которого можно несколько разных media типов иметь
09:48
Это актуально для разных извращений, типа V35, X25 и т.п.
09:50
Что-то типа многоканального интерфейса.
09:51
а за что отвечает "syslog_host = " в файле noc-classifier.conf ? В admin-guide его нету
09:51
по идее, адрес, на котором слушент
09:51
у меня просто прилетают события, но не распознаются
09:52
il: не нужен он тебе
09:52
посмотри, может ли NOC слушать на 514 порту?
09:52
это syslog host, на который noc может бросать свои логи
09:52
il: в Fault Management > Events их видно?
09:52
managed object'ы настроены под них
09:52
классификатор их обрабатывает?
09:53
Subject:
09:53
Unknown Event Source: 10.0.0.5
09:53
Event has been received from unknown source 10.0.0.5 by collector (Activator pool default)
09:53
В SA попрописывай event_source для железок
09:53
в Managed Object надо выставить trap source ip
09:53
саму железку не забудь добавить..
09:56
простите если что. порой понимаю насколько глупые вопросы. все потому что тороплюсь
09:58
начальство торопит?
10:03
пока что сам тороплюсь )
10:33
Dmitry1, snmp не тестировал?
10:34
жаль, развивать надо эту тему
10:34
сейчас d-link мучаю
10:38
Надо, чтобы хоть как-то заработало. Часть свичей стопудово работать не будет.
11:02
dvolodin: вот такой ещё трейс, правда не уверен, связан ли с
NOC-656
11:02
11:04
не связан, но из тех же переработок
11:07
что-то повалилось в логи теперь Requesting object mappings, проц под 100% опять ушёл
11:11
Dmitry1, как ты относишься к тому, чтобы ifindex и iftype для каждой железки хранить в инвентори?
11:12
тогда можно будет по snmp сопоставить порт с cli-шным однозначно
11:13
и в FM в правилах не парится
11:14
_4ePTeHok: положительно отношусь. Только как узнать, как они соотносятся?
11:14
он хранится там
11:14
вы только в скриптах его выдавайте
11:14
iftype не снимается.
11:14
а он принципиален
11:15
Dmitry1, type подскажет - вилан это или физич. порт
11:15
если вилан - то от номера вычитаем 4000
11:15
от ifindex всмысле
11:15
Ээээээ
11:16
тут опять проблема с d-link
11:16
тьфу, 1000 вычитать надо конечно.
11:16
в стеке интерфейсы могут иметь фиг-знает какие ifindex.
11:16
ну вот в данный момент я даже виланы отделить не могу от интерфейсов физических
11:17
ибо в json - логику не впихнешь
11:17
и функция нормализации имени тут мало чем поможет
11:17
нам же нужно в итоге иметь одинаковые ифейсы и в FM и в inv
11:29
_4ePTeHok: может все-таки convert_interface_name допилить?
11:30
примеры если где то есть - попробую.
11:31
<dvolodin>, а тебя можно побеспокоить на тему телнета и еджкоров?
11:33
можно
11:33
ну что-то вроде
11:33
try:
11:33
i = int(interface)
11:33
if i > 4000:
11:34
return "Vl %d" % (i - 4000)
11:34
except ValueError:
11:34
pass
11:34
....
11:34
или вообще та
11:35
if "4000" < interface < "8096":
11:35
у нас в json уже дописываются Eth 1/x
11:35
return "Vl %d" % (int(interface) - 4000)
11:35
ну пусть пишутся
11:35
нормализация на каком этапе проходит?
11:36
если "type": "interface_name",
11:36
в event class
11:37
т е после обработки json?
11:37
json в обработке вообще не учавствует :)
11:38
когда event в базу будет укладываться, произойдет нормализация
12:06
хм. сломал классифир похоже.
12:06
видимо когда он переменную в int пытается перевести а там текст.
12:06
через try все ж придется.
12:32
12:32
вижу что int() argument must be a string or a number, not 'NoneType'
12:33
но ведь интерфейс должен отдаваться..
12:33
она там же чуть ниже
12:33
в пасте
12:40
type в переменной с ифейсом не определен?
12:52
ты все-таки ifindex кормишь?
12:52
а чего мне ему кормить то
12:52
проблема только с снмп-же
12:53
в сислоге оно пишет влан или eth
12:53
а в snmp трапе только ifindex прилетает
12:54
чего там с типом не так то? interface же sring должен быть по идее
12:54
+t
13:02
Возвращаясь к вопросу о noc-classifier. Все было хорошо. Теперь он опять перестал определять событие. Хотя trap source ip прописан
13:02
в логах классифера что
13:03
2012-09-05 17:02:48,330 REPORT: elapsed: 0.0270s, speed: 37.0ev/s, events: 1, failed: 0, deleted: 0, suppressed: 0, unknown: 0, classified: 1, disposed: 0
13:03
все норм
13:03
ну классифицировалось значит
13:03
Unknown Event Source: 10.0.0.5
13:11
il: повторим, Trap Source IP точно прописан? И в ём точно 10.0.0.5?
13:11
dvolodin, какой тип у interface? если не string то как быть?
13:11
ip коллектора должен быть
13:11
?
13:12
trap communit не менял
13:12
адрес с которого железка шлет трапы
13:12
к тебе на нок
13:12
до этого был коллектора и работало
13:12
ip коллектора в ip trap source
13:12
в Service Activation -> Managed Objects?
13:13
в веб морде
13:13
уточняйте..
13:13
=)
13:14
Service Activation -> Managed Objects для конкретной железки прописал trap ip source и тот и этот адрес пробывал
13:14
должно быть так - в ./etc/noc-activator.conf = IP интерфейса нока (где он будет слушать)
13:15
в Service Activation -> Managed Objects - интерфейс железки которая будет слать трапы в нок
13:15
там 0.0.0.0
13:15
в /etc/noc-activator.conf 0.0.0.0
13:16
это значит что будет на всех интерфейсах сервера слушать.
13:16
так оно и было
13:16
все было гуд
13:16
Мне для сислога хватает Trap Source IP
13:17
сислог да. snmp - community еще надо
13:17
Trap Source Ip когда все работало был ip машины на которой noc работает и все было гуд
13:17
хгм
13:17
не SAE ли редактируем?
13:17
snmp community изначально был public
13:18
Managed Objects создавал?
13:18
потом менял. но теперь и он не работает
13:18
да
13:18
у меня уже днем все работало
13:18
и определял events
13:19
ну вот опять работает
13:19
))
13:19
чудеса или руки у меня кривые
13:20
надо сделать кнопку для вываливания конфига МО в json. и заставлять пастебинить.
13:21
Так, а audit trail у нас про все изменения в МО расскажет?
13:24
вроде про все.
13:24
il: можешь посмотреть в Main -> Audit Trail что именно твои руки делали с этим МО.
13:25
вообщем либо Trap source ip не сразу отрабатывает. я теперь меняю его как хочу а оно все равно работает
13:25
секунду
13:26
ну, скажем, отрабатывало оно не мгновенно.
13:28
минуту переключает trap source ip
13:28
т.е. примерно
13:29
оно выставляется 1 раз для каждой железки
13:29
я просто ради эксперимента менял его
13:30
охблджад... спам прилетел: "Putty – это великолепная антистресс игрушка. Putty позволяет легко и незаметно расслабиться."
13:30
кажется, chiark придётся таки задуматься о доменном имени.
13:32
маленький вопрос. у меня последние 2 дня появляются crashinfo файлы в папке с логами
13:32
это норм? )
13:32
что они появляются там - норм
13:33
что они появляются - суровая правда жизни
13:33
или кривость
13:33
) просто внутри только пару строк непонятно инфы
13:33
поэтому их надо рассматривать каждый в отдельности
13:34
dvolodin: кстате.
13:34
(dp1 S'component' p2 S'noc-correlator p3 sS'source' p4 S'system' p5 sS'traceback' p6
13:35
<il>, ищи, в одном из логов более приемлемый формат той же ошибки
13:35
dvolodin: как _должен_ вести себя нок, если закончилось свободное место на диске?
13:36
evyscr, поди как и все остальное
13:36
помереть кверху лапками
13:36
evyscr, очевидно начнет сильнее крашиться
13:37
ну я же выделил "должен"
13:37
он при неправильных правах на файлы запуститься не может, а ту сразу такое
13:39
однозначно сдохнет
13:41
ох... повторю: не "как себя поведёт", а "как должен себя повести"
13:41
evyscr, "должен" удалить все свои логи, краши и т д, посносить все в системе что ему не нужно и завладеть миром)
13:42
у меня не freebsd, world отсутствует.-)
13:46
значит впадет в депрессию и убьет себя.
14:00
мистика какая то.
14:01
делаю в функции convert_interface_name какое нибудь простое преобразования типа return interface.replace("/ ", "=") - работает
14:01
как со строкой прошу заметить
14:02
делаю if interface.startswith("Eth" or "VLAN"): - получаю отлуп 'NoneType' object has no attribute 'startswith'
14:07
блин
14:08
if interface.startswith("Eth") or interface.startswith("VLAN")
14:08
"Eth" or "VLAN" даст "Eth"
14:08
:)
14:08
'NoneType' object откуда?
14:08
я уже пяток способов разных перепробовал
14:09
как будто ifindex не передается в convert_interface_name переменной с type sting/int
14:09
точнее как будто вообще не передается
14:10
но при этом - убираю все из convert_interface_name - в бд ложится interface 10 к примеру
14:11
т е проблема где то при вызове convert_interface_name и передаче переменной верного типа ей
14:12
снятое сислогом - обрабатывается в convert_interface_name верно
14:12
снятый ifindex snmp = валится на любой попытке его обработать в функции как 'NoneType' object
Share this page
Share this page: