<?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[SFP signal threshold monitoring]]></title><description><![CDATA[<p dir="auto">Hello</p>
<p dir="auto">Does anyone have good suggestions how to monitor SFP module TX/RX values. Well i am collecting them but what would be good strategy to alert on "bad" value? For example i have 48 port optical switch, almost all SFP modules report different values and there is no good threshold value that suits all. Idealy i would like to set alerting based on signal level that was observed when link was established. But with auto discovery its impossible to set those values.</p>
<p dir="auto">I am interested in detecting events when signal is degrading over time, for example if signal has changed alot over 2-3 days for example.</p>
<p dir="auto">Egert</p>
]]></description><link>https://forum.netxms.org/topic/7082/sfp-signal-threshold-monitoring</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 22:26:55 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/7082.rss" rel="self" type="application/rss+xml"/><pubDate>Fri, 11 Jun 2021 12:18:08 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to SFP signal threshold monitoring on Wed, 16 Jun 2021 06:30:38 GMT]]></title><description><![CDATA[<p dir="auto">Thanks, got it working. <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
]]></description><link>https://forum.netxms.org/post/30163</link><guid isPermaLink="true">https://forum.netxms.org/post/30163</guid><dc:creator><![CDATA[Egert143]]></dc:creator><pubDate>Wed, 16 Jun 2021 06:30:38 GMT</pubDate></item><item><title><![CDATA[Reply to SFP signal threshold monitoring on Tue, 15 Jun 2021 20:01:42 GMT]]></title><description><![CDATA[<p dir="auto">Hi,</p>
<p dir="auto">you can use script like this:</p>
<pre><code>for(d : FindAllDCIs($node, null, "Signal - * Transceiver Receive Power Sensor"))
{
   value = GetDCIValue($node, d-&gt;id);
   if (vmin == null or vmin &gt; value)
      vmin = value;
   if (vmax == null or vmax &lt; value)
      vmax = value;
}
// Here vmin and vmax variables contains min and max values for matching DCIs
</code></pre>
<p dir="auto">Best regards,<br />
Victor</p>
]]></description><link>https://forum.netxms.org/post/30159</link><guid isPermaLink="true">https://forum.netxms.org/post/30159</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Tue, 15 Jun 2021 20:01:42 GMT</pubDate></item><item><title><![CDATA[Reply to SFP signal threshold monitoring on Tue, 15 Jun 2021 13:21:12 GMT]]></title><description><![CDATA[<p dir="auto">yesh, big numbers solution worked, sometimes it the simple things that work but one does not think about them. <img src="https://forum.netxms.org/assets/plugins/nodebb-plugin-emoji/emoji/android/1f642.png?v=72b86a538fc" class="not-responsive emoji emoji-android emoji--slightly_smiling_face" style="height:1.4em;width:auto;vertical-align:middle" title=":)" alt="🙂" /></p>
<p dir="auto">May i also ask what script would loop throught all dcis in given node, so i could retrive min and max values for last week and set custom attributes if not already set?</p>
<p dir="auto">dci examples</p>
<p dir="auto">Signal - Ethernet1/1 Lane 1 Transceiver Receive Power Sensor<br />
Signal - Ethernet1/1 Lane 1 Transceiver Transmit Power Sensor<br />
Signal - Ethernet1/2 Lane 1 Transceiver Receive Power Sensor<br />
Signal - Ethernet1/2 Lane 1 Transceiver Transmit Power Sensor</p>
]]></description><link>https://forum.netxms.org/post/30155</link><guid isPermaLink="true">https://forum.netxms.org/post/30155</guid><dc:creator><![CDATA[Egert143]]></dc:creator><pubDate>Tue, 15 Jun 2021 13:21:12 GMT</pubDate></item><item><title><![CDATA[Reply to SFP signal threshold monitoring on Tue, 15 Jun 2021 12:42:29 GMT]]></title><description><![CDATA[<p dir="auto">I'd probably just use some big number for default value like %{signal_min:999999999}<br />
Also you can use hook scripts to add some default value for custom attribute on node creation or configuration poll if attribute is not present yet.</p>
]]></description><link>https://forum.netxms.org/post/30153</link><guid isPermaLink="true">https://forum.netxms.org/post/30153</guid><dc:creator><![CDATA[Filipp Sudanov]]></dc:creator><pubDate>Tue, 15 Jun 2021 12:42:29 GMT</pubDate></item><item><title><![CDATA[Reply to SFP signal threshold monitoring on Tue, 15 Jun 2021 12:31:25 GMT]]></title><description><![CDATA[<p dir="auto">Thanks for the reply, i tried option nr2. When custom attribute is defined for min and max value and two thresholds set for upper and lower limit it works good. But on instance where custom attribute is not set it will generate alert on default value. How can i not set default value. So only alert if custom instance attribute is defined.</p>
<p dir="auto">so far i have tried:<br />
%{signal_min:0}<br />
%{signal_min:NULL}<br />
%{signal_min:}<br />
%{signal_min}</p>
<p dir="auto">Custom atribute:<br />
signal_min::Ethernet1/17 Lane 1 Transceiver Transmit Power Sensor</p>
<p dir="auto">Egert</p>
]]></description><link>https://forum.netxms.org/post/30152</link><guid isPermaLink="true">https://forum.netxms.org/post/30152</guid><dc:creator><![CDATA[Egert143]]></dc:creator><pubDate>Tue, 15 Jun 2021 12:31:25 GMT</pubDate></item><item><title><![CDATA[Reply to SFP signal threshold monitoring on Fri, 11 Jun 2021 13:47:48 GMT]]></title><description><![CDATA[<p dir="auto">Several options:</p>
<ol>
<li>
<p dir="auto">Script threshold. In that script you can use GetDCIValues() to get values for some period, e.g. 10 minutes 1 or 2 days ago. Get average for that period and compare it with the current. It's possible that there were collection issues and GetDCIValues() will not return anything - script should check for that.</p>
</li>
<li>
<p dir="auto">Get some baseline initially and store it in a custom attribute. The custom attribute name should be like signal_level::GigabitEthernet1/0/1 - so some text::instance name.<br />
The value can be stored in transformation script by checking if such custom attribute exists.</p>
</li>
</ol>
<p dir="auto">Then in the threshold you can use %{custom_attribute:default_value} macro. This macro has a special behavior (not yet documented) - first of all it will try to find custom attribute named "custom_attribute::instance", where instance is the instance name from DCI properties.<br />
If not found, it will try custom attribute with "custom_attribute" name, if that is not found, will take the default_value, if it's given.</p>
]]></description><link>https://forum.netxms.org/post/30138</link><guid isPermaLink="true">https://forum.netxms.org/post/30138</guid><dc:creator><![CDATA[Filipp Sudanov]]></dc:creator><pubDate>Fri, 11 Jun 2021 13:47:48 GMT</pubDate></item></channel></rss>