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

#1
General Support / Re: ssh does not work
March 02, 2026, 08:55:00 AM
This screenshot looks like an output of the OpenSSH client (https://www.openssh.org), started without parameters.

What have you configured and what are you trying to achieve?
#2
General Support / Re: v5.1.3 Android Client
February 18, 2026, 12:34:07 PM
it's known issue, I'll publish app update soon
#3
In general I always recommend to start with https://pgtune.leopard.in.ua, when using Postgres
#4
Check Postgres's log - good chance you run out of shared memory
#6
make sure that you have

Module=aitools

in the core section of the netxmsd.conf
#7
also set debug tag ai.skills to 6 or higher and look for skill loading messages
#8
check server log, on level 2 or higher there should be messages like this:

   nxlog_debug_tag(DEBUG_TAG, 2, L"%d global functions registered", static_cast<int>(s_globalFunctions.size()));
   nxlog_debug_tag(DEBUG_TAG, 2, L"%d skills registered", static_cast<int>(GetRegisteredSkillCount()));


are they non-zero?
#9
we just pushed documentation update: https://netxms.org/documentation/adminguide/ai.html
#10
fixed
#11
thanks for the report, I've forgot to move this hostname during migration to another server.
#12
General Support / Re: Mac version 6.0.0 not downloading
February 10, 2026, 01:45:12 AM
yes, it's know issue - package will be available tomorrow.
#13
There are no arm installer (yet), but you can download standalone jar file, install java, and launch jar file directly
#15
function GetTree(nodeID)
{
    obj = FindObject(nodeID);
    if (obj == null) return;
   
    children = obj.children;
   
    for (n : children)
    {
        if (classof(n) == "Node")
        {
            ifaces = n.interfaces;
            for (iface : ifaces)
            {
                if (iface.description ~= "WAN")
                {
                    println("Node: " .. n.name .. ", Interface: " .. iface.name .. ", Description: " .. iface.description .. ", IP: " .. iface.ipAddr);
                }
            }
        }
        // Рекурсия ВЫНЕСЕНА за пределы условия - обходим все контейнеры
        GetTree(n.id);
    }
}

GetTree(2);

Основные изменения:

- function вместо sub — современный синтаксис
- obj.children вместо GetObjectChildren(obj)
- . вместо -> для доступа к свойствам
- .. для конкатенации строк (вместо , в println)
- Рекурсия вынесена за пределы условия classof(n) == "Node"