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 - hsvt

#211
Quote from: Victor Kirhenshtein on April 07, 2015, 10:25:57 PM
Какая версия NetXMS сейчас установлена? В 2.0-M3 мы довольно сильно переделали все что связано с адресами и подсетями - я предлагаю посмотреть сохранится ли проблема после обновления на 2.0-M3 или выше.

Сейчас 2.0-M2,  спасибо, проверим на M3.
#212
Quote from: glebofff on January 16, 2015, 06:02:12 AM
Это ещё какое решение, просто вам надо бы поглубже посмотреть в сторону nxsl, посоны.

http://wiki.netxms.org/wiki/NXSL:Interface

У объекта Interface появилось свойство alias, есть name, появились незадокументированные методы setStatusPropagation / setStatusCalculation.

http://wiki.netxms.org/wiki/NXSL_Function_Reference#Object_Management

Тут есть SetInterfaceExpectedState, ManageObject, UnmanageObject.

Cначала прикинем типовой сценарий: вот если это маршрутизатор Cisco, а интерфейс Tu* или Fa*, то этот интерфейс мне не особо критичен, если это Di*, Nu0, Lo* - то вообще игнорим, а вот Gi* мне очень интересны.

Осталось - написать скрипт, который, в зависимости от ваших предпочтений, сделает интерфейсу i:
  - если совсем не интересует - UnmanageObject (i),
  - если интересует, но не совсем - SetInterfaceExpectedState (i, "IGNORE"),
  - если интересует - i->setStatusPropagation (4,1,2,3,3),
  - если интересует очень - оставит всё по-умолчанию.


if (i->node->sysDescription ~= "^Cisco")
{
  if (i->name ~= "^Nu|^Di|^Lo")
  {
    UnmanageObject (i);
  } else  if (i->name ~= "^Fa|^Tu")
  {
    i->setStatusPropagation (4,1,2,3,3);
  } else  if (! i->name ~= "^Gi")
  {
    SetInterfaceExpectedState (i, "IGNORE");
  }
}


Можно без всей этой автоматизации, врукопашную. Но, если узлов тысячи, а тут у некоторых есть такие инсталляции, то придётся тяжко.

PS:

setStatusPropagation (4,1,2,3,3) соответствует картинке, которую я приаттачил.

Ага, спасибо большое за наводку. Но вот человеку который не знаком и не умеет программировать - тяжеловато даётся данные надстройки...

Мне вот под D-Link надо, пробую написать так:


i = GetInterfaceObject($node);
if (i->node->driver == DLINK)
{
  if (i->slot == 1 && i->port <= 24)
  {
    SetInterfaceExpectedState (i, "IGNORE");
  } else  if (i->port ~= "^25|^26|^27|^28" & i->slot = "1")
  {
    i->setStatusPropagation (4,1,2,3,3);
  } else  if (! i->name ~= "^ge")
  SetInterfaceExpectedState (i, "IGNORE");
  }


Или даже так:

foreach(i : GetNodeInterfaces($node))
{
if (i->operState == 0)
SetInterfaceExpectedState(i, "IGNORE");
}


Но что-то ничего не срабатывает. Есть ли какая то отладка кода или дебаг\проверка на ошибки при компиляции?

Я чего хотел бы получить: Отображение всех клиентских портов с 1-24 и их состоянием (если UP значит UP, если DOWN значит DOWN, но при этом чтобы красненьким было отмечено что интерфейс DOWN, а вся нода была NORMAL. "Если интересует, но не совсем", подходит к этому варианту, да ставим IGNORE, но тогда в списке интерфейсов он отображается как зелёный и нужно лезть во вкладки и смотреть там его состояние.

Для магистральных портов сделать условие и  i->setStatusPropagation (4,1,2,3,3)

Я пытаюсь взять за основу ваш вариант с кошкой, но ничего не выходит...
#213
Коллеги, всё таки не понятно, почему сервер считает маски не корректными и пытается сказать, что везде должна быть маска 255.0.0.0 то есть /8 или /22

Сейчас ситуация такая: если есть мелкие сети (они поделены на сегменты) /24 или /29 /30 то NetXMS считает что у ВСЕХ  таких узлов маски должны быть ниже т.е. /8 или /22

Но отключать генерацию аларма на основе событий как то тоже не хочется, возможно же что действительно кто нибудь ошибется и укажет не допустимую маску (случайно например).
#214
QuoteМожно, это называется "object tools". Надо сделать новый tool (через Configuration -> Object Tools в главном меню) типа "execute local command", в команде написать например

ping %OBJECT_IP_ADDR%

и включить опцию "command generates output". После этого можно выбирать команду в меню Tools на ноде и видеть результат в консоли.

А вы можете подсказать как сделать "object tools" для snmp set команды, например выключить нужный порт на коммутаторе, добавить VLAN или что нибудь еще.

Set Port Status Enable/Disable
:: Command ::
snmpset -v2c -c private 192.168.0.1 1.3.6.1.4.1.171.11.63.6.2.2.2.1.3

1 other (1)
2 disabled (2)
3 enabled (3)


#215
Общие вопросы / Re: mac address
December 26, 2014, 03:01:52 PM
Про метрику не могу подсказать.
#216
Общие вопросы / Re: mac address
December 26, 2014, 02:58:58 PM
Есть такое по умолчанию из коробки по snmp стандартными oidами, на ноде что-то типа Show Forwarding database.

Хотя если, например, выбрать ноду (коммутатор) и нужный интерфейс (порт) там почему то везде будет один и тот же MAC, видимо управляющего интерфейса, а вот чтобы показывал тот MAC который изучает коммутатор на конкретном порту (клиент или любое другое устройство) это уже вопрос.
#217
Общие вопросы / Re: Network Maps и status
December 26, 2014, 02:57:09 PM
Можете попробовать по этой теме - https://www.netxms.org/forum/oe-oo/ooee-o-1-2-6/msg9783/#msg9783

QuoteЧтобы убрать статус CRITICAL на портах, статус которых не интересует, можно поменять им expected state на IGNORE.
Это можно делать даже автоматически через configuration poll hook,
используя функцию SetInterfaceExpectedState (http://wiki.netxms.org/wiki/NXSL:SetInterfaceExpectedState

Сами столкнулись с данной проблемой. Но решение тоже не совсем удобное - получается нужно смотреть информацию об интерфейсе чтобы понять на самом деле его состояние сейчас DOWN или же он IGNORE.

Карту какую используете ? Wolrd map или обычную? Когда уже появится интерактивная карта со связими в реальном времени, например, как в The dude :)
#218
Есть в Entire Networks 1.1.1.0/22 подсеть белых адресов. Из неё выделена мелкая /30 - в Entire Networks она висит как 1.1.1.0/30.

Ну давайте, например возьмём из rfc1918. Есть так же на роутере локальный интерфейс irb.218 с адресом 192.168.218.254/24;

05.11.2014 15:13:45 corerouter Предупреждение SYS_INCORRECT_NETMASK Invalid network mask 255.255.255.0 on interface "irb.218", should be 255.0.0.0

Возможно should be потому что он пытается задать маску ниже ? Т.е. если брать Entire Networks то там есть и 10.0.0.0/8 поэтому сервер пытается считать, что у других хостов с большими масками должна быть маска ниже ? Извиняюсь если сумбурно описал... Но хотелось бы добиться определения корректности масок на сервере.

#219
Quote from: Victor Kirhenshtein on November 05, 2014, 11:44:06 AM
Сервер ориентируется на известные ему сабнеты. Проверьте какие маски у объектов "subnet", удалите неправильные.

Не совсем понял у каких объектов "subnet" ? У нас маски на интерфейсах в основном 255.255.255.0 255.255.255.248 255.255.255.252 но сервер считает, что должны быть другого вида. В таблице subnets маски верные.

05.11.2014 14:13:40 corerouter   Предупреждение   SYS_INCORRECT_NETMASK   Invalid network mask 255.255.255.252 on interface "irb.2016", should be 255.255.252.0

На интерфейсе irb.2016 висит адрес, к примеру:

address 1.1.1.1/30;

Адрес сети: 1.1.1.0
Broadcast: 1.1.1.3
Первый хост: 1.1.1.1
Последний хост: 1.1.1.2

#220
Quote from: Victor Kirhenshtein on November 05, 2014, 11:49:07 AM
Ну вот я тоже так подумал, но если DisableIPv6 не помог, то дело не в этом. Это что за ОС?

Это FreeBSD hrd 9.3-RELEASE-p2 FreeBSD 9.3-RELEASE-p2 #0 r273212: Fri Oct 17 16:50:13 MSK 2014     local@hrd:/usr/obj/usr/src/sys/TEST  amd64

Ядро собрано с поддержкой ipv6. Что то сейчас совсем не понятно поведение у консоли на Win7, удалил ноду на которой стоит сервер т.к. там вывод uname был не коректный (9.2) и теперь добавляю заново чтобы считались все данные агентом. Но статус стоит как unknow и ни какой из пуллов не проходит. Агент включён и повесил уже на все интерфейсы. Консоль крашится переодически если выбирать Опрос - Настройка, вот лог:

[05.11.2014 13:24:50] **** Poll request sent to server ****
[05.11.2014 13:24:50] Poll request accepted
[05.11.2014 13:24:50] Checking node's capabilities...
[05.11.2014 13:24:50]    Checking NetXMS agent...
[05.11.2014 13:24:50]    Checking SNMP...
[05.11.2014 13:24:50] Starting configuration poll for node 192.168.128.218
[05.11.2014 13:25:21] POLL ERROR: Превышено время ожидания ответа на запрос[05.11.2014 13:25:21] **** Poll failed ****


!ENTRY org.netxms.ui.eclipse.datacollection 4 4 2014-11-05 13:17:17.189
!MESSAGE Невозможно получить значение метрики для узла 192.168.128.218: Превышено время ожидания ответа на запрос

!ENTRY org.netxms.ui.eclipse.console 4 0 2014-11-05 13:17:41.394
!MESSAGE Exception in ConsoleJob
!STACK 0
org.netxms.client.NXCException: Превышено время ожидания ответа на запрос
at org.netxms.client.NXCSession.waitForMessage(NXCSession.java:1488)
at org.netxms.client.NXCSession.waitForRCC(NXCSession.java:1524)
at org.netxms.client.NXCSession.waitForRCC(NXCSession.java:1514)
at org.netxms.client.NXCSession.getLastValues(NXCSession.java:3200)
at org.netxms.client.NXCSession.getLastValues(NXCSession.java:3223)
at org.netxms.ui.eclipse.datacollection.widgets.LastValuesWidget$11.runInternal(LastValuesWidget.java:354)
at org.netxms.ui.eclipse.jobs.ConsoleJob.run(ConsoleJob.java:85)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.netxms.ui.eclipse.perfview 4 0 2014-11-05 13:17:41.400
!MESSAGE Exception in performance tab loading job
!STACK 0
org.netxms.client.NXCException: Превышено время ожидания ответа на запрос
at org.netxms.client.NXCSession.waitForMessage(NXCSession.java:1488)
at org.netxms.client.NXCSession.waitForRCC(NXCSession.java:1524)
at org.netxms.client.NXCSession.waitForRCC(NXCSession.java:1514)
at org.netxms.client.NXCSession.getPerfTabItems(NXCSession.java:3295)
at org.netxms.ui.eclipse.perfview.objecttabs.PerformanceTab$2.run(PerformanceTab.java:132)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

!ENTRY org.netxms.ui.eclipse.datacollection 4 4 2014-11-05 13:17:41.406
!MESSAGE Невозможно получить значение метрики для узла 192.168.128.218: Превышено время ожидания ответа на запрос

!ENTRY org.eclipse.core.jobs 2 2 2014-11-05 13:17:58.096
!MESSAGE Job found still running after platform shutdown.  Jobs should be canceled by the plugin that scheduled them during shutdown: org.netxms.ui.eclipse.datacollection.widgets.LastValuesWidget$11
!SESSION 2014-11-05 13:17:59.884 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.7.0_71
java.vendor=Oracle Corporation
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=ru
Command-line arguments:  -os win32 -ws win32 -arch x86 -data @user.home/.nxmc/data

!ENTRY org.netxms.ui.eclipse.console 1 0 2014-11-05 13:18:03.544
!MESSAGE NXCSession.connect: Connecting to 10.248.254.218:4701

!ENTRY org.netxms.ui.eclipse.console 0 0 2014-11-05 13:18:03.556
!MESSAGE NXCSession.connect: connection established, retrieving server info

!ENTRY org.netxms.ui.eclipse.console 0 0 2014-11-05 13:18:03.659
!MESSAGE NXCSession.connect: Connected to server version 1.2.17, trying to login

!ENTRY org.netxms.ui.eclipse.console 0 0 2014-11-05 13:18:03.663
!MESSAGE NXCSession.connect: CMD_LOGIN_RESP received, RCC=0

!ENTRY org.netxms.ui.eclipse.console 1 0 2014-11-05 13:18:03.666
!MESSAGE NXCSession.connect: alarmListDisplayLimit = 4096

!ENTRY org.netxms.ui.eclipse.console 1 0 2014-11-05 13:18:03.669
!MESSAGE NXCSession.connect: succesfully connected and logged in, userId=0


nxdbmgr check проходит.

#221
Quote from: Victor Kirhenshtein on November 05, 2014, 11:42:30 AM
Попробуйте добавить в конфиг агента

DisableIPv6 = yes

Не помогло. Видимо пытается забиндить еще IPV6 адрес?
#222
Quote from: Victor Kirhenshtein on November 05, 2014, 11:24:38 AM
Это уже после установки timezone update на джаву?

Всё в порядке, обновил еще раз tzupdater.jar. С первого раза видимо обновление timezone не накатилось...
#223
В монитор событий так же генерируются сообщения о некорректности маски. Можно ли как то глобально пофиксить чтобы сервер считал нормой маски вида 255.255.255.0 ?
#224
Запускается только если в /etc/nxagentd.conf коментить ListenAddress или писать ListenAddress =0.0.0.0, но у машины много интерфейсов, на всех адресах агент не нужен. Если же указываю ListenAddress = 192.168.128.218 - не биндиться.

[05-Nov-2014 12:02:55.992] [ERROR] Unable to bind socket: Can't assign requested address
#225
На сервере время верное, в консоле на час вперёд.

date
Wed Nov  5 12:00:29 MSK 2014