<?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[Network map link status based on DCI?]]></title><description><![CDATA[<p dir="auto">Я пока вижу, что состояние линков можно привязать к объектам, например интерфейсу.<br />
Я же хочу привязать к состоянию DCI IPSEC uptime, т.е. сущности не имеющей объекта.</p>
<p dir="auto">Как это можно сделать?</p>
<p dir="auto">DCI уже есть, как к линку привязать?</p>
]]></description><link>https://forum.netxms.org/topic/7183/network-map-link-status-based-on-dci</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 15:21:19 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/7183.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 22 Sep 2021 05:37:14 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Network map link status based on DCI? on Wed, 22 Sep 2021 12:06:45 GMT]]></title><description><![CDATA[<p dir="auto">Вот пример, что можно сделать:</p>
<pre><code>trace(0, "Calculating link color for " . $endpoint1-&gt;name . " -&gt; " . $endpoint2-&gt;name);

match1 = $endpoint1-&gt;name match ".*ASA-(.*)$";
match2 = $endpoint2-&gt;name match ".*ASA-(.*)$";

if (match1 and match2) {
	key = "Dummy(ipsec-uptime-" . lower(match1[1]) . "-" . lower(match2[1]) . ")";
	trace(0, "Searching for " . key . " on " . $endpoint1-&gt;name);
	value = GetDCIValueByName($endpoint1, key);
	if (not value) {
		key = "Dummy(ipsec-uptime-" . lower(match2[1]) . "-" . lower(match1[1]) . ")";
		trace(0, "Searching for " . key . " on " . $endpoint2-&gt;name);
		value = GetDCIValueByName($endpoint2, key);
	}

	if (value != null) {
		trace(0, "Got value " . value);
		if (value &gt; 0) {
			return "green";
		}
	}
}

