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

Topics - 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 / 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?
#5
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!
#6
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
#7
I'm running a NetXMS server at version 3.9.178 with multiple zones for our customers, one zone has a single proxy node configured. Whenever I try to update to a newer build the server service starts up but the "Poll Manager" goes to "not responding" within a few seconds. I am able to connect with the console right after the service start, if I'm fast, afterwards any new connection hangs after supplying the login credentials.

I'm not sure but I suspect it has to do with this item from the changelog:
*
* 3.9.229
*
[...]
- Fixed server deadlock related to multi-zone configuration
[...]


What is the best way to analyse this problem? I tried raising the debug level but I'm not sure what I should look for, there are many nodes configured and many connections are happening after server start.
The server runs on Windows Server 2019 with MySQL as database.
#8
General Support / Windows event log -> NX-1258
May 27, 2018, 10:53:40 AM
Hi,
I've read in the changelog for 2.2.3 that parameters of Windows event log can be passed to the server. Is there an example how to do that?
I checked the code but my c++ is a bit rusty... I've seen that "EventData" is parsed, so can I match against these parameters in a parser rule? That would be quite useful!

Greetings,
Ben
#9
General Support / File copy to agent
August 19, 2015, 03:20:31 PM
Hello,

I have a some powershell scripts which i use on windows agents by the ExternalParameter or ExternalList-options. This works quite well, but currently I copy these scripts manually to the agents data folder.
Is it possible that that agent automatically loads additional files in its data folder? I guess the configuration poll hook would be a good place for such an "action", but I can't find any info how to upload or download a file to the agent by NXSL.
Or is there even a simpler method to copy files from server to agent for some library files?

Regards,
Ben
#10
Feature Requests / Cluster resource assignment
August 11, 2015, 07:07:54 PM
Hi,

I'm currently struggling about monitoring clusters.
For example I'd like to add a cluster container with some Hyper-V cluster nodes. On the cluster "Last Values" tab I'd like to have the CPU usage of all virtual machines hosted by the cluster. Intuitively I'd like to add each virtual machine to the cluster's resources, but here starts my problem: I guess cluster resources are assigned to cluster nodes by MAC address match? I don't know how to do that with virtual machines...
My wish would be that the owner of cluster resources can be assigned by script execution, not only by virtual IP. It would be easy to determine the hosting cluster node of a virtual machine by a wmi query. Also there would be may more possibilities using cluster resources, which currently I rarely use...
#11
General Support / Centralized package mangement
September 24, 2014, 09:22:56 PM
I'm currently thinking about using NetXMS for centralized package management. My idea is to collect information of some client based package manager like chocolatey under Windows or apt under Linux and control the packages in NetXMS. I'm talking about smaller networks which don't need a full-blown software distribution solution, just a simple possibility for installing, uninstalling and updating packages on some or all systems in the network.

For that purpose some additions in management console and agent would be helpful:
- I think NetXMS shouldn't reinvent something new for what concerns the actual package management on the client. A generic interface (in form of some additional config parameters in the agent configuration) would be enough, calling external commands for collecting installed packages, installing a package, updating etc. This can already be done using config parameters ExternalList or ExternalParam.
- A policy for software packages like the existing one for agent configuration, which automatically installs and updates the defined packages on nodes. Maybe right now possible using actions and some external scripts, but I definitivly don't want to do that.
- A few overviews which show the actual package status on one and many nodes. I don't think this is possible right now.
- Some context menu options for quick install and uninstall would be nice. Available through object tools at the moment.

What do you think?