nocproject.org
08:05
добрый день, а подскажите плз, при свежей установке нока на этапе постапдейта вылетает "You just installed Django's auth system, which means you don't have any superusers defined. Would you like to create one now?"
08:05
какой правильный ответ? )
08:06
YES I WONT CREATE IT NOW
08:06
У меня сегодня ночью монга очередной раз навернулась...
08:07
И kernel.org хакнули...
08:07
:)))
08:08
ага
08:08
...we currently believe that the source code repositories were unaffected
08:08
=)
08:15
там же в git все changeset'ы с сигнатурами
08:16
лучше помогите с ExtJS
08:17
08:18
запускать ./noc runserver
08:18
заходить на URL /main/desktop/
08:18
она конфигурирует loader ext js
08:19
выставляет пути для namespace и запускает /main/apps/desktop/js/app.js
08:20
на боевой запускать можно ?
08:20
не стоит
08:20
в общем надо в viewport'е сделать 4 панели
08:20
сверху, снизу, навигацию слева и рабочую
08:21
не могу заставить отрисоваться
08:25
dvolodin, Дим, тут вопрос вчера возник, может все таки стоит имена интерфейсов преобразовывать к единому знаменателю? Скажем к циске. Иначе путаница полнейшая получается - у тех же edgecore в сислоге "Unit 1 Port 1", в snmp IfIndex (1.2.3), а в консоли Eth1/1.
08:26
не стоит
08:26
у juniper'а, например, совсем свой подход
08:26
в пределах профиля - да, стоит
08:26
угу..ну тогда к какому виду - как в консоли?
08:26
главное, чтобы вне зависимости от типа сообщения имя интерфейса всегда имело одинаковый вид
08:27
Eth1/1
08:27
и собственно может в профиле тогда прописывать функцию преобразования для конкретной железки
08:27
Unit 1 Port 1 -> Eth 1/1 ?
08:28
в профиле есть функция convert interface name
08:28
convert_interface_name
08:28
угу, я с snmp еще покопаюсь, поищу там где unit, а то пока только ifIndex используем.
08:28
с ifindex такая ситуация
08:29
как доделаю кладку яиц в базу, будет функция для lookup'а
08:29
тогда в правиле классификации можно будет выделять ifindex(например, в переменную ifindex)
08:29
и в правиле же добавить
08:29
"vars": [
08:29
{
08:30
"name": "interface",
08:30
"value": "=event.managed_object.lookup_ifindex(ifindex)"
08:30
}
08:30
]
08:30
тогда оно сделает преобразование ifindex -> name из базы
08:31
vars уже сейчас есть
08:31
при желании ты можешь "Unit 1 Port 1" разгрести таким образом
08:31
выделить переменные unit и port
08:31
и в vars определить interface
08:32
"='Eth %s/%s' % (unit, port)"
08:32
а как добавлять переменные в правиле? или это надо в классе делать?
08:32
в json
08:32
это именно переменные правила
08:32
например, у тебя в классе объявлена переменная name
08:32
которая required
08:33
например, остановившийся вентилятор
08:33
а он в железке один и она тупо пишет, что вентилятор встал
08:33
тогда ты можешь сделать переменную name со значением FAN
08:33
и будет он всегда называться FAN, если попал под это правило
08:34
а если в value первым символом =
08:34
то оно будет вычисляться как питоновское выражение
08:34
при этом доступна переменная event
08:34
и все выделенные переменные доступны по именам
08:34
то же и с интерфейсом будет
08:35
имени нет, есть ifindex, можно будет в правиле сконвертировать
08:35
советую сразу для ежиков get_interfaces сделать
08:38
я хотел сначала события сдернуть по максимуму в Fm, а потом уже дописывать чего нужно в профиль
08:44
ну да
08:45
./noc events -e <ID> -a json
08:45
:)
08:45
перетаскиваю на тестовую инсталляцию
08:45
и ./noc inject-event <железка> <json>
08:45
или из stdin
08:45
сделал на каждый профиль по фиктивной железке в тестовой базе
08:46
а дальше в спокойной обстановке можно лопатить
08:52
Для всех любителей SNMP
08:52
Поймал ивент PurtUp/PortDown со стека DGS-3100-24TG. В нем PortIndex - 65
08:53
бгыгы.
08:53
а нукось, соберу парочку ежиков в стек.
09:07
hi i have a problem after updating nocproject
09:07
hi
09:07
which kind of problem?
09:07
ManagedObject has no field named 'activator__shard'
09:07
/opt/noc/contrib/lib/django/db/models/options.py in get_field, line 273
09:07
there
09:07
which is your current version?
09:07
lasted from hg
09:07
last hg pull
09:08
from 10 min. ago
09:08
did you performed ./scripts/post-update ?
09:08
for check current version use hg tip
09:08
try to do ./noc migrate
09:08
as user noc
09:08
seemed you have not performed database migration
09:09
Running migrations for sa:
09:09
- Nothing to migrate.
09:09
- Loading initial data for sa.
09:09
or have it failed for whatever reason
09:09
restart all daemons
09:09
i think it gave a error someware
09:09
but my scrollback is not that large
09:10
you can retry migrate again
09:10
it tells nothing to migrate for all
09:10
dvolodin, ./scripts/post-update 2>&1>log.txt ?
09:10
./noc dbshell
09:10
\d sa_activator
09:12
you want the output?
09:13
check you have shard_id field
09:14
so you have a stalled daemon
09:14
stop them all, check with ps and restart
09:17
dvolodin_, помоему ему надо вначале убить всех, потом уже делать post-update
09:22
zarya: from which version did you performed an upgrade?
09:22
some old one
09:22
is it posible to check
09:23
i think no
09:23
when did you upgraded noc last time?
09:23
i think a year back
09:23
:$
09:23
ok, something like 0.5 or 0.5.1
09:24
lets test again
09:24
stop all daemons
09:24
and check them really stopped
09:24
-u is and implicit update
09:25
root@managementserver:/opt/noc# hg pull
09:25
09:25
searching for changes
09:25
no changes found
09:25
0 files updated, 0 files merged, 0 files removed, 0 files unresolved
09:26
i am pulling from hg.nocproject.org/noc
09:27
ye
09:27
yes
09:27
stop all noc daemons
09:27
./scripts/post-update as user NOC
09:27
next, you need a mongodb
09:28
i installed all the needed deps.
09:28
first mongodb, last post-update :)
09:28
ok
09:28
run post-update again
09:29
did you seen something like "Synching collections"
09:30
09:30
thats the output from post-update
09:34
all ok
09:34
then start daemons
09:50
which http server do you use?
09:53
dvolodin_: apache2 with fcgi
09:54
really wierd problem
09:54
нда, а ежики со стеком жгут. трапы прилетают с ifindex номер порта, а unit'a нету
09:55
i use the ./main/fcgi.py
09:55
in apache
09:55
mmm
09:56
not scripts/noc-fcgi.py ?
09:56
let me change that
09:56
did not help
09:56
common setup is to launch noc-fcgi from noc-launcher
09:56
ok
09:57
in apache you need to point to a .fcgi file
09:57
./noc runserver 0.0.0.0:8000 as user noc
09:57
check etc/noc-fcgi.conf
09:57
for UNIX socket path
09:58
/tmp/noc.fcgi by default
09:58
with runserver i have the same error
09:58
so its not the fcgi part
09:58
./scripts/about | head -1
10:01
Dmitry1, ещё немного обновил #236
10:02
лучше разные issue понакидай, трудно потом искать, что уже исправил, а что нет
10:02
zarya: find . -name \*.py -delete
10:02
хотя я уже спрашивал как удобнее -)
10:03
`kk: issue лучше составлять таким образом, чтобы его можно было одним махом закрыть
10:03
dvolodin_: then a update from git?
10:03
s/git/hg/
10:03
zarya: no neccessity
10:04
stop!
10:04
\*.pyc, of cause
10:04
so
10:04
hg update
10:04
it must restore all files
10:05
1467 files updated, 0 files merged, 0 files removed, 0 files unresolved
10:05
:p
10:05
oops
10:05
but now stuff is broken
10:14
it looks like its missing django now
10:15
django in ./contrib
10:15
i think o
10:15
s
10:15
so
10:16
sync-contrib must be runing when you run post-update script
10:18
you see sync-contrib successfull in post-update output?
10:20
its missing the CSV file
10:21
cd contrib/src
10:21
hg update
10:24
cd ../..
10:24
./scripts/sync-contrib
10:24
abort: path 'Jinja2/AUTHORS' is inside repo 'Jinja2'
10:25
the version.csv is not comming back
10:25
no file .hgsub
10:25
owh in the root
10:26
contrib/src = contrib/src
10:26
that .hgsub
10:26
dvolodin_, там права не правильно выставляются кстати. на папки контриб/бин и контриб/либ
10:26
ok
10:26
cd contrib
10:26
rm -rf src
10:27
интересно, вот зачем посылать по 2 трапа об успешном логине? один стандартный, второй свой корпоратиынй
10:27
два правила строгать чтоли.
10:27
oke thats done
10:27
sync-con... is running
10:29
dvolodin_: manage objects is working again
10:29
tnx a lot
10:31
zarya: works well?
10:31
so the total score -- seemed you have mismatched py and pyc files for sa/models.py, one with wrong permissions
10:31
may be with incorrect timestams
10:32
i think so
10:32
oke nog fcgi is broken
10:32
noc loaded old sa/models.pyc, considering it fresher then *.py
10:32
s/nog/now/
10:33
oke
10:33
restarts helped
10:35
take a look on new fault management :)
10:37
how is the assed management going
10:37
for normal machines
10:43
which kind of management?
10:50
as in
10:51
vm, hardware assed management
10:58
dvolodin_, а json как редактировать? fm/collections/eventclassificationrules/ там созданных мной правил нету. Или через вебморду можно? я чего т непонял как новую переменную задать в правиле, чтобы оно в vars появилось..
11:00
event classes руками в файле json
11:00
а рулесы через вебу
11:00
в варс оно появится если в евент классе описано
11:00
по крайней мере я так понял :)
11:01
нене, мне нужно определить переменную правила, а не класса
11:02
вот есть соответствие key_re - value_re
11:02
и есть предопределенные классом vars
11:03
хм
11:03
а там разве ща такое осталось? в старой версии фма - было да
11:04
лично делал через них :)
11:04
zarya: working on it
11:05
допустим для строки сислога я вычленю из ^message$ value_re свои переменные, а куда тогда вписывать определение итоговой(вычисляемой) переменной класса? отдельной строкой ниже key_re: ^interface$ value_re:='Eth %s/%s' % (unit, port)?
11:05
_4ePTeHok: fm/collections/eventclassificationrules/Cisco/IOS/Chassis/Fan.json
11:12
я верно понимаю что built in rules - находятся в fm/collections/eventclassificationrules , а остальные - где то в БД. Т е если я создам в fm/collections/eventclassificationrules свои правила то они будут дублировать уже существующие?
11:13
они будут считаться встроенными
11:13
и затрут существующие
11:14
ага. поглядел с вентилятором, но кроме name там же нет других переменных.
11:15
сделай какие надо
11:15
если в value первый символ =
11:15
да я думал там пример есть)
11:20
11:21
Всё простое написал.. Осталось самое сложное: вытянуть инфу по портам, интерфейсам, статическим вланам...
11:22
Вот читаю как люди сдесь с интерфейсами и портами мучаются и аж страшно начинать их писать ;)
11:24
да проблемы нет, просто вникнуть надо. Мне как человеку далекому от питона пока сложновато)
11:57
первая работающая рыба нового UI
12:17
странно. ставлю с нуля - вроде дошёл до конца, настраиваю(по образцу с прошлого нока)-запускаю nginx, запускаю noc-launcher. пытаюсь открыть браузером - пусто "cannot display the webpage"
12:18
никто не сталкивался, посоветуйте куда копать?
12:18
нстатом смотрю nginx 80 порт слушает
12:18
видимо не работает что-то в связке...
12:22
noc-fcgi запустился? Что в логах он пишет?
12:23
dvolodin_, а не тормозной будет?
12:23
поди опять время реакции на действия 1-2сек
12:24
VIY, сокет то создал?
12:24
Dmitry1, сейчас посмотрю
12:24
_4ePTeHok, вопрос не понял)
12:24
neonman, нет тормозной как раз текущий.
12:25
socket = /tmp/noc.fcgi
12:25
VIY, /tmp/noc.fcgi еть вообще?
12:25
Dmitry1, в процессах висит. в логе - пустота
12:25
в конфе nginx он же указан?
12:25
_4ePTeHok, гдеж он тормозной, ткнул на меню - оно сразу раскрылось
12:26
а все эти extjs на действия юзера реагируют как будто бы их лучше бы не трогали)
12:26
neonman, отображение результата делается refresh'em каждые 5 секунд.
12:26
нормальный он вполне сейчас по скорости
12:26
_4ePTeHok, я сейчас не про логику вообще то
12:27
dvolodin_, я про вывод имел ввиду.
12:27
сейчас, почти при каждом тыке идет обращение в скриптам на питоне, а мы зотим часть логики перенести на JavaScript
12:27
Вывод еще быстрее будет. Потому как между сервером и клиентской машиной будет проходить минимум данных
12:27
_4ePTeHok, в конфиге nginx в разделе "location / {" есть строка "fastcgi_pass unix:/tmp/noc.fcgi;"
12:28
_4ePTeHok, про сокет строчка где должна быть?
12:28
конфе noc-fcgi
12:28
в лог его загляни, что там
12:28
и запущен ли вообще
12:28
Сейчас сервер должен генерировать web-страничку целиком, а в новой реализации сервер будет только генерировать JSON
12:29
эм..ну либо в конфе noc-fcgi другой путь до сокета, либо в нджинкс не тот путь)
12:29
в /opt/noc/etc/noc-fcgi.conf строчка "socket = /tmp/noc.fcgi" есть
12:29
ок. сейчас ещё раз пересмотрю
12:30
только пути проверь)
12:31
у меня только пути чуть другие
12:31
у меня в /usr/local/noc все, ага.
13:00
не выходит каменный цветок (с)
14:46
VIY, где затык то был?
14:47
какие-то левые айпитаблесы... хотя визуально в них всё было ок
14:47
работоспособно
14:47
блин, вот как поступать, если ежик отдает в snmp трапе только ifindex, причем даже в кластере
14:48
т е может быть ситуация когда придет трап а ты хз на каком именно юните порт погас
14:48
писать породителям ежей
14:48
либо закладывать формулу
14:48
расчета юнита из индекса
14:48
он же суммирует их, так?
14:48
интерфейсы
14:48
хм
14:48
для порта 10 на первом юните и на втором юните
14:49
а выше вроде ты писал, что пришел индекс с 65 порта
14:49
это у Димы с Длинка
14:49
вообще тут кластер странный
14:50
вот я теперь сижу, и думаю. там два свича на 24 порта в стеке. Откуда там индекс порта 65 появился?
14:50
с основной железки надо делать rcommand на остальные - оно делает как бы внутренний телнет. Ииначе никак не поуправляешь и посмотришь.
14:50
а реально какой порт был?
14:50
как-то можно выявить?
14:51
они может зарезервировали индексов под "нераспаянные" порты
14:52
18 01-Sep-2011 10:11:18 %LINK-I-Up: 2:15
14:52
19 01-Sep-2011 10:11:18 %LINK-W-Down: 2:15
14:53
Возможно они под первый юнит 50 портов отводят, а потом второй юнит с 50-го считать начинают
14:53
Надо, чтобы проверили на ежиках
14:54
В принципе логично, линейных карт больше, чем на 48 портов я не видел.
14:54
на ежах нету в стеке таких больших ифиндексов
14:55
я же со стеком баловался сейчас
14:55
там вообще одинаковый прилетает - что с 1го юнита в стеке, что со второго.
14:55
если порт за одним номером числится
14:55
А как тогда узнать, какой порт?
14:56
вот и я говорю - хз.
14:56
ну все равно уже некоторая конкретика есть)
14:56
1 из 2х
14:56
могу показать json трапов
14:56
с двух юнитов
14:56
полностью идентичны?
14:58
15:00
19 порт на обоих железках
15:00
отличаются только аптаймом и каким то "=AC=10=03d"
15:00
что это я хз.
15:02
ладно, домой пора.
Share this page
Share this page: