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: 04.07.2014
TSergey #
05:15
посоветуйте по регэкспу, плс
05:15
есть
05:15
IP Address MAC Address Mode ACL Status Ports
05:15
--------------- ----------------- ------------- ---------- ------
05:15
78.140.58.195 00-19-5B-BE-36-78 Static Inactive 7
05:15
а есть
05:15
IP Address MAC Address Ports Mode
05:15
--------------- ----------------- -------- ----
05:15
78.140.4.5 48-5B-39-76-C8-C7 1 ARP
05:15
нужно ловить, что у становлено на порту --- ACL или ARP
05:15
в одном случае статус левее порта, в другом правее
05:16
можно ли так составить выражение? или "игра не стоит свеч"?
lexus-omsk #
05:26
у меня пока только один вариант: сделать в 2 прохода. За один собрать ip-mac (если надо), а потом отдельно - ARP/Static
aermike #
05:33
hi all
05:33
when i try to upgrade noc
05:33
receipt following error
05:33
http://pastebin.com/fRYH8mLM
05:47
.
TSergey #
06:08
lexus-omsk: спасиб
06:09
сделал два шаблона, вторая выдача --- только на DES-3526
bsod1101 #
06:11
А кто как запихивает в нок оборудование пачками? а то что-то у меня через csv совсем не кушает. Через базу если добавить - sa profile не активен. Толи лыжи не едут толи... вообщем что-то явно не так
zi_rus #
06:13
если список большой то заливать лучше через консоль
06:13
у веба таймаут маленький, а нок тормозной на импорте
bsod1101 #
06:14
Error: Invalid field 'name;is_managed;administrative_domain;activator;profile_name;object_profile;scheme;address;port;user;password;super_password;snmp_ro;is_configuration_managed;repo_path'
06:15
:(
zi_rus #
06:18
bsod1101, через запятую надо
MindGames #
06:18
привет! подскажите, у кого-нибудь было такое на D-Link? Он недоступен по управлению, не пингуется. В АРП таблице IP на светится. Управление там висит на 11м вилан. Но!!! Коммутатор работает. К нему подключены клиенты - они работают. Мало того, к нему подкл
06:18
ючены еще несколько коммутаторов (он являетя транзитным). И эти коммутаторы доступны по управлению. Т.е. конфиг на нем явно не слетел. Все VLAN на месте.. Но ПОЧЕМУ (???) у него перестал быть доступным IP?
06:18
причем, пингую из той же подсети, в которой он находится.. т.е. проблема со шлюзом и маршрутизацией исключена
bsod1101 #
06:18
zi_rus> оу о_О сейчас попробую...
e_zombie1 #
06:19
,,
bsod1101 #
06:20
zi_rus> огромное спасибо. а я все думал в чем магия. :)
e_zombie1 #
06:26
Syncing fm.eventclasses
06:26
... updating Network | IP | Address Conflict
06:26
/opt/noc/lib/python2.6/site-packages/mongoengine/document.py:213: DeprecationWarning: The safe parameter is deprecated. Please use write concern options instead.
06:26
collection.update(select_dict, {"$set": updates}, upsert=upsert, safe=safe, **write_options)
06:26
... updating Network | Link | Connection Problem
06:26
... updating Security | Authentication | SNMP Authentication Failure
06:26
... updating Network | MAC | MAC Flap
06:26
... updating Vendor | Cisco | IOS | Network | Load Balance | Server Farm Degraded
06:26
Error: Checksum mismatch for file 'fm/collections/eventclasses/Vendor/Cisco/IOS/Network/Load_Balance/Server_Farm_Degraded.json'
06:26
upgrade-user: 45: collection --sync failed
06:26
Terminating
zi_rus #
06:34
aermike и e_zombie1, вы нашли друг друга :)
06:34
похоже кто-то в репе напортачил
06:35
подозреваю Dmitry11, он правила для ФМ ковырял
e_zombie1 #
06:35
и кого бить по наглой рыжей морде? (с)
zi_rus #
06:41
HaLVeR, может ты поправить сможешь?
e_zombie1 #
06:43
NOC-1370?jql=
aermike #
06:43
zi_rus yes we find :) (at least that is what say google translate =) )
evyscr #
06:47
ну, править надо fm/collections/eventclasses/manifest.csv
e_zombie1 #
06:48
кутечи 8200 крашат гет версион NOC-1371
evyscr #
06:49
воткнуть ebbc0a56109cfb01253455da0797a1f0914c60bffeecaf73248c53d2b0267496
06:52
а для следующего еррора: f37c565a68253c9052308ce8fc919e03833a0505c1b858ba837146a22f2653fe
06:53
после этого апгрейд вроде как проходит
06:56
http://dpaste.com/25NVD6E
zi_rus #
06:56
теперь бы это в репо отправить
evyscr #
07:01
hg blame говорит, что виноват Dmitry11 в коммите 9779
zi_rus #
07:02
видите, я угадал
TSergey #
07:05
MindGames: DES-3200 C1 стал дропать пакеты в управляющем влане, причину так и не нашли
07:06
перезалили конфиг, какое-то время поработал и опять заблочил влан
Dmitry11 #
07:06
вроде как я обновлял манифест ?
TSergey #
07:07
Dmitry11: привет, у тебя есть DGS-3100?
Dmitry11 #
07:07
Где-то на районе стоит
TSergey #
07:08
портчэналы на нем не определяются
07:09
Dmitry11: и вот еще NOC-1360
Dmitry11 #
07:09
кинь на pastebin вывод
07:10
По NOC-1360 dvolodin обещал доделать expand_interface_range после того, как закончит переход на ExtJS 5.0
07:11
TSergey: а зачем тебе пакеты в управляющем влане?
TSergey #
07:12
ты про что?
Dmitry11 #
07:12
ты выше писал про DES-3200 C1
zi_rus #
07:13
Dmitry11, ты смог обсудить как дописывать информацию в ивент
TSergey #
07:13
через дефолтный влан передается тэгированный трафик, если я все правильно понимаю
07:13
(не факт что все правильно понимаю)
Dmitry11 #
07:13
эээ?
07:14
тут смотреть надо не на vlan, а на порт
MindGames #
07:14
TSergey вот черт.. че это он вдру стал дропать пакеты то? :(( Мало того, этот управляющий вилан проходит через него транком на другие коммутаторы и они работают. и как это починить? Ребут поможет?
Dmitry11 #
07:14
в настройках порта есть возможность пропускать весь трафик, или только тех вланов, которые нна нем прописаны
TSergey #
07:15
MindGames: мы не разобрались, отложили железку
07:16
в конфиге ничего криминального не обнаружили
MindGames #
07:16
Dmitry11 он скорей всего. высказывал предположение на счет моей проблемы. У меня на одном из Длин внезапно, отвалилось управление. Верней, я сначала думал, что он отвалился вообще.. но порты в его сторону все живые. Коммутаторы, которые за ним тоже все
07:16
доступны. И клиенты, подключенные к нему, тоже работают нормально. Но при этом, коммутатор не отвечает на пинг. и в арпах его адрес не резолвится. Впервые с таким сталкиваюсь.
07:17
TSergey просто железка работала исправно больше года. и тут внезапно такое... ребут делать боюсь. как бы потом вообще все не отвалилось. буду отправлять человека туда
Dmitry11 #
07:17
В сервисный центр его неси. У него CPU накрылся
zi_rus #
07:19
Dmitry11, ты сможешь сделать аларм не на железку от которой пришло сообщение, а на соседа?
Dmitry11 #
07:20
для этого нужна топология. А она у нас пока хромант
TSergey #
07:20
Dmitry11: http://pastebin.com/CAsyZEfW DGS-3100
zi_rus #
07:20
у меня топология есть
07:20
мне нужен аларм
07:20
очень
07:20
у кого топологии нет, это дело наживное
07:21
а аларм для меня был бы очень вкусным
TSergey #
07:21
"8[14:19] Dmitry11: В сервисный центр его неси. У него CPU накрылся"
07:21
а как-то еще можно это диагностировать?
zi_rus #
07:21
грозой ему башню снесло
07:21
без шансов
07:21
в морг
misak #
07:21
день добрый
TSergey #
07:21
MindGames: а какой конкретно у тебя длинк? у меня это DES-3200 C1, и есть подозрение что еще один такой
misak #
07:21
можно уже апгредиться, кто в курсе?
zi_rus #
07:22
Dmitry11, тебя кроме топологии еще что-то тормозит?
Dmitry11 #
07:22
много всего Ж)
zi_rus #
07:23
аларм класс уже есть
07:23
просто ивент обработать
07:23
это просто вкусняшка такая
07:23
очень хочеца
Dmitry11 #
07:23
мне тоже многого хочется в FM
misak #
07:23
Error: Checksum mismatch for file 'fm/collections/eventclasses/Vendor/Cisco/IOS/Network/Load_Balance/Server_Farm_Degraded.json'
07:24
кто в курсе как пофиксить?
e_zombie1 #
07:24
NOC-1370?jql=
zi_rus #
07:24
Dmitry11, дык давай делать
07:24
ФМ рулит
MindGames #
07:24
TSergey у меня 3120-24 модель
zi_rus #
07:24
я тоже Володина пинаю если чего не хватает
Dmitry11 #
07:24
misak: там следующий коммит фиксит эту проблему
MindGames #
07:25
Dmitry11 блин. а как же он тогда работает? ну в смысле. виланы разруливает и т.п.
zi_rus #
07:25
Dmitry11, вон он сделал, теперь check link ты можешь отключить
misak #
07:25
Dmitry11: а его нет еще? я несколько раз апгрейдился
zi_rus #
07:25
MindGames, асики запрограммированы, вот и работает, если ребутнется, то все, привет
MindGames #
07:26
пипец.... :(
misak #
07:27
или не надо на девелопе сидеть?
zi_rus #
07:27
misak, это Dmitry11 поломал
Dmitry11 #
07:28
misak: сегодня починю
misak #
07:28
а кто знает последнюю рабочую ревизию? чтобы откатиться
Dmitry11 #
07:28
misak: погодь 10 минут
misak #
07:29
ок
zi_rus #
07:29
misak, вон evyscr выше написал как можно пофиксить быстро
MindGames #
07:29
zi_rus и конфиг с него теперь ни как не вытащишь, да? :(
zi_rus #
07:29
да
07:29
сдох бобик
07:29
конфиги нок собирает
misak #
07:30
пасиба
TSergey #
07:30
8[14:32] zi_rus: сдох бобик
07:30
с консоли же можно
zi_rus #
07:30
нет
MindGames #
07:30
именно этот коммутатор не был заведен в нок :(
zi_rus #
07:31
если цпу сдох он и с консоли не ответит
TSergey #
07:32
zi_rus: а как он работает-то тогда?
zi_rus #
07:32
на асиках
07:32
там в тскам загрузилась изначальная конфигурация
07:32
он по ней и работает
TSergey #
07:32
у нас при подобной ситуации, с консольки был доступен
zi_rus #
07:33
ну это может зависеть
TSergey #
07:33
изначальная --- заводская?
zi_rus #
07:33
нет
07:33
он же загрузился
TSergey #
07:33
сохраненная?
zi_rus #
07:33
конфиг прочитал
07:33
работал
Dmitry11 #
07:33
misak: Починил
zi_rus #
07:33
потом проц отсох
misak #
07:34
спасибо !
zi_rus #
07:34
он по остаточной информации и продолжил работать
Dmitry11 #
07:34
у нас было, что с консоли работает, а по сети - нет
TSergey #
07:34
zi_rus: а скажи как можно подиагностировать проц, я-то был уверен, что в его сторону летит что-то непознанное и он с ума сходит
Dmitry11 #
07:35
zi_rus: не пугай народ :) Обычные "мыльницы" без CPU отлично работают
TSergey #
07:35
Dmitry11: и тоже думаешь, что проц?
zi_rus #
07:35
Dmitry11, обычные мыльницы не управляются по телнету, ен имеют стп, lacp, vlan и прочего
Dmitry11 #
07:35
Не просто думаю, а уверен. У нас тысячи этих D-Link'ов, так что с их работой я постоянно сталкиваюсь
zi_rus #
07:36
а это все обрабатывается процом
07:36
у него сейчас нормальный коммутатор превратился в мыльницу
freeseacher #
07:36
Ребята, techwriter наш писатель доки. помогите плиз по возможности ответами на повросы. и у нас появится нормальная документация
Dmitry11 #
07:36
zi_rus: Я тебя удивлю, но vlan, и даже STP обрабатывается не процом
zi_rus #
07:36
процом
TSergey #
07:37
zi_rus: так вланы же пашут, кроме управляющего
zi_rus #
07:37
vlan приходит из конфига и потом живет в TCAM
07:37
ребутнешь и не будет у тебя вланов
07:37
станет мыльницей
Dmitry11 #
07:37
А какое отношение к TCAM иммет проц?
zi_rus #
07:37
повезет если антаг трафик сможет свичить
Dmitry11 #
07:37
Ну да. После ребута все настройки слетят
07:38
У d-link'аб кстати TCAM более хитро, чем у циски устроена
evyscr #
07:38
freeseacher: fsck yeah!
zi_rus #
07:38
да ладно, чипы там везде одинаковые броадкомы
TSergey #
07:38
ну так как подиагностировать проц?
zi_rus #
07:39
что ты хочешь диагностировать?
07:39
сдох или нет?
TSergey #
07:39
ага
zi_rus #
07:39
цепляйся консолью
07:39
не отвечает
Dmitry11 #
07:39
Если у циски я могу использовать шаблон, сколько отдать под FIB, а сколько под RIB, то у d-link'а это число жестко забито
zi_rus #
07:39
значит сдох :)
07:39
ну это уже детали
TSergey #
07:40
так в том-то и дело что консолью цепляется, а в работе теряет связь по управляющему влану
Dmitry11 #
07:40
TSergey: я же тебе говорю, накрылся проц
TSergey #
07:40
да я уже согласился :)
07:41
но в условиях "то работает, то нет", как-то бы хотелось еще увидеть, что это прой
07:41
*проц
zi_rus #
07:41
Dmitry11, хрен с ним со свичем, давай правило для ивента напишем
techwriter #
07:42
Просьба дать материал для документирования раздела Service Activation, раздела sa>mo и sa > setup > object profiles уже задокументированы.
07:43
*разделы
Dmitry11 #
07:44
techwriter: Попробцй поискать в блогах
evyscr #
07:46
techwriter: а можно уточнить, что именно нужно?
TSergey #
07:46
научите как из MacDB дернуть инфу по маку
zi_rus #
07:46
evyscr, она доку для нока пишет, если расскажешь что знаешь, то будет хорошо
evyscr #
07:46
я в курсе, мне вопрос не совсем понятен
zi_rus #
07:47
e_zombie1, ты не веществами балуйся, а рассказывай что знаешь :)
techwriter #
07:47
описание любого раздела из Service ctivation, кроме sa>mo и sa > setup > object profiles
07:47
*Activation
zi_rus #
07:47
про sa > monitor расскажите
evyscr #
07:47
ну-ка, кто селекторами балуется - рассказывайте
TSergey #
07:48
я балуюсь селекторами :)
07:48
но чего-же там рассказывать
zi_rus #
07:48
логику например
07:49
как комбинируются условия
07:49
какие маски можно делать
evyscr #
07:49
TSergey: вот и рассказывай, что там да как
aermike #
07:51
now working upgrade
e_zombie1 #
07:51
techwriter: http://i62.fastpic.ru/big/2014/0704/d5/010985bc4bda529a3b1512f1826b02d5.png
TSergey #
07:52
SA\Setup\ManagedObjectSelector Add
07:52
использую селеторы по тэгам, по Name (name1|name2)
07:52
по атрибутам
07:53
это все :)
07:54
вот так выглядит экспрешшн, например
07:54
"IS MANAGED AND attr("HW version") ~ "C1" AND attr("platform") ~ "DES-3200""
07:54
в списке
07:55
с этим делом очень удобно использовать навешивание тэгов по селектору, для фильтров в SA\MO
e_zombie1 #
07:56
techwriter: а потом селекторы вида s.X.X.X.X превращаются в networkcharts для отображения колец доступа http://i62.fastpic.ru/big/2014/0704/87/f9023db41d96779cf42ce9e9a45e0c87.png
TSergey #
07:58
techwriter: http://forum.nocproject.org/index.php?topic=298.0
ss_ #
08:07
хай
08:08
в питоне сильные есть?
e_zombie1 #
08:08
уй
ss_ #
08:08
как сравнить текушую дату и дату в формате excel
e_zombie1 #
08:09
это канал про аниме?
ss_ #
08:10
ога, аниме тоже смотрю
08:10
серьезно)
freeseacher #
08:10
Как пропатчить KDЕ под freebsd ?
Dmitry11 #
08:10
блин, не успел
08:10
в оригинале было KDE2 под FreeBSD
ss_ #
08:11
http://pastebin.com/rcJ7czDi
08:11
кеды третьи были збс
freeseacher #
08:11
нее мне пятый кде. под 17-ую фрю.
08:11
я из 2027-ого
evyscr #
08:12
а разве фрю не в 2021-м закопали?
ss_ #
08:12
ответ типа того 2014-07-04
08:12
1970-01-01 00:00:00
08:12
25569
08:12
1970-01-01 00:00:00
08:12
25569
08:12
1970-01-02 00:00:00
08:12
25570
freeseacher #
08:12
нее. в 21 ее перевели в GIT.
08:12
вот ты и обновлялся не с того источника
08:13
не. на EULA
TSergey #
08:14
не поможет? https://docs.python.org/2/library/datetime.html
ss_ #
08:15
читал
08:15
но в 4 утра уже ман не раскуривался
TSergey #
08:16
в CSV у тебя дата как лежит?
ss_ #
08:16
вообщем задача проверка лога, если дата (время отбросим row[2].split(".")[0] ) совпадает с datetime.date.today() то труе и дальше я там проверки свои делаю
08:17
TSergey, 0,109781,25569.937280,"Max SPL of day","87.6","dBc",0
08:17
1,100562,25569.830579,"Max SPL of day","88.6","dBc",0
08:17
в xls формате, xlrd преобразовываю в человечный вид
Dmitry11 #
08:18
evyscr: а чего это ее должны в 2021-м закопать?
TSergey #
08:19
ss_: ого
Dmitry11 #
08:19
На опеннете на каждый пост об каких-то новшекствах во фре мдет лютый срач о том, что ее давно уже похоронить должны.
evyscr #
08:19
Dmitry11: ну ви таки как в первый раз в ирц-сраче
ss_ #
08:20
TSergey, во во, маны плохо раскуриваются, спал 3 часа всего. Задачка веселая но не дается
Dmitry11 #
08:20
Да я просто ржу с этого опеннета.
08:20
Там была какая=то тема о линуксовых контейнерах
08:22
В линуксе сначала запилили кучу гипервизоров, а потом начали делать контейнеры, а во фре сначала сделали контейнеры, а потом начали писать гипервизор.
08:22
Но чувакам с опеннета виднее, каким путем должна развиваться операционка :)
evyscr #
08:25
Некоторым - виднее
ss_ #
08:25
TSergey, есть мысль как сравнить 2014-07-04 с 1970-01-01 00:00:00
aermike #
08:25
hi again
08:25
i try check ping script
ss_ #
08:25
или как из 1970-01-01 00:00:00 сделать 1970-01-01
aermike #
08:25
and receive that
ss_ #
08:26
хотя
08:26
split едрить его кудрить
aermike #
08:26
http://pastebin.com/yL38d877
08:26
object is managed
Dmitry11 #
08:28
aermike: do you have object witn name "10.33.0.2" ?
aermike #
08:28
yes
TSergey #
08:28
ss_: я совсем еще не сварщик
08:28
но что если разбить split('-') для первого, split('-',' ') для второго
08:28
и сделать из них даты
aermike #
08:28
id 3
freeseacher #
08:29
ss_, преобразуй даты к unixtimestamp да сравнивай
08:29
не надо грязи с регулярками
ss_ #
08:30
unixtimestamp гемор, мне нужно не время
08:30
только текущие сутки
freeseacher #
08:30
эх.
ss_ #
08:30
даты совпали и оглы
Dmitry11 #
08:30
aermike: http://kb.nocproject.org/display/DOC/Canned+Beef
freeseacher #
08:30
время преобразуй к формату врмени.
aermike #
08:30
Dmitry11 sorry id is 2
freeseacher #
08:30
там функций для сравнения дат дохера
ss_ #
08:30
ну так то да
08:30
но вот как сравнить 2014-07-04 с 1970-01-01 00:00:00 или как из 1970-01-01 00:00:00 сделать 1970-01-01
08:31
сплит чет давится
freeseacher #
08:31
http://stackoverflow.com/questions/2265357/parse-date-and-format-it-using-python
08:31
не надо сплит
08:31
дата != строка
Dmitry11 #
08:33
aermike: ./noc debug-script ping OBJECT_NAME 'address="127.0.0.1"'
08:34
or
ss_ #
08:34
чет не пре
Dmitry11 #
08:35
./noc debug-script ping 2 'address="10.33.0.2"'
TSergey #
08:35
ss_: для начала
08:35
str1 = '2014-07-04'
08:35
str2 = '1970-01-01 00:00:00'
08:35
str1.split('-')
08:35
str2.split(' ')[0].split('-')
ss_ #
08:35
TSergey, тут ебучая дата 25569.937280'
08:35
вот во что уперся
08:35
conv = datetime.datetime(*xlrd.xldate_as_tuple(row[2], 0))
freeseacher #
08:36
TSergey, ааааааААААааАААаааААААААААААА!!!!!111одинодин
08:36
вот дока по дейтеутил http://labix.org/python-dateutil
aermike #
08:36
Dmitry11 i thing this is relevant
08:36
Error: Invalid script 'Juniper.JUNOS.ping
08:36
moment to try in cisco
TSergey #
08:37
ss_: ты же писал "8[15:33] ss_: но вот как сравнить 2014-07-04 с 1970-01-01 00:00:00 или как из 1970-01-01 00:00:00 сделать 1970-01-01"
aermike #
08:38
Dmitry11 this is in cisco 2950
08:38
unregister_socket(<CLITelnetSocket(0x41d8d50, 10.33.0.3:23, closing, shutdown)>)
Dmitry11 #
08:38
aermike: profile Juniper.JUNOS has no 'ping' script
ss_ #
08:38
а
08:38
ща
aermike #
08:39
Dmitry11 how can i use ping_check.py?
Dmitry11 #
08:39
aermike: put all log to pastebin, please
aermike #
08:39
moment
Dmitry11 #
08:39
aermike: works only from JOBs
ss_ #
08:39
print str2.split(' ')[0]
08:39
1970-01-01
Dmitry11 #
08:41
aermike: ping_check.py and Сisco.IOS.ping - are completely different scripts
ss_ #
08:41
TSergey, со строкой это работает но резульатт conv = datetime.datetime(*xlrd.xldate_as_tuple(float(row[2]), 0)) 1970-01-01 22:29:41 и это не строка для сплита
08:41
Traceback (most recent call last):
08:41
File "/home/ss/Dropbox/ZabbixТЗ/LSS100/usl100csv.py", line 28, in <module>
08:41
print conv.split(' ')[0]
08:41
AttributeError: 'datetime.datetime' object has no attribute 'split'
aermike #
08:41
http://pastebin.com/f9mGb9dQ
Dmitry11 #
08:42
aermike: 2014-07-04 11:40:19,991 [Cisco.IOS.ping(3, 10.33.0.3)] Login failed:% Login invalid
aermike #
08:44
hmm crash sae
08:44
moment
08:49
Dmitry11 i use juniper equipment in network. pings are check ok. how see response time?
Dmitry11 #
08:50
aermike: Juniper.JUNOS has no 'ping' script
08:51
aermike: put your CLI output from Juniper console, and I try to write this script
08:52
and make something "ping ?" to see all available parameters of "ping" commsnd
bsod1101 #
08:57
<ss_> >>> datetime.today()
08:57
datetime.datetime(2014, 7, 4, 16, 57, 47, 200791) >>> datetime.today().isoformat(' ').split()[0]
08:57
'2014-07-04'
ss_ #
08:59
bsod1101, еаааа, много благодарностй
08:59
conv = datetime.datetime(*xlrd.xldate_as_tuple(float(row[2]), 0))
08:59
print conv.isoformat(' ').split()[0]
09:00
все отлично!
bsod1101 #
09:00
:)
ss_ #
09:00
2014-07-04
09:00
1970-01-01
09:01
даты есть остально тупо сравнить, дело техники )
bsod1101 #
09:02
<ss_> а чего ваяешь?
ss_ #
09:02
внешнюю проверку в забиксе
09:03
вот на эту поебеньку http://www.uslinc.com/index.php?page=shop.product_details&flypage=flypage.tpl&product_id=58&category_id=18&option=com_virtuemart&Itemid=103&vmcchk=1&Itemid=103
09:03
результаты утреннего тестирования в кинотеатре надо анализировать
aermike #
09:03
Dmitry11 here is output http://pastebin.com/dMC2Z1Ey
09:03
thank you
09:04
but in sae there is another script used for discovery
09:04
it works very well
09:04
how see response time in discovery......
09:05
script from profile i think i used for performance
bsod1101 #
09:05
забавная штуковина
ss_ #
09:06
ога, в куче кинотеатров ставится
aermike #
09:06
but for now is enough to see last response time from ping from discovery
ss_ #
09:06
утром тест прогнали
09:06
логи с железки берутся по ip/log.csv
09:07
а дальше анализ чего сегодня отдало и сравнение со вчерашним и если расхождение более чем задано то аларма и труба
09:07
вся логика и оповещалки на забиксе
e_zombie1 #
09:39
кхм. интересный концепт
aermike #
09:39
.
MindGames #
09:42
не пойму, а что оно должно логировать то? длительность свечения экрана и звука?
Dmitry11 #
09:44
aermike: put, please output from like "ping count 5 10.22.0.3'
09:55
aermike: https://bitbucket.org/nocproject/noc/commits/2b4802382e0df4f8aface327348c4f5ce2305608
ss_ #
10:30
MindGames, как объяснить на пальцах то
10:30
есть набор тестовых семплов картинки и звука
10:31
их прогоняют в зале а эта штука змеряет результаты
10:32
т.е. например упал уровень звук одного из каналов - погорели динамики, вот как их искать?
10:32
каждое утро механик буит все обходить?
10:32
а как генерировать все?
10:32
e_zombie1 зачем?
evyscr #
10:33
езомбанулся?
10:33
но таки действительно, зачем?
e_zombie1 #
10:33
просто чтобы на карте был.
ss_ #
10:34
а чтож не логи сразу печатать с него?
e_zombie1 #
10:34
опять же это почти полноценная сетевая железка. которую надо мониторить. шить и тд
aermike #
10:35
Dmitry11 thank you
e_zombie1 #
10:36
PORT STATE SERVICE
10:36
21/tcp open ftp
10:36
23/tcp open telnet
10:36
80/tcp open http
10:36
280/tcp open http-mgmt
10:36
515/tcp open printer
10:36
631/tcp open ipp
10:36
5120/tcp open unknown
10:36
9100/tcp open jetdirect
10:36
9220/tcp open unknown
10:36
9290/tcp open unknown
10:36
Nmap done: 1 IP address (1 host up) scanned in 7.24 seconds
10:36
гыгыгыг. счас выяснилось что он не прикрыт ацль и на него могут печатать абоненты.
10:36
клёвата
zi_rus #
10:38
а кстати, что на счет серверов в ноке и типичных для задач?
e_zombie1 #
10:39
отвечаю. нихуя не работает.
zi_rus #
10:39
ну это понятно
10:39
я вот думаю вообще
10:39
стоит развивать
10:39
или поставить заббикс
e_zombie1 #
10:40
основная фича в том что там в скриптах пользуется SU а не SUDO а только сильно упоротый админ будет давать админский пароль туда куда это не надо
zi_rus #
10:40
e_zombie1, поправить скрипты не сложно
10:40
ты так говоришь как будто это пиздец какое препятствие
10:40
вопрос скорее идеологический
10:41
практика показывает что сетевики часто имеют под контролем сервера
ss_ #
10:41
в убунте все через sudo
e_zombie1 #
10:41
вот и я о том же.
10:41
надо править их для использования судо и тогда можно судить как это работает.
10:42
там можно даже cdp \ lldp сделать на карту
zi_rus #
10:42
севера и по макам неплохо лягут
10:42
с виртуалками засада
e_zombie1 #
10:43
# ladvdc
10:43
Capability Codes:
10:43
r - Repeater, B - Bridge, H - Host, R - Router, S - Switch,
10:43
W - WLAN Access Point, C - DOCSIS Device, T - Telephone, O - Other
10:43
Device ID Local Intf Proto Hold-time Capability Port ID
10:43
а что виртуалки?
10:44
NOC-1330?filter=-2
zi_rus #
10:44
они своими маками тоже светят на сколько я понимаю
e_zombie1 #
10:45
они светят маками бриджей к которым подключены
zi_rus #
10:45
для серверов часто ведут учет по и лицензий, а сетевым железкам это похер
e_zombie1 #
10:45
# brctl show
10:45
bridge name bridge id STP enabled interfaces
10:45
br0 8000.feffffffffff no vif5.0
10:45
vif0.0
10:45
peth0
10:45
virbr0 8000.000000000000 yes
evyscr #
10:46
e_zombie1: вы провокатор. они светят своими маками
e_zombie1 #
10:47
да. я та ещё сволота.
evyscr #
10:47
тогда запили мне tags__contains в REST
e_zombie1 #
10:48
NOC-1330
10:50
я пилю плохо. я тестирую.
evyscr #
10:50
и что? у нас один единственный профиль по лялиху, например
e_zombie1 #
10:50
и придумываю пиздецы.
evyscr #
10:50
и фотаешь, да
e_zombie1 #
10:50
который нихуя не работает при этом
evyscr #
10:50
естессно
10:51
но там (в sa для серверов) вообще (по моему идиотскому мнению) надо творить слепление кучки профилей
10:52
для одного объекта
e_zombie1 #
10:52
нууууу возможно.
10:52
я бы пошёл по простому пути.
10:53
перевёл всё на использование sudo и сделал get_version
10:53
уже этого хватит на 50% потребностей.
evyscr #
10:53
sudo тоже не везде есть
e_zombie1 #
10:53
а потом сделал cdp\llpd через ladvd
10:53
где нет судо в линукс?
evyscr #
10:53
там, где его не держат
e_zombie1 #
10:54
на 99% серверов линукса стоит RH\CENTOS\DEBIAN
10:54
поставят если надо .
evyscr #
10:54
врёшь ведь
e_zombie1 #
10:54
что ещё?
evyscr #
10:54
90% я бы ещё поверил
e_zombie1 #
10:54
ну 90
evyscr #
10:55
специализированные дистры тоже иногда живут
e_zombie1 #
10:55
по моему мнению вменяемый админ поставит судо на машину\виртуалку чем даст рутовый доступ через СУ
evyscr #
10:55
я даю через ключик
10:55
ssh
10:55
впрочем, себе же-)
e_zombie1 #
10:56
ты готов переделывать идеологию нока ради таких извращений?
evyscr #
10:56
с другой стороны, некоторые вменяемые сетевики не хотят давать всяким там нокам enable
10:56
вообще-то надо переделывать
e_zombie1 #
10:56
и я сними соглашусь. я выпрашивал энабле полгода у своих сетевиков
10:57
и то народ согласился только изза того что цисковоркс не мог с хуавеев дёргать конфиги. и ни новых цисок тоже.
MindGames #
10:57
ну, т.к. я сам сетевик, то я enable дал. потому, что сам же нок и конфигурю ;) запретил только ребут и врайт ;) если нужно врайтить, то временно даю доступ
evyscr #
10:58
MindGames: мне предлагали пользователя с набором всех нужных операций, но нок без суперюзера жить не может
10:59
"ибо провиженинг"
Dmitry11 #
11:03
Блин, уже который раз удаляю профиль Siemens.HIX5630, а его кто-то постоянно создает
e_zombie1 #
11:05
evyscr: в такой ситуации лучше давать ему "управляемый" доступ через судо чем через неконтролируемое СУ. трахаться с СЕлинуксом вот не втыкает нин разу.
evyscr #
11:08
e_zombie1: пацаны из ovl говорили о небезопасности sudo. в том плане, что оно всё равно не слишком сильно отличается от full access. аргументы я сейчас не вспомню.
MindGames #
11:10
а почему все так плюются от SELinux? Вроде, хорошая и полезная вещь. Сам правда, я ни разу не использовал его. По рекомендациям всегда его выпиливал. в том числе и на своем смартфоне :)
evyscr #
11:10
потому что заебёшься
11:11
прежде чем всё заработает должным образом
11:11
впрочем, заработает не обязательно всё
zi_rus #
11:13
и не обязательно заработает
e_zombie1 #
11:14
ну короче прошу поднять свои кто за судо :)
MindGames #
11:15
не знаю о чем вы, но судо однозначно полезная вещь ;) сам только им и пользуюсь
aermike #
11:17
Dmitry11 i have an error with ping
11:17
http://pastebin.com/h5tM9bsJ
11:17
i think this is problem
11:17
cmd = 'ping no-resolve count 5 x.x.x.x'
zi_rus #
11:18
Pastebin.com is under heavy load right now :(
11:18
:)
aermike #
11:21
ping destinationip <source> IP (where IP = managementip from noc)
e_zombie1 #
11:27
http://i64.fastpic.ru/big/2014/0704/fa/ebf5fec4f75cb387cd39c43ee60815fa.jpg
11:28
только что. хот стори
freeseacher #
11:29
но не разделяет их,да e_zombie1
11:29
?
e_zombie1 #
11:29
ncccc
11:30
тсссс не палите.
ss_ #
11:33
e_zombie1, зарплату повысят?
Dmitry11 #
11:33
блин
11:33
firefox 3 гига оперативы отожрал
e_zombie1 #
11:34
ss_: хорошо чтобы не выгнали нахер. у нас на филиал план сократить в этом году 78 человек.
freeseacher #
11:34
ss_, скорее не отберут
11:34
e_zombie1, а какие у вас ценности ?
11:34
писать Клиент с большой буквы ?
e_zombie1 #
11:35
я хуй знает.
ss_ #
11:35
Dmitry11, у мну на буке x201 8 гиг и i7, иногда памяти не хватает ))))) по процу эта сволочь может пару ядер схомячить и замечаешь когда все плохо когда firefox начинает подтупливать
11:35
а так одна вкладка и пару гиг для него нормально
e_zombie1 #
11:35
у нас есть стандарт качества но него кладёт хуй наше начальство.
ss_ #
11:36
e_zombie1, у нас тоже вроде есть но никто его не видел, инженерам до клиентво пох
Dmitry11 #
11:36
я не понимаю, они от версии к версии пишут, что постоянно используют новые сборщики мусора, постоянно борятся с утечками памяти, а пофиг
ss_ #
11:36
ибо наш удел железо
e_zombie1 #
11:36
Dmitry11: таки noscrip adblock requast policy придумали трусы?
Dmitry11 #
11:36
оставляешь на сутки включенным машину - сжирает всю оперативу
11:36
adblock стоит
e_zombie1 #
11:36
ты флеш удалил?
Dmitry11 #
11:36
мне флеш нужен, чтобы в gmail нормально ходить
e_zombie1 #
11:37
RequestPolicy
11:37
ты ебанулся?
11:37
YouTube ALL HTML и после этого нахуй флеш
ss_ #
11:37
Dmitry11, флеш == беда
Dmitry11 #
11:38
в gmail файлы приаттачить нормально можно только с флешем
e_zombie1 #
11:38
и нахуя это делать в основном браузере если можно поставить какое то гавно для этого а в основном выпилить нахуй.
Dmitry11 #
11:38
А всякие сайты вообще не понимают, что у меня firefox стоит, и генерируют мне в html v3
e_zombie1 #
11:39
а почтовым клиентом ходить на почту религия запрещает?
MindGames #
11:39
e_zombie1, мне как-то удалось получить оценку B.. Когда работал в Голден Телеком. Но это было всего один раз. А так тоже была всегда С. Хуже получить оценку D ;)
Dmitry11 #
11:39
потому как 50% сайтов только под виндовые сборки файрфокса рассчитаны
e_zombie1 #
11:39
я тебя не понимаю. не пользую флеш уже лет 5 в принципе.
Dmitry11 #
11:40
e_zombie1: винда?
e_zombie1 #
11:41
линух
Dmitry11 #
11:41
Я же говорю, что около половины сайтов не могут определить мою версию браузера, поэтому гонят статическую картинку
11:42
тупо отрубают весь javascript, css и т.п.
e_zombie1 #
11:42
поставить плагины для отдачи верных тегов браузера?
MindGames #
11:42
e_zombie1, а что такое Request policy? Софт какой-то? или настройки файрфокса?
e_zombie1 #
11:43
надстройка которая запрещает открытой страничке дёргать инфу с других доменов и сайтов. на раз отрубает всякие каунтеры следилки и тд которые встроены в страницу
11:43
годная штука. правда по началу надо создавать списки кому можно доверять.
Dmitry11 #
11:46
лучше бы в firefox боролись с утечками памяти
11:46
а то они берут пример с windows
e_zombie1 #
11:46
если у тебя стоит флеш - это бесполезно
zi_rus #
11:47
dvolodin, ты нам с Dmitry11 очень нужен
dvolodin #
11:47
fcm
11:47
ась
zi_rus #
11:47
dvolodin, вот Dmitry11 говорит что есть сложности поднять аларм на соседа
11:48
а не на саму железку
dvolodin #
11:48
смотря какой и смотря зачем
zi_rus #
11:48
эммм
11:48
надо
11:48
зачем еще
11:48
:)
Dmitry11 #
11:50
aermike: https://bitbucket.org/nocproject/noc/commits/e637994187e9be86c8c205b3ca13ce90af79bb9a
zi_rus #
11:50
dvolodin, есть сообщение в котором есть номер порта, надо поднять аларм с МО соседа за этим портом
dvolodin #
11:51
а, по линку?
11:51
что за сообщение?
zi_rus #
11:52
dvolodin, NOC-1010
dvolodin #
11:53
а, все то же
zi_rus #
11:53
да
11:54
просто очень вкусная тема
e_zombie1 #
11:59
dvolodin: NOC-1330 и тут был тред про то что линуховые скрипты перевести на использование sudo а не su как сейчас
dvolodin #
11:59
Да надо бы придумать, да
evyscr #
12:02
e_zombie1: пиши noc-linux-agent, чо
dvolodin #
12:02
надо disposition rule расширять
12:03
чтобы поднимать alarm на железке с другого конца
e_zombie1 #
12:03
evyscr: ты подожди. меня отпустит от гениальных идей моего босса и прямо сразу.
dvolodin #
12:03
там action должен быть что-то вроде raise_link
12:03
e_zombie1: сфоткай босса, блин, чего тушуешься-то
12:05
там в disposition rule нужно как-то указывать, из какой переменной брать имя интерфейса для обнаружения другой стороны линка
aermike #
12:06
Dmitry11 thank you
zi_rus #
12:06
dvolodin, можешь реализовать?
dvolodin #
12:06
http://dev.sencha.com/extjs/5.0.0/examples/kitchensink/?charts=true#all
12:07
zi_rus: могу, но чуть попозже, ладно?
zi_rus #
12:07
dvolodin, issue уже год висит, чуть позже оно подождет, главное чтобы не еще год :)
dvolodin #
12:08
zi_rus: у меня pagerless в полном разгаре
Dmitry11 #
12:08
dvolodin: Это для perfomance management. а для рисования карты даже не знаю
dvolodin #
12:09
какой карты?
12:09
карту на jointjs переделаем
zi_rus #
12:09
dvolodin, год назад pagerless у тебя даже в планах не было, а этот issue уже был
12:10
зумирование в графиках кстати прикольное
dvolodin #
12:13
как бы еще проверить и вбухать в график пару сотен значений
12:13
старые тоже были прикольные, но тормозили
mikevlz #
12:15
умные большие
12:15
скажите, Телия интересный аплинк?
dvolodin #
12:15
zi_rus: что-то мне кажется, что вот такое примерно надо
12:15
https://www.evernote.com/shard/s57/sh/610b8b83-c1d9-4150-8430-af950222b064/8fe346fd4a0a759566921b40d76e98e6
12:16
я склоняюсь к handler'у для определения managed object'а
zi_rus #
12:16
Dmitry11, ты записываешь? :)
dvolodin #
12:17
Да, хозяйке на заметку - пара светлых идей
12:17
https://www.evernote.com/shard/s57/sh/85550658-0a88-4baf-bd84-18d814e655f9/4b7b6d60bf3d5be9443a1372ee2659e2
12:17
и аналогичная
zi_rus #
12:17
я начинаю чувствовать себя проджект менеджером
dvolodin #
12:17
https://www.evernote.com/shard/s57/sh/1735d36b-9682-40c3-add6-19a293fbcaea/338d9e5931274928c8de81aadf196bb7
mikevlz #
12:18
новая игрушка...
dvolodin #
12:18
про фильтры и валидаторы - идея мне крайне понравилась
12:19
zi_rus: в планах может быть и не было, но вылилось оно вот в такое вот
12:19
https://www.evernote.com/shard/s57/sh/7e5f8122-4f38-475b-b19e-65ff9d150059/b604e7a8fefafe9ea5de530e48474807
Dmitry11 #
12:19
я уже предлагал вместо существующих solution, triggers, handlers и jobs - разработать что-то принципиально новое, которое могло бы заменить все четыре предыдущих
12:20
вызываться с любого места, а не только FM
dvolodin #
12:20
Dmitry11: то есть пятую сущность
12:20
дима, solutions -- именно это и есть
Dmitry11 #
12:20
иметь стандартизированный API для передачи патаметров
dvolodin #
12:20
ну так оно так и есть
12:20
что тебя смущает-то?
12:21
ну давай еще сделаем декоратор с интерфейсом на функцию
Dmitry11 #
12:22
смотри солбшн для discovery.asset и interface
12:22
1. совершенно разные параметры передаются
12:22
2. совершенно разные параметры отдаются
dvolodin #
12:22
и правильно
12:22
потому как у них назначение совсем разное
Dmitry11 #
12:23
3. взаимосвязь между ними "прибита гвоздями"
12:23
Не правильно.
12:23
нужно наделать 100500 "кирпичиков" со стандартным API
dvolodin #
12:23
дим, это и есть кирпичики
Dmitry11 #
12:23
а потом в JSON описать взаимодействие между ними
dvolodin #
12:23
что тебе не хватает-то
12:23
ох
12:24
а вот такое мы уже проходили
12:24
а еще все кирпичики нужно запустить отдельными процессами и обмениваться сообщениями между ними
Dmitry11 #
12:24
да
12:25
обмениваться между ними
e_zombie1 #
12:25
будет жопа с кривыми передаваемыми параметрами
12:25
вернее будет как сейчас
dvolodin #
12:25
это жаба получится
Dmitry11 #
12:25
сейчас FM работает с JSON. и inventory работает с JSON. И никто от этого не страдает
12:26
Что в циску можно воткнуть как один модуль, так и другой
dvolodin #
12:26
поэтому мы выкинем питон и будем делать логику на json, так
Dmitry11 #
12:26
А не прописать модель циски в виде python файла с намертво прибитыми модклями
dvolodin #
12:26
да, только ты забываешь, что там к каждому модули еще мануал с чем он совместим, с какими версиями софта и прочее
12:27
при этом модуль 1 требует софта, несовместимого с модулем 2
12:27
и так далее
12:27
скажем, собрать шеститонник с CSM и FWSM в одной коробке - крайне нетривиальная задача
12:28
тебе нужен dependency hell, который разруливать тебе и руками?
Dmitry11 #
12:29
dvolodin: Смотри пример: sa/jobs/wipe_managed_object.py
12:29
имеем:
12:29
NewEvent.objects.filter(managed_object=o.id).delete()
12:29
FailedEvent.objects.filter(managed_object=o.id).delete()
12:29
ActiveEvent.objects.filter(managed_object=o.id).delete()
12:29
ArchivedEvent.objects.filter(managed_object=o.id).delete()
12:29
и т.п.
12:30
Вопрос: Почему каждую из этих команд нельзя оформить в отдельный solution, чтобы можно было вызывать из разных мест разные команды ?
12:31
Имеем кучу solution, куда передаются:
12:31
1. managed_object - подходит для 99.99% операций
12:32
2. произвольное количество других переменных (чуть ли не в JSON), парсинг которых выносится в базовый класс, а не в самом solution
12:34
Смотрим fm/handler/event.py
12:34
Мы туда можем передать:
12:34
1. managed_object
12:35
2. имя интерфейса и статус в "vars"
12:35
смотрим fm/handler/discovery.py
12:35
Мы туда можем передать:
12:35
1. managed_object
12:36
2. переменную "delay", которая сейчас прибита гвоздями
12:38
Вызов таких кусочков будет иметь вид:
12:38
вместо
12:38
NewEvent.objects.filter(managed_object=o.id).delete()
12:38
будет
12:38
NewEventDelete(object)
12:40
все "обертки" для solution вынесены в отдельные файлы, где описано, что мы передаем в функцию, и что получаем
12:40
sa/interfaces в помощь
12:40
dvolodin: поправь меня.
12:46
Смотрим что такое OOP: http://edn.embarcadero.com/article/10325
dvolodin #
12:47
Открою страшную тайну -- объектный паскаль имеет очень отдаленное отношение к ООП
Dmitry11 #
12:48
Т.е. я в программе могу написать: TCustomControl.ClassName, и оно возьмет это из tobkect
dvolodin #
12:48
да и ООП как явление -- скорее начало 80-х
12:48
у питона своя объектная модель
12:48
достаточно неплохая
Dmitry11 #
12:48
Почему же у нас присутствуют монстроидальные структуры вида alarm.managed_object.object_profile.name
dvolodin #
12:48
зачем ее еще раз повторять
Dmitry11 #
12:48
4-х кратная вложенность
dvolodin #
12:49
это ерунда
12:49
ты посмотри всякие CORBA, вот где ужас
Dmitry11 #
12:49
блин. Дим
dvolodin #
12:49
get_object_profile_name(alarm) :)
12:49
ты вот такое предлагаешь
12:50
точнее get_alarm_managed_object_object_profile_name(alarm)
Dmitry11 #
12:50
Почему в SA я могу написать self.cli("бла-бла")
dvolodin #
12:51
ты еще посмотри, как пришлось извернуться, чтобы ты мог так написать
Dmitry11 #
12:51
а в solution и handlers только noc.sa.script.cli("бла-бла")
12:51
И то
12:52
У нас в CA есть два объекта: NOCScript и Profile
12:52
B все скрипты работают с ними, не трогая другие
12:52
Только особенные используют ipv4 и time
12:54
dvolodin: А ты посмотри, сколько людей написали профили для SA, и сколько людей написали hadlers, jobs, solutions, triggers
dvolodin #
12:55
перечитай мои ссылки по фильтрации и валидации конфигов
12:55
к вопросу о solutions
12:55
solutions - обычный питоновский пакет из нескольких модулей
12:55
handler -- отдельный callable элемент из solution'а
Dmitry11 #
12:56
job - ?
12:56
trigger - ?
dcefbthyt #
12:56
Добрый день ! После обновления до dev версии, пропала возможность добавлять устройства в managed objects.
dvolodin #
12:56
триггеры как раз должны быть заменены solution'ами
12:56
dcefbthyt: logout/login
Dmitry11 #
12:56
а команды CLI ?
dvolodin #
12:56
а они каким боком?
dcefbthyt #
12:56
И ещё вопрос, как устройстви из inventory к карте привязать ?
dvolodin #
12:57
dcefbthyt: сделать любой из PoP объектов на карте и кинуть в него устройство
Dmitry11 #
12:58
dvolodin: тебе сравнить код main/managemenent/commands/wipe.py и sa/jobs/wipe_managed_object.py ?
12:59
Там 90% дублирование кода
dvolodin #
12:59
ну дублируется, и?
13:00
можно вынести как метод ManagedObject
Dmitry11 #
13:00
Мммм. про словосочетание "reuse code"
dcefbthyt #
13:00
dvolodin: в dev версии не вижу карты ) в network map нет возможности добавить объект.
Dmitry11 #
13:01
dcefbthyt: в инвентори создай объект "карта"
dvolodin #
13:02
dcefbthyt: inventory > inventory
Dmitry11 #
13:02
dvolodin: Во. Уже ближе.
dvolodin #
13:02
ты только учти, что для выпилки managed object нужно подключить кучу моделей, от которых зависит managed object
13:03
на самом деле более правильно - привязать эти модели через сигналы
Dmitry11 #
13:03
dvolodin: конечный пользователь/программист должен видеть как можно меньше объектов
13:03
Плюс, 90% логики работы этих объектов должно быть скрыто
dcefbthyt #
13:05
dvolodin: спасибо
Dmitry11 #
13:05
когда я вызываю метод cli() объекта наследника NOCScript, меня не интересуют логины/пароли, ssh/telnet, обработка ошибок и т.п.
13:06
вся низкоуровневая логика и обработка ошибок должны быть скрыты от пользователя
13:07
т.е., в моем примере alarm.managed_object.object_profile.name, мне не нужно знать, какие методы содержатся в объектах alarm и managed_object,
13:08
Я должен получить доступ к переменной "name" сразу из принимаемого объекта
13:08
Пусть это будет враппер, вызывающий мои solution
13:09
но во все solution должны приходить однотипные параметры, доступ к которым должен быть описан
dvolodin #
13:09
Dmitry11: структуру данных тебе все равно надо знать
13:10
ORM и так скрывает детали от тебя
13:10
ты не видишь полей и табли
Dmitry11 #
13:10
dvolodin: смотри как реализовано в FM. Кусок JSON
13:11
"match_condition": {
13:11
"vars__state": "vars['state']",
13:11
"vars__farm": "vars['farm']",
13:11
"vars__real": "vars['real']",
13:11
"managed_object": "event.managed_object.id"
13:11
},
13:11
Я передаю произвольное количество параметров
13:12
в solution я имею к ним доступ:
13:12
1 параметр - всегда managed_object
13:15
дальше - vars["бла-бла"]
13:17
dvolodin: Дим, разве тебе при взгляде на inv/jobs/update_pop_links.py не хочется плакать?
dvolodin #
13:17
не хочется
Dmitry11 #
13:18
Начало кода:
dvolodin #
13:18
предложи другую реализацию
Dmitry11 #
13:18
interval = 7 * 86400
13:18
randomize = True
13:18
threaded = True
13:18
ignored = False
13:18
group = "update_pop_links"
13:18
concurrency = 1
13:18
initial_submit_interval = 600
13:18
initial_submit_concurrency = 1000
dvolodin #
13:19
любители турбо-паскаля сделают класс TThreadedWeeklyIntervalJob
Dmitry11 #
13:19
dvolodin: нет
13:20
зайди в любой MO, который собрал данные о прошивке и т.п.
13:20
Смотрим в самом низу поле "Attributes"
13:21
Представь себе, что там появились еще две колонки: "default value" и "description"
13:22
Теперь представь себе, что мы можем "размножать" эти attributes как "time series"
13:22
давать им разные имена и т.п.
13:23
А потом привязывать к селектору, "Managed Object Profiles", time serirs и т.п.
dvolodin #
13:24
и что это даст?
Dmitry11 #
13:26
таким образом, я могу запускать UpdatePopLinksJob для core level каждый месяц, для aggregate level каждую неделю, а для ьупых железяк вообще его не запускать
13:26
это простой пример
13:27
Что-то похожее было у нас в триггерах, когда его запуск я мог контролировать с помощью selectors, time series и т.п.
13:27
т.е. у нас был pyrule, (пусть сейчас он называется solution, усли ты так хочешь)
13:28
Я запуском одного этого pyrule мог управлять для разных MO объектов
13:31
Но! самое главное
13:31
Сейчас у нас отсутствет механизм контроля выполнения этих джобов хандлеров и т.п.
dvolodin #
13:31
Дим, job запускается каждый раз когда меняются линки на объекте :)
Dmitry11 #
13:32
этот job может в зависимости от каких-то параметров сгенерировать event, alarm, запустить другой job ?
13:33
Я отвечу - не может
dvolodin #
13:33
может
Dmitry11 #
13:34
для этого что надо?
dvolodin #
13:34
просто использовать тот API, который есть
Dmitry11 #
13:34
Вот API для FM:
13:34
"disposition": [
13:34
{
13:34
"name": "dispose",
13:34
"condition": "True",
13:34
"action": "raise",
13:34
"alarm_class__name": "Network | Link | Link Down"
13:34
}
13:34
]
dvolodin #
13:35
это не API а способ загрузки настроек в базу
Dmitry11 #
13:35
Туда передаются параметры, описанные в
13:35
"vars": [
13:35
{
13:35
"name": "interface",
13:35
"description": "Affected interface",
13:35
"type": "interface_name",
13:35
"required": true
13:35
}
13:35
],
techwriter #
13:35
Я извиняюсь, я вышла из чата, как просмотреть историю сообщений?
dvolodin #
13:36
SAE создает события, кстати
13:36
techwriter: http://static.nocproject.org/irclog/
Dmitry11 #
13:36
techwriter: в заголовке чата ссылка на irc log
13:36
dvolodin: кто об этом, кроме тебя знает ?
techwriter #
13:38
Я так и сделала, не нашла своих сообщений (4 июля), есть какой-то поиск по имени пользователя?
Dmitry11 #
13:38
dvolodin: в чем проблема сделать группу объектов, доступ к которым будет из любого места ?
13:38
techwriter: оно не сразу обновляется
13:39
Плюс хорошо задокументировать эти объекты, чтобы привлеч разработчиков
13:40
"handlers": [
13:40
"noc.fm.handlers.event.audit.log_halted"
13:40
],
13:40
Пятиуровневая вложенность!
techwriter #
13:41
Dmitry11: увидела, там время не синхронизировано
Dmitry11 #
13:42
Вот смотри, что, у нас так много объектов "audit" ? Или для fm один, для inv другой, для ipam третий ?
13:43
или возмем
13:43
"handlers": [
13:43
"noc.fm.handlers.event.discovery.schedule_discovery",
13:44
Почему это discovery живет у нас в fm ? Где логика?
13:45
Тот же audit, и тот же discovery - это все свойства ManagedObject
13:46
я тебе больше скажу
13:47
сообщения для аудита "прибиты гвоздями" в audit.py
13:48
хотя все сообщения в FM мы можем сделать мультиязычными
13:58
dvolodin: Дим, ты еще на связи?
dvolodin #
14:04
логика в том, что это обработчики событий, которые дергают discovery
Dmitry11 #
14:05
до двигателя через выхлопную трубу добираться не удобно
14:06
У тебя опять получаются совершенно не связанные между собой модули
14:08
Смоти. задача аудита - писать в лог, чтобы можно было потом это посмотреть в Main -> "Audit Trial"
14:08
Или он еще что-то кроме этого умеет?
14:10
Если ничего кроме этого, то логирование события, например, "system started" должно писаться так:
dvolodin #
14:10
есть еще аудит исполняемых команд на железках
Dmitry11 #
14:10
"text": {
14:10
"en": {
14:10
"subject_template": "System started",
14:10
"body_template": "System started",
14:10
"symptoms": "",
14:10
"probable_causes": "",
14:10
"recommended_actions": ""
14:11
"log": "System started"
14:11
}
14:11
}
14:12
Я пока про FM говорю
14:13
И все. Логами у нас будет заниматься коррелятор, а нам не нужно парить мозки и выдумывать новые классы
dvolodin #
14:14
так в чем проблема-то?
Dmitry11 #
14:14
1. мы убираем хандлер
14:14
2. упрощаем написание правила
14:15
3. не нужно никуда заглядывать, чтобы посмотреть какие функции есть в классе audit
14:16
Кроме того, любой пользователь может поменять правило FM не разбираясь в потрохах NOC
dvolodin #
14:19
ты посмотри, что делает handler и зачем он это делает
14:20
он выполняет работу не связанную с FM
14:20
ведет дополнительный журнал
Dmitry11 #
14:22
1. код всех функций log_cmd, log_login, log_logout, log_reboot, log_started, log_halted и log_config_changed практически идентичен
dvolodin #
14:23
что тебя смущает в нем?
Dmitry11 #
14:24
2. функции get_seconds там явно не место, потому как у нас обработка временных интервалов это явно не прераготива FM
14:24
Дим, смущает меня то, что наружу кишки торчат
14:25
Пользователь вообще не должен лезть в питоновский код
14:25
Выносить туда какие-то настройки - плохой стиль
dvolodin #
14:26
в JSON он тоже не должен лезть
Dmitry11 #
14:26
В идеале - только в WEB
14:26
Вышеприведенный пример проще настраивать конечному пользователю
14:27
В JSON могут лезть разработчики. И чтобы туда влезть, не требуется большой порог входимости
14:28
Чем меньше порог входимости - тем больше разработчиков
14:28
Твоя задача - разработать удобную модель разработки
14:32
Пример такого продукта - cacti. Прога не умеет ничего, кроме как опрашивать по snmp и рисовать графики. А темплейтов для нее наделали 100500 штук
14:33
Там XML, а у нас JSON
14:33
те же яйца, только сбоку
dvolodin #
14:34
у нас тоже за 1000 правил для FM
Dmitry11 #
14:35
dvolodin: Назови хоть одно правило с хандлером, написанное не тобой
zi_home #
14:36
да
Dmitry11 #
14:36
dvolodin: назови хоть один джоб, солюшн, написанный не тобой
zi_home #
14:37
да
dvolodin #
14:39
Дим, твоя логика ведет к разработке языка высокого уровня в семантике JSON
14:40
в лучшем случае тебе светит LISP с фигурными скобками
Dmitry11 #
14:40
Я тебя удивлю, но у нас оно и так работает
dvolodin #
14:42
?
Dmitry11 #
14:42
сейчас ищу пример
14:44
fm/collections/eventclassificationrules/EdgeCore/ES/Network/Port_Security/Port_Security_Violation_SYSLOG_.json
14:44
"vars": [
14:44
{
14:44
"name": "interface",
14:44
"value": "='Eth %s/%s' % (unit, port)"
14:44
}
14:44
],
dvolodin #
14:46
это питоновское выражение
Dmitry11 #
14:46
Я знаю
zi_home #
14:47
оно работает
Dmitry11 #
14:47
Но почему не сделать это настраиваемым?
14:48
Аналоги вижу в Workflow - variables
ss_ #
14:48
все отпуск бляд
14:48
пива нахерачилсиь
Dmitry11 #
14:49
я тоже пошел. шашлыки горят уже....
dvolodin #
14:53
а оно ненастраиваемое?
14:53
:)
14:56
https://www.evernote.com/shard/s57/sh/85550658-0a88-4baf-bd84-18d814e655f9/4b7b6d60bf3d5be9443a1372ee2659e2 -- покритикуйте
zi_home #
14:58
это ебнуться можно
15:00
dvolodin, как обычный юзер, который скачал нок и не задрачивал этот чат 24/7 будет это использовать?
dvolodin #
15:07
это для продвинутых
zi_home #
15:11
боюсь спрашивать про экспертов
evyscr #
15:15
"это ебнуться можно" - блин, слово в слово
15:20
если про трассировку - иногда вкусно отключить один или несколько фильтров
giesen #
22:53
I've got a remote activator, and I've started the process with /scripts/noc-launcher.py start
22:53
but the noc-activator process just keeps spawning over and over
22:53
with no idea why
Tweet
Share this page
Share this page: Tweet