Menu

Show posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Show posts Menu

Messages - enp

#31
Общие вопросы / Re: Active Discovery bugs
December 20, 2013, 09:17:00 AM
Quote from: kozlov_ao on December 20, 2013, 08:54:55 AM
Чтобы ловились только твои хосты - пропиши фильтр.

А в чем тогда разница между Active Discovery Targets и Address Filters?

Quote from: kozlov_ao on December 20, 2013, 08:54:55 AM
Чтобы хосты раскидывались по Infrastructure Services - можно создать правила авто-маппинга (properties - automatic bind rules)...

А как написать правило: класть в этот контейнер те ноды, которых нет ни в каких других контейнерах?
#32
А куда и в каких случаях выводит данные функция println?
#33
Спасибо!

С помощью trace удалось сформулировать правило так:


return !($event->name like "SYS_IF_*" && $event->parameters[2] like "Vi*");


Наверное, это самый правильный вариант.
#34
Общие вопросы / Check database bugs
December 20, 2013, 08:42:46 AM
Здравствуйте!

При попытке удалить ненужные ноды и сети я получил OOM killed process 10856 (netxmsd) и необходимость запуска nxdbmgr check. Удалять пришлось много, поэтому перезапустил с ключем -f и, возможно, перестарался.

Теперь у меня есть нода, которая видна в Entire network и не видна Infrastructure Services. Как поместить ее в какой-нибудь контейнер в Infrastructure Services? Как найти все ноды без контейнеров?

Есть более неприятная проблема - две ноды с одинаковыми именами и Primary IP Address, но разными ID/GUID. В Entire network видны обе, в Infrastructure Services - только одна.

Хуже всего то, что наверняка это не все - nxdbmgr check проблему с двумя одинаковыми нодами не обнаружил и вполне мог еще что-то пропустить.
#35
Общие вопросы / Active Discovery bugs
December 20, 2013, 08:40:53 AM
Здравствуйте!

Включил Active Discovery для сети 192.168.191.0/24, но он нашел ноды из сети 10.11.80.0/22, которые точно не имеют интерфейсов в сети 192.168.191.0/24 - см. приложенную картинку. Есть две ноды, присутствующие в обеих сетях - но они давно добавлены вручную. Я что-то неправильно сделал или это баг?

Да, найденные ноды видны только в Entire network и не видны Infrastructure Services. Как поместить их в какой-нибудь контейнер в Infrastructure Services?
#36
Просто ваши примеры не работают - такое ощущение, что в $2 попадает совсем не имя интерфейса
#37
А скрипт может что-либо вывести в лог/консоль? Как это увидеть?
#38
Спасибо! Я верно понимаю, все возможные параметры к событиям описаны в Configuration -> Event configuration?

И вопрос о запуске скриптов вручную по-прежнему актуален.
#39
Заработал такой вариант:


return !index($event->message,"Interface \"Vi");


С main тоже работает, но зачем нужны лишние 3 строчки - этого я не понял
#40
Соответствующий объект есть - http://wiki.netxms.org/wiki/NXSL:Event. И чуть раньше было найдено нечто похожее на substring в других языках - http://wiki.netxms.org/wiki/NXSL:index. Очень не хватает ссылок на эти и другие объекты и функции из http://wiki.netxms.org/wiki/UM:NetXMS_Scripting_Language_%28NXSL%29.

Откуда взять объект Event в Filtering script для правила? Пробую так:


sub main()
{
  return !index($1->message,"Interface \"Vi");
}


Все равно не работает.
#41
Нет, уже видно что не работает. Как правильно получить в NXSL хотя бы текст обрабатываемого события? Может есть возможность получить некий объект события с полями (код, сообщение и т.д.)? Есть ли возможность протестировать скрипт, т.е. запустить его вручную и на вход подать искусственно сформированное событие?
#42
Написал:

sub main()
{
  return !index("%m","Interface \"Vi");
}

Пока понаблюдаю, но написано совершенно по наитию, и уверенности нет. Это положено делать именно так?
#43
Здравствуйте!

У меня есть правило в Event Processing Policy для отсылки почтовых сообщений о различных событиях. Требуется не отсылать такие сообщения для интерфейсов "Vi*.*". Есть, как я понимаю, единственный способ - Filtering script для правила. Как его писать?

Никогда этого не делал, подходящей документации тоже не нашел. В http://wiki.netxms.org/wiki/UM:NetXMS_Scripting_Language_%28NXSL%29 описан только синтаксис (да и то не описаны, например, строковые функции: как определить вхождение подстроки в строку?). Но нет описания способов запуска скриптов. В http://wiki.netxms.org/wiki/UM:Event_Processing о написании фильтров тоже ни слова.

Покажите, пожалуйста, рабочий пример.
#44
Еще лучше подходят приложенные:


snmpwalk -c public 192.168.199.11 hwdot1qVlanPorts
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.1 = Hex-STRING: 04 00 00 0C 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.3 = Hex-STRING: 04 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.11 = Hex-STRING: C3 01 00 03 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.896 = Hex-STRING: 00 02 00 03 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.898 = Hex-STRING: 2C EE 1E 03 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.900 = Hex-STRING: 04 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.901 = Hex-STRING: 10 12 E1 03 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00
HUAWEI-LswVLAN-MIB::hwdot1qVlanPorts.1458 = Hex-STRING: 04 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 00 00 00


Я не понял, как интерпретировать эти биты. В документации (ее я не могу приложить из-за ограничения на размер вложения) пишут:

Quote
Port list that belongs to the VLAN. Each bit of hwdot1qVlanPorts represents a port within fabric-wide. In fabric, any port has an exclusive fabric-wide portId. So each bit can means only one fabric wide port. MAX_PORT_NUM_PER_UNIT (=52 for 3600) is a macro which help to distinguish the port of different unit. MAX_PORT_NUM_PER_UNIT indicates the max port number of a unit. So the exclusive fabric wide port acquired number from can be local-unit port number by this way portId (fabric wide) = (unitId-1)*MAX_PORT_NUM_PER_UNIT+portid (unit-wide). The range of unitId Portid(unit-wide) is [1..8] is [0..MAX_PORT_NUM_PER_UNIT-1] For example, the first port on unit 2 has a fabric-wide port id (2-1)*MAX_PORT_NUM_PER_UNIT + 0=64. So the 64th h3cdot1qVlanPorts bit of represents the first port on unit 2.