nocproject.org
00:47
Hi! I can try help you, but I know well only SA, FM and CM..
00:48
dvolodin know IPAM/DNS implementation but he is sleeping yet.. ;)
01:54
Всем по поводу Linksys!!!
01:56
cvb, zi_rus: у меня в наличии только коммутаторы SPS224G4 по этому первое что надо это определить на каких других железяках скрипты будут работать.
01:58
show system и snmpget -v 1 -c public <IP address> 1.3.6.1.2.1.1.2.0 выводят платформу коммутатора (platform) в непонятном виде...
02:00
По этому чтобы вместо platform get_version не выдавал ??? второе что мне надо это табличка:
02:02
<наименование девайса>  <вывод "show system" или "snmpget -v 1 -c <пароль> <IP address> 1.3.6.1.2.1.1.2.0">
02:02
например:
02:03
SPS224G4 System Object ID:                         1.3.6.1.4.1.3955.6.9.224.1
02:06
И третье, после определения круга железа на котором работает профиль Linksys.SPS2xx его стоит переименовать в Linksys.SPS, или Linksys.SPx, или даже Linksys.Sxx, возможно Linksys.Sxx2
02:11
Для Linksys нужны скрипты get_interfaces, get_portchannel, get_spanning_tree, get_switchport
02:12
Поддержка staticvlan (add_staticvlan, get_staticvlans, set_switchports) есть написана и будет поставлятся отдельно в модуле staticvlan...
 
02:19
ну так SPS224G4 совершенно отдельная серия, к тому же её больше нет под брендом Linksys, теперь это Cisco SPS224G4
 
02:52
Скрипты будут работать на всех коммутаторах Linksys где есть таже прошивка, тоесть команды теже...
02:54
Надо протестить скрипты на других коммутаторах linksys... Например SPS208G
02:55
zi_rus протестируй профиль на SRW2016
 
05:24
gnu-linux, профиль посмотреть не смогу тк комутатор все же дома, но отдельные вещи могу глянуть
05:25
вот например про тот оид
05:25
snmpget -v2c -c cacti 192.168.100.254  1.3.6.1.2.1.1.2.0
05:25
iso.3.6.1.2.1.1.2.0 = OID: iso.3.6.1.4.1.3955.6.1.2016.1
 
05:26
а если "show system" ??
 
05:27
gnu-linux
05:27
linksys# sh system
05:27
System Description:                       16-Port 10/100/1000 Gigabit Switch w/WebView
05:27
System Up Time (days,hour:min:sec):       03,17:39:35
05:27
System Contact:                           ZI
05:27
System Name:                              linksys
05:27
System Location:                          Home
05:27
System MAC Address:                       00:1e:e5:1d:23:81
05:27
System Object ID:                         1.3.6.1.4.1.3955.6.1.2016.1
 
05:28
Отлично! Я в get_version добавлю его поддержку:  SRW2016 соотведствует 1.2016.1
05:30
А следовательно профиль стоит переименовать в Linksys.Sxx или Linksys.Sxx2.. зависит от теста на других коммутаторах
05:31
дай эщё вывод "show version"
 
05:31
linksys# sh ver
05:31
SW version    1.2.2b ( date  28-Feb-2008 time  16:47:37 )
05:31
Boot version    1.0.1 ( date  11-Jun-2006 time  18:43:59 )
05:31
HW version    00.03.00
 
05:32
А "show version" на них не работает?
 
05:32
все пости как на алкателях
05:33
и вывод и команды
05:37
gnu-linux, в смысле? я просто сократил, cisco-like
 
05:39
Да, кажись, Alcatel.OS62xx, Linksys.Sxx, Eltex.MES имеют __почти__ одинаковые cli, snmp и сообщения логов!!!
05:41
Кто имеет  Alcatel.OS можете скопировать профиль с Linksys.Sxx или Eltex.MES.. Всё должно работать после косметических исправлений... ;)
05:42
Для них нужны важные скрипты get_interfaces, get_portchannel, get_spanning_tree, get_switchport. одним выстрелом убём как минимут трёх зайцев:)))
 
05:44
ээээ
05:44
что-то я не уверен в  alcatel'ах
05:44
там весьма специфичный софт :)
05:44
заточенный на алкателовскую модель предоставления услуг
05:45
вплоть до нескольких мультикастных vlan'ов в MVR
 
05:45
ну я смотрел то что есть: get_version, get_config, get_vlans, get_mac_address_table - совпадают!!!
05:46
show vlan - идентичен!
 
05:47
ну хорошо Alcatel.OS не на 90% а на 80% смовпадёт с Linksys.Sxx, Eltex.MES
05:47
У меня Alcatel нет...
 
05:48
не мешайте между собой профили, проблем потом не оберешься
05:48
алкател на marvel'овском чипсете был собран
05:48
для своего времени очень продвинутый свичик был
 
05:50
Я за профили Linksys.Sxx, Eltex.MES гарантию даю, скрипты SA и правила FM тестирую и подгоняю под конкретный профиль!
05:52
dvolodin: бага 
NOC-36 сильно жыть мешает! Всю работу по snmp тормозит!!!
 
06:05
я патч закоммитил с утра
06:17
заработало?
 
06:58
при обновлении post-update  падает: 
NOC-36
07:06
config upload/download и environment/ups - падают!!!
 
07:51
ну при постапдейте наfm/collections/eventclasses/Config.json upload/download падает...
07:52
также при fm/collections/eventclasses/Environment/Ups.json падает
07:53
Я их поудалял, соотведственно удалил с профилей DLink & APC и тогда пошло...
 
07:53
07:54
заметил, что там ещё 
NOC-14 ....
 
07:57
про noc-94 я в курсе
07:57
все та же проблема
 
08:02
Dmitry1: профиль DLink.DGS3100 это хорошо, но ещё бы выпилить остатки DGS3100 с DLink.DxS...
 
08:05
snmp проверьте, что перестало падать
 
08:06
gnu-linux: обнови NOC. Вроде уже пофиксил eventclass'ы, чтобы не падало. Я так понял, что это cjson не все ошибки показывает
08:10
dvolodin_: cjson никак нельзя заставить ошибки выдавать?
 
08:10
да вроде выдает он их
 
08:10
А почему тогда gnu-linux жалуется? Я только оттестированные ивенты заливаю.
08:11
Из замеченного - он не выдает ошибку, когда пропущена запятая между двумя фигурными скобками
08:13
dvolodin_: 
NOC-99. Очень хочется. И народ просит.
 
08:20
у меня монго переполнился.
08:20
> db.noc.events.active.drop()
08:20
Wed Oct 26 04:16:49 uncaught exception: drop failed: {
08:20
	"assertion" : "can't map file memory - mongo requires 64 bit build for larger datasets",
08:20
не прокатывает
 
08:32
e_zombie, на 64 перезжать надо.
 
08:32
и почистить БД не вариант?
 
08:34
ну как видишь он дропать дерево ивентов не хотит. если только всю бд снести и заного создать...
08:34
но лучше переехать на 64. об этом давно говорили
 
08:56
я правильно понимаю, что в 
NOC-99 нужны не oid alias'ы, а, скорее, mib alias'ы?
 
09:12
dvolodin_: да. что-то типа этого
 
09:12
[
09:12
    {
09:12
        "rewrite_mib": "DES-3200-10",
09:12
        "to_mib": "DGS-3612"
09:12
    }
09:12
]
09:12
типа такого
 
09:13
ну да. Только DES-3200-10 будет в виде цифер, иначе прийдется несколько сотен мибов тащить
 
09:14
да нет, MIB'ы как раз нужны в любом случае
 
09:14
noc# ls des*
09:14
des3200-10-L2mgmt.mib	des3200-26-L2mgmt.mib	des3200-28f-L2mgmt.mib
09:14
des3200-10-L3mgmt.mib	des3200-26-L3mgmt.mib	des3200-28f-L3mgmt.mib
09:14
des3200-18-L2mgmt.mib	des3200-28-L2mgmt.mib
09:14
des3200-18-L3mgmt.mib	des3200-28-L3mgmt.mib
 
09:15
И так по каждой линейке свичей.
09:15
Ты же не собираешься все их в NOC пихать?
 
09:15
почему бы и нет
09:15
они могут пригодиться
 
09:16
Их реально несколько сотен !!!
 
09:16
ну пожалуйста
09:18
нам в любом случае надо приводить входящие трапы к одному mib'у
09:19
но при этом, если возникла необходимость, использовать и оригинальные mib'ы
09:19
посмотри последний коммит
09:20
MIB alias сделает lookup по оригинальному mib'у
09:20
на выходе перепишет название mib'а
09:21
>>> MIBAlias.rewrite("DES-3200-10::testX")
09:21
u'DGS-3612::testX'
09:21
>>> MIBAlias.rewrite("DES-3200-11::testX")
09:21
'DES-3200-11::testX'
09:22
таким образом имя трапа у тебя будет всегда одинаковое для разных MIB'ов
 
09:41
буду пробовать.
09:43
в имени миба можно делать так: SW36XXPRIMGMT-MIB::dlink-Dgs3627g ?
 
09:46
да нет
09:46
приводи все к одному реальному mib'у
 
10:08
не приводит. только что попробовал
10:08
    {
10:08
        "rewrite_mib": "SW36XXPRIMGMT-MIB::dlink-Dgs3627g",
10:08
        "to_mib": "SW36XXPRIMGMT-MIB::dlink-Dgs3612"
10:08
    },
10:09
Все равно в событии остается SNMPv2-MIB::snmpTrapOID.0                         SW36XXPRIMGMT-MIB::dlink-Dgs3627g
 
10:12
праавильно
10:12
переписывается только часть до ::
 
10:12
Ээээ... надо все, однако
 
10:12
нет
10:12
ты явно недогрузил MIB'ов
 
10:13
Там, кроме того, что в каждой серии свои устройства, так еще и у каждой серии свои MIB'ы
10:13
Т.е. серия DGS-3600 - SW36XXPRIMGMT-MIB
10:14
серия DES-3200 - SWPRIMGMT-DES3200-MIB
10:14
И так, как захочется китайцам
 
10:22
ну пожалуйста, мы же не против
 
10:23
так не работает оно. У меня есть ивент с SNMPv2-MIB::snmpTrapOID.0 == SW36XXPRIMGMT-MIB::dlink-Dgs3627g
10:24
Правило
10:24
{
10:24
 "rewrite_mib": "SW36XXPRIMGMT-MIB::dlink-Dgs3627g",
10:24
 "to_mib": "SW36XXPRIMGMT-MIB::dlink-Dgs3612"
10:24
},
10:24
не срабатывает
 
10:24
давай конкретные OID'ы
10:24
не может там :: быть
 
10:25
1.3.6.1.4.1.171.10.70.8 == SW36XXPRIMGMT-MIB::dlink-Dgs3627g
10:26
мне нужно, чтобы его превратило в 1.3.6.1.4.1.171.10.70.10
10:27
[     {
10:27
  "profile": "DLink.DxS",
10:27
   "raw_vars": {
10:27
             "source": "SNMP Trap",
10:27
            "1.3.6.1.6.3.1.1.4.1.0": "1.3.6.1.4.1.171.10.70.8",
10:27
             "1.3.6.1.2.1.2.2.1.1.11": "11",
10:27
             "1.3.6.1.2.1.2.2.1.7.11": "1",
10:27
             "1.3.6.1.2.1.2.2.1.8.11": "1"
10:27
   }     } ]
10:29
10:29
оттуда надо брать файлик SW36XXPRIMGMT-MIB.mib
 
10:30
ммм
10:30
погоди
10:34
grep DEFINITIONS L2mgmtDGS36*
10:34
L2mgmtDGS3612.mib:DGS3612-L2MGMT-MIB	DEFINITIONS ::= BEGIN
10:34
L2mgmtDGS3612G.mib:DGS3612G-L2MGMT-MIB	DEFINITIONS ::= BEGIN
10:34
L2mgmtDGS3627.mib:DGS3627-L2MGMT-MIB	DEFINITIONS ::= BEGIN
10:34
L2mgmtDGS3627G.mib:DGS3627G-L2MGMT-MIB	DEFINITIONS ::= BEGIN
10:34
L2mgmtDGS3650.mib:DGS3650-L2MGMT-MIB	DEFINITIONS ::= BEGIN
10:34
смотри
10:34
у тебя реально будут трансляции
10:35
DGS3612-L2MGMT-MIB -> DGS3650-L2MGMT-MIB, DGS3612G-L2MGMT-MIB -> DGS3650-L2MGMT-MIB, DGS3627-L2MGMT-MIB -> DGS3650-L2MGMT-MIB, DGS3627G-L2MGMT-MIB -> DGS3650-L2MGMT-MIB
 
10:35
где это ты нашел? В файлике SW36XXPRIMGMT-MIB.mib такого нет
 
10:35
из L2mgmtDGS36*
10:35
.mib
10:35
файлов
 
10:35
DGS3612-L2MGMT-MIB      DEFINITIONS ::= BEGIN
10:35
...
 
10:36
я их этих файликов возьму только DGS3612-L2MGMT-MIB.mib
 
10:36
IMPORTS
10:36
            dgs3612                                         FROM SW36XXPRIMGMT-MIB;
10:36
ну вот
10:36
берем L2mgmtDGS3612.mib
10:36
в нем лежит MIB DGS3612-L2MGMT-MIB
 
10:37
который начинается с dgs3612.2
10:37
dgs3612 берется из SW36XXPRIMGMT-MIB
 
10:37
смотрим импорт
10:37
dgs3612  FROM SW36XXPRIMGMT-MIB;
10:37
да
10:37
и все
10:37
больше ничего не берется.
 
10:37
возьми как пример
10:37
swL2macNotification
10:37
NOTIFICATION TYPE
10:38
у него полное имя будет
10:38
DGS3612-L2MGMT-MIB::swL2macNotification
10:38
так?
 
10:38
ада
10:38
да
10:39
хотя фиг его знает. сейчас погляжу
10:39
это же китайцы :)
 
