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: 08.07.2014
e_zombie #
06:16
,
zi_rus #
06:21
dvolodin, вчера оказалось все просто, похоже классификатор залип от множественных ребутов, пропробовал с дебагом его запустить и все сразу заработало
dvolodin #
06:23
zi_rus: это как это так?
zi_rus #
06:23
хз
06:23
я застопил классификатор и сделал -f start
06:23
все заработало
06:23
я офигел
06:24
остановил
06:24
все
06:24
запустил
e_zombie #
06:24
https://vk.com/rostelecom_rabota
zi_rus #
06:24
и все начало классифицироваться
lexus-omsk #
06:27
а у меня такой вопрос насчёт классификатора... хотя наверное, даже насчёт коррелятора:
06:27
бывало у кого, что прилетает сразу штук 200-300 аварий... скажем ping failed? как реагирует коррелятор?
_4ePTeHok #
06:30
разгребает, как.)
lexus-omsk #
06:30
ну да, только вот длает это он минут 15-20
06:31
причём (вроде) поднимает алармы долго, закрывает почти сразу... я хочу просто узнать, нормлаьно это или искать затык в системе
dvolodin #
06:34
lexus-omsk: производительность коррелятора конечна, да
06:34
но он разгребает события строго по очереди
lexus-omsk #
06:36
не думал, что она настолько конечна :) упал узел агрегации - не часто бывает, но всё же... - и ога, приехали - алармы прилетают, когда уже всё встало
06:37
мне интересно сравнить, если у меня на порядок меньше скорость, то имеет смысл свою систему ковырять, а если у всех так - другое дело
_4ePTeHok #
06:37
перфоманс надо тестить
06:37
dvolodin #
06:38
имеет смысл ковырять
06:38
индексы смотреть, локи
06:41
сделал морду для правил раскраски интерфейсов
_4ePTeHok #
06:44
Дим, по поводу старой и больной темы со статусами интерфейсов
06:45
может забить и сделать два поля - бинарное - up
06:45
|down
06:45
а второй - reason
06:45
где будут всякие adm down| sfp err| и тд
dvolodin #
06:51
:)
06:51
а reason какого типа?
_4ePTeHok #
06:55
обычное текстовое
06:55
ну можно и choise
06:55
choice*
06:56
я тут просто нексус ковыряю профиль, у них в кли так и сделали
dvolodin #
06:56
если текстовое, то с choice
_4ePTeHok #
06:57
Ethernet VLAN Type Mode Status Reason Speed Por
06:57
t
06:57
Interface Ch
06:57
#
06:57
--------------------------------------------------------------------------------
06:57
Eth1/1 127 eth access up none 10G(D) --
06:57
Eth1/15 127 eth access down Link not connected 1000(D) --
06:58
Eth1/36 1 eth access down SFP validation failed 10G(D) --
06:58
Eth1/27 1 eth access down SFP not inserted 10G(D) --
06:58
и т д
06:58
надо список составить вохможных статусов
06:59
т е choice-ов
dvolodin #
07:27
угу
07:28
и потом добиться, чтобы на всех железках этот список проставляли правильно
zi_rus #
07:58
dvolodin, графики кгда будут?
_4ePTeHok #
08:04
dvolodin, дык суть в том, что он справочный
08:04
т е хочешь хоть 100 choice-ов делай, на каждого вендора и железо
08:05
основная информация - бинарный статус
08:05
это как snmp trap с переменной
08:05
по которой можно решить что делать дальше
e_zombie #
08:14
http://www.opennet.ru/opennews/art.shtml?num=40159
_4ePTeHok #
08:15
да, про си подтверждаю)
08:15
не смотря на то, что сишники востребованы порой не меньше
08:16
но на курсах до си доживают еденицы)
Dmitry1 #
08:21
я вот в свое время был супер-пупер специалистом по Object Pascal. Ну и нафига он мне сейчас?
e_zombie #
08:21
ну не повезло
Dmitry1 #
08:21
ага
08:22
а еще супер-пупер специалистом по бейсик. Куча потраченных усилий и времени
e_zombie #
08:22
меня вот тоже учили на свч технику, там радиолокация\ свч сушики а теперь я говноадмин в ростелекоме
Dmitry1 #
08:23
хотя как для меня, то все-таки C++ хуже спроектирован, чем тот же Object Pascal
zi_rus #
08:23
си быстрее питона, переписывайте низкоуровневые модули в ноке на си
Dmitry1 #
08:24
И потеряется совместимость с кучей систем
zi_rus #
08:27
нок и так можно запустить только на полутора системах
e_zombie #
08:28
полтора землекопа
_4ePTeHok #
08:29
e_zombie, не МАИ ли?
e_zombie #
08:29
сгту
zi_rus #
08:29
dvolodin, а когда аларм затрагивает несколько мо, может можно в качестве мо писать САЕ, нужные переменные класть внутрь аларма
08:29
например упал линк
08:29
это авария о двух концах
08:29
макфлап
dvolodin #
08:29
zi_rus: нет, нужно один объект оставить
zi_rus #
08:29
тоже авария одвух концал
08:29
ну а как тогда
_4ePTeHok #
08:30
два алярма
zi_rus #
08:30
криво
08:30
через жопу
08:30
и неправильно
_4ePTeHok #
08:30
просто root cause надо нормальное
zi_rus #
08:30
авария одна, а алармов несколько
_4ePTeHok #
08:30
которое будет их сцеплять
zi_rus #
08:31
упал порт с одной стороны и упал порт с другой
08:31
потому что упал линк
08:31
какой тут рут коз
08:31
а если мак флап
08:31
в аварии надо показать
08:32
между какими портами флапает
08:32
а тут вообще железок может быть несколько
e_zombie #
08:32
http://pastebin.com/tmUmb5fE кто скажет мне почему при включённом дебаге "Loading rules" попадает в логи а "%d rules are loaded. %d combos" % нет
08:57
dvolodin: NOC-1377
dvolodin #
09:07
local/collections вычисти
e_zombie #
09:24
dvolodin: http://pastebin.com/kaB17rVC
dvolodin #
09:29
и?
09:29
откуда дровишки, что можно дропнуть безнаказанно базу монги?
e_zombie #
09:29
крашится постоянно
09:30
ну я откатился на старую БД.
09:30
но вот кореллятор теперь крашится на ёжиках
09:30
кхм. а не. хуавей.
09:33
вернее и на нём
09:35
а никто ещё не предлагал сделать диапазон времени для выборки в ФМ ещё и с часами а не только дни?
dvolodin #
10:48
так
10:48
нате вам новую старую фишку
10:48
сделал морду для правил классификации интерфейсов
10:48
как раз для раскраски
zi_rus #
10:51
dvolodin, куда смотреть?
dvolodin #
10:51
inventory > setup > interface classification rules
zi_rus #
10:54
dvolodin, не оценил, что это и зачем?
10:54
и как пользоваться
dvolodin #
10:55
делаешь правила
10:55
селектор, что матчить и какой профиль навешивать
zi_rus #
10:55
ааа
10:55
типа замена моего пируля
dvolodin #
10:56
да
10:56
вполне штатная
zi_rus #
10:56
все тщетно бьешься чтобы превзойти по юзабельности один маленький пируль :)
10:57
dvolodin, сделал бы ты графики, так хочется загрузку линков на мониторинг ноку отдать
10:57
а то ведь хрен знает как сеть работает
dvolodin #
10:58
на самом деле эти правила давно уже есть
10:58
морды на них не было
zi_rus #
11:16
dvolodin, в снмп трапе прилетает =19P=98=03 U=00=00
11:16
это net или hostname
11:16
в ISIS
11:16
как декодировать
dvolodin #
11:17
декодер в классификаторе сделать
11:17
там есть уже decode_*
11:17
а так - Parameter смотреть, вроде был ISOParameter
13:24
zi_rus: сделай issue для декодирования трапа
Dmitry1 #
13:26
О. Нашел, где есть interface profile
13:26
Вопрос: как его применить к селектору или группе MO ?
13:27
Или хотя бы к managed object profile
zi_rus #
13:30
dvolodin, NOC-1378
Dmitry1 #
13:34
dvolodin: Дим, я тебе в личке написал
e_zombie #
13:37
блин. надо доку. я не могу понять как эксплуатировать класификатор интерфейсов.
Dmitry1 #
13:37
а я не могу понять, чем в FM отличаются
13:37
"vars__interface": "alarm.vars['interface']",
13:37
от
13:37
"vars__interface": "alarm.managed_object.profile.root_interface(alarm.vars['interface'])",
e_zombie #
13:38
короче подождём до завтра. пока всё устаканится и потом будем думать.
_4ePTeHok #
13:38
e_zombie, ты там в апокалипсис не играй)
e_zombie #
13:39
_4ePTeHok: поздняк метаться. половина из 600 уже прошилась
Dmitry1 #
13:39
_4ePTeHok: ты в иерархии классов noc разбираешься?
_4ePTeHok #
13:39
что именно?)
13:40
там иерархия то
Dmitry1 #
13:40
Я подозреваю, что "alarm.vars['interface']", - это то, что написанно в секции "vars" ивенткласса, вызвавшего аларм
13:40
А что такое "alarm.managed_object.profile.root_interface(alarm.vars['interface'])", ?
_4ePTeHok #
13:41
ну логично что алярм имеет данные о МО
13:41
а вот чо такое рут_интерфейс..
13:41
счас код погляжу
Dmitry1 #
13:42
В SA
13:42
rom noc.sa.profiles import Profile as NOCProfile
13:42
class Profile(NOCProfile):
_4ePTeHok #
13:42
./sa/profiles/__init__.py ага
Dmitry1 #
13:42
это оно?
zi_rus #
13:42
Dmitry1, я дождался как ты освободился, а мы и 1% задуманного не сделали
_4ePTeHok #
13:43
>>> Profile().root_interface("Gi 0/1")
13:43
'Gi 0/1'
13:43
>>> Profile().root_interface("Gi 0/1.15")
13:43
'Gi 0/1'
13:43
Дим, это вычленение физ интерфейса
13:43
из саба
13:44
по функции из профиля
Dmitry1 #
13:45
для d-link'а и кучи железок - это вычлинение номера свича в стеке
_4ePTeHok #
13:45
(т е можно переопределить в ./sa./profiles/vendor/os/__init__
13:45
как я понимаю - это чтобы при падении саба возвращать реальную физику
13:45
склеивается ли в этом случае алярмы в один - хз
13:46
если оно неверно работает для твоего профиля - допиши в __init__ профиля
13:46
свою реализацию
Dmitry1 #
13:49
мда
13:49
ладно, а что в root cause означает window ?
_4ePTeHok #
13:49
наверно временное окно)
13:52
там просто этих окон уже
13:52
скоро как в виндовсе будет)
13:52
есть deduplication_window
13:52
combo_window
13:53
"'timestamp__gte': alarm.timestamp - datetime.timedelta(seconds=%d)" % self.window,
13:53
"'timestamp__lte': alarm.timestamp + datetime.timedelta(seconds=%d)" % self.window
13:53
да, это временное окошко
Dmitry1 #
13:54
аларм
13:54
NOC | Managed Object | Ping Failed
13:54
"root_cause": [
13:54
{
13:54
"name": "Power Failed",
13:54
"root__name": "Chassis | PSU | Power Failed",
13:54
"window": 30,
13:54
30 тут что?
13:54
ping failed должен произойти не позже чем через то секунд после power failed ?
_4ePTeHok #
13:55
там ниже есть еще чо?
13:55
в секции рут коса
Dmitry1 #
13:55
ниже
13:55
"condition": "True",
13:55
"match_condition": {
13:55
"managed_object": "alarm.managed_object.id"
13:55
}
13:55
},
13:55
откуда взялась константа 30 ?
_4ePTeHok #
13:56
30 это руками задали
Dmitry1 #
13:56
и что оно означает?
13:56
ing failed должен произойти не позже чем через 30 секунд после power failed ?
_4ePTeHok #
13:56
окошко определяется как выше в коде -30 +30
13:56
двумя значениями
13:57
если на этом расстоянии от текущего алярма будет алярм с поверфейлом - оно сработает
Dmitry1 #
13:58
то, что ты выше написал - мне абсолютно непонятно. я не знаю, что означают функции класса datetime и т.п.
_4ePTeHok #
13:58
там просто конвертация в таймстемп
Dmitry1 #
13:58
т.е.
_4ePTeHok #
13:59
смотри - есть таймстемп твоего алярма
13:59
в алярм-классе есть руткос
Dmitry1 #
13:59
если через 30 секунд от power filed будет аларм ping failed, то он зачтется как root cause ?
_4ePTeHok #
13:59
в нем 30 сек окно
Dmitry1 #
14:00
если через 30 секунд от power filed будет аларм ping failed, то он зачтется как root cause ?
_4ePTeHok #
14:00
он будет искать при корреляции не было ли от этого же объекта алярма поверфейл в промежутке от alarm.timestamp -30 до alarm.timestamp +30
14:01
тогда условие срабатывает
14:01
как оно работает в будущее - даже не спрашивай %)
Dmitry1 #
14:01
тогда другой вопрос
14:02
у нас по умолчанию стоит ping check в 60 секунд
14:02
какое мне там число поставить?
14:02
Я не понимаю афромагию, ине хочу ее понимать
_4ePTeHok #
14:03
э.
14:03
я не вижу связи
14:03
между одним и другим
14:04
ибо пинг-чек будет с момента поднятия алярма
Dmitry1 #
14:04
да?
_4ePTeHok #
14:04
первый раз
14:04
а дальше - как настроишь в профиле интервалы
Dmitry1 #
14:05
я имею ввиду ping check в профиле железки, а не интерфейсов
_4ePTeHok #
14:05
а, надо джоб глянуть
Dmitry1 #
14:06
понял мысль?
14:07
чтобы для window: можно было поставить что-то типа "alarm.managed_object.бла-бла.ping_check_time"
14:07
если уж мы имеем доступ к полям объекта managed_object
_4ePTeHok #
14:11
оно там по коду не джобом выходит, а активатором.
14:11
но сути особо не меняет
Dmitry1 #
14:12
ага
14:12
alarm.managed_object.object_profile.ping_interval
_4ePTeHok #
14:12
типа того, да
14:13
тогда оно адаптивное станет
14:13
но!
14:13
в модели ето число
Dmitry1 #
14:13
да
_4ePTeHok #
14:13
попробуй
Dmitry1 #
14:13
при возникновении алармкласса оно пытается вычислить переменные
_4ePTeHok #
14:14
как оно относится к прибитым гвоздями?)
Dmitry1 #
14:14
точно
14:15
пока оставляю 30, а потом нужно будет давить Диму
14:16
даже увеличу окно до 2-х минут
_4ePTeHok #
14:17
ну, я хз конечно. Но у меня при пропадании питалова железяки не успевают слать поверфейл
14:17
т е ценность тут сомнительна имхо
Dmitry1 #
14:18
я там еще один eoot cause цепляю
Tweet
Share this page
Share this page: Tweet