News:

We really need your input in this questionnaire

Main Menu
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

#676
Посмотрел один из предоставленных коммутаторов. Там действительно некорректные данные отдаются в dot1qVlanStaticEgressPorts. Спецификация говорит нам так:

Each octet within this value specifies a set of eight ports, with the first octet specifying ports 1 through 8, the second octet specifying ports 9 through 16, etc. Within each octet, the most significant bit represents the lowest numbered port, and the least significant bit represents the highest numbered port.  Thus, each port of the bridge is represented by a single bit within the value of this object.  If that bit has a value of '1', then that port is included in the set of ports; the port is not included if its bit has a value of '0'.

Например, у нас порт 7 добавлен в VLAN. Тогда первый байт должен быть в двоичном виде равен 00000010, или 0x02. 4210 на котором я тестировал отдает 00000100 - похоже что каждый полубайт перевернут - но это надо еще проверять, сделать больше VLAN'ов в разной конфигурации.

Главная проблема - как отличить неправильные данные от правильных. У меня в офисе есть 4510, и он уже отдает все корректно. Каких-то различий в MIBах кроме модели и версии софта я не нашел. Один вариант - сделать специальный custom attribute, который будет включать переворачивание битов в маске VLAN'ов. На проблемных коммутаторах можно будет его вручную добавить.
#677
Did it create another log file nxreportd.log? What Java version you have installed?
#678
Hi,

found it - for some reason installer sets "login as" for reporting service to "LocalService" account instead of "LocalSystem". Change "login as" to local system and it should start.

Best regards,
Victor
#679
Hi,

some comments in no particular order.

1. Why use regexp within if:

if (not ($container->name match "^Site:(.*)"))

It could be useful if you put this code into library and re-use in multiple containers. If you by mistake call it on container with wrong naming scheme it will just exit immediately.

2. trace() function writes to server log file, so you can just monitor netxmsd log. First argument is debug level, with 0 being "info" level message (always logged). If you want to show something in event monitor you can create new event (for example call it SCRIPT_OUTPUT) with message field set to %1, and then use the following code to trace:

PostEvent($object, "SCRIPT_OUTPUT", null, "Debug output here");
[code]
New event will appear in event monitor with message set to whatever debug message you put in a call.

3. Line
[code]
if ($node == SeedRouter->name)

will never work - $node is a node object, and SeedRouter->name is a string. You should use

if ($node->id == SeedRouter->id)


4. I mostly use "execute server script" for script debugging. For additional objects like $container in this case I just add temporary line like

$container = FindObject("test container");


5. It is possible to dump all attributes and methods of an object. For example, to dump all attributes of $node:

for(a : $node->__class->attributes)
   println(a . " = " . $node->__get(a));

or all methods:

for(m : $node->__class->methods)
   println(m);


Best regards,
Victor
#680
Announcements / Re: NetXMS 3.8 released
February 15, 2021, 12:40:38 PM
You should add it to config of agent that is used for web service query. By default it is local agent on NetXMS server machine.

Best regards,
Victor
#681
Да, нужен, просто несколько завалило делами. В принципе завтра/послезавтра я могу подключится и посмотреть, тогда к следующему  патч релизу сделаем исправления в драйвере. Пишите в личку про доступ. Спасибо!
#682
Можно попробовать скопировать JRE 11 в каталог, где лежит nxmc.exe, под названием jre. Т.е. будет такая структура

some_dir
  nxmc.exe
  jre
     bin
        java.exe

#683
There are multiple ways of doing this. Below is auto bind script that illustrates one approach:


if (not ($container->name match "^Site:(.*)"))
   return false;
router = FindObject($1);
if (router == null)
   return false;
for(rp : router->parents)
{
   if (classof(rp) == "Subnet")
   {
for(np : $node->parents)
   if (np->id == rp->id)   // Same object
      return true;
   }
}
return false;


This script assumes that container is called "Site:RouterName", so it extracts name of the router object from own name. You can choose whatever method of router identification that suits you best. Then it checks all subnets this router belongs to, and binds all nodes from those subnets (including itself). For practical use you may have to add additional filters on what subnets to consider.

Best regards,
Victor
#684
You can go to "Entire Network" subtree and under appropriate subnet object you'll find all nodes within that subnet.

Best regards,
Victor
#685
Do you have reporting related logs in C:\NetXMS\log? Also, when exactly you get this error - when trying to start reporting service from Service Manager? Did you choose "hardening file system permissions" during installation?

Best regards,
Victor
#686
General Support / Re: After upgrade to 3.8.120 all empty
February 15, 2021, 10:18:09 AM
Try to login with system user - maybe there is some issue with objects access rights.

Best regards,
Victor
#687
Set debug level on agent to 6 and check agent's log for SSH related messages.

Best regards,
Victor
#688
Hi,

you should enable web service proxy on agent by adding
EnableWebServiceProxy = yes
to config.

Best regards,
Victor
#689
Announcements / Re: NetXMS 3.8 released
February 15, 2021, 10:14:17 AM
Hi,

you should add to config file of your agent the following line:

EnableWebServiceProxy = yes

This change was done for improving security. Before 3.8 read access to agent allows you to do port scan (by requesting URLs with different service types and port numbers) and even local file access (using file:// URLs).

Best regards,
Victor
#690
Hi,

reporting server is now included as part of Windows server installer, so if you select to install it it should be properly configured as Windows service. We also did lot of internal changes to improve stability. For each report being run server now prepares view for accessing all DCIs on all nodes according to access rights of the user that starts the report - this greatly simplifies creation of DCI based reports (like top nodes with highest CPU usage, etc.). We plan to add some standard reports to the package in one of patch releases.

Best regards,
Victor