nocproject.org
03:21
Подскажите пожалуста как startapp сделать )
03:21
Ошибок импорта туча
03:36
не надо его делать, это чисто django
03:36
новое приложение надо создать?
03:41
dvolodin а можно базу как-то разделить и noc events -c "Unknown | Syslog" -a reclassify запускать на отдельном компе.. и нехай там и тормозит?
03:42
wad_: я нормально запускал переклассификацию на 1M активных событий
03:42
тысяч по 50 нормально переклассифицировало
03:43
явно локальную проблему надо искать
03:43
с какими ключами mongod запущен?
03:44
стандарный дебиановский /usr/bin/mongod --dbpath /var/lib/mongodb --logpath /var/log/mongodb/mongodb.log --config /etc/mongodb.conf run
03:45
можно конечно вынести на отдельную машину... а то база подбирается в 2гб
03:45
--journal еще надо бы
03:45
если этого в конфиге нет
03:46
2 гига это немного
03:46
с тем же 1M событий - около 12G база
03:46
Всего в сумме до 30 доходило
03:48
хм iotop показывает что 15-50% процентов IO жрет noc-sae с чтением всего в 100-1000кб/с
03:48
в mongostat что?
03:48
у него не loglevel = debugging ?
03:51
да
03:51
имеено новое приложение
03:51
animage: ./noc newapp <имя приложения>
03:51
сейчас reclassify не запущенно оо откудато локед% идет
03:51
какое приложение? отчетик, SAApplication или что там?
03:52
wad_: лучше реклассифицировать адресно
03:52
./noc events -c "Unknown | Syslog" -S <RE> ....
03:52
отфильтровывать только то, что надо
03:53
какой смысл реклассифицировать все, если оно опять попадет под Unknown | Syslog
03:53
а откуда берется locked ?
03:56
чтение с записью дерутся
03:56
я правильно понимаю, что так оно работает нормально, но при массированной переклассификации просто встает?
03:59
и какая версия mongo
04:01
Возникло у меня нехорошее желание выкидывать facility и severity из syslog
04:02
при старте и стопе noc runserver 0.0.0.0:8020 тормозит машина то-же
04:03
в mongo - что говорит db.serverStatus().mem
04:08
как вариант, можно закрутить imit'ы на юзера mongo
04:08
limit
04:08
чтобы не выжирал всю память
04:10
так видемо это не приложение )
04:10
я имею в виду уровня sa, fm
04:11
а
04:11
./noc startapp вываливается?
04:13
о всё ок)
04:15
вот сижу думаю как потом это в репы перетащить
04:17
animage: что за новый модуль, если не секрет?
04:18
wad_: 32-битный?
04:18
угу
04:18
я же и говорю надо выносить на другую машину
04:18
gis
04:18
сижу потихоньку разбираюсь )
04:23
Ж)
04:25
по совету коллег глянул одним глазом на ExtJS
04:25
надо собраться с терпением и глянуть другим оставшимся глазом
04:26
джанга- пользует jquery
04:26
в первом приближении - там есть практически все, из чего можно сделать приличные dashboard'ы
04:29
wad_: django'вская админка использует
04:29
это все-таки не сама django
04:31
дык я так понимаю еще немного и от админки джанги ничего не останется... и джанго - то-же не нужен будет..
04:31
почему
04:32
это не решение, а так, предварительный анализ
04:32
Дмитрий у тебя сколько народу сидит мониторит эвенты и алармы?
04:32
админка джанги хороша для прототипирования
04:32
wad_: пока немного, отлаживаем базовые механизмы только
04:32
proof-of-concept
04:33
я конечно понимаю что пользовать сервак в виде runserver не кошерно..
04:33
абсолютно
04:34
он половину времени проверяет, что код не поменялся :)
04:34
но каждую минуту клиентом проверять наличие изменения в эвентах - уже то-же не кошерно
05:50
2011-08-15 09:48:11,089 event_proxy failed: code: ERR_INTERNAL
05:50
text: "RPC Call to event failed"
05:50
честно говоря - достало. где и куда копать - непонятно совершенно
06:15
эээ
06:16
откуда там mibs два раза?
06:16
а какова вероятность того что и wad_ и я одновременно ошиблись где-то?\
06:17
06:18
Во втором подкаталоге mibs содержится файлик CISCO-PRODUCTS-MIB.mib
06:22
"RPC Call to event failed" - traceback отправил на beef@
06:33
dvolodin я не знаю откель там чего специяльно читсый нок поставил
06:38
прошло
06:43
для того что-бы монго использовать на другом сервере в noc.conf [nosql_database] host = 192.168.253.106 - прописать достаточно??
06:43
или еще куда-то
06:48
да в смысле достаточно?
06:48
а не пользует
06:53
connect(noc.settings.NOSQL_DATABASE_NAME,
06:53
noc.settings.NOSQL_DATABASE_USER,
06:53
noc.settings.NOSQL_DATABASE_PASSWORD)
06:53
там такое сейчас в lib/nosql.py
06:55
сейчас слепим
06:57
06:57
попробуй патчик
06:58
а чего не все поля так запихать?
06:59
так там все и будут
06:59
просто хост и порт сейчас игнорируются
07:03
зацепилось?
07:04
угу
07:04
я так понимаю пост-упдейт делать надо
07:10
почему в словарь connection_args все поля не запихнуть?
07:14
еще вопрос. есть удаленное подразделение которое может потерять связь с основным часа на 2-3. там куча оборудования. туда внутрь ставить активатор? у него кеш есть? он в базу сам пишет?
07:15
а что там еще из полей-то?
07:15
noc.settings.NOSQL_DATABASE_NAME и т.д.
07:15
активатор в базу не пишет и не кеширует
07:15
имя базы идет в connection и так
07:16
активатор, собственно, по дизайну старается ничего не писать на диск кроме логов
07:16
где? в том апдейте что ты кинул только хост и порт пишется
07:17
14 строка, посмотри
07:17
в diff
07:18
по кешированию событий на активаторе - вопрос открытый
07:18
есть и за и против
07:18
как обычно не понял ... зачем еще 3 переменных тащить если все можно запихать в словарь connection_args ?
07:18
API там такое
07:18
нет, конечно можно в kwargs все пихнуть
07:21
07:21
типа такого
07:21
чисто для эстетики
07:26
у меня так не сработало..
07:30
хм мой вариант не сработал... а твой сработал.. магия...
07:32
про активаторы... сделать поле время кеша и поставить по умолчанию 0 секунд..
07:33
там не только TTL надо, но и ограничение по размеру
07:33
причем делать RAM и DISK cache
07:33
нет
07:33
локально
07:33
активатор не имеет коннекта с базой
07:33
опять же by design
07:33
нет
07:34
может просто pickle в каталог бросать
07:34
вопросов тут много - просто сходу за 10 минут не сделать
07:34
это уже на key feature для релиза тянет
07:35
тем более если уж совсем делать капитально, то надо делать механизм congestion control'а
07:36
вовремя на другой сервак для монги уехал.. она 2г перешагнула
07:36
чтобы SAE, если понимает, что его монга начинает долго писать, сигнализировал активаторам
07:42
07:42
пусть лежит, маринуется
07:42
пишите комментарии
07:43
полежит пока до лучших времен, или если кому-то из партнеров не понадобится
07:55
Давайте лучше на релизе фолта сосредоточимся
07:55
пока проблемы у нас открытые:
07:55
1. возможный memory leak в корреляторе
07:56
07:56
07:56
4. Не работает рассылка уведомлений при подписке
07:57
5. Не сделаны очереди аварий
07:57
6. Нет топологии в базе и она не учитывается при корреляции
07:58
6. Нет пока Event Action Script
07:58
7. Diagnostic & Repair scripts
07:59
Это то, что я написал под пунктом 6
07:59
вроде все пока?
07:59
Да, есть непонятная проблема с затыканием монги на отдельных инсталляциях и с резким падением производительности
07:59
с другой стороны - на более нагруженных инсталляциях все работает ровно
08:00
причину надо отловить и внести в FAQ
08:01
я по фолту ничего не пропустил?
08:11
6. а как топологию без инвентаризации ?
08:12
топологию без inventory положить можно
08:13
точнее
08:13
сделать ту часть inventory, которая отвечает за L2 и L3 топологию
08:17
Я разделял топологию сети и таблицу подключения клиентов... Хранить линки клиентов вообще планируется?
08:18
оно будет распределено
08:18
тоесть линки клиентов будут в отдельной "таблице"
08:18
08:18
пока вот такое в inv/models.py у меня
08:19
идея в том, чтобы аккуратно положить вывод get_interfaces в базу
08:19
клиентские порты будут немного по-другому оформлены
08:20
будет сервис - выделение физического порта
08:20
будет service instance для клиента с указанием ссылки на порт
08:20
при правильной структуре каталога сервисов будет сразу видно, какие услуги клиенту оказываются
08:22
там же можно будет смотреть и на SLA и крутить, соответственно, приоритеты
08:26
а можно что-то сделать с NOC | Managed Object | Ping OK у мну объектов мало еще но он уже по пол экрана занимает... в логах
08:26
wad_: а зачем вообще в event manager смотреть?
08:26
оператору только alarm'ы интересны
08:27
8. Чистилка событий по правилам
08:27
это у тебя 99 % событий класифицированно
08:27
даже если неклассифицировано
08:27
ч
08:27
его ловить в event manager'е?
08:27
./noc events -c "Unknown | Syslog" -d
08:27
аналогично для трапов
08:28
есть более эффективные способы разобраться, что не поклассифицировалось
08:28
:)
08:28
по трапам еще проще
08:29
отчет Unclassified Trap OIDs
08:29
и уже поиск по трапу
08:29
./noc events -c "Unknown | SNMP Trap" -T <oid>
08:29
а ключик -d по какому критерию сравнивает?
08:29
event manager нужен, например, при разборе аварий
08:30
wad_: заменяет все цифры и адреса на константу
08:31
08:42
а где обрабатываетя ./noc events -c "Unknown | Syslog" -d из какого файла ноги растут?
09:19
wad_: fm/management/commands/events.py
09:19
он туп как пробка
09:20
но удобен в работе :)
09:30
wad_: на каком железе дрессировать его собираешься?
09:31
у меня только циски
10:12
how add device to noc?
10:12
fot example Cisco 3750 ME
10:12
?
10:14
service activation > managed objects > add
10:22
Народ, кто сможет отловить DULD сообщения или трапы?
10:23
=)
10:23
спасибо, добавил железку
10:23
На DGS-3400 молчит, как партизан.
10:23
когда добавлял указал, телнет и пользователя
10:24
и пароль
10:24
snmp и прочее не указывал
10:24
запустил скрипт get_vlans
10:24
он Task failed:
10:24
в чём может быть проблема?
10:25
сами демоны нока запущены? активатор/sae и т д
10:26
м
10:26
смотрите, для начала я добавил новый домен
10:26
затем service activation > managed objects > add
10:26
Name: блаблабла
10:26
потом выбираю свой домен
10:27
Activator
10:27
что это значит?
10:27
activator то что на железяку пойдет
10:28
должен быть в списке процессов
10:28
угу. их может быть несколько - чтобы распределить нагрузку
10:28
или чтобы географически распределить слежение.
10:28
Repo path cannot be a directory
10:28
указывать название файла на сервере?
10:28
путь к repo, где будет хранится конфиг сдернутый с устройства
10:28
файл, да, а не папко.
10:29
без лидирующего слеша
10:29
типа core/blabla
10:30
если там точка будет беда.
10:30
если при создании железки путь не указать будет точка
10:33
ну я указал что то типа testdev
10:33
сейчас пытаюсь получить config
10:38
у вас демоны noc'a запущены? ps -ax | grep noc что то показывает?
10:40
Наблюдаю сейчас следующее: Events: 1766091
10:41
Классификация - 98%
10:43
dvolodin, нагрузка на машину большая выходит?
10:43
LA ~ 0.4
10:44
ничего из рук вон выходящего
10:44
mongod жрет около 3%
10:44
CPU
10:45
total used free shared buffers cached
10:45
Mem: 32813040 27996852 4816188 0 105764 11652408
10:45
6651 mongodb 20 0 40.4g 5.6g 5.5g S 2 18.0 1053:00 mongod
10:45
VSS на монго - 40G, RSS 5.6
10:45
не крутил вообще ничего
10:46
кстати мануал по установке на freebsd писали?
10:46
был древний какой-то и не на сайте
10:46
если еще нет, могу озадачится
10:46
можно дописать
10:46
будет полезно
10:47
седня как раз переносить буду , перед этим можно чистую поставить ну и текстом потом разбавить
10:50
сделать ссылку на несуществующий документ и кликнуть на нее
10:50
это у всех wiki почти так
10:54
лучше текстом все-таки
10:54
я и спрашиваю - как теперь этот файл удалить?
10:56
из самой статьи вроде можно было аттачи сносить
10:56
видимо прав не хватает
10:58
добавил таки железку
10:58
выполняю скрипт get_cdp_nei
10:58
он выдаёт ошибку
11:02
Task failed:
11:02
больше ничего не пишет
11:03
sshd у вас демоны noc'a запущены? ps -ax | grep noc что то показывает?
11:04
# ps -aux | grep noc
11:04
11:05
noc 6946 0.0 0.0 0 0 pts/1 Z+ 14:03 0:00 [hg] <defunct>
11:05
root 8103 0.0 0.1 3324 772 pts/3 S+ 14:04 0:00 grep noc
11:05
noc 19480 0.0 0.2 3948 1132 pts/1 S 12:49 0:00 su -s /bin/bash - noc
11:05
noc 19482 0.0 0.6 5772 3100 pts/1 S 12:49 0:00 -su
11:05
noc 19653 0.0 5.6 36352 28940 pts/1 S+ 12:50 0:00 python manage.py runserver 0.0.0.0:8000
11:05
postgres 19662 0.0 1.2 48304 6448 ? Ss 12:50 0:00 postgres: noc noc [local] idle in transaction
11:05
noc 19663 1.7 6.9 52404 35868 pts/1 Sl+ 12:50 1:18 /usr/bin/python manage.py runserver 0.0.0.0:8000
11:05
postgres 19690 0.0 1.2 48304 6448 ? Ss 12:50 0:00 postgres: noc noc [local] idle in transaction
11:06
угу, активаторов нет.
11:06
а значит нечему лезть на железки
11:07
а как запустить активаторы?
11:09
_4ePTeHok: ,
11:09
_4ePTeHok: ?
11:09
во первых - в ./noc/etc/ настроить кофиги демонов , а затем ./noc/scripts/noc-launcher.py start
11:10
sshd, вы на какой системе пробуете?
11:10
_4ePTeHok: debian 6
11:10
_4ePTeHok: отсюда всё и делал
11:11
вот с секции Daemons and more - проверьте что все как надо.
11:12
/opt/noc/etc/noc.conf
11:17
_4ePTeHok: поставил nginx
11:18
сконфиругировал
11:18
запустил его, после этого всёравно надо python manage.py runserver 0.0.0.0:8000
11:18
нет конечно
11:18
noc-fcgi настроил?
11:19
_4ePTeHok: нет, а где это?
11:19
я в вебсерверах очень мало понимаю (
11:19
там же, где конфиги у нока все ./noc/etc/
11:20
[main]
11:20
logfile = /var/log/noc/noc-fcgi.log
11:20
loglevel = info
11:20
logsize = 0
11:20
logfiles = 0
11:20
pidfile = /var/log/noc/noc-fcgi.pid
11:20
heartbeat= off
11:20
ну вот что у меня тут
11:21
в конфиге launcher'a - стоит true что запускать его?
11:22
[noc-fcgi]
11:22
enabled = true
11:22
user = noc
11:22
group =
11:22
config = etc/noc-fcgi.conf
11:23
[noc-activator]
11:23
enabled = root
11:23
а тут должет быть root
11:23
или noc?
11:23
если будет слушать syslog/snmp трапы - то лучше оставить рута
11:23
если е этом нет необходимости можно noc.
11:23
ну и запускать noc-launcher.py start тогда.
11:24
потом поглядеть логи всех демонов на предмет криминала, запустит нджинкс и попробовать хайти в вебморду
11:24
сейчас я делаю noc-launcher.py start
11:26
_4ePTeHok: sudo /etc/init.d/noc-launcher start
11:26
Starting noc-launcherTraceback (most recent call last):
11:26
File "./scripts/noc-launcher.py", line 18, in <module>
11:26
Launcher().process_command()
11:26
File "/opt/noc/main/launcher.py", line 150, in __init__
11:26
is_enabled = self.config.getboolean(dn, "enabled")
11:26
File "/usr/lib/python2.6/ConfigParser.py", line 351, in getboolean
11:26
raise ValueError, 'Not a boolean: %s' % v
11:26
ValueError: Not a boolean: root
11:26
вот что получилось
11:27
enabled = root ага
11:27
поправь на true
11:27
я чот засмотрелся, думал там user.
11:29
поставил
11:29
ага
11:29
заработало
11:30
теперь когда делаю get_cdp_nei
11:30
пишет Task failed: Activator pool 'default' is not available
11:32
в веб-морде Service Activation - > Setup > Activators есть default?
11:32
Auth String: в нем должно совпадать с Secret из конфига noc-activator.conf
11:33
и name тоже
11:33
кстати попраивть надо
11:33
_4ePTeHok: да, есть
11:34
по умолчанию там unknown
11:34
в руководстве вроде написано в конфе на default сменить
11:34
к дебиану
11:35
sshd, галка "активно" стоит?
11:35
да
11:35
всё, сделал
11:35
спасибо большое, буду дальше разбираться
11:36
tail -f /var/log/noc/noc-*.log обычно сильно помогают
11:43
а можно сделать нотификацию, что конфиг на какой то железке изменился?
11:46
а можно ссылку на манул где это расписано?
11:46
нету еще такого мануала(
11:47
ну это в Configuration Management
11:47
Setup
11:47
нужно настроить noc-notifier.conf на работу с почтой, и потом в вебморде определить категорию нотификации для конкретного пользователя
11:47
Object Notifies
11:47
аа
11:47
ок
11:48
а если упростить, просто показывать что конфиг отличается от более раннего строчками нромер 20 и 60 например?
11:48
в config managment именно так и будут выглядеть два конфига с одной железки
11:48
можно выбрать переключателем какие версии конфига сравнивать и в стиле diff увидишь разницу.
11:53
а можно нарисовать примерную схему сети?
11:54
ну get_topology есть, только не все оборудование поддерживается. а полноценная карта в планах вроде.
11:58
_4ePTeHok: get_topology_data
11:58
это?
11:59
сейчас гляну
11:59
ой, что то она мне стрёмное накидала )
12:20
доброго вечере
12:20
)
12:30
скажите по какому принципу работают app в ноке, я так понимаю создаётся приложение, но вот зачем внутри папочка тест) что и как она будет тестировать
12:44
если поменялось API, то тесты не должны поменяться
12:53
animage: в них можно клать unittest'ы для приложения
12:55
понятно почти .. (=
13:00
да кстате это номрально что нок очень много файлов в /tmp создаёт ?
13:03
tmp + несколько рандомных сиволов
13:03
я думаю это конечно у меня какой то косяк в конфигах был или с правами
13:04
потому как они создавались давольно давно
13:05
просто помню когда то ставил себе на бук и забыл про него, вспомнил только когда он 30 гигов последних сожрал)
13:05
lf
13:05
да
13:05
временные файлы
13:06
это malloc из libc, надо думать
Share this page
Share this page: