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 - Benjamin Dill

#1
General Support / Icon color in new console
March 18, 2024, 08:06:15 AM
Hi, the icons on the left navigation have a strange color on my systems. I tested it on two different computers and I'm pretty sure I did not make any special configuration.
I'm on Windows 11.
#2
It would be nice to have custom actions for the user agent which runs in every user session. Especially for terminal servers an option "Logoff user session" would be helpful but I can think of many others.
These custom actions could be called then on the "User Sessions" view using a new type of Object tool.
#3
Feature Requests / Node.js subagent
March 17, 2024, 10:11:26 PM
Recently I implemented a solution for monitoring various external APIs using oauth authentication with multiple different credentials (for different customers). This solution is implemented on a single NetXMS agent for data collection and customer nodes in NetXMS console can query their metrics using "source node" of the DCI with this single agent.

First I started implementing the solution using PowerShell scripts for ExternalMetric and ExternalTable. This implementation had several problems, the main issue was performance: Some metrics are requested every 30 seconds, for several hundred different parameter values. Calling the PowerShell runtime for every requested metric caused a huge load on the central agent's system. Also, some metrics / external APIs do not return their value immediently and need some time for response, which does not work very well for ExternalMetric.

So I consolidated some of the metrics and wrote scripts for ExternalMetricProvider which did improve the system load, but I still had no solution for ExternalTable as this do not have a provider option.

Finally I dropped everything I had and re-implemented the PowerShell scripts as JavaScript and started running all of them in a single Node.js instance. The system load dropped to an insignificant level as the gathering of the metrics and tables is not very CPU intensive and Node.js handles asychronous calls to external APIs very well. Also, the single Node.js process is running continously in contrast to frequently starting and terminating PowerShell runtime processes.
The collected metrics and tables are stored in a SQLite database. This way the NetXMS agent can query the metrics and tables using the built-in SQLite driver and the DBQUERY subagent which is also very lightweight and super-fast without any significant load on the CPU. This works a bit similar to Push parameters using the local cache.

All in all, everything is running pretty smoothly at the moment but is quite cumbersome to set up. This can be considered as an idea for a subagent which embeds scripting ability within the NetXMS agent using Node.js and extends the function of ExternalMetric, ExternalTable and ExternalMetricProvider.
#4
General Support / Re: Source node override with templates
November 08, 2023, 08:47:04 AM
Thank you, that's how we are doing it at the moment ;)
#5
General Support / Source node override with templates
November 07, 2023, 07:59:02 PM
Is it possible to assign the source node override of some DCI differently on nodes with the same template? I could not find anything about thr DCI's source node in NXSL.
I can imagine setting the DCI's origin to "Script" and query the DCI from a different node by script but maybe there is an easier way?
#6
Wow, thanks, that will work: These nodes are up for about 15 minutes. If I set the custom attribute to 10 minutes every node should get one poll per uptime  :)
#7
Following situation: We have nodes which are only a few minutes online every day, used for running a few scripts. These scripts are deployed by templates in NetXMS and are updated from time to time, but as these nodes are virtually never online for a configuration poll and updated files from the templates get never deployed.

Is there a way to trigger a configuration poll of these nodes by script, using one of the hooks? I studied the NXSL reference but I found nothing helpful.

Thank you!
#8
General Support / Re: nxaevent with object id
September 25, 2023, 03:06:37 PM
Thank you very much!
#9
General Support / nxaevent with object id
September 21, 2023, 12:29:50 AM
I'm trying to send events from one agent in behalf of some other nodes using the nxaevent.exe tool, specifying the node id by --object command line option.
Is this function is broken? I checked the servers source code and it seems that the node id within the message is never extracted and instead the node id of the tunnel is always used.
https://github.com/netxms/netxms/blob/8934498acae116f32ada3ecc439255dd75ae5fb9/src/server/core/agent.cpp#L94

Thanks in advance,
Ben
#10
Announcements / Re: NetXMS 4.4 patch release 1
August 31, 2023, 10:13:30 AM
I uninstalled the WebUI, removed all remaining files and did a reinstall, now it is working. Seems something wasn't updated properly.
Thanks for your help,
Ben
#11
Announcements / Re: NetXMS 4.4 patch release 1
August 21, 2023, 01:38:55 PM
Is there a known problem with the Web UI? After login an error about an incopatible version of the communcation protocol is shown (server=[60, 4, 1, 1, 1, 45, 1, 2] client=[60, 4, 1, 1, 1, 44, 1, 2]).
#12
Just letting you know: We upgraded the server in the meantime and everything is working as expected! Thank you for your assistance, great work!
#13
Thank you, looks good! At least in my offline testing enviroment I can't reproduce any more server locks. I will update the production environment when the next official build is released.
#14
Thanks, I've sent you a private message.
#15
I invested a few hours to investigate and narrow down the issue:

  • It has nothing to do with agent communication, it happens also in an isolated testing enviroment without outside communication.
  • The console login hang has nothing to do with the "Poll Manager", this happens also if the Poll Manager does not go into "not responding" state.
  • If I put all nodes to "Unmanged" everything works fine. If I enable a few nodes, for example four nodes in two different zones, following happens:

    • Sometimes, a few seconds after the server has been started it is impossible to login, this happens not every time. It hangs at "Sychronizing objects".
    • The command "show pollers" shows two "zone" pollers which seem never come to an end.
  • There is nothing helpful in the logs, even at level 9, at least to my eyes.
I tried the latest build 3.9.298 with the same results. On build 3.9.178 and older everything is working fine, this behavior started with 3.9.229.
If I can test anything or do some debugging please let me know.