<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[New DCI source: NXSL script executed on server]]></title><description><![CDATA[<p dir="auto">В библиотеке скриптов имеется скрипт, который вызывается из transformation script и которому передаются в качестве аргументов custom attributes объекта. Захотел использовать новую возможность, указал этот скрипт как параметр метрики в виде DCI::NumOfLearnedMAC($node-&gt;node,$node-&gt;vlan,$node-&gt;port). Скрипт завершается со значением -1, говорящим о том, что ему не передаются аргументы.... может их как-то по другому надо указывать?</p>
<p dir="auto">Ниже сам скрипт</p>
<pre><code>// Count MAC adresses, learned on port of vlan on node
// Arguments: node, vlan, port
// Return number of learned MAC address

sub main() {
return NumOfLearnedMAC($1,$2,$3);
}

sub NumOfLearnedMAC() {
node = FindObject($1);
vlan = $2;
port = $3;

if (node == null)
{
    println "ERROR: Node not found";
    return -1;
}

transport = CreateSNMPTransport(node);    // Create SNMP transport for node
if (transport == null)
{
    println "Failed to create SNMP transport, exit";
    return -1;
}

vars = SNMPWalk(transport, ".1.3.6.1.2.1.17.7.1.2.2.1.2.".vlan);
if (vars == null)
{
    println "Failed to issue SNMP WALK request";
    return -2;
}

ret = 0;
foreach (v: vars) {
  if (v-&gt;value == port)
  {
    ++ret;
  }
}

return ret;
}
</code></pre>
<p dir="auto">... и transformation script</p>
<pre><code>use DCI::NumOfLearnedMAC;

sub main() {
return NumOfLearnedMAC($node-&gt;node,$node-&gt;vlan,$node-&gt;port);
}
</code></pre>
]]></description><link>https://forum.netxms.org/topic/3419/new-dci-source-nxsl-script-executed-on-server</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 09:07:12 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/3419.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Oct 2014 20:03:20 GMT</pubDate><ttl>60</ttl></channel></rss>