10:40
да он и есть вроде бы
10:40
у меня такая шняга с длинков валится
 
10:40
воооот
10:40
роем дальше
10:41
DGS3627-L2MGMT-MIB::swL2macNotification
 
10:42
отличие MIB'а в том, что из SW36XXPRIMGMT-MIB мы берем dgs3627
10:42
итого делаем следующее
10:42
грузим 2 MIB'а
10:42
as is
10:43
но
10:43
нам абсолютно не улыбается получать то DGS3612-L2MGMT-mib::swL2macNotification, то DGS3627-L2MGMT-mib::swL2macNotification в зависимости от модели свича
 
10:43
Поломали вы нок FM!
 
10:43
и нам абсолютно не улыбается прописывать несколько сотен  oid alias'ов
 
10:44
игого
10:44
выделяем самый вичастый mib из них
 
10:44
пусть у нас это будет DGS3612-L2MGMT-mib::swL2macNotification
10:44
делаем rewrite
 
10:44
Перед тем как постить правило его надо Post-update проверить что он цепляется в монгу..
 
10:45
DGS3627-L2MGMT-mib::swL2macNotification -> DGS3612-L2MGMT-mib::swL2macNotification
10:45
тьфу
 
10:45
Поломаны: fm/collections/eventclasses/Config.json
 
10:45
DGS3627-L2MGMT-mib::swL2macNotification -> DGS3612-L2MGMT-mib::swL2macNotification
10:45
вот так переписываем
 
10:46
и так несколько тысяк раз?
 
10:46
после этого у нас все DGS3627-L2MGMT-mib::swL2macNotification станут DGS3612-L2MGMT-mib::swL2macNotification
 
10:46
Поломан: fm/collections/eventclasses/Environment/Ups.json
 
10:46
Я имел ввиду DGS3627-L2MGMT-mib -> DGS3612-L2MGMT-mib
 
10:46
все DGS3627-L2MGMT-mib::swL2macNotification::swL2PortLoopOccurred станут DGS3612-L2MGMT-mib::swL2macNotification::swL2PortLoopOccurred
10:47
и так далее
 
10:47
gnu-linux:  Что пишет то?
 
10:47
для 36-й серии - 9 alias' ов на все будет
10:47
и 10 MIB'ов
10:47
я говорю - прежде чем правила делать, надо mib'ы загрузить
10:48
чтобы на выходе получилось нормальное имя трапа
 
10:48
<MIB>::<trap>
10:48
или <MIB>::<trap>.<число>
10:48
да, 10 mib'ов
 
