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: 28.12.2011
gnu-linux #
01:19
А у нас землетрясение было... Сеть цела :)
01:22
Чёто очень часто.., предыдущие 10 февраля.. только было, а сегодня трясло около 5 минут!!! АЖ СТЕНЫ СКРИПЕЛИ!....
freeseacher #
03:42
хай
dvolodin #
03:43
разобрался с Mapnik и OSM в первом приближении
03:44
получилось залить один район Москвы в базу и примерно понял, как с него генерировать тайлы
03:45
там на выходе вообще статика получается
03:46
правда пока открытый вопрос - генерить ли их при заливке все сразу или плодить по требованию
03:50
ну и думать надо, кидать ли тайлы тупо на файловую систему или в монгу залить
03:52
по идее штука должна работать весьма шустро
freeseacher #
03:52
в монгу канечно
03:52
там их можно попилить нормально между серверами
dvolodin #
03:55
pros et contra смотреть надо
03:55
с одной стороны, конечно, да
03:56
разреплицировать их можно будет
03:56
с другой -- nginx статику раздает на порядок быстрее
03:57
в принципе можно подумать и совместить кеширование на nginx и backend в монге
03:58
тайлы небольшие, вряд ли кому нужен Range: в запросах к ним
03:58
есть еще адский вариант - nginx-gridfs
VIY #
06:15
доброе
e_zombie #
06:22
утро
VIY #
06:43
а подскажите, плз, как победить ошибку "noc.fm.models.OIDCollision: Cannot resolve OID 1.3.6.1.2.1 collision between RFC1213-MIB::mib-2 and SNMPv2-SMI::mib-2. No preference for RFC1213-MIB" вываливающуюся при синхронизации мибов при пост-апдейте?
dvolodin #
06:50
./noc sync-collections
zi_nnov #
06:50
dvolodin, inventory>interfaces недоделан или просто у меня не работает (PS noc-discovery отключен)
dvolodin #
06:51
нет его вообще
06:51
рыба
07:00
и без noc-discovery работать не будет
07:00
:)
07:09
http://dpaste.com/678584/
07:09
это к NOC-215
07:13
какие будут предложения?
VIY #
07:26
синк коллекшн не помогает... да и эта синхронизация при постапдейте проходит до синхронизации мибов
07:27
хм. хотя, теперь вываливается с другой ошибкой "noc.fm.models.OIDCollision: Cannot resolve OID 1.3.6.1.2.1.52 collision between INTEGRATED-SERVICES-MIB::intSrv and INT-SERV-MIB::intSrv. No preference for INTEGRATED-SERVICES-MIB"
dvolodin #
07:29
что странно
VIY #
07:29
хм. чередуя sync-collection и sync-mibs ошибки синк-миба меняются... попробую поцилить
dvolodin #
07:29
mongo noc
07:29
db.noc.mibpreferences.find()
07:29
что выдает
VIY #
07:30
ничего
dvolodin #
07:30
а как тогда синхронизация проходит, если там ничего нет?
VIY #
07:31
я не представляю механизма процесса
07:31
кстати
07:32
с n-го раза похоже синхронизация мибов прошла до конца
07:32
после зацикливания синхронизаций коллекций и мибов
07:32
сейчас еще раз постапдейт пущу
07:33
post-update complete
07:33
интересная трава...
07:34
db.noc.mibpreferences.find() - по прежнему пустой вывод
07:34
(а что должно быть?)
dvolodin #
07:35
17 записей
VIY #
07:37
при синхронизации мибов выдавало "creating JUNIPER-VPN-MIB" и тп
07:37
теперь просто пишет "Synchnonizing MIBs" и всё
07:39
попробовать ещё раз hg pull и инсталл?
dvolodin #
07:42
версия NOC какая?
VIY #
07:43
0.7_3
07:46
сделал ещё раз hg pull -u; setup.py install; потом удалил main/apps/auth и changesquarantine* (опять появляются), запустил постапдейт - всё прошло
07:47
на этапе синхронизации мибов мелькнула одна строчка про мибы от джунипера
07:47
(прошлый раз вроде поболее было)
07:47
db.noc.mibpreferences.find() по прежнему пуст
07:49
db.noc.mibs.find() - не пуст
07:50
mibdata.find() выбрасывает из монго
dvolodin #
07:51
система какая?
VIY #
07:55
15 федора
dvolodin #
08:24
с аутентификацией в монге все в порядке?
08:25
выбрасывать не должно
08:29
что касается GIS'ов
08:29
кто какие источники данных использует?
zi_nnov #
08:41
каких данных?
dvolodin #
08:42
географических
08:43
карты какие?
zi_nnov #
08:45
я за osm
gnu-linux #
08:51
поддержу osm
lexus-omsk #
08:59
а какой формат нужен? всякие яндексы и 2гисы не пойдут? правда там api у всех разные...
dvolodin #
09:01
я думаю над общим workflow, как карты будут в систему попадать
ovg #
09:01
hi all
09:01
как почистить монгу от определенного типа записей?
09:03
а именно вытереть все Network | Port Security | Port Security Violation
dvolodin #
09:10
события?
09:10
./noc events
09:14
https://docs.google.com/drawings/d/1p8A4tdVr7p5V90U4PSHl7fwSz6LWJ2LpH0U17GMyLRc/edit
09:14
что-то вроде такого вырисовывается
09:15
конечная цель - всеми правдами и неправдами заполучить несколько наборов tilecache
09:15
Это виды подложки
09:15
по идее, они тоже должны настраиваться
09:16
по дефолту будет - Map, Sattelite, Hybrid
09:16
в принципе может и свое быть
09:16
типа "Ворованные карты Генштаба" :)
09:17
или "Аэрофотосъемка"
zi_nnov #
09:17
а street view будет? :)
dvolodin #
09:18
это не gis :)
zi_nnov #
09:18
но это же инвентори
09:19
делаешь фотки узла связи, нок их обрабатывает, создает 3D модель
dvolodin #
09:19
в какой-то мере, да
09:19
хранилище для фоток привязанное - надо, их много
09:20
наверное, если фотки с координатами, можно и на карте показывать
09:21
inventory свое хозяйство рисует поверх тайловой подложки
zi_nnov #
09:21
нужно продумать взаимодействие пользователя с картой
Dmitry1 #
09:21
По NOC-215
zi_nnov #
09:21
как там создавать узлы, отмечать что-то,
09:21
может рисовать
Dmitry1 #
09:21
Иногда в значениях бывает N/A
zi_nnov #
09:22
получать информацию по объектам
dvolodin #
09:22
Dmitry1: -- None тогда
09:22
я уже думал -- FloatParameter() | NoneParameter()
09:22
если нет в выводе -- просто пропускать его
09:22
если N/A - то None
09:22
zi_nnov: кликами это делается
zi_nnov #
09:23
понятно что мышкой
dvolodin #
09:23
что касается горизонтальной разводки
Dmitry1 #
09:23
А как отрабатывают скрипты, если вместо опущенного параметра, я им выдаю параметр, но со значением None ?
dvolodin #
09:23
то, обычно, кликаешь на объект - можешь добавлять все объекты, котоыре могут быть с ним связаны
09:24
Dmitry1: если ему разрешили None, то пройдет именно None
09:24
zi_nnov: в целом примерно так
09:24
кидаешь колодец, как точку
09:24
потом еще
09:25
тыкаешь в колодец, видишь, что можешь создать канал
Dmitry1 #
09:25
FloatParameter(required=False) или IntParameter(required=False) допускает None ?
dvolodin #
09:25
кидаешь канал от колодца к колодцу
09:25
Dmitry1: нет
09:25
FloatParameter() | NoneParameter()
09:25
вот такое допускает
Dmitry1 #
09:25
http://dpaste.com/678584/
09:25
Как передать туда None ?
dvolodin #
09:26
я еще не доделал его
09:26
пытаюсь понять, что там еще можно получить
09:26
сама карта - просто подложка под общим безобразием
Dmitry1 #
09:26
В FM
zi_nnov #
09:27
dvolodin, мы говорим об одном и том же, но я не вижу, что ты за своими словами представляешь, я бы стал говорить про конкретную реализацию.
dvolodin #
09:27
интерактивны только объекты из inventory
Dmitry1 #
09:27
Если параметр стоит "required": false
09:27
А я туда передаю параметр со значением None. Что произойдет?
09:28
Более точный пример:
dvolodin #
09:29
есть required = False и параметра нет, он не попадет в Dict
Dmitry1 #
09:30
"name": "name",
09:30
"type": "str",
09:30
"required": false
09:30
в правиле FM
09:30
regexp: ((?P<name>\S+))?
09:30
т.е. можеь быть, а может и не быть.
09:31
Если есть, то передается name: бла-бла. Если нету, то передается name: None
dvolodin #
09:31
>>> print (FloatParameter(required=False)).clean(10)
09:31
10.0
09:31
>>> print (FloatParameter(required=False)).clean(None)
09:31
Traceback (most recent call last):
09:31
InterfaceTypeError: FloatParameter: None.
09:31
>>> print (FloatParameter(required=False) | NoneParameter(required=False)).clean(None)
09:31
None
09:32
>>> print (FloatParameter(required=False) | NoneParameter(required=False)).required
09:32
False
09:32
в FM не интерфейсы
Dmitry1 #
09:32
Меня интересует для FM
dvolodin #
09:32
required означает, что ты можешь не выделять name
09:32
и его просто не будет
Dmitry1 #
09:33
Я про то, что если в регекспе не нашло такой переменной, то оно говорит ему None
09:34
Пример
09:34
%PIM-5-DRCHG: DR change from neighbor 10.0.32.42 to 10.0.32.34 on interface Tunnel1 (vrf VPN_Wayside)
dvolodin #
09:35
тогда none будет
Dmitry1 #
09:35
В данном примере может присутствовать, а может и не присутствовать (vrf бла-бла)
ovg #
09:37
dvolodin ./noc events Action: show, reclassify - а хде remove?
dvolodin #
09:38
http://dpaste.com/678611/
Dmitry1 #
09:38
Про FM
09:39
Я пытаюсь сделать не два правила, когда в одном присутствует VRF, а в другом нет, - а одно.
dvolodin #
09:39
ovg: а, пока не сделали
ovg #
09:39
dvolodin монга место не высвобождает при .remove() ?
Dmitry1 #
09:39
При тестировании ивента, если VRF отсутствует, то мне выдает "vrf: None"
dvolodin #
09:39
ovg: нет
09:40
но есть compact для базы и для коллекций
09:40
в принципе, она потом положит в свободное место новый объект
Dmitry1 #
09:41
Вопрпос, как будет работать FM, если прийдет переменная со значением None, но в правиле переменная описана как "int" или "ip_address"
ovg #
09:41
dvolodin в принципе да, но копировать удаленную хрень мне не хоцца :)
dvolodin #
09:43
из дампа она уйдет
09:43
Dmitry1: посмотреть надо, по идее не должно создавать переменной вообще
Dmitry1 #
09:44
у меня создало
dvolodin #
09:45
делай issue
09:45
надо будет классификатор поправить
09:45
отфильтровывать пустые группы
Dmitry1 #
09:46
Т.е. до попытки сделать им "int" или "ip_address" просто проверить их на None
dvolodin #
09:47
в классификаторе отфитровывать пустые группы
10:11
http://dpaste.com/678611/ -- такой вариант нормальный?
Dmitry1 #
10:12
нет
10:13
вот тебе что выдает d-link
10:13
DGS-3627G:admin#show ddm ports 1 status
10:13
Command: show ddm ports 1 status
10:13
Port Temperature Voltage Bias Current TX Power RX Power
10:13
(in Celsius) (V) (mA) (mW) (mW)
10:13
------- ------------- ---------- -------------- ---------- ------------
10:13
1 - - - - -
10:13
DGS-3627G:admin#show ddm ports 1 configuration
10:13
Command: show ddm ports 1 configuration
10:13
Port: 1
10:13
--------------------------------------------
10:13
DDM state : Enabled
10:13
Shutdown : Alarm
10:13
Threshold Temperature Voltage Bias-Current TX-Power RX-Power
10:13
(in Celsius) (V) (mA) (mW) (mW) ------------ --------------- ---------- -------------- ---------- ---------
10:13
High Alarm - - - - -
10:13
Low Alarm - - - - -
10:13
High Warning - - - - -
10:13
Low Warning - - - - -
10:13
A means that the threshold is administratively configured.
10:13
DGS-3627G:admin#
10:14
Т.е. добавить туда еще 4 таких массива, где будет показываться конфигурация
dvolodin #
10:17
а нужно ли оно?
Dmitry1 #
10:17
а что такое "current_ma" ?
dvolodin #
10:20
ток в милиамперах
Dmitry1 #
10:48
Нужно для того, чтобы посмотреть, если произошел "Аларм", то как был настроен DDM и насколько больше или, наоборот, меньше значение чем граничное.
10:48
По идее, потом для SA можно будет красивую формочку нарисовать для этого
10:51
Так же, и для меди. Выделять цветом проблемные значения.
10:54
Для циски, кстати, тоже такое есть.
10:54
High Alarm High Warn Low Warn Low Alarm
10:54
Temperature Threshold Threshold Threshold Threshold
10:54
Port (Celsius) (Celsius) (Celsius) (Celsius) (Celsius)
10:54
------- ------------------ ---------- --------- --------- ---------
10:54
Te3/1 40.6 70.0 67.0 2.0 0.0
10:54
Te3/2 29.3 75.0 70.0 0.0 -5.0
10:54
Te3/3 41.1 70.0 67.0 2.0 0.0
10:54
Te4/1 34.6 70.0 67.0 2.0 0.0
10:54
Te4/2 31.7 70.0 67.0 2.0 0.0
10:56
Поглядев на эти значения мы видим, что в порту Te2/2 стоит какой-то супер-пупер ксенпак.
dvolodin #
11:56
я думаю диапазоны отдельным вызовом лучше драть
Dmitry1 #
12:04
возможно. но выводить их надо на одной странице
12:05
для наглядности
dvolodin #
12:11
мы пока про вывод не говорим вообще
Dmitry1 #
12:12
Т.е. я вижу html страничку так: 1 строка - high alarm, вторая строка - high warning, 3 строка - текущие значения, 4 строка - low warning, 5 строка = low alarm
12:12
Для скриптов, опять же, которые будут запускаться по переодичности. Надо стравнивать получаемые значения с чем-то.
12:13
И в зависимости от этого генерировать какие-то события.
12:13
В том примере что я привел.
12:13
Какой смысл мне получить значение температуры -2
12:14
Если для одного ксенпака это критичное, а для другого нет ?
12:14
Где в таком случае брать критичные значения? В инвентори?
dvolodin #
12:26
регламентные возьмешь
Dmitry1 #
12:29
как? Откуда я знаю, какие регламентные значения на ксенпаке, если он от меня на 100 километров находится?
VIY #
12:30
<dvolodin> с аутентификацией в монге все в порядке?
12:30
а как проверить?
Dmitry1 #
12:30
А в табличке
12:30
e3/1 40.6 70.0 67.0 2.0 0.0
12:30
e3/2 29.3 75.0 70.0 0.0 -5.0
VIY #
12:31
команды типа db.noc.events.active.count() отрабатывают нормально
Dmitry1 #
12:31
я вижу, что на Te3/1 регламентное значение 0.0, а на Te3/2 - -5.0
dvolodin #
12:31
Дим, на тип трансивера делаешь регламентные значения
12:31
и не паришься
Dmitry1 #
12:32
Я еще раз повторюсь. Я абсолютно без понятия, какой там тип трансивера.
dvolodin #
12:32
а вот это в inventory
Dmitry1 #
12:32
Мне нужно, чтобы офисный криведко тывнул мышкой, и увидел, что значение выходит за пределы нормы
VIY #
12:33
db.noc.mibdata.find() начинает выводить данные, а потом стреляется с сообщением "Wed Dec 28 16:32:02 mongo got signal 11 (Segmentation fault), stack trace: ........."
Dmitry1 #
12:33
Хорошо. А в инвентори эти значения как попадут? Вбивать руками не предлагать.
VIY #
12:33
чот меня вот этот "Segmentation fault" смущает
zi_nnov #
12:56
dvolodin, это что-то новенькое "'CLITelnetSocket' object has no attribute 'local_address'
dvolodin #
12:57
traceback давай
zi_nnov #
12:58
dvolodin http://pastebin.com/URkhjhEh
Tweet
Share this page
Share this page: Tweet