nocproject.org
04:45
freeseacher, спасибо, заработала kb
05:18
упс... кажись не ту ветку закрыл - хотел в своём repo, а получилось - develop
06:35
dvolodin heelep! Пытался свой pull-request замержить а вмеcто этого закрыл develop... можно починить обратно?
06:38
lexus-omsk, баловник
06:38
:)
06:38
крыжик назывался close source branch, что никак не ассоциировалось у меня с develop в общем репо
06:40
он при следующем коммите дожен переоткрыться
06:41
06:41
вот, очередные заметки на полях шляпы
06:53
lexus-omsk: ну да, ему пофиг, где его закрывать
06:56
dvolodin, у меня вопрос, почему ты аларм сделал уровня критикал по dying gasp?
06:57
как тебе сказать, я тут предлагал другую идеологию
06:57
народ вроде согласился
06:57
подохло это уровень MAJOR
06:57
если может подохнуть, то MINOR
06:58
падение протоколов - это WARNING
06:58
всякий мусор типа конфилкта адресов или макфлапов - ШТАЩ
06:58
INFO
06:59
dvolodin, в критикал предполагается совать только если подохла большая железка и утащила за собой много всего остального
07:00
может быть, да
07:00
на самом деле ревизию нужно провести alarmclass'ов
07:02
Когда-то давно, на форуме, был топик с алгоритмами для FM.
07:03
Преимущественно основаных на анализе топологии сети как графа.
07:04
Есть возможность во множестве аварий определять кореневую или сортировать более точно аварии.
07:04
dvolodin, ну я частично просмотрел
NOC-1490
07:10
Для снижения нагрузки FM при обработки аварий, предлагается создать дополнительное поле в sa_managedobjects где хранить данные касающиеся объекта в сетевой топологии, например:
07:12
список путей от объекта к ядру сети или шлюзу, прочие требующие значительных вычеслительных ресурсов.
07:12
Данные обновлять переодически после дискавери топологии.
07:12
xetle: там и так есть два поля нужных
07:13
termination_group и service_terminator
07:14
А да пропустил, надо ещё путь (маршрут) к этому брасу хранить, ибо его вичесление ресурсоёмко.
07:15
Потом написать хендлеры, они не должны сильно грузить FM ибо ресурсоёмкие вычисления делаем переодически и готовый результат храним в базе.
07:17
Вот задача этих хендлеров определять приоритет, возможно изменят его и определять кореневые аварии..
07:17
В списке журнала в идеале должны быть только правильноотсортированные кореневые аварии.
07:18
оно так и есть
07:18
я вот что думаю
07:18
Раскрыв кореневую аварию, причину, увидем все связные с ней аварии..
07:18
xetle: это есть все
07:18
тут явно нужно поиграться со склейкой ping failed + ping failed и ping failed + link down
07:19
хендлеров нет... их должно быть много.......
07:19
много - понятие более чем относительное
07:19
собственно вот что нужно
07:20
для каждой железки нужна ссылка на единственную железку, которая связывает ее с ядром сети
07:20
если она есть, конечно
07:20
ядро понятие растяжимое
07:20
причем с указанием интерфейса
07:20
zi_rus_: я знаю
07:21
нужна табличка вида
07:21
managed object, root object, root object's interface
07:21
нужно л2 и л3 топологию учитывать
07:21
zi_rus_: не нужно, не будет такое работать
07:21
Если звезда, то всё просто, а если нет..
07:21
да, наверное не нужно
07:21
тут правила заполнения вот такие вот
07:22
если одна железка упирается в другую строго в один интерфейс - пишется в базу обе железки и интерфейс на корневой железки, от которой эта железка зависит
07:22
если она упирается ему в два и более интерфейса -- пишется только железка
07:22
без интерфейса
07:23
кольца свичей у нас приходят на две разных РЕ
07:23
тогда ping failed + ping failed коррелируются тривиально -- просто уводим одну аварию под другую по таблице связей
07:23
zi_rus_: в таком случае у тебя нет единственной железки
07:23
link down + ping failed коррелируются как раз по рутовому интерфейсу
07:24
то есть упал линк -- подводим под него все ping failed, которые доступны через этот интерфейс
07:24
а вот в этом не уверен
07:24
вот в таком случае, если табличку заполнить правильно, то все будет работать быстро
07:25
если мы не получили dying gasp то не знаем, линк даун является причиной или он следствие
07:27
ну и трактуй как упавший линк
07:29
Для того чтобы учесть кольцевую топологию надо хранить в базе и обновлять список ВСЕХ путей от каждого объекта к ядру, брасу, ...
07:29
не надо
07:30
это сильно следующий шаг
07:31
У меня в сети со строго кольцевой топологией получается точно определить причину: оптика, трасивер, питание или подвисание и послать на объеект соотведствующую ремонтную бригаду.
07:31
в большинстве случаев нужно отсеять мусор, связанный с падением колец и коммутаторов доступа
07:31
В топологии звезда точно причину определить не удастся.
07:34
dvolodin: а что если кроме "быстрых" хендлеров добавить ещё один механизм который не в режиме реального времени будет обрабатывать аварии...
07:34
одно другому не мешает
07:35
Тоесть выполнять более ресурсоёмкие задачи по поиску причины и сортировки..
07:35
тут такой еще момент
07:35
многие фолты при серьезных авариях тупо складываются
07:35
потому как долго просчитывают все последствия
07:39
Вот быстрым хендлерам дать много проца, ибо обрабатывают приходящие аварии онлайн, а дополнительной задачи сортировки и поиска пичин nice -n 19 чтобы другим процессам не мешало, а в фоне медлено сортировало и упорядочнивало табличку алармов.
07:44
А куда форум делся? Там была тема с описанием около десятка алгоритмов для FM. По ним бы хендлеры написать...
07:48
Там же на форуме были темы с пирулями которые меняли приоритеты алярмов... Ещё до "интерфейс профиль" они закрывали алярмы на клиентских портах, а на аплинках подымали приоритет - почти готовые хендлеры...
07:50
это есть в профилях все
07:51
Да теперь автоматом в профилях. Но как пример хотелось глянуть.
08:02
xetle, про форум ты freeseacher поругай, ему это все уже успели припомнить
08:04
freeseacher: а почему форум закрыли? Да им не пользовался никто.. Что много спама было или взломал кто?
08:05
да кому лишние описания нужны
08:05
только хлопоты
08:06
[сарказм]
08:46
xetle, zi_rus_ вопросы и ответы зато открыты
08:46
и никуда не делись
08:46
я уже говорил
08:46
формат вопросов неудобен
08:47
zi_rus_: присоединяюсь
08:50
что не так с форматом stackoverflow?
08:54
этасамая
08:55
а гугл ни с кем больше не воюет?
08:56
чет у меня на ns он как-то странно реагирует
08:57
на ns команда host plus.google.com 8.8.8.8 отвечает servfail, на клиенте та же команда возвращает адреса
08:58
[root@iz-wpc boot]# host plus.google.com 8.8.8.8
08:58
Using domain server:
08:58
Name: 8.8.8.8
08:58
Address: 8.8.8.8#53
08:58
Aliases:
08:58
plus.google.com has address 173.194.71.102
08:58
plus.google.com has address 173.194.71.100
08:58
plus.google.com has address 173.194.71.138
08:58
plus.google.com has address 173.194.71.101
09:03
дык говорю же, что серверам отвечает servfail, клиентам(не всем) отдает нормально
09:03
если 8.8.4.4 с серверов спросить - все ок
09:27
dvolodin, у меня очередной Мо в дискавери пишет дефферед
09:27
и что с ним делать?
09:33
кстати такая же ситуация была с объектами, которые долго были unmanaged, включил их, а не идёт discovery до перезапуска noc
09:33
dvolodin, я могу пересохранить и он начнет работать, но я из консоли уже делал save по всем объектам
09:34
а они продолжают появляться
09:34
то есть после установки галочки is_managed задачи уходят в deferred?
09:34
или не выходят из него?
09:35
у меня это с объектами по которым ping failed
09:35
был и вернулся
09:37
да, у меня тоже не пинговались, потом я снял managed, а как починили доступы - вернул, пинг пошёл, алармы ушли, а discovery не пошёл
09:43
e_zombie: а Dmitry1 при чем?
09:43
sed 's/: / : /'
09:43
:)
09:43
e_zombie, сделай локалый патч то
09:44
в апстриме кроме тебя он никому не нужен
09:47
а где можно посмотреть условия выполнения например Event class temperature out of range ?
09:48
тоесть в каких условиях используются переменные min max threshold
09:56
задача .
09:56
посмотреть на коммутаторах наличие свободного места .
09:57
через штатный механизм cli-coomands
09:57
запускаем
09:57
@@@ fsw-1-7dinamovsprzd-49-96-sar: OK
09:57
> dir
09:57
-rwx 255 boot.conf
09:57
-rwx 96 mantest.log
09:57
-rwx 6.5M nos.img
09:57
-rwx 232.3K nos.img.ecc
09:57
-rwx 2.4K startup.cfg
09:57
-rwx 19.3K startup99143.cfg
09:57
-rwx 2.7K vendor.cfg.ecc
09:57
Drive : flash:
09:57
Size:14.4M Used:6.8M Avaliable:7.6M Use:47%
09:57
получаем .
09:57
и вперёд ебаться .
09:57
1. отделять хостнейм.
09:58
2. лезть ручками в адрессный план чтобы "мартышка" могла зайти на коммутатор и разобраться с ним.
09:59
если кто то типа freeseacher думает что все инженера знают пейтон и это нахуй не надо - пусть встаёт под лучи. у меня они до четверга утра.
10:03
найти место в котором выставляется твоеточие и въебенить перед ним проблел может уверен даже половина твоих(светловолосых) моделей. не то что бы инженер/сервачник
10:04
я не собираюсь поддерживать форки
10:04
и плодить
10:04
хуиту
10:04
ну какие форки то ?
10:04
кто же тебя просит поддерживать хуиту. и форки особенно.
10:05
сделай cd /opt/noc; hg diff
10:05
внесение изменений в код без апстрима - пложение форков и идиотизм.
10:06
я праивльно понимаю что у тя нет ни единого изменения ?
10:06
ванильный нок ?
10:06
это не форк
10:06
а кастомизация
10:06
ты правильно понимаеш. кроме профиля qsw.2800
10:06
почему ?
10:06
e_zombie, почему у тя нет изменений ?
10:06
что с тобой не так ?
10:07
изменения у меня начнутся когда я начну писать профили для своего оборудования.
10:07
аа
10:07
это видимо после новогодних праздников
10:07
ну ок.
10:09
как то так. а сейчас перешивка 1500 кютечей на 6.х ветку с 7. ибо глючная.
10:12
а шестой на них нет?
10:12
я при перепрошивке длинков прежнюю оставляю
10:12
только мы перешили их на семёрку
10:12
это видимо что-то глобальнее чем на длинке
10:13
нехило вы протестировали, а я так и сижу на 6.3.100.62, в принципе устраивает, кроме диффов конфигов после каждой перезагрузки
10:13
ну тут политические игрища.
10:13
TSergey там нельзя предыдущую оставить, флэшка впритык
10:14
кютеч ебёт мозг. началььство машет шашкой пытаясь выполнить план по приросту и уменьшить отток абонентов и тд.
10:14
Size:14.4M Used:7.4M Avaliable:7.0M Use:52%
10:14
Size:6.7M Used:6.6M Avaliable:120.0K Use:98%
10:14
Size:6.7M Used:6.6M Avaliable:124.0K Use:98%
10:14
Size:6.7M Used:6.6M Avaliable:138.0K Use:98%
10:15
[root@nocproject qtech-fashbootrom-20141222]# grep "Size:6.7M Used:6.6M Avaliable:138.0K Use:98%" out.work.txt | wc -l
10:15
1
10:15
[root@nocproject qtech-fashbootrom-20141222]# grep "Avaliable:1" out.work.txt | wc -l
10:15
13
10:15
[root@nocproject qtech-fashbootrom-20141222]# grep "Avaliable:7.0" out.work.txt | wc -l
10:15
20
10:15
[root@nocproject qtech-fashbootrom-20141222]# grep "Avaliable:7.1" out.work.txt | wc -l
10:15
1
10:15
[root@nocproject qtech-fashbootrom-20141222]# grep "Avaliable:7.2" out.work.txt | wc -l
10:15
2
10:15
[root@nocproject qtech-fashbootrom-20141222]# grep "Avaliable:7.3" out.work.txt | wc -l
10:15
0
10:15
за такие стройки надо руки отрывать
10:35
dvolodin, ты веришь про пинг файлед?
10:36
явно какая-то бага
10:41
zi_rus_: а что у тебя с пингам?
10:41
что-что
10:41
ping failed
10:41
а потом когда железка вернулась то дискавери не возобновляется
10:42
у меня когда рестартишь нок и оно начинает пинговать все 11 000 хостов часть не пропинговывается и потом висит вечно что недоступен
10:42
хотя железка живая
10:46
хотя вот выбираю руками хосты - теория не подтверждается.
12:29
зачем отдельный класс?
12:39
может кому поможет? нашел недокументированную фичу по ограничению лог файлов
12:39
logsize = 5000000
12:39
logfiles = 5
12:39
по отдельности не работает. обязательно надо оба параметра
12:39
main]
12:39
logfile = /var/noc/log/noc-sae.log
12:39
loglevel = info
12:39
logsize = 102400000
12:39
logfiles = 9
12:39
а фигли все молчали, когда я спрашивал?
12:39
syslog_host =
12:40
типа оба параметра надо?
12:40
аааа
12:40
делай багу.
12:40
логично вроде. какая же это бага?
12:41
2 месяца вручную логи удалял
12:45
for i in $(ls ${S}/etc/*.defaults); do sed -i 's/logfiles = 0/logfiles = 9/' $i; done
12:45
for i in $(ls ${S}/etc/*.defaults); do sed -i 's/logsize = 0/logsize = 1000000/' $i; done
12:46
Там 1 метра логов вполне хватает..
12:47
Не мало, даже с трейсами хватает...
12:50
dvolodin, потому что event class это конкрентое событие, он определяет что произошло независимо от того что пишет железка, RFI dying gasp это одно событие, а RFI remote client shutdown - это совсем другое и смешивать их в одном классе я считаю неправильным, у них общее
12:50
только то что для индикации используется один протокол - ОАМ
12:50
это ника не основание объединять их одним классом
12:50
zi_rus_: ты в disposition можешь сделать в condition проверку, что тебе интересен только dying gasp
12:50
я понял что могу
12:51
но я считаю это неправильным
12:51
и поднимать разные аварии
12:51
ты нарушаешь самою концепцию и подставляешь к результату костыли. занахера?
12:57
dvolodin, понимаешь о чем я? если делать как ты говоришь, то нам не нужны будут ивент классы, просто куча регэкспов и хендлеры переполненные костылями
12:59
а что с тем классом, который я делал?
13:02
dvolodin, удалить или переделать. его делал второй Дмитрий когда я его пинал, но у него нездоровое желание пихать кучу разнородных событий в один класс. Вершиной мастерства для него видимо стало бы когда он сделал бы правило ",*"
13:02
dvolodin, также надо убрать правило кллассификации /opt/noc/fm/collections/eventclassificationrules/Cisco/IOS/Network/OAM/Client_Recieved_Remote_Failure_SYSLOG_.json
13:03
dvolodin, в общем в новом классе я просто взял то что ты сделал и персонализировал выкинув пару деталей, так что можешь считать что новый класс ты тоже сам сделал
13:23
опечаток у тебя, как у школьника, блин
13:23
ладно, попозже займусь
13:24
там в condition можно писать так же, как и в managed_object
13:24
чтобы определить - поднимать аларм, или нет
13:26
да отвлекают потому что
13:26
и ты так и не сдалал создание классов из веба
13:26
приходится консоли опечатываться
13:33
влепил альтернативно одаренную навигацию
13:39
опять глюков добавил
13:43
ты, кстати, привязку gying gasp к питалову на другой стороне линка проверил?
13:56
dvolodin, в смысле?
13:57
то что dying-gasp прилетает из-за питания? да, это проверено неоднократно
14:00
обнаружил что вроде починили таймзону =)
14:01
e_zombie, мои тебе соболезнования. а что ты от меня хочешь?
14:02
покажи какой промп правильный будет. я пробовал от хуавея взять вроде работало но это не факт что правильно и оптимально
14:02
опять же коммитить я не могу
14:02
в душ не ебу какой правильный будет, и я тоже не могу ничего коммитить
14:03
ну знач будем как всегда
14:03
как нибудь
14:06
можно ли в темплейте сослаться на переменную из classification rule или как мне значение достать из snmp trap ?
14:06
попробовал {{ alarm.vars.level }} - пусто
14:06
level - название переменной из snmp trap
14:36
как вообще в темплейтах сослаться на какую нибудь переменную из аларма
15:00
о как , а вот такую штуку как сделать
15:00
15:04
{{alarm.vars.name}}
15:05
dvolodin: так я так и указывал
15:05
{{ alarm.vars.level }}
15:06
или без пробелов?
15:06
хм, тогда почему то пусто
15:07
если я в classification rule создаю свою vars - level например
15:07
он в alarm попадает вообще?
15:08
да, только я его завожу в виде патерна ^(?P<level>[013])$
15:09
аларм создается, письмо приходит а внутри конструкция {{ alarm.vars.level }} пустая
15:09
ps: в json переменной level нет
Share this page
Share this page: