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

#1
Announcements / Re: NetXMS 5.2 patch release 5
September 16, 2025, 07:39:49 AM
Hey Alex, I'd imagine we should also be checking for dupes on the tdata tables too right?

Quote from: Alex Kirhenshtein on September 05, 2025, 12:39:21 PM
Quote from: Spheron on September 05, 2025, 09:36:46 AMThe script is running about 1h bevor i canceld it.
#2
Hey jp,

I was thinking that maybe node was null, but then I think that would give a different error.

What comes back if you print classof(node)?  I'm expecting it to be Node, but maybe its actually coming back as something else and not returning a node like the docs say.

What server version are you running?
#3
General Support / Re: Discard Erroneous Values
March 14, 2023, 06:10:28 AM
You might be using a DCI with integer data type and doing a delta transform?  If that's the case, you could change this DCI to be a counter data type which I believe handles overflows for you.
#4
As mentioned here https://www.netxms.org/forum/general-support/script-execution-error/ you may also need to add in check for object being processed in Hook::ConfigurationPoll script.

if (classof($object) == "Node") $node->enableRoutingTablePolling(false);
#5
Sweet sounds good!  Thanks for clarifying.
#6
Should there be a new expected state to handle the DORMANT state?  It's not necessarily DOWN and its not UP.  Or is it considered DOWN?

This is on a Cisco C1121-8PLTEP WAN Router.

Its currently on what looks like a cellular interface (so 4G failover?).
#7
Hey charly,

You can use setObjectManaged which is a method on the session object https://www.netxms.org/documentation/javadoc/latest/org/netxms/client/NXCSession.html#setObjectManaged-long-boolean-

You can do the following:

Manage a node

node = s.findObjectByName('testnode')
s.setObjectManaged(node.getObjectId(), True)


Unmanage a node

node = s.findObjectByName('testnode')
s.setObjectManaged(node.getObjectId(), False)
#8
General Support / Re: Millisecond resolution in NXSL
March 02, 2021, 10:38:06 PM
Awesome! Thanks so much!
#9
In v3.8.166 they have java bundled in for windows nxmc which I thought was super handy https://netxms.org/download/releases/3.8/nxmc-3.8.166-win32-x64-bundled-jre.zip

Or you can try OpenJDK 11 from here https://adoptopenjdk.net/ if you haven't already.
#10
General Support / Millisecond resolution in NXSL
March 02, 2021, 09:19:26 PM
If I wanted to capture the duration between two points in time within NetXMS using NXSL, is it possible to capture millisecond resolution?

Currently I'm just using time() method at start and end time then calculating diff, but this only gives second resolution.
#11
Server environments:
- Instance 1 = v3.8.166 on Ubuntu Bionic (AgentExecuteActionWithOutput doesn't work)
- Instance 2 = v3.4.313 on Ubuntu Xenial (AgentExecuteActionWithOutput works)

When executing nxsl script against Instance 1 environment, and running the following command, I get no output.  This has been a thing for a while (going off my poor memory, I'm sure it used to work, but I don't think it has since 3.6ish? but I could be wrong and maybe it's never worked...)

println(AgentExecuteActionWithOutput($node, "echo test"));

This should print out "test".
When running this against our Instance 2 environment, I get the expected result (i.e. it prints out "test").

This could be a agent config or setting somewhere but struggling to find it.

Both servers have almost the same nxagentd.conf execpt for the MasterServers settings.

Both have the following nxagentd.conf


# Log File
LogFile=/var/log/nxagentd

# IP white list, can contain multiple records separated by comma.
# CIDR notation supported for subnets.
MasterServers=<redacted>,127.0.0.0/8

SubAgent = filemgr.nsm

[filemgr]
RootFolder = /


And when running the nxagentd -C on the working server instance, it does not contain any extra agent settings that might have been applied by agent policies.

Any ideas?
#12
Hey sNsReal,

You could probably use the newly available creationTime attribute on the NetObj class (added sometime in v3) which is epoch of when the object was created.

So on the container that you want nodes to autobind to, you could enable "Automatically bind nodes selected by filter to this container", and disable the unbind option.
And your filtering script would be something like this:


HOURS_IN_SECONDS = 3600;
if($node->creationTime != 0 && (time() - $node->creationTime) < HOURS_IN_SECONDS) return true;


This will bind nodes that have been created within the last hour.  So long as the node performs a config poll within that time, then it should bind.
If it does not return true, then it will implicitly return null, and null means that it won't bind or unbind the node being processed.
If the object was created prior to the CreationTime being added to NetXMS, then CreationTime will be 0.