return "red";
</code></pre>
<hr />
<p dir="auto"><img src="/assets/uploads/files/smf/0000000005558-Screenshot_2021-09-22_at_15.04.58.png" alt="Screenshot 2021-09-22 at 15.04.58.png" class="img-markdown  img-fluid" width="1056" height="812" /></p>
<p dir="auto"><img src="/assets/uploads/files/smf/0000000005559-Screenshot_2021-09-22_at_15.04.26.png" alt="Screenshot 2021-09-22 at 15.04.26.png" class="img-markdown  img-fluid" width="1932" height="330" /></p>
<p dir="auto"><img src="/assets/uploads/files/smf/0000000005560-Screenshot_2021-09-22_at_15.04.52.png" alt="Screenshot 2021-09-22 at 15.04.52.png" class="img-markdown  img-fluid" width="1242" height="558" /></p>
]]></description><link>https://forum.netxms.org/post/30543</link><guid isPermaLink="true">https://forum.netxms.org/post/30543</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 22 Sep 2021 12:06:45 GMT</pubDate></item><item><title><![CDATA[Reply to Network map link status based on DCI? on Wed, 22 Sep 2021 11:35:25 GMT]]></title><description><![CDATA[<p dir="auto">Эти 20 линков будут на одной циске? Или линк будет между уникальными парами устройств?</p>
<p dir="auto">EDIT: хотя полюбому, можно же сматчить линк по обеим нодам. Как еще один вариант - если имена нод похожие, то можно просто брать конец имени, и собирать название DCI (e.g. MSK-APR")</p>
]]></description><link>https://forum.netxms.org/post/30542</link><guid isPermaLink="true">https://forum.netxms.org/post/30542</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 22 Sep 2021 11:35:25 GMT</pubDate></item><item><title><![CDATA[Reply to Network map link status based on DCI? on Wed, 22 Sep 2021 10:50:11 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alk" aria-label="Profile: alk">@<bdi>alk</bdi></a> said in <a href="/post/30540">Network map link status based on DCI?</a>:</p>
<blockquote>
<p dir="auto">Это зависит уже от конкретных метрик. Скрипт может взять данные с любой ноды (как через $endpoint1/$endpoint2, так и через FindNodeObject(null, "server1")), дальше уже вопрос поиска нужного DCI на ноде.<br />
Если DCI никак не определить из скрипта, можно прописать его ID в custom attribute на ноде и доставать таким образом - вариантов много, надо знать детальные требования, чтоб предложить оптимальный путь.</p>
</blockquote>
<p dir="auto">Не понял как в линке привязаться к ноде для custom attribute. Т.е. если я привяжу линк к ноде, то он же будет статус самой ноды транслировать, а мне это не надо.<br />
Скрин вложил.</p>
<p dir="auto">Мне надо отображать состояние линка на основании DCI, находящегося в данном случае в ноде "CISCO ASA5506-MSK"<br />
DCI отображает целое число, когда IPSEC туннель активен и мне нужен алерт, когда число 0.</p>
<p dir="auto">Т.е. нужно масштабируемое решение, когда мне надо будет видеть состояние 20 линков прявязанных к состоянию 20 IPSEC</p>
<hr />
<p dir="auto"><img src="/assets/uploads/files/smf/0000000005557-Capture.PNG" alt="Capture.PNG" class="img-markdown  img-fluid" width="1112" height="763" /></p>
]]></description><link>https://forum.netxms.org/post/30541</link><guid isPermaLink="true">https://forum.netxms.org/post/30541</guid><dc:creator><![CDATA[Akira]]></dc:creator><pubDate>Wed, 22 Sep 2021 10:50:11 GMT</pubDate></item><item><title><![CDATA[Reply to Network map link status based on DCI? on Wed, 22 Sep 2021 10:36:12 GMT]]></title><description><![CDATA[<p dir="auto">Это зависит уже от конкретных метрик. Скрипт может взять данные с любой ноды (как через $endpoint1/$endpoint2, так и через FindNodeObject(null, "server1")), дальше уже вопрос поиска нужного DCI на ноде.<br />
Если DCI никак не определить из скрипта, можно прописать его ID в custom attribute на ноде и доставать таким образом - вариантов много, надо знать детальные требования, чтоб предложить оптимальный путь.</p>
]]></description><link>https://forum.netxms.org/post/30540</link><guid isPermaLink="true">https://forum.netxms.org/post/30540</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 22 Sep 2021 10:36:12 GMT</pubDate></item><item><title><![CDATA[Reply to Network map link status based on DCI? on Wed, 22 Sep 2021 09:02:38 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/alk" aria-label="Profile: alk">@<bdi>alk</bdi></a> said in <a href="/post/30537">Network map link status based on DCI?</a>:</p>
<blockquote>
<p dir="auto">Самое простое решение - в настройках линка выбрать Color -&gt; Script выбрать скрипт, который будет возвращать цвет на основе DCI (при помощи одной из GetDCIValue* функций - <a href="https://www.netxms.org/documentation/nxsl-latest/#func-getdcivalue" rel="nofollow ugc">https://www.netxms.org/documentation/nxsl-latest/#func-getdcivalue</a>).</p>
</blockquote>
<p dir="auto">Но, как я вижу, не получится сделать некий универсальный скрипт, и для каждого линка нужен будет отдельный скрипт, который будет брать состояние определенного DCI</p>
]]></description><link>https://forum.netxms.org/post/30538</link><guid isPermaLink="true">https://forum.netxms.org/post/30538</guid><dc:creator><![CDATA[Akira]]></dc:creator><pubDate>Wed, 22 Sep 2021 09:02:38 GMT</pubDate></item><item><title><![CDATA[Reply to Network map link status based on DCI? on Wed, 22 Sep 2021 08:36:19 GMT]]></title><description><![CDATA[<p dir="auto">Самое простое решение - в настройках линка выбрать Color -&gt; Script выбрать скрипт, который будет возвращать цвет на основе DCI (при помощи одной из GetDCIValue* функций - <a href="https://www.netxms.org/documentation/nxsl-latest/#func-getdcivalue" rel="nofollow ugc">https://www.netxms.org/documentation/nxsl-latest/#func-getdcivalue</a>).<br />
Скрипт берется из Scripting Library и должен возвращать цвет - в виде строки или числа.<br />
Строка - как в CSS, название цвета или любой из вариантов "#RRGGBB", "0xRRGGBB", "rgb(R, G, B)", где R, G и B - компоненты цвета красный-зеленый-синий. Список цветов можно посмотреть тут: <a href="https://github.com/netxms/netxms/blob/master/src/libnetxms/tools.cpp#L4292" rel="nofollow ugc">https://github.com/netxms/netxms/blob/master/src/libnetxms/tools.cpp#L4292</a><br />
Так же можно вернуть число, с цветом побайтно - 0xRRGGBB (например красный - 0xFF0000, эквивалентно 16711680).</p>
<p dir="auto">Кроме обычных функций и глобальных переменных, в скрипте так же доступны две переменные "$endpoint1" и "$endpoint2", которые указывают на ноды линка.</p>
<p dir="auto">Второй вариант - сделать ноду с IP=0.0.0.0, на ней сделать dummy DCI с флагом "Use this DCI for node status calculation" и скриптом, который будет возвращать статус 0-6 (normal, warning, minor, major, etc.)</p>
]]></description><link>https://forum.netxms.org/post/30537</link><guid isPermaLink="true">https://forum.netxms.org/post/30537</guid><dc:creator><![CDATA[alk]]></dc:creator><pubDate>Wed, 22 Sep 2021 08:36:19 GMT</pubDate></item></channel></rss>