10:48
Поломан /opt/noc/fm/collections/eventclasses/Security/Authentication/Login.json
 
10:49
так что все нормально сделали
 
10:49
Я имел ввиду, чтобы оно преобразовывало OID'ы до их символьного именования.
 
10:50
там такой принцип
10:50
1. резолвится MIB до упора
10:50
так что тебе надо подложить правильный mib
10:50
 2. переписывается имя mib'а
10:50
если надо
10:50
так что, если dlink сделает новую модель и опять полетят трапы
10:51
неизвестные
10:51
то тупо грузишь mib и alias'ишь его
10:51
и все правила начинают работать
 
10:51
если оно до парсинга MIB'ов преобразует 1.3.6.1.4.1.171.10.70.8 в 1.3.6.1.4.1.171.10.70.10, То мне понадобаится вообще всего один MIB: DGS3612-L2MGMT-mib
 
10:51
дим
10:51
грузи все мибы
10:51
а если ты захочешь snmp set сделать?
 
10:54
с длинком так проще))
 
10:55
Для FM как-то snmp set не актуально
10:56
Я согласен вообще отказаться от MIB'ов для d-link'а
10:56
а все правила делать типа так: 1.3.6.1.4.1.171.10.70.(6|7|8|9|10)
10:58
Мне лично глубоко фиолетовый последний октет. Мне главное - выделить оттуда серию свича. Внутри одной серии CLI и SNMP более-менее одинаковый.
10:58
Там всего-то штуки 3-4 серии с извращенными MIB и CLI
11:00
Я представлял себе работу mibaliases так: меняется 8-й октет на 70 и 9-й октет на 10.
11:00
И все. И больше ничего не надо.
11:01
Дальше оно само подхватывает DGS3612-L2MGMT-mib и делает все правила уже с ним
 
11:01
да нет, проще вгрузить MIB'ы и не париться
 
11:02
Да там несколько сотен MIB'ов! Плюс время от времени они их обновляют как захотят.
11:03
Плюс еще есть и DGS3612-L3MGMT-mib, в котором куча OID'ов
11:04
У меня рабочий день будет начинаться тем, что я захожу на 
http://tsd.dlink.com.tw, просматриваю все обновившиеся MIB'ы, и, если успею это сделать до вечера - и то хорошо.
11:08
Плюс еще то, что половина MIB'ов у них корявые.
11:10
Короче. буду использовать oidaliases
11:10
буду надеятся, что он regexp понимает
 
11:11
зачем
11:11
если ты залил mib и он нормально распознает трапы
11:11
то чего его дергать лишний раз?
 
