nocproject.org
04:17
Доброе утро, коллеги. Тут вроде кто-то поднимал тему noc'а и перехода на зимнее время, но чем всё закончилось - непонятно...
04:17
это же не совсем переход? поменялась таймзона
04:18
Вроде обновил tzdata в системе (debian), в postgres - а время в fm отстаёт на час от нового... хотя по логике переводили мы назад, и должно наоборот, спешить на час
04:19
поставил ещё pytz в virtualenv, теперь время убегает вперёд на час и 6 минут %)
04:19
где ещё забыл сменить таймзону?
04:19
а я ничего не делал, прилетают правильно
04:19
и откуда взялись минуты...
04:23
dvolodin для корректного обновлений таймзон в noc что нужно? обновил tzdata в системе, постгресе + pytz в virtualenv - время в fm убегает на час вперёд
04:23
в noc.conf как было Asia/Omsk, так и осталось... где ещё забыл?
04:24
javascript сдвигает
04:24
lexus-omsk: а Омск не в этой таймзоне?
04:25
он не по клиентской системе ориентируется?
04:25
в винде тоже все обновления стоят
04:26
TSergey я к тому, что она и была правильная, не менял её
04:27
а в винде сколько UTC + показывает?
04:28
lexus-omsk: парсинг времени для показа он на клиенте делает
04:30
ну т.е. на винде..у меня здесь правильная зона выставлена
04:36
zi_rus: графики ровные?
04:41
lexus-omsk: у меня оказывается на виртуалке время и вовсе не переведено
04:41
работает - не трогай )
04:41
поздняк, перевел :)
04:42
fm шлет с текущей датой
04:42
т.е. с текущим временем
04:55
ну вот даже с другого компа зашёл - то же самое, ровно на 1 час и 6 минут убегает... аварии из будущего, блин
04:57
"mail worker is busy" --- это что такое?
04:57
в noc-notifier.log
05:01
а что так? в Pending Notifications пусто
05:03
перезпустил нок, отправились письма
05:20
dvolodin: есть пару багов.. Гляньте все у себя...
05:20
1.
05:20
Inventory -> Interfaces вкладка Switchports кнопка просмотра маков не работает?
05:20
2.
05:20
Servise Activation -> Managed Objects -> Выбираем объект и жмем кнопку Scripts ->
05:20
для примера хорошо взять get_mac_address_table никакие параметры не обрабатываются!
05:20
3.
05:20
Inventory -> Network Maps не запоминает подписи проставленные на линках
05:21
4.
05:21
./noc wipe managed_object wiping-7
05:21
кому ты это пишешь?
05:21
<class 'django.db.utils.IntegrityError'>
05:21
<ManagedObject: wiping-7> object is referenced from <class 'sa.models.objectcapabilities.ObjectCapabilities'>
05:22
File: /opt/noc/lib/nosql.py (Line: 226)
05:23
Да всем пишу, первые 3 бага наследие от ExtJS-5, а последний баг наверно уже от графита..
05:24
пиши иссэ
05:24
у каждого миллион таких штук
05:25
На багтрекер надо сразу с патчем.. иначе не солидно;)
05:27
"Inventory -> Interfaces вкладка Switchports кнопка просмотра маков не работает?"
05:27
это такой треугольник?
05:30
xetle Inventory - Interfaces - кандидат на выпиливание, как только будет весь функционал в sa - mo - interfaces
05:31
лучше в том направлении смотреть
05:32
а с п.2 согласен, есть такое
05:43
Всем привет! Просьба рассказать о workflow.
05:45
как проверить ответила железка или нет на конструкцию for v in self.snmp.get_tables(
05:45
["1.3.6.1"],
05:45
bulk=True):
05:50
bee26: вставляешь его в скрипт и
05:51
вылезает ошибка File: /opt/noc/sa/script/snmp.py (Line: 84)
05:51
Function: getnext....
05:51
./noc debug-scripts get_..... IP -c snmp_ro_pass
05:52
и больше ничего не делает
05:52
есть у нас где-то в свойствах МО поле, по которому можно узнать, в стэке железка или нет
05:52
какой скрипт пишешь? дам готовый!
05:53
они 2 прошивки используют с разными oid
05:53
название скрипта скажы, я профиль Qtech.QSW писал так что знаю..
05:53
qtech 8200 get_interfaces . для 1 прошивки все работает, а у 2 oid другой
05:54
меня и мой устраивает. допилю - выложу
05:55
то что в ноке на qtech 8200 не работает
05:57
я же в get_interfaces поддержку SNMP закоментил. Сейчас уже не помню почему;)
05:58
А через CLI на обеих отрабатывает?
05:58
у меня как раз все по снмп
06:00
в твоих скриптах есть cli #show ip interface
06:00
% Incomplete command. - нет у меня такой команды и даже похожей тоже нет
06:01
Смотрю, почти во всех скриптах Qtech.QSW поддержка SNMP закоментирована... Видать проблемы были..
06:02
похоже у тебя оно взято из snmp.generic
06:03
Скрипты писал более 2 лет назад, сейчас тяжело вспомнить откуда взял команду show ip interface..
06:03
хотя есть cli show ip interface br
06:03
Index Interface IP-Address Protocol
06:03
11088 Vlan88 10.21.255.194 up
06:03
11101 Vlan101 10.21.0.1 up
06:03
10.21.29.1 (secondary)
06:03
тока нет ни маски ни мака
06:04
коллеги, а кто нить считает количество arp записей по snmp ?
06:04
как мониторите ?
06:06
bee26:
NOC-564?jql=text%20~%20%22Qtech%22
06:07
06:08
06:09
У меня к этим коммутаторам в данный момент доступа нет..
06:16
у меня к qtech доступ есть
06:17
залил профиль
06:17
интерфейсы не могу получить
06:20
Этот профиль разрабатывал для коммутаторов Qtech QSW-2800 и QSW-3900, а вы хотите чтобы он на всех работал...
06:21
Смотрите как сделано в DLink.DxS особенно его __init__.py и по аналогии добавляйте оборудование в Qtech.QSW
06:21
Очень желательно чтобы поддержку старого QSW-2800 и QSW-3900 при этом не сломали!
06:25
xetle У меня 2800 серия не работала на этом профиле, писал свой с нуля... точно уже не помню, в чём именно проблема была - давно делал
06:26
;) прошивы меняются... Вы бы все организовались и слепили один рабочий профиль...
06:28
Проблема в том что тот пров имел по два нетегированых влана на порту и я в профиле извратился
NOC-564?focusedCommentId=13175&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-13175
06:33
ну да, типа длинковского ассиметрик влан... и на zyxel так можно вроде... я ориентируюсь на то, какой стоит pvid на порту
06:35
По хорошому надо чуть интерфейсы для get_switchport & get_interfaces подправить чтобы untagged списком было.
06:39
талько dvolodin опять на нас сильно наругает, обматерит DLink и скажет что сего изврата в его ноке не будет;)
06:39
почему
06:39
антагед уже списком кажется сделали
06:39
как раз из-за длинк
06:39
апо крайней мере помню, пробивали такую тему
06:40
потому что два нетегированых влана на одном порту изврат и нормальное железо сего даже не позволит!
06:40
ну длник позволяет
06:40
а как ты назовешь voice vlan у циски?
06:41
формально он таггет
06:41
но...
06:41
ну длинк же не нормальное железо.. ему можно...
06:49
voice vlan -- tagged
06:49
там разве что для него отдельное поле сделать, чтобы пометить
06:56
dvolodin, так по покраске пирулем. сможет нок конфиг пробы перестраивать?
07:04
может
07:05
там обработку сигнала на изменение нужно сделать, ее нет, вроде
07:12
опять это слово "нужно"
07:21
на хуявее тоже 2 антага
07:21
port hybrid pvid vlan 3002
07:21
undo port hybrid vlan 1
07:21
port hybrid untagged vlan 1601 3002
07:21
на гибридах вообще можно всякий изврат
07:22
ну вот, нужно (да, опять это слово) делать списком (сейчас там VLANIdParametr)
07:23
а вместе с заменой в igetinterfaces ещё и все скрипты править надо, желательно сразу
07:24
./noc shell как дернуть ип из Address Space Management-Assigned Addresses
07:25
from noc.ip.models import Address
07:25
авто добавление надумывается
07:25
Address.objects.filter(address="127.0.0.1")
07:26
там вся кучка? с тэгами масками итд
07:27
ога
07:27
префиксы по другому
07:27
from noc.ip.models import Prefix
07:27
Prefix.objects.filter(address="127.0.0.1")
07:27
ой
07:27
Prefix.objects.filter(prefix="127.0.0.0/8")
07:30
morb851: я его делал
07:33
dvolodin: я вчера делал установку на чистую систему 7.7, пришлось попраавить
07:33
--- Debian-7.0.txt 2014-10-02 20:51:35.000000000 +0400 +++ edited.txt 2014-10-30 10:25:39.672180818 +0300 @@ -73,7 +73,7 @@ aptinstall python-virtualenv aptinstall libgmp10 aptinstall libgmp-dev -aptinstall libffi +aptinstall libffi5 aptinstall libffi-dev aptinstall nginx aptinstall postgresql
07:34
про libffi я знаю
07:34
она в develop/graphite
07:35
aptinstall libffi
07:35
aptinstall libffi-dev
07:35
в его файле уже прописано
07:36
я раньше времени его не выкладывал
07:40
zi_rus: как графики поживают?
07:43
dvolodin, последние два дня пиков больше не возникало, графики рисуются. проблема только с триггером на перестроение сонфига
07:44
07:49
zi_rus: то есть это перепрыгивание между 32 и 64 колбасило?
07:49
а посмотри, у тебя 32-битные пробы для DSLAM корректно встали?
07:49
в смысле?
07:50
2014-10-30 10:29:32,702 [noc.pm.probe.metric] Possible counter stepback for object.isam-mkazakova.interface.enet1.interface.load.in: 2106411052 -> 11396535
07:51
а вот это, похоже, ситуация, когда у тебя счетчик 31 битный
07:52
ну да, слишком явное совпадение, и не в первый раз на одни и тех же числах
07:53
from noc.ip.models import Prefix - а теги префиксов где лежат?
07:53
tags там разве нет?
07:55
при проверке переполнения, наверное можно и 31-битный счетчик попробовать посчитать
07:55
да, ладно, и так работает
07:56
from noc.ip.models import *
07:56
for mo in Address.objects.all():
07:56
print mo
07:56
где посмотреть?
07:56
что ж теперь костыли на каждого косорукого вендора лепить
07:56
dvolodin, железка не вайпится
07:56
<class 'django.db.utils.IntegrityError'>
07:56
<ManagedObject: kstovo> object is referenced from <class 'sa.models.objectcapabilities.ObjectCapabilities'>
07:58
zi_rus: да, поправить нужно
08:13
TSergey, напомни как ты делал фильтр по двум значениям переменной
08:19
zi_rus: вроде так
08:19
SubInterface.objects.filter(managed_object=m.id, name='5'):
08:20
да, проверил, это рабочий кусок
08:21
нет
08:21
это я знаю
08:21
как сделать name= 5 или 6
08:21
а, ща поищу
08:23
interface = Interface.objects.filter(type__in=['physical','aggregated'])
08:47
по графиту вопросы, графиков пока не видел но в /var/log/noc/{probe,pmwrite} работа кипит вовсю..
08:48
где посмотреть базу? кода оно пишет? И как глюнуть сам график?
08:54
Наверно если я "Metric set" добавил в Inventory -> Setup -> Interface Profile то уго не стоило добавлять в SA -> MO -> объект -> Interfaces -> порт -> "Metric Set"
08:56
Чего то в Inventory -> Setup -> Interface Profile ->Details: Errors: Deactivated by router
09:05
А в SA -> MO -> объект -> Interfaces -> порт ->"Metric" -> Detail на всех интерфейсах 'interface__ifindex': 1, и если его меняешь то меняется сразу на всех интерфейсах.
09:05
TRACE: Checking noc.pm.probes.generic.network.snmp_interface.SNMPInterfaceProbe.get_interface_load64
09:06
Matched handler noc.pm.probes.generic.network.snmp_interface.SNMPInterfaceProbe.get_interface_load64({'interface__ifindex': 1, 'caps': {u'SNMP | IF-MIB': True, u'SNMP': True, u'SNMP | IF-MIB | HC': True},
09:09
Да, в noc-probe.log видно что OID дёргаются с правильными индексами и если счётчик чтото натикал то идёт запись в базу.
09:12
В noc-pmwriter.log запись в бвзу отображается тоже!
09:12
Вопросы: гдехранятся базы? как в этой графана посмотреть график?
09:22
А конкретнее, хочу глянуть. db.noc.pm.дальше?
09:23
И как в этой графана график на интерфейсе увидеть?
09:26
в графане можно увидеть график методлом создания этого графика
09:26
удаляешь все то говно что там по дефолту и добавляешь новый график
09:26
потом жмешь на его заголовок и выбираешь едит
09:27
и докидываешь туда метрики из списка
09:28
народ
09:28
вопрос такой
09:28
То есть знать где данные в монге с которых строится график не обязательно? Там метрики наши появятся?
09:28
ya-ya
09:28
так вот вопрос
09:28
есть у меня порты на сети откуда светится много маков
09:29
хочу на такие порты отдельный профиль вешать
09:29
видимо мне путь в макдб
09:29
но она не забывает маки
09:29
если мак пропал с порта, нок не забудет
09:29
что он там был
09:30
соответственно надо как-то исключить старые маки
09:30
нок ведь обновляет время когда мак был последний раз замечен
09:31
так вот вопрос
09:31
как свофрмировать запрос
09:31
macs = MACDB.objects.filter(interface = i)
09:31
это будут маки порта (наверное
09:31
)
09:32
а вот по возрасту как фильтрануть
09:33
?????
09:34
У меня гдето скрипт был который клиентские свичи искал, два или более мака на клиентском порту и порт уже в чёрном спискеили другом профиле..
09:35
Он бегал по коммутаторам и дёргал get_mac_address_table
09:36
нок сам может маки дискаверить
09:36
и в базу складывать
09:36
он это и делает
09:37
не вижу необходимости лишний раз ходить
09:44
09:44
Это снимает необходимость сортировать по возрасту появление мака
09:45
Профиль поменяется только там где стоит свитч сегодня, ане год назад..
09:45
эта хреновина лишний раз будет делать работукоторую нок уже делает
09:46
К тому же может у клиента не свитч, а пару девайсов которые он по очереди тыкает в инет..
09:46
ну у меня это не проблема
09:46
мне главное что мак светится сейчас или иногда
09:47
Фильтруй маки увиденные за последние сутки, потом смотри по интерфейсам...
09:47
ладно, это потом решим
09:47
другой проблема заметил
09:48
не все маки попадают в базу
09:51
хотя скрипт возвращает все
10:00
В профиле интерфейса не стоит галочка по сбору маков?
10:02
Натыкал я чёто метрики так и не нашол где выбираются, поставил group(#A, #B) дальше смотрю в Inspector:
10:03
Request url ../../../render?target=group(group(%23A%2C%20%23B)%2C%20undefined)&from=1414654616&until=1414654736&format=json&maxDataPoints=213
10:03
ха
10:03
действительно по двум портам профиль не тот стоял
10:04
но с одного порта мак так в базу и не попал
10:04
В респонсе соотведственно: UNHANDLED EXCEPTION (2014-10-30 13:03:00.220484) Working directory: /opt/noc <type 'exceptions.KeyError'> 'group' START OF TRACEBAC
10:04
там где профиль правильный
10:07
Что выбрать в Metrics в графане и какую URL в Request он создаст?
10:08
zi_rus скопипасти Metrics и URL и Request. Tckb e nt,z uhfabr hf,jnftn//
10:08
*Если у тебя графики работают.
10:19
У кого графикирисует, что в target= это в Url c Request?
10:26
этот встроенный скрипт чем занимается peer.prefix_list_provisioning
10:27
ошибка в нем column sa_managedobjectselector.filter_vrf_id does not exist
10:46
этот встроенный скрипт чем занимается peer.prefix_list_provisioning
10:46
ошибка в нем column sa_managedobjectselector.filter_vrf_id does not exist
10:54
xetle, ты чего добиться хочешь?
10:54
открывай дашборды
10:54
там ссылка на графану
10:55
dvolodin, а мак дисковери плохо относится к макам в разных vc доменах?
10:56
zi_rus: я тут слегка поэкспериментировал:
10:56
from noc.sa.models import *
10:56
interface = Interface.objects.get(managed_object=5, name='ch1')
10:56
macs = MACDB.objects.filter(interface = interface, last_changed__gt = datetime.date(2014, 10, 14))
10:56
for m in macs:
10:56
print m, m.last_changed
10:57
dvolodin, ситуация такая, есть свич в одном домене на одном из портов есть мак, нок не хочет его записывать в базу маков потому что он там уже записан в другом vc домене, другом влане и вообще на другом свиче. может и не "потому что", но пока что я только такую с
10:57
вязь вижу
11:02
zi_rus: это "показать маки на интерфейсе МО, не младше даты"
11:03
dvolodin, хотя хер вообще знает
11:04
11:04
вот три мака
11:04
но как я не крутился
11:04
cat-77-1>sh mac add int fa0/3
11:04
Mac Address Table
11:04
-------------------------------------------
11:04
Vlan Mac Address Type Ports
11:04
---- ----------- -------- -----
11:04
27 0007.726d.62d7 STATIC Fa0/3
11:04
эта запись не добавляется в базу
11:44
zi_rus: macs = MACDB.objects.filter(interface = Interface.objects.get(managed_object=ManagedObject.objects.get(name = <MO>), name = <port>), last_changed__gt = datetime.date(2014, 10, 14))
11:45
У меня опять странное: -e upgrade-user: : collection --sync failed
11:45
При ./upgrade
11:46
TSergey, спасибо, записал
11:46
Встречалось у кого? develop-ветка
11:46
надо только с базой маков разобраться чтобы она нормально заполняласть
11:56
блин
11:56
такой алгоритм тоже не работает
11:56
у тебя что-то не так?
11:56
нок не обновляет время если мак не перешел куда-либо
11:57
dvolodin, last seen поле нельзя в макдб добавить?
12:38
inv.connectionrules чтото добавлял сам? похоже там кривой connectionrule
12:40
zi_rus графану зашёл график создал, а вот Metrics правильный выбрать не могу.. Можешь скопипастить то что у тебя там написано?
12:41
xetle, почему не можешь?
12:44
xetle, pm > setup > metrics
12:44
там есть что-нибудь
13:06
из pyrule snmpget послать можно?
13:06
скорее всего в ноке есть функция такая
13:07
bee26: есть generic script для snmp get
13:08
object.scripts.get_snmp_get(....)
13:08
13:08
делаю ./scripts/upgrade
13:08
а оно вот так :(
13:09
а если объекта еще нет?
13:16
bee26, то никак
13:16
точнее можно, сформировав полный урл доступа, как работает дебаг-скрипт
13:16
но это не особо тривиально
13:29
внешний скрипт выполнить тоже низя?
13:39
zi_rus в pm > setup > metrics монга и кучу счётчиков интерфейсов..
13:40
вот в графене в настройках самого графика в Metrics уже теряюсь с выбором и не могу найти ноковские метрики.
13:40
ты что-то не то делаешь
13:40
Да работает в логах видно что интерфейсы дёргаются в базу пишется.
13:41
1 PM -> Dashboards -> Click
13:42
2 Снёс все дефолтные настройки как ты советовал.
13:43
3 Добавил график, щёлкнул на его имени и зашол в Edit
13:44
4 Заполнил вкладку General
13:45
5 На вкладке Metrics у меня затык.. Ноковских метрик нет, а есть куча мат и стат функций....
13:46
6 Из-за неправильной настройки Metrics в Inspector -> Request хреново формируется Url
13:47
7 Из-за неправильной Url в Inspector -> Response вижу родной ноковский трейс......
13:50
Мне надо в графане этой правильно Metrics заполнить... Вот и прошу скопипастить сюда его содержимое.. Также сама Url c Inspector -> Request пригодится..
13:55
zi_rus: графики не колбасит больше?
13:55
Также в этой графене есть кнопка импорта (вместо создания нового) но я не знаю где json с настройками графиков лежит.. если нок его создаёт...
13:56
только графиков у меня нет :(
13:56
xetle, а, я понял
13:56
это хуйня
13:56
снеси дефолтный график
13:56
создай пустой новый
13:56
dvolodin и кстати стейбл тоже не апгрейдится - не может достучаться до bitbucket с руганью на SSL3
13:56
там будет селект метрик
13:57
после глаза, соседний столбец
13:57
Да есть и после него +
13:58
Ноковских метрик там нет
13:59
выбираешь, там должен быть object (слово)
14:00
Блин нашлись! :) Надо доку никто вжизни их там ненайдёт...
14:00
я нашел
14:00
вроде не сложно
14:00
всего за один вечер
14:01
Night_Snake: это pip'а плющит
14:01
14:01
как-то так лечится
14:02
выбрал .....load.in хочу чтобы и load.out тамже рисовало.. Какую функцию брать по кнопке+выскакивает?
14:07
блин * надо в коце...
14:08
xetle, не обязательно
14:08
делаешь дубликат
14:09
и во второй метрике выбираешь аут
14:09
14:31
да, уже потихоньку начинаю разбиратся как что копировать в этой графане.
14:32
dvolodin: по поводу графиков и графаны:
14:34
надо чтобы если человек в inventori -> Setup -> Interface profiles выбрал метрику
14:34
То в PM создавалась ссылчка на все объекты интерфейсы которых имеют сей профиль.
14:35
И по этой ссылчке должны создаватся посортированые и причёчаные красивые графики.
14:36
;)
14:38
Графана прикольна, но сидеть разбиратся что и кчему, а потом графики для тысяч железок и их портов создавать тяжеловато..
14:38
Автоматизация описаная выше в планах есть?
15:08
wiping объекты удалять можно?
15:12
у меня в графите не удаляет..
17:43
dvolodin, как пользоваться функцией percentile в графане? я применяю ее, в скобках указываю 95, валится трейс. чего ему еще не хватает?
17:43
что в трейсе?
17:43
0.95 попробуй
17:46
0,95 тоже не работает
17:46
17:48
а
20:08
zi_home: функция не портирована еще
20:09
эхх
20:09
ну ладно
20:10
а вот серверный рендеринг пригодился бы
20:11
PNG на почту очень хочется
20:11
ну и трешолды
Share this page
Share this page: