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 - Victor Kirhenshtein

#2461
например так:


value = GetCustomAttribute(int, "ImportantInterface");
if (value == null)  // нет такого атрибута
{
   int->setExpectedState(0); // UP
}


status propagation из скрипта поменять нельзя.
#2462
SYS_SNMP_UNREACHABLE генерируется только если SNMP на ноде был. Можно сделать hook скрипт для configuration poll, который будет проверять наличие SNMP и генерировать событие если SNMP нет:


if (!$node->isSNMP)
   PostEvent($node, "SNMP_NOT_DETECTED");


в данном примере используется событие с именем SNMP_NOT_DETECTED.
#2463
Зарегистрировал как баг: https://dev.raden.solutions/issues/1257
#2464
Для всех опросов есть hook скрипты: Hook::ConfigurationPoll, Hook::sStatusPoll, и т.д. В данном случае похоже подойдет hook на configuration poll. Еще рекомендую отключить CheckTrustedNodes, иначе могут быть проблемы с поиском объектов.
Не совсем понял как ноды оказались в Infrastructure Services - сам по себе сервер их туда не помещает. В любом случае можно использовать UnbindObject в хуке чтобы убрать ноду оттуда.
#2465
Посмотрел внимательней лог - получается что модем дает ошибку на AT+CMGS. Когда делали отсылку с терминала, как вводили номер? Драйвер дает номер в двойных кавычках (например AT+CMGS="+15557770001"), возможно этот модем такой формат не понимает.
#2466
Общие вопросы / Re: POLLERS is too high
July 07, 2016, 12:19:02 PM
Стандартные шаблоны лежат в <prefix>/share/netxms/templates (/usr/share/netxms/templates для deb пакетов, <path>\share\templates на Windows). Сервер при старте импортирует все из этого каталога, если параметр ImportConfigurationOnStartup выставлен в ненулевое значение.
#2467
Hi,

do those subnets have same network mask?

Fix should be quite easy - just delete one of them (make sure you don't have nodes that are only in subnet being deleted).

Best regards,
Victor
#2468
General Support / Re: Syncer Thread flapping
July 07, 2016, 12:13:53 PM
Hi,

most likely. It could be due to slow database response - you can check that by setting server configuration parameter LongRunningQueryThreshold to non-zero value - it will log all SQL queries with execution time longer than given number of milliseconds.

Best regards,
Victor
#2469
Hi,

you may try to increase value of server configuration parameter AgentCommandTimeout (it is in milliseconds).

Best regards,
Victor
#2470
If you use context menu it will extract currently selected DCIs. You can also use "export all" option in view menu (in top right corner).

Best regards,
Victor
#2471
General Support / Re: Windows Server CPU Monitoring
July 07, 2016, 11:57:08 AM
P.S. Actually, for Windows servers you can use performance counters to get momentary CPU usage - select "Windows performance counter" as DCI source and configure appropriate counter.
#2472
General Support / Re: Windows Server CPU Monitoring
July 07, 2016, 11:55:37 AM
Hi,

agent already calculates average for one minute, so you receive average value. If you collect it every second, you'll get it as sliding window, but still it will be average for last 60 seconds.  It is done that way because usually data collection do not happen every second to avoid excessive network traffic and load on the systems involved. Currently it is not possible to get 30 seconds average or momentary CPU usage values from agent.

Best regards,
Victor
#2473
Hi,

I see few options to improve this:

1) rename "Remove" option on template to "Remove from node" (or something similar that will not imply destruction of template itself);
2) add context menu option "remove from template" to node under template, which will remove node from that particular template.

Best regards,
Victor
#2474
Hi,

yes, it is bug in FindObject (fixed in 2.0.5). Anyway, it may not be a good idea to use FindObject - because it finds objects globally, while you need interfaces from that specific node. You can add the following function to your script to get interface by name:


sub FindInterfaceByName(node, ifName)
{
foreach(i : GetNodeInterfaces(node))
{
   if (i->name == ifName)
      return i;
}
return null;
}


and use it like this:


iface = FindInterfaceByName($node, "Se1/0");


Best regards,
Victor
#2475
General Support / Re: Agent Cache
July 07, 2016, 11:05:23 AM
Implemented in 2.1-M1 (agent will be compatible with 2.0.5 server).

Best regards,
Victor