11:13
Конструкция
11:13
[
11:13
    {
11:13
        "rewrite_oid": "1.3.6.1.4.1.171.10.70.(?:6|7|8|9)",
11:13
        "to_oid": "1.3.6.1.4.1.171.10.70.10"
11:13
    }
11:13
]
11:13
не работает :(
 
11:14
я же говорю - заливай mib'ы и делай mib alias'ы
 
11:15
100 алиасов на "Link Up"
11:15
100 алиасов на "Link Down"
11:15
100 алиасов на "swL2macNotification"
11:15
100 алиасов на "swL2PortLoopOccurred"
11:17
100 алиасов на "swL2PortSecurity"
11:17
дальше продолжать? Ужа 500 алиасов накопилось.
11:18
Мне-то всего и нужно, чтобы 8-й и 9-й октет распарсить.
 
11:19
зачем
11:19
alias'ы на mib в целом
11:19
и все
 
11:20
8-й октет - серия свича. 9-й октет - модель свича в серии
 
11:20
попадется какая-нибудь дрянь со своей семантикой
11:21
как вычленять ее будешь?
 
11:21
Мне даже 9-й октет пофиг. Мне нужно, чтобы в OID'е поменялся 8-й октет на цифру 70
11:21
Вот так: (?:6|7|8|9)
 
11:21
36-ю серию к 3612 приводить?
11:22
у них еще L2 и L3 отдельно
11:23
сейчас для 36-й серии все сделаю, а дальше по аналогии
 
11:23
Пример того, что мне нужно.
11:23
[
11:23
     {
11:23
        "rewrite_oid": "1.3.6.1.4.1.171.10.(64|70113).\d+",
11:23
         "to_oid": "1.3.6.1.4.1.171.10.70.10"
11:23
    }
11:23
]
11:24
т.е. менять 8-й октет на нужный мне, в зависимости от оригинального 8-го октета
11:25
Точнее даже так:
11:26
[
11:26
      {
11:26
         "rewrite_oid": "1.3.6.1.4.1.171.10.(64|70|113).\d+.+",
11:26
          "to_oid": "1.3.6.1.4.1.171.10.70.10.+"
11:26
     }
11:26
]
 
11:27
11:27
вот так оно выходит
 
11:28
Посмотрел. Но для этого я должен загрузить все MIB'ы
11:30
 
11:31
залил уже
11:31
./noc import-mib ~/tmp/dl/proprietary\ MIBs/L2mgmtDGS36*.mib
11:31
да вот хотя бы
11:32
сначала загрузил, потом из local/share/mibs на место переложил
11:32
и вся 36-я серия у тебя работает
11:33
L3 заливается по аналогии
 
11:36
а какие mib'ы к каким сводить - тебе виднее
11:36
а твой трап вообще просто делается
 
11:38
11:39
тут вооще никаких alias'ов не надо
 
11:39
Ээээ.. А там серий свичей несколько десятков.
11:40
Или писать так: "value_re": "^(SW36XXPRIMGMT|SW3500PRIMGMT|SWPRIMGMT-DES3200)-MIB::dlink-D.+$"
11:40
это я только 3 серии перечислил
11:41
Так я мог это и без MIB'ов делать
11:43
Было бы так: "value_re": "^dlink-mgmt.(64|70|113|).+$" и т.д.
 
11:48
side question: а точку не надо экранировать?
 
11:48
да это я на скорую руку, так, для примера.
11:50
а как теперь загруженные MIB'ы удалить из NOC ?
 
11:55
а никак
11:55
я тоже долго спрашивал :)
11:55
базу чистить нада
 
11:56
короче, фигня это все, проще в теле правила прописать стопиццот совпадений с помощью regexp
11:57
а те, кто хотят видеть красивые названия MIB'ов у D-Link - пусть покупают D-View за $900
11:58
neonman: как почистить базу MIB'ов ?
 
11:58
а никак, я тупо грохал монгодб
 
11:59
да у меня там ивенты, которые я пытаюсь классифицировать. жалко их.
 
12:04
ну это да
12:04
мне просто лень было искать таблицы нужные
 
12:06
скажите, а это только у меня noc-web.py за собой дочки-воркеры не убирает (не килляет при сервис-стопе)?
 
12:13
прибил noc.mibdata и noc.mibs
12:13
запустил ./noc sync-mibs
12:14
повисло на share/mibs/AIRESPACE-WIRELESS-MIB.mib:5618: index element `bsnAPIfStationSNRCoverageIndex' of row `bsnAPIfStationSNRCoverageInfoEntry' must have a range restriction
12:14
сейча через post-update попробую
12:15
evyscr: это у всех. ставь ему, чтобы в одну нить работал
12:16
ага. это монга повисла. причем так, что даже через kill не убивается
12:16
и жрет cpu, сволочь
 
12:59
12:59
кнопку Add видно из под обычного юзера?
 
13:08
когда на плюсик жмешь, add page есть?
 
13:09
нету, только add comment
 
13:11
появились еще page и bookmark
 
13:13
угу
13:13
пишите success story :)
 
13:19
что-то мне эта идея кажется сомнительной
 
13:27
13:27
вот первая история
 
13:37
сам себя не похвалишь, никто не похвалит :)
 
13:38
ну а как еще
13:38
ты с другой точки зрения посмотри
13:38
нашел какую-то хрень
13:38
читать, что умеет - влом
13:38
а послушать, что люди пишут - послушаешь
 
13:53
dvolodin_, на сколько сложно создать для НОК свое приложение, боюсь, что нужный мне функционал никто не раелизует
 
14:00
Dmitry1,Имеется информация о том, что веб-страница termorect.narod.ru используется для атак на компьютеры пользователей. В соответствии с вашими настройками безопасности она была заблокирована.
 
14:00
то фигня.
14:01
я под FreeBSD. Мне виручы не страшны
 
    Share this page
    Share this page: