Using custom attribute in a DCI

Started by Andrew, October 30, 2017, 08:33:34 PM

Previous topic - Next topic

Andrew

I am trying to use a custom attribute inside a DCI.  I have a data parameter ServiceCheck.Custom(%IP%,80) and a custom attribute IP = 192.168.0.1.  I am trying to poll the web port of a device from this node, but I want to specify the IP as a custom attribute.  Is this possible? and what is the correct syntax?  Thanks, Andrew

Victor Kirhenshtein

Macros within parameter name expanded only when you apply template to node. If it is fine, you can use script macro, and read custom attribute in script. But if you want that DCI will use current value of custom attribute immediately after your change it, themn the only option is to switch to script DCI and use AgentReadParameter function. For example:


return AgentReadParameter($node, "ServiceCheck.Custom(" . GetCustomAttribute($node, "IP") . ",80)");


Best regards,
Victor

Andrew

I must be doing something wrong, mu last values are coming back 2, server unreachable.  Here are my custom attributes:
https://drive.google.com/open?id=1sTdSdAnl19PE1s9tEyblDoFBWsB8pF9M
and my parameter:
https://drive.google.com/open?id=1nX1--Or_tzzb6dCwTeKRg5UfoejWbu9e

Quote from: Victor Kirhenshtein on November 02, 2017, 10:14:42 AM
Macros within parameter name expanded only when you apply template to node. If it is fine, you can use script macro, and read custom attribute in script. But if you want that DCI will use current value of custom attribute immediately after your change it, themn the only option is to switch to script DCI and use AgentReadParameter function. For example:


return AgentReadParameter($node, "ServiceCheck.Custom(" . GetCustomAttribute($node, "IP") . ",80)");


Best regards,
Victor

Tatjana Dubrovica

Hi,
Please check this forum discussion:
https://www.netxms.org/forum/general-support/custom-attributes-as-parameters-to-dcis/ - described how to get custom attribute as DCI parameter