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: 01.02.2013
dvolodin #
05:47
что касается монги - есть полезная команда mongostat
05:48
пинги, будем считать, освоили?
05:51
можно топать дальше и привязать пинги к обнаруженным линкам :)
05:51
базовая идея у меня такова
05:52
1. нужна привязка пингующих активаторов к конкретным портам
05:52
точка входа, грубо говоря
05:52
можно пробить руками или придумать хитрый метод определения
05:53
2. На основании топологии строим табличку-зонтик
05:54
из пар (объект 1, объект 2)
05:54
если падает объект 1, то гарантировано падает объект 2
zi_rus #
05:54
может решить задачу проще, не поднимать алармы на падение протоколов маршрутизации, если упала сама железка, там самы примитивный анализ нужен, а топология это уже круче
dvolodin #
05:54
я пока хочу именно для пингов сделать
05:55
если уж мы ими занимаемся
05:56
тогда получив ping failed мы посмотрим - какие уже поднятые alarm'ы накрывает этот пинг, и проверим, какими alarm'ами он накрывается сам
zi_rus #
05:57
ping failed и link down тогда надо связвать
05:58
dvolodin, по поводу snmp arp я отписал в issue
dvolodin #
05:59
ping failed и link down связать можно будет следующим шагом
06:01
грубо говоря - сейчас самая большая проблема в том, что в случае падения узловой железки поднимется 100500 алармов ping failed
zi_rus #
06:01
да
dvolodin #
06:02
значит начнем решать именно отсюда
06:02
:)
zi_rus #
06:04
dvolodin, еще такой момент, уже третий раз сталкиваюсь с таким юз кейсом у себя на сети. переношу роутинг на каталистах из одного влана в другой из одной подсети в другую, 10 свичей в конце получаешь ненормальное число алармов, которые приходится руками у
06:04
бивать
dvolodin #
06:16
zi_rus: какие именно?
zi_rus #
06:16
eigrp nei down
dvolodin #
06:17
а
06:17
тупа упал один интерфейс, поднялся другой?
zi_rus #
06:17
ну да, int vlan 222 shut; int vl 333 no shut
06:18
а старый влан со старой подсетью удаляешь и освобождаешь, более этому аларму не суждено закрыться
06:20
мне думается надо проблемы с роутингом как-то по особому разруливать
06:21
то есть в 90% случаев, падение роутинга это следствие чего-то другого
dvolodin #
06:21
я склоняюсь все-таки к зонтикам для плановых рвбот
06:21
там должны быть затронутые объекты и время проведения работ
06:22
на это время alarm'ы должны прикрываться зонтом
zi_rus #
06:24
но например вчера на одном каталисте eigrp падал из-за софтовой ошибки, а в другой раз из-за arp флуда со стороны клиента был перегружен cpu и падал роутинг, это как раз те моменты когда проблемы с протоколами являются первопричиной проблемы
06:42
dvolodin, еще один мысль, считать приоритет аларма ping failed считать не по количеству свичей за МО, а по количеству активных портов на этих свичах
dvolodin #
06:45
dvolodin: паршивая идея
06:45
упавшая MPLS железка на 5 портов куда страшнее одного 24-портового свича за ней
zi_rus #
06:46
если за этой железкой повалится пол сети то приоритет поднимется правильно
06:46
считать порты не на железке, а на всех свичах за ней
06:47
а если падение этой железки не привело в падению половины сети, значит сеть построена правильно и проблему можно решать согласно приоритета
06:48
в любом случае, для мплс железок можно выделить профиль с повышеным приоритеом на падение
06:48
и они всегда будут в топе
06:49
почти уверен что в большинстве случаев падение железки будет выходить в топ алармов
06:51
а цифра определяющая severity почти ничего не значит, разве что при больших числах можно начинать рвать волоы на заднице
dvolodin #
06:55
можно скомбинировать
06:56
приоритет железки зависит от количества ее собственных портов и количества портов, которые она накрывает зонтиком
06:57
а приоритет линка можно считать по количеству портов, которые остаются за ним
zi_rus #
06:59
просто еще такой момент, я говорю про активные порты, те если даже есть свич на 24 порта но используются только 3, то и считать надо как 3
06:59
определять просто, все у кого на момент аварии был oper status UP
dvolodin #
07:01
более правильно уж - ранжировать по стоимости нарушенных сервисов
07:01
но к этому нам еще топать и топать
zi_rus #
07:01
это тоже верно, но это надо сервисы в нок заводить
07:02
или определять стоимость по косвенным признакам
dvolodin #
07:02
заводить сервисы и их зависимости
07:02
но это уже потом будет
lexus-omsk #
07:07
всем привет, разрешите прервать ваши размышления о светлом будущем жестоко правдой настоящего :)
07:08
пинговалка глючит :( несколько раз в сутки отваливается произвольная пачка железок, через минуту возвращается
dvolodin #
07:08
проверяй какие
lexus-omsk #
07:08
как бы отловить?
dvolodin #
07:09
tcpdump'ом
lexus-omsk #
07:09
так разные... не всегда одно и то же
dvolodin #
07:10
загрузку активаторов смотри
07:12
кстати, кто-нибудь рисовал презентации по NOC?
zi_rus #
07:14
для презентации надо делать скриншоты, а это UI, а его еще не весь перевели на новые рельсы
dvolodin #
07:15
по UI, кстати, тоже есть задача
07:15
формы надо облагородить
07:15
ширину полей там подогнать, сгруппировать
lexus-omsk #
07:17
dvolodin: я бы не сказал, что слильно загружены активаторы... overloaded сейчас в логах не фигурирует...
dvolodin #
07:17
overload - это SAE
07:17
попробуй полови, что и как отваливается
07:18
может там топология STP перестраивается и действительно packet loss есть
zi_rus #
07:19
с пятисекундным таймаутом на каждую железку может тратиться до 15 секунд, если там стп за такое время не сходится, то проблема точно не в ноке
dvolodin #
07:21
нужно проверять. были уже случаи, когда искали ошибке в NOC'е, а проблема была на самом деле
lexus-omsk #
07:22
не, stp нету... хотя сейчас подниму письма-алармы, проанализирую за последние дни
zi_rus #
07:23
lexus-omsk, можешь запустить tcpdump пусть он ловит все icmp (tcpdump icmp) и записывает в файл (-w <some-file>) потом wireshark или tcpdump откроешь файл и смотри что происходило с пингами во время аларма
lexus-omsk #
07:24
вариант, но представляю, сколько там будет запросов за сутки, например
zi_rus #
07:25
будет много, фильтры в wireshark в помощь
07:25
да и надо тебе не за сутки, а до первого ложного аларма +1 минута
dvolodin #
07:25
tcpdump …. icmp
lexus-omsk #
07:26
блин... пока писал, оно опять посыпалось ) не успел
zi_rus #
07:27
если часто происходит можешь еще сегодня успеть поймать
07:27
dvolodin, повторю еще вопрос, если у меня 4 ядра, но с HT 8 потоков, сколько активаторов в пуле лучше делать?
07:28
вот зараза, убёг
ufir #
07:28
гипертрединг на сервере ? но зачем ?
zi_rus #
07:30
был включен по дефолту, не отключал
07:30
а что не так
07:31
я слышал про истории что для рутеров софтовых с привязками прерываний и прочими хитростями его любят отключать
ufir #
07:35
гипертрейдинг вреден при ресурсоемких задачах
07:36
к тому же если это виртуалка - то как бы ресурсы не отожрали друг у друга, что все печально будет
07:36
ну и не забывать про проблемы, к-е могут быть в самой вирутальной среде, тогда оно касается всех виртуалок
zi_rus #
07:36
не, у меня физический сервер с фряхой
07:36
на нем только нок и такас
07:36
*такакс
07:37
ла ниже плинтуса
07:38
но будет ли оптимальней 8 активаторов? раз уж есть 8 потоков
ufir #
07:41
а что мешает взять да опыт провести ? в теории 8 активаторов должны более равномерно распределять нагрузку. но фактически - не проверял.. у меня виртуалка
zi_rus #
07:46
да у меня и так 1% бегаег по ядрам
07:46
я и не замечу разницы, только что в 2 раза больше активаторов съедят в 2 раза больше памяти
07:47
CPU 0: 0.4% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.6% idle
07:47
CPU 1: 0.4% user, 0.0% nice, 0.0% system, 0.0% interrupt, 99.6% idle
07:47
CPU 2: 1.1% user, 0.0% nice, 0.4% system, 0.0% interrupt, 98.5% idle
07:47
CPU 3: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
07:47
CPU 4: 1.5% user, 0.0% nice, 0.4% system, 0.0% interrupt, 98.1% idle
07:47
CPU 5: 1.5% user, 0.0% nice, 0.4% system, 0.0% interrupt, 98.1% idle
07:47
CPU 6: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
07:47
CPU 7: 0.0% user, 0.0% nice, 0.0% system, 0.0% interrupt, 100% idle
07:52
на уровне фонового шума
ufir #
07:57
а если посмотреть суммарно по sar ?
07:57
а
07:57
ну да
07:57
у меня так
07:57
11:53:36 AM CPU %user %nice %system %iowait %steal %idle
07:57
Average: all 7.52 0.00 1.85 0.03 0.00 90.60
zi_rus #
08:02
ну это тоже мелочи
08:02
у тебя просто железок больше наверняка
08:03
или через консоль часто лазает, у меня снпм везде включен, где в скрипте реализован, там тоже нагрузки почти нет
mikevlz|2 #
09:24
бугагец
09:24
перевбил железке адрес, стала пинговаться
09:25
до этого даже не пыталось пинговать, хотя до ввода пинговалки новой скрипты работали
lexus-omsk #
09:28
zi_rus: кажется нашёл косяк с пинговалкой... действительно, noc оказался не при чём
09:29
ipfw ругался на превышение кол-ва динамических правил
zi_rus #
09:33
ы
mikevlz|2 #
09:51
dvolodin: мне тут приходится периодически вычищать noc.fm.events.new
09:51
иначе перестает классифицировать.
09:53
трэйсов у классификатора не видно
zi_rus #
09:56
mikevlz|2, а в логах не видно статистику? он же пишет, может он не может их классифицировать
mikevlz|2 #
09:56
zi_rus: угу, а как коллекцию дропну - тут же вспоминает, как их классифицировать
09:57
чот мне кажеццо, что ноги этого растут из проблемы моей старой с Invalid bson size
dvolodin #
10:51
repair сделай ему
mikevlz|2 #
10:54
db.repairDatabase() + db.noc.fm.events.new.drop() помогает. просто db.repairDatabase() не эффективно
dvolodin #
11:19
сколько там событий?
11:20
в new
11:22
удалось отловить, когда пачками пинг отваливается?
zi_rus #
11:25
да, там firewall глючил
ufir #
11:27
почините мне баг с хуавеями ;) дискавери не видит все интерфейсы с дескрипшнами по умолчанию
dvolodin #
11:49
наверное, надо задать в конфигурации - сколько пингов запускать и какой таймаут?
zi_rus #
11:50
так он разве не размазывает как по старой схеме?
dvolodin #
11:51
размазывает
zi_rus #
11:51
ну и вот
dvolodin #
11:51
но 3 пинга по 5 секунд таймаута - hardcoded
11:51
self.ping4_socket.ping(
11:51
a, count=3, timeout=5, callback=self.ping_callback,
11:51
stop_on_success=True)
zi_rus #
11:51
я бы не усложнял, если и так работает
dvolodin #
11:52
вынесу в defaults
zi_rus #
11:53
просто есть какие-то оптимальные параметры, вроде трех попыток ( это практически во всех протоколах маршрутизации для Hello сообщений) или 5 секунд
11:53
и выносить это в конфиг конечно можно, но иногда излишне
dvolodin #
11:55
сделал, пока не забыл
zi_rus #
12:10
dvolodin, так что думаешь про такое http://habrahabr.ru/post/135086/
dvolodin #
12:11
я делал аналогичное
12:12
traffic anomaly detection называется
zi_rus #
12:12
и как? работало?
dvolodin #
12:12
на самом деле есть более перспективный метод
zi_rus #
12:12
здесь такое же замутишь?
dvolodin #
12:13
как ты думаешь, почему я не хочу RRD :)
12:13
да, TAD планируется, на него есть вполне конкретные заказчики
zi_rus #
12:13
не знаю, там как раз на ррд это сделали и работает ведь
dvolodin #
12:13
но это уже очень серьезная вещь и я пока не знаю, в какой форме оно будет распространяться
zi_rus #
12:14
вот жадина
12:14
:)
dvolodin #
12:14
не говори
12:14
:)
12:15
чисто технически - поток прогоняется через обучающийся фильтр который предсказывает следующее значение
12:15
если реальность сильно разошлась с предсказанием - имеем аномалию
zi_rus #
12:15
сильно - понятие растяжимое
12:17
в абсолютных значениях на больших числах не подстроишься, на малых в процентных большие скачки
dvolodin #
12:19
там есть нюансы
12:19
но в целом - это один из работающих способов обнаружения аномалий
12:19
из хороших вещей - шум срезается фильтром
12:21
в общем - будет фактура в PM, буду думать
12:21
не уверен насчет операторов ШПД, но приличные онлайн-проекты такую штуку с руками рвут
12:28
придумал как связать два link down с обоих концов линка
mikevlz|2 #
12:53
один раз как-то посчитал, когда стопанулось. events.new десятки тысяч событий. При этом events.active не рос в количестве вообще
HaLVeR #
12:55
dvolodin, Дим, сейчас мак-дискавери в топологии участвует как то?
dvolodin #
12:55
да
HaLVeR #
12:55
как потестить?
dvolodin #
12:55
ищет роутеры, подключенные к сети
HaLVeR #
12:56
не-не я про линки
dvolodin #
12:56
стык роутер - свич
HaLVeR #
12:56
раньше был метод обнаружения линков
12:56
по мак-адресу
dvolodin #
12:56
сейчас тоже есть
12:56
но вырожденный
HaLVeR #
12:56
угу, в репорте нету его по линкам
12:57
просто у меня тут куча железок не умеющих ллдп и крайне кастрированных в стп(рстп)
12:57
а линки хочется
_4ePTeHok #
12:58
я кстати инет себе норм сделал, так что задачки поделай какие нужно довести мне
12:58
там я остатки приложений простых допилю на экст
12:59
и кстати Cisco.IOS.get_spanning_tree у меня сыпется постоянно до сих пор.. странно что в дебаге отрабатывает
13:00
и трейс там километровый, учитывая что там шеститонник...
dvolodin #
13:14
посмотрите последние правки для link down
13:15
вроде неплохой метод :)
13:15
единственная проблема - если линка нет в базе, то InterfaceDS.link вернет None
13:15
как бы она два разных None не посчитала за один линк
13:18
_4ePTeHok: там не все так просто
13:18
надо махом получить таблицы маков со всего сегмента
mikevlz|2 #
13:21
dvolodin: мою жалобу на то, что посреди скрипта начинает воспринимать хрень от длинка как опции телнета не смотрел?
dvolodin #
13:21
нет
mikevlz|2 #
13:21
я имею в виду "вообще видел али как"
dvolodin #
13:21
а что, dlink IAD'ами срет?
13:21
не видел
mikevlz|2 #
13:22
ну там история волшебная
dvolodin #
13:22
грибы?
mikevlz|2 #
13:22
есть 3200-28 и 3627G. При опросе get_lldp_neighbors 3200 показывает в качестве Neighbor Port ID всякую чушь
13:23
я знаю, что надо обновить им обоим прошивки(хоть они и не самые старые), тем не менее, фряшный телнет этой хрени не пугается
dvolodin #
13:23
а что там в дампе?
mikevlz|2 #
13:25
я дамп не снимал. Кусок трейса в NOC-931
13:26
Port Id Subtype : MAC Address
13:26
Port ID : \ы≤>╘
13:26
это видит фряшный телнет
13:26
а червяк обижается
dvolodin #
13:27
mikevlz|2: бага это, в любом случае надо править
mikevlz|2 #
13:27
тогда надо править, пока есть такая замечательная пара железяк
13:28
от меня что надо?
dvolodin #
13:32
я уже поправил
13:32
только вот расшифровывать комбинации вида \ы я не буду :)
mikevlz|2 #
13:32
да я понял, что там те же буквы, что и на одном известном детском кубике...
13:33
это может показывать вот эта железка такую пургу, на соседнем порту железка покажет другую(мак поменялся же :))_
dvolodin #
13:36
не в этом дело
13:37
там неинициализированная переменная была при парсинге
13:37
это ошибка в любом случае
mikevlz|2 #
13:39
гм...
13:40
клева
13:41
то есть веселый трейс уйдет и у меня возможно трейсов не будет вообще
13:41
кстати, попингуйка чет выпендривалась с одним хостом у меня. Вообще не пинговала его. Перевбил ему адрес - начала пинговать
dvolodin #
13:56
по хостам она пинговать не будет
mikevlz|2 #
13:56
я имел в виду managed object. В поле адрес был IP этого объекта
13:56
вот как всегда
14:03
вот она... поймал я ее за яйца!
14:03
в корреляторе трейсы побежали... "нимагу отсортирить без индекса. Или проси меньше, или индекс дай"
zi_home #
14:05
зачем связался с трансвеститом
mikevlz|2 #
14:06
ты еще скажи, что я инвалида обижаю
14:48
о, бодрее поперло
14:49
с индексом-то
_4ePTeHok #
15:00
а каг индекс добавить?
mikevlz|2 #
15:00
NOC-932#comment-12466
Tweet
Share this page
Share this page: Tweet