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: 19.09.2014
dvolodin #
04:49
https://www.evernote.com/shard/s57/sh/58ccd0dd-4554-48d6-aa98-c7f0c741bf0f/755c1f0ccbe9aac636d7aae46e9699ce
04:49
на подумать
e_zombie #
04:57
,,
MindGames #
05:04
привет! Есть кто живой на канале?
cfyz`afk #
05:04
нет
MindGames #
05:05
подскажите, я на циске обновил IOS.. та же ветка, те же фичи и та же лицензия, только версия более новая. была 150-1М. Стала 152-4М. И у меня слетел конфиг на интерфейсах "traffic-shape group..." в новой версии такая команда не поддерживается
05:05
ни кто не помит - её выпилили чтоли, совсем? или заменили на что-то другое?
zi_rus #
05:43
MindGames, друг это команда из 90х годов, она deprecated уже много лет. пользуйся mqc
MindGames #
05:43
zi_rus, ну я старпер :) эта комманда полный аналог шейпера?
e_zombie #
05:43
http://pastebin.com/5RZk4Uj7 ростелеком стайл. просьба не копировать куда либо.
MindGames #
05:44
zi_rus, нет такой команды у меня на сабе :(
zi_rus #
05:44
facepalm
05:44
policy-map 1M-inet
05:44
class class-default
05:44
shape average 1024000
05:45
exit
05:45
int fa0/1
05:45
service-policy output 1M-inet
05:46
это называется mqc
MindGames #
05:47
zi_rus, аа.. ну то есть полиси мапом надо пользоваться. очень неудобно.. раньше одной строчкой на интерфейсе можно было сделать. а сейчас куча строчек.. я уже пробовал - оно ругается, что у меня на интерфейсе уже есть рейт лимит. а в старой версии работа
05:47
ло параллельно спокойно :( в общем, как всегда, сделали хуже.. да и полиси почему-то загрузил процессор циски моей до 60%
zi_rus #
05:47
полиси ты один раз содаешь
05:47
а потом все равно одна строчка на интерфейсе
MindGames #
05:48
кстати, мне надо разные классы траффика делать. нужно создать на них отдельные полиси, а потом сделать полиси с класс-дефаулт и туда кинуть сервис-полиси с нужными мне классами?
zi_rus #
05:48
и как ты это делал на трафик шейпе?
MindGames #
05:50
ну просто добавил команду траффик-шейп с указанием полосы. все. не ругался.. а вот полиси ругается :(
05:50
в общем, рейт лимит повешу
zi_rus #
05:51
e_zombie, извини, разослал сслыку в отделе
05:51
это шедевр
e_zombie #
05:52
программисты такие программисты
06:00
Волчок. Хроники рекламщика #2492
06:00
— рисуешь чувака из линий?
06:00
— это кривые безье
06:00
— не выёбуйся
06:00
— иди нахуй
MindGames #
06:02
e_zombie, помоги с полиси.. Вот что я наклепал:
06:02
class-map match-any torrents
06:02
match protocol edonkey
06:02
match protocol directconnect
06:02
match protocol kazaa2
06:02
match protocol gnutella
06:03
match protocol fasttrack
06:03
match protocol bittorrent
06:03
06:03
policy-map limit_torrents
06:03
class torrents
06:03
police 1024000 32000 32000 conform-action transmit exceed-action drop violate-action drop
06:03
06:03
Могу ли я теперь этот полиси прикрутить на интерфейс? Или нужно сделать еще вот это:
06:03
policy-map limit
06:03
class class-default
06:03
service-policy limit_torrents
e_zombie #
06:03
бля бля бля бля изыди.
MindGames #
06:03
e_zombie, :)))
06:04
ну помогии %:))
e_zombie #
06:04
я тут pppoe от PoEthernet плохо отличаю .
06:04
а ты с такими вопросами
MindGames #
06:04
мне просто понять как правильно прикрутить ;))
e_zombie #
06:04
и ваще. это канал про аниме
MindGames #
06:04
ну или zi_rus
zi_rus #
06:04
я ленюсь
MindGames #
06:04
zi_rus, оцени конфиг. как его правильно прикрутить? :)
zi_rus #
06:05
у меня dhcpd на центоси ен поднимается
MindGames #
06:05
да там 3 строчки.. просто надо писать полиси с суб-полиси? или достаточно просто повесить первый полиси?
e_zombie #
06:05
zi_rus: и симптомы?
MindGames #
06:05
zi_rus, смени центось на убунту сервер. у меня там все поднималось ;)
zi_rus #
06:05
dhcpd[1056]: Can't bind to dhcp address: Cannot assign requested address
06:05
systemd[1]: dhcpd.service: main process exited, code=exited, status=1/FAILURE
06:06
я уже селинукс отключил
06:06
не помогло
06:06
может быть firewall, но там он разрешен
06:06
отключил firewalld. не помогло
dvolodin #
06:07
e_zombie: где, кстати, аниме?
06:07
:)
06:07
пятница сегодня
e_zombie #
06:09
https://pp.vk.me/c622929/v622929151/2214/hcPK5IvtniU.jpg
06:09
правда фотка 2011 года
06:09
я тогда был ещё молод.
06:09
https://pp.vk.me/c622929/v622929151/21ec/_LqJ97X8Fd8.jpg
dvolodin #
06:09
и велся на такое?
06:09
ну ничего, все в жизни надо попробовать
e_zombie #
06:09
поэтому тема сисек раскрывалась некачественно
MindGames #
06:09
блиин! почему полиси на оутпут нельзя прописать одновременно с рейт-лимитом на оутпут :(((
e_zombie #
06:10
https://pp.vk.me/c622929/v622929151/213b/QUvz_wnPx6A.jpg
06:10
https://pp.vk.me/c622929/v622929151/2113/UZskC1go73g.jpg
dvolodin #
06:10
ну давайте NOC научим по пятницам твоих баб показывать
06:10
чего зря пропадают-то :)
e_zombie #
06:11
вот это наверное лучший кадр года https://pp.vk.me/c618727/v618727151/1886e/wzPbdtlMjWg.jpg
06:11
https://pp.vk.me/c622929/v622929151/21f6/APw2JDbyVkU.jpg
06:11
https://pp.vk.me/c622929/v622929151/2200/4tr5fFTHHZY.jpg
06:12
тут кстати http://lenta.ru/news/2014/09/19/internet/
dvolodin #
06:14
ну а чего, отрабатывать разные мероприятия нужно
06:14
в том числе и такие
e_zombie #
06:14
да и следить за сетями надо да. а то бардакс.
dvolodin #
06:15
подозреваю, что бардак - явление местное
e_zombie #
06:17
ты прав.
06:18
я вот даже не знаю - увеличиваю я его или нет
06:19
вот ещё фотку забыл https://pp.vk.me/c622928/v622928151/1f28/BSK3yqGZEOA.jpg
06:29
или я чего то не замечаю или нок стал потреблять меньше ресурсов и не мучать монгу запросами.
buggy-funhouse #
06:45
e_zombie: это тебе володин за баб скидку адл
06:45
*дал
e_zombie #
06:45
палюбому
06:45
а может просто поток сислога мелкий и базу не штырит
06:46
или опять что то не замечается.
Dmitry1 #
06:47
(09:10:47) e_zombie: https://pp.vk.me/c622929/v622929151/2214/hcPK5IvtniU.jpg
06:47
(09:10:56) e_zombie: правда фотка 2011 года
06:47
(09:11:04) e_zombie: я тогда был ещё молод.
06:47
e_zombie: это точно ты на фотке?
e_zombie #
06:48
я? не. у меня таких сисек нету
06:49
но это был интересный сет. я её уболтал раздеться полностью за полторы минуты.
buggy-funhouse #
06:49
хорош
e_zombie #
06:51
она опоздала почти на час. и я тупо показал на солнце которое уже почти садилось за горизонт и сказал что как оно скроется - будет гавно :)
Dmitry1 #
06:51
судя по всему, еще и туман был
e_zombie #
06:51
не. это такая обработка и настройки кривые.
buggy-funhouse #
06:52
Кто-то ещё омжет подсказать, почему пишется unknown source, есть в MO ip прописан?
Dmitry1 #
06:52
а из raw вытянуть цвета нельзя?
e_zombie #
06:52
равка там ваще ..... никакая .
Dmitry1 #
06:52
buggy-funhouse: пропиши IP в trap source
e_zombie #
06:52
там диафрагма 3.2 и при этом выдержка 1\640 и исо 400
06:53
говорю что тогда я был ещё молод.
buggy-funhouse #
06:53
Dmitry1: дело в том, что он там прописан. И даже совпадает с тем, который отображается в Data event'а
Dmitry1 #
06:53
то-то я вижу шума много. а искал прогу для этого фотика, для удаления шума?
e_zombie #
06:53
это д3000 - там всё бесполезно. да и не надо
Dmitry1 #
06:54
buggy-funhouse: посмотри настройки железки, с какого ip она отправляет логи и трапы
MindGames_ #
06:54
блин! почему такая хренть вылазит? Cannot attach queuing-based child policy to a non-queuing based class
buggy-funhouse #
06:54
Dmitry1: я в дампе вижу, что с этого. У неё других нет.
Dmitry1 #
06:57
buggy-funhouse: оно IP пишет в лог, или куда там нужно?
buggy-funhouse #
06:58
прости, оно это кто?
Dmitry1 #
06:58
нк то, что пишет "unknown source"
buggy-funhouse #
06:59
[<TrapCollector(0x29114d0, )>] Invalid event sources in last 60 seconds: 172.24.4.2 Это в активаторе.
06:59
Event has been received from unknown source 172.24.4.2 by collector Это в data event
07:00
и в поле SNMP trap source ip прописан 172.24.4.2 соответственно.
evyscr #
07:01
хм, кто-то заходил на канал недавно с подобным страданием
buggy-funhouse #
07:01
На железке я пробовал снимать галку is managed, запускать discovery заново, ребутать нок
07:01
evyscr: скорее всего я. Последний гугл по логам был давно
07:01
http://kb.nocproject.org/questions/15630601/-fm-events-event-has-been-received-from-unknown-source-x.x.x.x-by-collector-activator-pool-default-
07:01
Вот тут ещё человек то же самое написал
evyscr #
07:02
не, дня три-четыре назад кто-то новенький
07:02
вроде как
buggy-funhouse #
07:09
ТАк, а что у вас прописано в collector.conf?
07:10
и какой коллектор в MO стоит для железки?
zi_rus #
07:16
buggy-funhouse, а в логе sae подозрительных сообщений нету?
buggy-funhouse #
07:24
сейчас посмотрю.
07:25
zi_rus: покажи свой noc-collector.conf? Он нужен вообще? А то у меня даже лога коллектора нет.
zi_rus #
07:25
нет у мня его
buggy-funhouse #
07:25
ок
07:26
в sae у меня куча error=Unknown exception дял устройств, дял которых половина скриптов неверно отрабатывает. Старые циски.
07:27
про узел ничего, кроме того, что он-то обрабатывается нормально
zi_rus #
07:38
а кто-нибудь про агрегацию данных в ноке графите может пояснить?
07:38
вот если я говорю что метод average и агрегировать за сутки
dvolodin #
07:38
zi_rus: там аналогично RRD
zi_rus #
07:38
он возьмет среднее за сутки и скажет что оно вот так?
07:39
а есил я выберу максимум, то будет выбирать максимум в диапазоне?
dvolodin #
07:39
да
07:39
на самом деле агрегацию делает storage
zi_rus #
07:42
dvolodin, смотри что я хочу сказать, вот есть данные загрузки интерфейса, трафик днем растет, ночью падает, и мне надо максимальное значение чтобы видеть как трафик за год растет. а теперь если у меня возникает какой-то пик ненормальный, я хочу его исключит
07:42
ь, как это говорят 95 перцентиль. такое возможно?
dvolodin #
07:42
в принципе - да
zi_rus #
07:43
потому что в кактусе такого нет
dvolodin #
07:43
только он делается, в основном, за биллинговый период
zi_rus #
07:43
либо среднее либо максимум
dvolodin #
07:43
слушай, ну что мешает
07:43
у тебя есть список значений
07:43
отсортировать их и взять значение c 95% длины - какие проблемы-то?
zi_rus #
07:43
эмм
07:44
ну у меня есть нок
07:44
и в его настройках ничего похожего нет
buggy-funhouse #
07:44
dvolodin: может быть, ты подскажешь по проблеме http://kb.nocproject.org/questions/15630601/-fm-events-event-has-been-received-from-unknown-source-x.x.x.x-by-collector-activator-pool-default- ? У меня та же ситуация.
zi_rus #
07:45
и соответственно для графиков тоже пока ничего нет чтобы их как-то строить
aermike #
07:46
.
dvolodin #
07:53
zi_rus: технически в whisper делается в 3 строчки
07:53
посмотри у себя в whisper.py
07:53
def aggregate(aggregationMethod, knownValues):
07:53
if aggregationMethod == 'average':
07:53
return float(sum(knownValues)) / float(len(knownValues))
07:53
elif aggregationMethod == 'sum':
07:53
return float(sum(knownValues))
07:53
elif aggregationMethod == 'last':
07:53
return knownValues[len(knownValues)-1]
07:53
elif aggregationMethod == 'max':
07:53
return max(knownValues)
07:53
elif aggregationMethod == 'min':
07:53
return min(knownValues)
07:53
else:
07:53
raise InvalidAggregationMethod("Unrecognized aggregation method %s" %
07:53
aggregationMethod)
zi_rus #
07:53
костыльчики, вот же они :)
07:55
если ты не захочешь в нок это встроить, то да, придется самому дописать
dvolodin #
07:56
ну не костыльчики, а придется там добавить строчку
zi_rus #
07:57
все чего нет в ноке и приходится дописывать в код - это костыли
07:57
то есть нок не может, а надо
07:58
хотя надо ли это только мне
dvolodin #
08:00
погоди
08:00
NOC использует внешние storage
08:01
для патчей на внешние библиотеки у нас есть каталог patches
08:01
сейчас я патчу mongoengine и django
TSergey_ #
08:02
"zi_rus: все чего нет в ноке и приходится дописывать в код - это костыли"
08:02
некстати говоря, можно добавить в бэкап то, что выдает "hg diff"?
Kostua #
08:05
а вот ветку develop влил в future/graphite, значит ли это что дальнейшие коммиты будут только в future/graphite?
dvolodin #
08:10
Kostua: нет
08:11
это значит, что в feature/graphite появятся последние изменения из develop
08:11
там пофиксили отдачу ifindex на кисках, оно критично
Kostua #
08:14
dvolodin: понял, спасибо
dvolodin #
08:14
zi_rus: в whisper добавить - не вижу проблем
08:14
в mongoengine я вчера закинул pull request
evyscr #
08:15
dvolodin: "$i18n": {} - ужасно.
08:15
говорю сточки зрения человека, занимающегося l10n
dvolodin #
08:17
evyscr: предложения?
08:17
проблема в целом понятна?
evyscr #
08:17
да их более одной
dvolodin #
08:18
в */collections/* лежат JSON, которые апгрейдом заливаются в базу
08:18
там модели инвентори, классы и правила FM и куча всего еще
evyscr #
08:19
gettext не просто так придумали и используют. минимизация точек редактирования и отделение трансляций от кода.
buggy-funhouse #
08:20
кто-то поможет с trap source unknown или нет?
evyscr #
08:20
я к тому, что эти два принципа очень важны
dvolodin #
08:21
buggy-funhouse: коллектор не проставил дуриком?
08:21
и активатор правильный?
buggy-funhouse #
08:22
активатор единственный и верный. Коллектор куда можно неверно поставить?
dvolodin #
08:24
если ты его прописал, то выгрузка по-другому делается
08:24
evyscr: а вот покажи мне, где и как используют gettext в JSON
08:24
при условии что это просто справочные данные
08:24
и при условии, что они поступают в разное время из разных источников
08:25
а также скажи, .po файл будет один на весь NOC, один на модуль или один на коллекцию
evyscr #
08:25
прошу заметить, я ещё не призывал перейти на gettext
08:26
два принципа я указал
dvolodin #
08:26
find fm/collections/eventclassificationrules/ -type f -name \*.json | wc -l
08:26
935
08:26
допустим, что я знаю про gettext
buggy-funhouse #
08:26
dvolodin: прописывать коллектор не нужно? Коллектор заводить не нужно? Настройки noc-collector.conf не нужны?
dvolodin #
08:26
buggy-funhouse: тебе - нет
buggy-funhouse #
08:26
Отлично. Он у меня и не прописан.
dvolodin #
08:27
расскажи, как можно применить gettext в этих условиях и какой профит оно может дать?
evyscr #
08:27
упртст
08:27
я не призываю использовать gettext
dvolodin #
08:28
чем тебе не нравится подход с $18n ?
08:28
при условии что точка редактирования строго одна -- это объект, который будет заливаться в базу
evyscr #
08:28
пять языков; как увидеть, где что передено?
dvolodin #
08:29
а кода в JSON можно считать что и нет
evyscr #
08:29
item, локализатор не поставил запятую
08:29
что делать?
dvolodin #
08:29
да легко
08:29
делаю отчет, который выводит все объекты в коллекии и локализованные строки
08:29
прямо параллельными колонками
08:30
если сильно хочется -- то прямо в морде NOC
evyscr #
08:30
английский текст изменился. как об этом узнает локализатор?
dvolodin #
08:30
изменился JSON
evyscr #
08:30
не
08:31
разве json не может поменяться без изменения сообщения?
dvolodin #
08:31
редко
evyscr #
08:31
то есть может
dvolodin #
08:31
давай конкретнее
08:31
посмотри fm/collections/alarmclasses
08:32
хочу subject/body и прочее там - на разных языках
08:32
теперь смотри общий паттерн
08:33
у zi_rus опять заглючила киска и начала слать чудные выражения
08:33
он сделал alarm class -- Vendor | Cisco | Total Fuckup
08:33
и какими-то окольными путями через три года он попал в репо
08:34
там обычно, если и меняется, то только текст
08:35
твою проблему номер раз - как узнать, что еще не перевели, можно пролечить сверочным отчетом
evyscr #
08:35
ok
08:35
это не слишком принципиально
dvolodin #
08:35
проблему номер два -- как узнать, что изменились только описания -- теоретически поднимать старую и новую версию json и проверять, не менялся ли в ней английский перевод
08:35
наверное, реализуемо
evyscr #
08:36
ммм
08:36
вероятно, реализуемо
dvolodin #
08:36
100%
zi_rus #
08:36
dvolodin, ты про фм удачно вспомнил, смотри приходит сообщение что упал isis на bundle-ether интерфейсе, но падения самого бандла нет, есть только падение всех интерфейсов в этом бандле. как можно спрятать в таком случае падение isis под падение линка
evyscr #
08:36
но надо чтобы fuzzy был
dvolodin #
08:36
погоди, не перебивай
08:36
зачем тебе fuzzy?
evyscr #
08:37
fuzzy не даёт использовать неверный перевод
dvolodin #
08:37
например, приходит письмо -- появился новый JSON с i18n
08:37
или -- поменяли английский перевод
08:37
evyscr: как?
evyscr #
08:38
при установке флага fuzzy используется не перевод, а оригинальный текст
dvolodin #
08:38
про перевод серверной части и JS-приложений я пока еще не говорю
08:38
evyscr: не понял, как это выглядит
evyscr #
08:38
в gettext-то?
08:39
ох, нет у меня под руками родной .po'шки...
08:40
https://www.gnu.org/software/gettext/manual/html_node/Fuzzy-Entries.html
dvolodin #
08:42
то есть типа пометка -- что тут у вас лажа какая-то в переводе?
evyscr #
08:43
ага
08:44
и пометка эта выставляется автоматически
dvolodin #
08:44
по каким критериям?
evyscr #
08:45
дык, альтерашн оф ориджинал текст
08:46
о котором мы и говорим
08:46
то есть, изменился en - выставился fuzzy.
dvolodin #
08:46
то есть при изменении английского перевода на все остальные должен выставиться fuzzy?
evyscr #
08:47
да
aermike #
08:47
hi
evyscr #
08:47
английский в большинстве случаев - не перевод, а оригинальный текст
aermike #
08:48
i use google translate to translate, but
dvolodin #
08:48
ну хорошо, допустим технически, что если в начале строки перевода идет [FUZZY], то в базу мы это не грузим, а в JSON храним
aermike #
08:48
from russian to english is an bad translate
dvolodin #
08:48
то есть алгоритм такое
08:49
если изменилось значение для английского текста и поменялись не какие-нибудь знаки препинания -- все остальные переводы помечаем как fuzzy
evyscr #
08:49
примерно так
08:51
следующая проблема - локализатору не надо видеть ничего, кроме переводимого текста и сопровождаюих его пометок.
08:51
он не знает, что такое json
dvolodin #
08:53
https://www.evernote.com/shard/s57/sh/58ccd0dd-4554-48d6-aa98-c7f0c741bf0f/755c1f0ccbe9aac636d7aae46e9699ce
08:53
evyscr: с этим локализаторы пойдут в пень
08:53
если локализатор переводит описание сетевых проблем или специфичного оборудования, то считаем, что он не полный балбес
08:53
мы же не торрент-клиент переводим
evyscr #
08:54
а вот хрен
08:54
он может знать сетевые проблемы и не знать json
dvolodin #
08:54
ну не смеши, а
08:54
;)
evyscr #
08:54
у меня под боком такие, лол
08:54
welcome to reality
dvolodin #
08:54
допустим, что у него будет морда для трансляций, прямо в NOC
Dmitry1 #
08:55
dvolodin: Дим, вопрос по FM. Ты думал над тем, чтобы disposition для ивентклассов вынести в отдельную базу, и оформить что-то типа ивенттриггеров
08:56
Реальная ситуация. В удаленном офисе стоит железка, которую включают утром, и выключают вечером и на выходных.
dvolodin #
08:56
Dmitry1: зачем?
Dmitry1 #
08:56
В случае с ивенттриггером я смогу поднимать аларм по проблемах с ней в рабочее время, и не поднимать в нерабочее
dvolodin #
08:56
evyscr: посмотрел описание fuzzy в моем ваианте?
08:56
Dmitry1: это не в disposition
08:56
тут зонтики нужны
08:57
и даже не совсем зонтики, а указание рабочего времени для железки
evyscr #
08:57
посмотрел
Dmitry1 #
08:57
Указание рабочего времени как раз реализовано в ивентриггерах
dvolodin #
08:57
за пределами рабочего времени - не пингуем ее
Dmitry1 #
08:57
И селекторы там реализованы
08:58
к которым я могу привязать эту железку
dvolodin #
08:58
Dmitry1: давай вынесем его просто на уровень managed object и managed object profile
08:58
ну и всякие ППР туда можно будет указывать
08:59
так оно правильнее будет
Dmitry1 #
08:59
Дим, 100% твоих сценариев (handlers, jobs и т.п.) можно вынести в триггеры. Почему ты не хочешь?
dvolodin #
09:00
триггеры -- тупой частный случай
Dmitry1 #
09:00
У них есть достоинство - ими можно управлять
dvolodin #
09:00
настройками железок тоже можно управлять
Dmitry1 #
09:01
джобами и хандлерами - нельзя. Это нивелирует все их преимущества.
09:01
сделай нормально работающие триггеры
e_zombie #
09:02
что то у меня после апдейта стало 2014-09-19 13:05:12,562 script(Huawei.VRP.get_version,10.64.181.173,**{}) failed: Cancelled
09:02
2014-09-19 13:05:12,564 Late answer for map task 42145190 is ignored
09:02
таких записей много
09:03
понятно что оно протормозило но странно это
Dmitry1 #
09:03
вот я, к примеру, хочу, чтобы на одной железке у меня поднимался аларм BGP Peer down, а на другой - не поднимался
09:03
Как мне это реализовать ?
09:04
А вот zi_rus хочет, чтобы алармы у него были с другим severety. Как без аларм триггера "изменить severety" это реализовать?
09:05
dvolodin: Дим. В базовой поставке NOC должно быть 10500 таких триггеров. А управлять ими - это уже личное дело конечного пользователя.
dvolodin #
09:05
handler'ы умеют менять severity
Dmitry1 #
09:06
т.е. ты предлагаешь конечному пользователю изучать python ?
09:06
А конечные пользователи windows должны изучать Microsoft Visual Studio ?
dvolodin #
09:09
Дим, в профилях объектов есть поле Down Severity
09:09
Dmitry1: Я предлагаю реализовывать функционал в виде нормальных настроек
Dmitry1 #
09:09
Диииииим !!!!
dvolodin #
09:09
а не костылей в виде триггеров
Dmitry1 #
09:10
Речь идет о том, что конкретному объекту (селектору) для конкретного алармкласса нужно вставить другой severity
dvolodin #
09:11
вот если эта проблема действительно массовая -- нужно сделать нормальную настройку для управления severity
Dmitry1 #
09:11
Другому конкретному объекту (селектору) для конкретного ивенткласса запретить поднимать аларм
dvolodin #
09:11
а не костылить
Dmitry1 #
09:11
Или поднимать аларм только в рабочее время
09:12
Или менять severity только врабочее время
09:12
В триггерах уже есть привязка к селекторам и таймсериям, а так же возможность их вообще отклуючать
dvolodin #
09:13
Дима
Dmitry1 #
09:13
Сама идея триггеров очень хорошая. Если она сейчас реализована криво, так и скажи.
dvolodin #
09:13
думай над тем, как могут выглядеть настройки
09:13
идея триггеров как раз -- запускать pyrule
09:14
"мерзкий питоновский код"
Dmitry1 #
09:14
ага
09:15
т.е. код джоба они тоже запустить могут
09:15
как и код хандлера
09:15
как и код солюшена
09:16
Вся проблема, в том, что они его не кошерно запускают?
09:16
Так всего-навсего нужно переделать механизм запуска
09:16
Например, добавить возможность передавать переменные в питоновский код
09:17
или вместо питоновского кода запускать небольшой сценарий
09:18
типа "если переменная X, попавшая в триггер, равна Y, то поднять аларм Z, передав ему переменную X"
09:19
Я говорю какие-то нереальные вещи?
09:20
Почему то это уже реализовано в той же The Dude
09:21
http://i.imgur.com/mgJEa.jpg
09:21
http://aacable.files.wordpress.com/2013/08/adding-probe-in-probes.png?w=868&h=548
09:21
https://aacable.files.wordpress.com/2011/12/2-probe.jpg?w=661&h=345
09:22
могу еще ссылок на картинки накидать
09:22
а винтернете полно этих проб, потому как там обычный текстовый файлик (в нашем случае будет JSON)
TSergey_ #
09:23
Dmitry1: есть у тебя минутка посмотреть NOC-1444, NOC-1442? там решения некоторых неглобальных проблем
dvolodin #
09:24
дим, ты вообще threshold'ы PM показываешь
Dmitry1 #
09:24
это просто примеры сценариев
09:24
когда аларм поднимается в зависимости от каких-то условий
dvolodin #
09:24
и даже хуже -- вместо того, чтобы дать пробы, которые работают из коробки, юзера заставляют ползать по кишкам SNMP
09:25
это не сценарии для алармов
Dmitry1 #
09:25
Они и будут работать из коробки
dvolodin #
09:25
а генерация алармов для активных опросов
09:25
ну нифига себе
09:25
вот тебе разница в подходе
Dmitry1 #
09:25
Просто кто мешает вынести управление ими в триггеры, и оформить их ка триггеры
dvolodin #
09:25
в NOC ты говоришь -- хочу мониторить загрузку транковых портов
09:25
и все
09:26
в dude значит -- для этой железки дерни такой-то oid, если будет бобо -- громко кричи
09:26
а вот эта железка неправильная, она не отдает загрузку по snmp -- тут мы обламываемся и ничего не кричим
Dmitry1 #
09:26
поставь себе dude
09:26
там куча предустановленных проб
09:27
в нашей терминологии, "ивентклассов FM"
09:27
а так же реакций на их срабатывание
dvolodin #
09:27
там нет FM вообще
Dmitry1 #
09:28
ты саму идею то пнял?
dvolodin #
09:28
бестолковая она абсолютно
Dmitry1 #
09:28
Приходит ивенткласс. мы смотрим какую то переменную. В зависимости от ее значения, что-то делаем
dvolodin #
09:28
вот тебе пример -- хочу мониторить температуру блоков питания
Dmitry1 #
09:29
да
TSergey_ #
09:29
Dmitry1: (скажи "да, гляну")
dvolodin #
09:29
допустимые интервалы зависят, вообще - то, от платформы
Dmitry1 #
09:29
TSergey_: да
TSergey_ #
09:29
спасиб :)
dvolodin #
09:29
в NOC ты говоришь -- хочу мониторить блоки питания всех шеститонников
09:30
при условии, что они воткнуты в железо, а не валяются на складе
09:30
и все
09:30
твои действия в Dude?
09:30
Дим, очень внимательно покури https://www.evernote.com/shard/s57/sh/d8ab1f6e-646d-46f0-9706-d97494819cde/00816532089b33ef67fe7a35ca4b3156
09:31
и пойми, в чем разница
Dmitry1 #
09:31
dvolodin: делаем триггер. НЕ PYRULE. привязываем его к селектору "шеститонник" и ивентклассу "temperature out of threshold" . смотрим значение переменной "temperature". В зависимости от значения температуры, поднимаем аларм
09:32
dvolodin: у меня куча (сотни и тысячи) свичей на чердаках, которые летом начинают слать алармы, что им жарко.
09:33
чем мне поможет graphite ?
dvolodin #
09:34
а чем тебе поможет dude?
Dmitry1 #
09:34
В dude пример того, как обрабатывать входящий ивент
09:35
получены данные - сравниваются с чем-то - в зависимости от сравнения что-то делается
09:35
У моего знакомого dude запускает скрипты на "sh"
09:36
Второй тебе пример. У меня есть циска, которую я не могу выключитт/вытянуть из стойки
09:36
У нее сдох вентилятор, и она постоянно шлет об этом сообщения
09:36
Но температура в пределах нормы
dvolodin #
09:37
ну так что тебя беспокоит?
Dmitry1 #
09:37
Как мне конкретно у жтой циски подавить сообщения об отказе этого конкретного вентилятора ?
dvolodin #
09:37
сделать функцию acknowledge для аларма
09:37
не надо его давить
09:37
пусть поднимет проблему
09:37
а ты ей тупо приоритет в 0 урони
09:37
типа знаю, отстань
09:38
и все
zi_rus #
09:38
dvolodin, а как это сделать без консоли?
Dmitry1 #
09:38
Блин! это вентилятор раз в пол-часа то запустится, то поднимется
zi_rus #
09:38
есть у меня один остановившийся вентилятор
Dmitry1 #
09:38
И она постоянно срет сообщениями
dvolodin #
09:38
сообщениям срет, а аларм висит один
Dmitry1 #
09:38
Мой выход в этой ситуации простой - снять галочку "is managed"
zi_rus #
09:39
Dmitry1, почини вентиляторо
Dmitry1 #
09:39
dvolodin: он иногда запускается, и аларм пропадает
09:39
zi_rus: не могу починить. надо разобрать пол-стойки, чтобы добраться до него
zi_rus #
09:39
в этом виноват нок?
dvolodin #
09:39
Дим
09:40
NOC нужен для того, чтобы дрючить распиздяев
09:40
которые знают про проблему, но ничего не делают
Dmitry1 #
09:40
Мне надо подавить конкретное сообщение про "FAN1" для конкретного MO/селнктора
dvolodin #
09:40
поставь нулевой приоретет на этот alarm
09:40
и все
Dmitry1 #
09:41
а если остановится "FAN2" ?
evyscr #
09:41
TSergey_: btw, http://dpaste.com/2K5ARW7
dvolodin #
09:41
берешь гоблина и пылесос
09:41
и отправляешь на площадку
TSergey_ #
09:42
evyscr: скажи еще раз функцию, плс
evyscr #
09:42
by_description
dvolodin #
09:42
NOC подразумевает наличие хоть какого-то порядка и хоть какой-то дисциплины в эксплуатации
zi_rus #
09:42
или насаждает ее силой :)
dvolodin #
09:42
если NOC ебет тебя за этот вентилятор - дрючь того, кто за него отвечает
09:43
вплоть до замены чувака на более вменяемого
Dmitry1 #
09:43
dvolodin: Дим, я уже выше написал, как в идеале оно должно работать. Как ты назовешь этот механизм (pyrule, trigger, handler, job, solution) мне все равно
dvolodin #
09:43
Дим, идеал у всех разный
09:43
пиши как могут выглядеть настройки и изменения в алгоритмах
Dmitry1 #
09:43
Но должна быть возможность обрабатывать вывод ивентов и в зависимости от него, что-то делать
zi_rus #
09:44
dvolodin, с хендлерами гибкости не хватает, многое приходится зашивать, то что надо изменить, в интерфейсе не поправить
dvolodin #
09:44
Dmitry1: он называется handlers
09:44
zi_rus: handler не обязан быть совсем жестким
09:44
он и настройки смотреть может
zi_rus #
09:44
dvolodin, хотябы по селекторами правила раскидать
Dmitry1 #
09:44
чем handlers принципиально отличается от триггера?
dvolodin #
09:44
опять же -- если ты придумаешь нормальные настройки
zi_rus #
09:44
какие настройки
dvolodin #
09:44
то handler может по ним работать
zi_rus #
09:44
где настройки?
dvolodin #
09:44
ну так вот придумайте их
Dmitry1 #
09:45
чем handlers ПРИНЦИПИАЛЬНО отличается от триггера?
zi_rus #
09:45
dvolodin, у триггеров вполне вменяемое меню, предлагаю повторить
Dmitry1 #
09:45
ага
09:45
настройки триггеров повторить для хандлеров
dvolodin #
09:45
если нужна какая-то карта изменения приорететов аварии -- надо думать, как она может выглядеть
Dmitry1 #
09:45
настройки триггеров повторить для джобов
dvolodin #
09:46
у меня, например, вообще другой взгляд
Dmitry1 #
09:46
настройки триггеров повторить для солюшенов
dvolodin #
09:46
alarm'ы NOC -- это некий промежуточный уровень
09:46
а вот за ним должны быть уже какие-то эксплуатационные проблемы
09:46
и TT на разрешение
09:47
давайте конкретнее все-таки
Dmitry1 #
09:47
dvolodin: для этого у нас есть алармтриггеры :)
dvolodin #
09:47
Dmitry1: ответ не правильный
09:47
смотри
09:47
у экслуатации обычно всего с десяток сценариев
Dmitry1 #
09:48
Конкретизирую: сделать унифицированный API для вызова хандлеров, pyrule, джобов и солюшенов
dvolodin #
09:48
заменить железку, перетянуть кабель, чмокнуть клиента в нос, позвонить на площащку
09:48
и так далее
09:48
Дим
09:48
вот пример тебе
09:49
https://www.evernote.com/shard/s57/sh/58ccd0dd-4554-48d6-aa98-c7f0c741bf0f/755c1f0ccbe9aac636d7aae46e9699ce
Dmitry1 #
09:49
Чтобы туда можно было передавать переменные в виде "int i = 1"
dvolodin #
09:49
тупо есть известная проблема -- вот описание для решения
09:49
я ее описал, показал
09:49
evyscr откритиковал, но из критики выросло разумное звено
09:49
придумали решение и записали его
Dmitry1 #
09:49
dvolodin: про API ты не против?
dvolodin #
09:50
если его помусолить немного, то получится задание для реализации
Dmitry1 #
09:50
Дим: Cделать унифицированный API для вызова хандлеров, pyrule, джобов и солюшенов
09:50
Чтобы туда можно было передавать переменные в виде "int i = 1"
dvolodin #
09:50
вот тебе второй вариант наработок - https://www.evernote.com/shard/s57/sh/fe4e685c-21bf-429d-a27f-1ec28b977d39/e3901ffac998152ce5c704c987e4c985
09:51
и у меня таких три десятка
09:51
вот тебе третий
09:51
https://www.evernote.com/shard/s57/sh/d8ab1f6e-646d-46f0-9706-d97494819cde/00816532089b33ef67fe7a35ca4b3156
Dmitry1 #
09:51
Про API понятно?
dvolodin #
09:52
пиши что за API, как оно бъется с тем, что сейчас есть
09:52
с перспективой развернуть до конкретных таблиц, где оно все лежать будет
TSergey_ #
09:52
evyscr: не, не помогло
Dmitry1 #
09:52
я эе говорю. придумать новое.
dvolodin #
09:52
Дим, ответ неправильный
09:52
придумывай
09:52
предлагай
Dmitry1 #
09:52
для текущей работы, чтобы ничего не ломать, сделать врапперы
dvolodin #
09:53
сядь и распиши
09:53
хочешь, evernote какой-нибудь поставь для заметок
Dmitry1 #
09:53
Пишу API:
dvolodin #
09:53
на самом деле я вчера сунулся к нам в JIRA
09:53
Дим -- напиши себе
09:53
распиши
09:53
прочитай сам
09:53
подумай
09:53
и показывай
Dmitry1 #
09:53
первая переменная -MO
09:54
вторая - строка
dvolodin #
09:54
на самом деле у меня предложение такое
09:54
поправить текущую схему проходдения issue в jira
09:54
добавить там отдельный этап -- Discussion
09:55
изначально нечетко сформулированные идеи по развитию функционала оформлять как issue с типом Epic
09:55
мы их будем выводить на этап обсуждения
09:55
под них в Confluence будем делать отдельные страницы
09:55
где сначала делаются общие наброски
09:55
там же ведется обсуждение
09:56
и тут же по месту вносятся корректировки
09:56
в итоге рождается понимание, как оно должно выглядеть и что нужно сделать
09:56
и прямо из confluence делаем subtasks на реализацию
09:56
их там же в странице видно будет
09:57
А вот после того, как все станет понятно - отдадим issue на реализацию
evyscr #
09:57
dvolodin: а в jira можно сделать метабаг?
dvolodin #
09:57
evyscr: там есть такой тип -- epic
09:57
он же custom story
09:57
это как раз то, что дима сейчас пытается протолкнуть
evyscr #
09:57
мне вот, например, хочется lldp собрать в одну кучу
dvolodin #
09:58
там теги есть
evyscr #
09:58
теги не всегда удобны
09:58
в метабаг именно добавляешь нужное
dvolodin #
09:58
теги все-таки ближе
09:59
есть компоненты
09:59
но я хочу их сильно урезать
09:59
реально до уровня -- CORE, UI, SA SCRIPT, INV MODEL, FM RULE
09:59
так их проще по исполнителям будет разделять
10:00
в принципе в jira есть линки между issue
10:00
может быть, то, что ты хочешь, проще сделать через confluence?
10:04
для метабагов тоже есть epic link, да
10:06
но все-таки лучше тегами
10:06
чтобы можно было все issue для скрипта увидеть, скажем
evyscr #
10:07
тег задаётся на уровне низлежащего бага его создателем, в результате может добавиться совсем не нужный баг
dvolodin #
10:07
тоже дело
10:07
классификаторы можно сделать в виде custom fields
evyscr #
10:08
ещё вопрос - слияние багов
10:09
оно иногда очень напрашивается
10:09
в jira что-то такое есть?
dvolodin #
10:10
https://marketplace.atlassian.com/plugins/com.verhas.jira.plugin.jira-issue-merger
10:10
плагин
zi_rus #
10:16
dvolodin, давай рендер графиков и потом продолжим про фм
dvolodin #
10:16
у тебя уже сбор данных пошел?
zi_rus #
10:16
да
10:16
вроде работает
TSergey_ #
10:17
рсскажите, есть где-то про фм, начиная с того, что должно быть включено на коммутаторе?
zi_rus #
10:17
1821M
10:17
насобирал
techwriter #
10:17
Доброго дня всем! Просьба дать материал для документирования.
zi_rus #
10:19
techwriter, а что? уже все описано? а где эта радость сейчас лежит? а то я открыл noc docs, а там только пустые странички
10:22
dvolodin, от тебя еще понядобится инструкция как добавить новые метрики. а то пока со встроенными играемся
TSergey_ #
10:22
http://kb.nocproject.org/display/NOCDOC/NOC+develop+branch+documentation
zi_rus #
10:26
dvolodin, а еще у меня проба 2% cpu съедает, больше чем все остальные демоны вместе, надо бы пофиксить чтобы лаунчер таки запускал несколько инстансов
techwriter #
10:36
Описаны модули Service Activation, DNS, VLAN, Performance Management
dvolodin #
10:37
коллеги, раскажите кто-нибудь Свете про формочки в main
evyscr #
10:50
В правом верхнем углу есть имя пользователя. В его меню есть user profile, в нём - notification contacts.
10:50
Это важно! (q)
10:51
Иначе потом фиг догадаешься, почему не работают нотификейшны на пользователя
10:53
которые используют информацию из Main > Setup > Notification Groups
Dmitry1 #
10:53
dvolodin: В Jira можно создавать task report. Если не трудно, создай space по задачам и перенеси свои задачи туда
dvolodin #
10:54
Dmitry1: да, я хочу сделать space -- discussions
Dmitry1 #
10:54
с задачами и TODO
11:13
dvolodin: http://kb.nocproject.org/display/~dmitryluhtionov/New+API
11:18
dvolodin: lдобавил комментарии
dvolodin #
11:25
о
11:25
там появился крайне полезный шаблон страницы -- Product Requirements
11:27
вот, как раз то, что я хотел
11:27
Page Properties и фильтры
techwriter #
11:42
Просьба рассказать про модуль Main
zi_home #
18:51
dvolodin, действительно в инвентори не дает модель сохранить http://pastebin.com/abUGAeCG
dvolodin #
18:51
хорошо, проверю
zi_home #
19:00
и еще странность такую встретил
19:00
перезапустил нок
19:00
он откопал какие-то старые алармы
19:01
вернее старые ивенты и поднял два ларма, и тут же один закрыл
19:01
а у незакрытого таймстамп указывал на duration 21 час
20:53
по симптомам дело не в нотификации
20:53
скорее это классификатор
20:54
когда ивенты пришли, он их почему-то пропустил и они висели в базе
20:54
при перезапуске с ним что-то случилось и он наконец смог ивенты классифицировать
20:58
потому что до перезапуска алармов не было, а потом они появились. нотификатор работает четко. дело в классификаторе или где-то рядом
Tweet
Share this page
Share this page: Tweet