NetXMS Support Forum

English Support => General Support => Topic started by: Egert143 on September 27, 2021, 11:35:40 AM

Title: Installed software version as dci
Post by: Egert143 on September 27, 2021, 11:35:40 AM
Hello

Is it possible to monitor specific installed software version via installed agent and get the result as dci ?

Egert
Title: Re: Installed software version as dci
Post by: Filipp Sudanov on September 27, 2021, 04:44:09 PM
If you mean versions available in Software Inventory, this information is available in System.InstalledProducts agent's table. So you can use a script DCI or a Internal "Dummy DCI" and transformation script. In the script $node->readAgentTable("System.InstalledProducts") would return the table.
Title: Re: Installed software version as dci
Post by: TOLeg on October 03, 2023, 12:00:46 PM
Could you describe the implementation of this solution in more detail?
Title: Re: Installed software version as dci
Post by: Filipp Sudanov on October 09, 2023, 10:17:21 AM
Make a script named getPackageVersion in script library:

packageName = $ARGS[1];
if (packageName == null) return "package name not provided to script";
for (s : $node->softwarePackages) {
  if (s->name == packageName) {
    return s->version;
  }
}

Then create a script DCI with metric e.g.:
getPackageVersion("curl")
The script is using information about packages collected during configuration poll, so it will provide a value even if the agent is not available at the moment.