<?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[ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN]]></title><description><![CDATA[<p dir="auto">Иногда генерируются такие события и алармы:</p>
<pre><code>676504	24.02.2016 02:03:51	SW41	0	SYS_IF_EXPECTED_DOWN	Normal	Interface "swp25" with expected state DOWN changed state to DOWN (IP Addr: UNSPEC/0, IfIndex: 26)		0
676813	24.02.2016 05:09:08	SW1 (1.250)	0	SYS_IF_EXPECTED_DOWN	Normal	Interface "1/8" with expected state DOWN changed state to DOWN (IP Addr: UNSPEC/0, IfIndex: 8)		0

673900	23.02.2016 05:32:58	SW1 (1.250)	0	SYS_IF_UP	Normal	Interface "1/22 (MONITORING SW)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 22)		0
</code></pre>
<p dir="auto">По времени это может быть 05:00 утра или 02:00 ночи, на коммутаторах при этом ничего не происходит похожего.</p>
<p dir="auto">Я понимаю когда, например, срабатывает такое:</p>
<pre><code>[Normal]	SW10 (167.1)	Interface "1/25" with expected state DOWN changed state to DOWN (IfIndex: 25)
[Major]	SW10 (167.1)	Interface "1/25" unexpectedly changed state to UP (IfIndex: 25)
</code></pre>
<p dir="auto">Тут всё правильно, и на самом коммутаторе из unexpectedly state UP порт переходит в expected state DOWN.</p>
<p dir="auto">А вот ситуация выше похожа на какой то баг, возможно. Какую доп. информацию нужно предоставить?</p>
<p dir="auto">UPD.</p>
<p dir="auto">Заметил еще следующее:</p>
<pre><code>677530	24.02.2016 12:11:47	SW41	0	SYS_IF_UP	Normal	Interface "swp06 (Solnechnaya 85)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 7)		0
677529	24.02.2016 12:10:43	SW41	0	SYS_IF_UNKNOWN	Warning	Interface "swp06 (Solnechnaya 85)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 7)		0
</code></pre>
<p dir="auto">То есть почему то вначале вообще SYS_IF_UNKNOWN создаётся....</p>
<pre><code>676504	24.02.2016 02:03:51	SW41	0	SYS_IF_EXPECTED_DOWN	Normal	Interface "swp25" with expected state DOWN changed state to DOWN (IP Addr: UNSPEC/0, IfIndex: 26)		0
676503	24.02.2016 02:02:47	SW41	0	SYS_IF_UNKNOWN	Warning	Interface "swp25" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 26)		0
</code></pre>
<p dir="auto">Тогда на баг не похоже, но как бороться с этим SYS_IF_UNKNOWN ?</p>
]]></description><link>https://forum.netxms.org/topic/4318/ошибочные-срабатывания-sys_if_up-и-sys_if_expected_down</link><generator>RSS for Node</generator><lastBuildDate>Fri, 13 Nov 2026 09:22:57 GMT</lastBuildDate><atom:link href="https://forum.netxms.org/topic/4318.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 24 Feb 2016 07:58:15 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Wed, 31 Aug 2016 12:34:47 GMT]]></title><description><![CDATA[<p dir="auto">Поправил ваш скрипт с помощью Виктора, для того чтобы полностью получать Unique ID.</p>
<pre><code>nodeid = "0x" . right(d2x($node-&gt;id), 8, "0");
key = "IF_UNEXP_UP_".nodeid."_".$event-&gt;parameters[1];
	trace(0, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(0, "key " .key." Not found. disable event rule");
		return false;
	}
	trace(0, "key " .key." Found. process event rule");

	return true;

//IF_UNEXP_UP_0x00000981_9374
</code></pre>
<p dir="auto">Спасибо!</p>
]]></description><link>https://forum.netxms.org/post/20842</link><guid isPermaLink="true">https://forum.netxms.org/post/20842</guid><dc:creator><![CDATA[hsvt]]></dc:creator><pubDate>Wed, 31 Aug 2016 12:34:47 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Tue, 30 Aug 2016 18:35:46 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/2c2i" aria-label="Profile: 2c2i">@<bdi>2c2i</bdi></a> said in <a href="/post/20836">ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN</a>:</p>
<blockquote>
<p dir="auto">&gt;Мне нужно SYS_IF_EXPECTED_DOWN создавать Alarm (Normal) только если до этого был SYS_IF_UNEXPECTED_UP, а если был SYS_NODE_DOWN или SYS_IF_UNKNOWN то НЕ создавать.<br />
То есть если пришел SYS_IF_UNEXPECTED_UP - вы создаете аларм, а потом если пришел SYS_IF_EXPECTED_DOWN(то есть нормализация) - вы хотите не удалять аларм, а создать еще один? Если так, то вы в принципе можете применить мои фильтры, немного их поменяв.</p>
</blockquote>
<p dir="auto">Да, создавать еще один (у него всё равно severity Normal) или хотя бы резолвить его.</p>
<p dir="auto">&gt;trace - выводит сообщения в лог демона на сервере.</p>
<p dir="auto">У меня кстати пусто в netxmsd.log по трейсам, trace 1 — это же уровень дебага\лога, может больше надо?)</p>
<p dir="auto">&gt;Я не совсем понял о чем речь. Мои скрипты подавляют экшны для инвентов о нормализации состояния порта в том случае если не было аларма на тему ненормального состояния. Это как раз происходит если статус интерфейсов стал UNKNOWN. То есть делаются две вещи:</p>
<ul>
<li>не пишется письмо что ситуация нормализовалась по SYS_IF_EXPECTED_DOWN в случае если ранее не было аларма SYS_IF_UNEXPECTED_UP( как раз если у вас был SYS_NODE_DOWN или SYS_IF_UNKNOWN)</li>
<li>не пишется письмо  что ситуация нормализовалась по SYS_IF_EXPECTED_UP в случае если ранее не было проблемы SYS_IF_UNEXPECTED_DOWN(аналогично, но для интерфейсов с другим expected state).</li>
</ul>
<p dir="auto">У меня нет actions для этих правил, мне достаточно Алармов для них. Ну грубо говоря сработал внезапно где то SYS_IF_UNEXPECTED_UP (монтёр порт включил у которого expected state down или несанкционированное подключение) приходит аларм SYS_IF_UNEXPECTED_UP, потом порт погасили - приходит аларм (Normal) SYS_IF_EXPECTED_DOWN. Вручную уже  разбираешь их, удаляешь или резолвишь, например. А в остальном всё тоже самое, только без Action.</p>
<p dir="auto">SYS_IF_EXPECTED_UP и SYS_IF_UNEXPECTED_DOWN я у себя не нахожу <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>
<hr />
<p dir="auto"><img src="/assets/uploads/files/smf/0000000003190-ex.jpg" alt="ex.jpg" class="img-markdown  img-fluid" width="573" height="233" /></p>
]]></description><link>https://forum.netxms.org/post/20839</link><guid isPermaLink="true">https://forum.netxms.org/post/20839</guid><dc:creator><![CDATA[hsvt]]></dc:creator><pubDate>Tue, 30 Aug 2016 18:35:46 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Tue, 30 Aug 2016 16:16:45 GMT]]></title><description><![CDATA[<p dir="auto">&gt;Где вы вызываете скрипт для отладки (trace) ?<br />
trace - выводит сообщения в лог демона на сервере.</p>
<p dir="auto">&gt;То есть я их не терминирую автоматически, а хотел бы отслеживать вручную.<br />
Я не совсем понял о чем речь. Мои скрипты подавляют экшны для инвентов о нормализации состояния порта в том случае если не было аларма на тему ненормального состояния. Это как раз происходит если статус интерфейсов стал UNKNOWN. То есть делаются две вещи:</p>
<ul>
<li>не пишется письмо что ситуация нормализовалась по SYS_IF_EXPECTED_DOWN в случае если ранее не было аларма SYS_IF_UNEXPECTED_UP( как раз если у вас был SYS_NODE_DOWN или SYS_IF_UNKNOWN)</li>
<li>не пишется письмо  что ситуация нормализовалась по SYS_IF_EXPECTED_UP в случае если ранее не было проблемы SYS_IF_UNEXPECTED_DOWN(аналогично, но для интерфейсов с другим expected state).</li>
</ul>
<p dir="auto">Вам не нужно терминировать аларм автоматически если стейт порта изменился с  expected state на другой, а потом снова нормализовался?</p>
<p dir="auto">&gt;Мне нужно SYS_IF_EXPECTED_DOWN создавать Alarm (Normal) только если до этого был SYS_IF_UNEXPECTED_UP, а если был SYS_NODE_DOWN или SYS_IF_UNKNOWN то НЕ создавать.<br />
То есть если пришел SYS_IF_UNEXPECTED_UP - вы создаете аларм, а потом если пришел SYS_IF_EXPECTED_DOWN(то есть нормализация) - вы хотите не удалять аларм, а создать еще один? Если так, то вы в принципе можете применить мои фильтры, немного их поменяв.</p>
]]></description><link>https://forum.netxms.org/post/20836</link><guid isPermaLink="true">https://forum.netxms.org/post/20836</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Tue, 30 Aug 2016 16:16:45 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Tue, 30 Aug 2016 10:29:56 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/2c2i" aria-label="Profile: 2c2i">@<bdi>2c2i</bdi></a> said in <a href="/post/20246">ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN</a>:</p>
<blockquote>
<p dir="auto">получилось добиться вышеописанного таким скриптом фильтрации:</p>
<pre><code>sub main() {
	key="IF_UNEXP_UP_".$event-&gt;parameters[1]."_".d2x($event-&gt;id);
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key" .key." Not found. disable event rule");
		return false;
	}
	return true;
}
</code></pre>
</blockquote>
<p dir="auto">Хотя я немного рано радовался. У меня в общем немного суть отличается, у меня нет таких EPP правил "Terminate interface unexpectedly up alarms when interface goes down" и "Terminate interface down alarms when interface is up".</p>
<p dir="auto">То есть я их не терминирую автоматически, а хотел бы отслеживать вручную.</p>
<p dir="auto">Мне нужно SYS_IF_EXPECTED_DOWN создавать Alarm (Normal) только если до этого был SYS_IF_UNEXPECTED_UP, а если был SYS_NODE_DOWN или SYS_IF_UNKNOWN то НЕ создавать.</p>
<p dir="auto">Именно как вы писали:</p>
<blockquote>
<p dir="auto">Эту проблему можно было бы решить галкой типа "suppress event if key not found" - то есть если ключ IF_UNEXP_UP_%i_%1 при обработке SYS_IF_EXPECTED_DOWN не найден, то подавлять ивент. С помощью такой фичи можно было бы подавлять ивенты о нормализации чего либо, если до этого не было ивента о аларме.</p>
</blockquote>
<p dir="auto">Вроде бы вот этот ваш скрипт должен как раз помочь, но с ним почему то возвращает false. (sub main разработчики советуют уже опускать)</p>
<pre><code>key="IF_UNEXP_UP_".$event-&gt;parameters[1];
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key" .key." Not found. disable event rule");
		return false;
	}
	trace(1, "key" .key." Found. process event rule");

	return true;
</code></pre>
<p dir="auto">Где вы вызываете скрипт для отладки (trace) ?</p>
<hr />
<p dir="auto"><img src="/assets/uploads/files/smf/0000000003176-epp_filter_DL.png" alt="epp_filter_DL.png" class="img-markdown  img-fluid" width="1429" height="570" /></p>
]]></description><link>https://forum.netxms.org/post/20829</link><guid isPermaLink="true">https://forum.netxms.org/post/20829</guid><dc:creator><![CDATA[hsvt]]></dc:creator><pubDate>Tue, 30 Aug 2016 10:29:56 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Mon, 22 Aug 2016 09:47:12 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/2c2i" aria-label="Profile: 2c2i">@<bdi>2c2i</bdi></a> said in <a href="/post/20743">ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN</a>:</p>
<blockquote>
<p dir="auto">Для правила EPP "Terminate interface unexpectedly up alarms when interface goes down":</p>
<pre><code>sub main() {
	key="IF_UNEXP_UP_".$event-&gt;parameters[1];
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key" .key." Not found. disable event rule");
		return false;
	}
	trace(1, "key" .key." Found. process event rule");

	return true;
}
</code></pre>
<p dir="auto">Для Terminate interface down alarms when interface is up:</p>
<pre><code>sub main() {
	key="IF_DOWN_".$event-&gt;parameters[1];
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key ".key." Not found. disable event rule");
		return false;
	}
	trace(1, "key ".key." Found. process event rule");

	return true;
}
</code></pre>
</blockquote>
<p dir="auto">Спасибо! Так полегче <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/20746</link><guid isPermaLink="true">https://forum.netxms.org/post/20746</guid><dc:creator><![CDATA[hsvt]]></dc:creator><pubDate>Mon, 22 Aug 2016 09:47:12 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Mon, 22 Aug 2016 08:33:15 GMT]]></title><description><![CDATA[<p dir="auto">Для правила EPP "Terminate interface unexpectedly up alarms when interface goes down":</p>
<pre><code>sub main() {
	key="IF_UNEXP_UP_".$event-&gt;parameters[1];
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key" .key." Not found. disable event rule");
		return false;
	}
	trace(1, "key" .key." Found. process event rule");

	return true;
}
</code></pre>
<p dir="auto">Для Terminate interface down alarms when interface is up:</p>
<pre><code>sub main() {
	key="IF_DOWN_".$event-&gt;parameters[1];
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key ".key." Not found. disable event rule");
		return false;
	}
	trace(1, "key ".key." Found. process event rule");

	return true;
}
</code></pre>
]]></description><link>https://forum.netxms.org/post/20743</link><guid isPermaLink="true">https://forum.netxms.org/post/20743</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Mon, 22 Aug 2016 08:33:15 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Mon, 15 Aug 2016 09:20:03 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/2c2i" aria-label="Profile: 2c2i">@<bdi>2c2i</bdi></a> said in <a href="/post/20246">ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN</a>:</p>
<blockquote>
<p dir="auto">получилось добиться вышеописанного таким скриптом фильтрации:</p>
<pre><code>sub main() {
	key="IF_UNEXP_UP_".$event-&gt;parameters[1]."_".d2x($event-&gt;id);
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key" .key." Not found. disable event rule");
		return false;
	}
	return true;
}
</code></pre>
</blockquote>
<p dir="auto">Это к какому правилу применять нужно ?</p>
]]></description><link>https://forum.netxms.org/post/20630</link><guid isPermaLink="true">https://forum.netxms.org/post/20630</guid><dc:creator><![CDATA[hsvt]]></dc:creator><pubDate>Mon, 15 Aug 2016 09:20:03 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Fri, 24 Jun 2016 11:22:50 GMT]]></title><description><![CDATA[<p dir="auto">получилось добиться вышеописанного таким скриптом фильтрации:</p>
<pre><code>sub main() {
	key="IF_UNEXP_UP_".$event-&gt;parameters[1]."_".d2x($event-&gt;id);
	trace(1, "Checking key ".key);
	if	(FindAlarmByKey(key) == null) {
		trace(1, "key" .key." Not found. disable event rule");
		return false;
	}
	return true;
}
</code></pre>
]]></description><link>https://forum.netxms.org/post/20246</link><guid isPermaLink="true">https://forum.netxms.org/post/20246</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Fri, 24 Jun 2016 11:22:50 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Thu, 23 Jun 2016 15:33:22 GMT]]></title><description><![CDATA[<p dir="auto">Скажите, нет ли в планах реализации вышеописанного поведения?<br />
Быть может вы подскажете как его эмулировать с помощью  custom attributes, как вы упоминали ранее. Тк эта проблема нам мешает завершить переход на netxms полностью.</p>
]]></description><link>https://forum.netxms.org/post/20238</link><guid isPermaLink="true">https://forum.netxms.org/post/20238</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Thu, 23 Jun 2016 15:33:22 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Fri, 29 Apr 2016 09:55:29 GMT]]></title><description><![CDATA[<p dir="auto">&gt;Т.е. в правиле несколько действий - terminate alarm плюс рассылка, и подавлять надо именно остальные действия.</p>
<p dir="auto">Да, если при terminate alarm оказалось что нет аларма с таким ключем - нужна галочка решит выполненять ли server actions или просто закончить работу правила.</p>
]]></description><link>https://forum.netxms.org/post/19773</link><guid isPermaLink="true">https://forum.netxms.org/post/19773</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Fri, 29 Apr 2016 09:55:29 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Thu, 21 Apr 2016 13:57:43 GMT]]></title><description><![CDATA[<p dir="auto">Т.е. в правиле несколько действий - terminate alarm плюс рассылка, и подавлять надо именно остальные действия.</p>
]]></description><link>https://forum.netxms.org/post/19724</link><guid isPermaLink="true">https://forum.netxms.org/post/19724</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Thu, 21 Apr 2016 13:57:43 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Wed, 20 Apr 2016 08:29:39 GMT]]></title><description><![CDATA[<p dir="auto">&gt;Отмена срабатывание этого-же правила, или не идти дальше по правилам?<br />
Отмена срабатывания этого правила.</p>
<p dir="auto">&gt;А то правило terminate alarm так и так ничего не сделает если алармов с заданным ключом нет.<br />
Правило terminate alarm сейчас выполняет Action независимо от наличия/отсутствия ключа аларма (в результате у нас генерируются тысячи бессмысленных писем "[Normal] Interface blabla with expected state DOWN changed state to DOWN" ) . Вот галка про которую я говорю, могла бы отменять выполнение всех экшнов данного правила если ключа аларма не найдено.</p>
]]></description><link>https://forum.netxms.org/post/19702</link><guid isPermaLink="true">https://forum.netxms.org/post/19702</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Wed, 20 Apr 2016 08:29:39 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Mon, 18 Apr 2016 12:38:39 GMT]]></title><description><![CDATA[<p dir="auto">Отмена срабатывание этого-же правила, или не идти дальше по правилам? А то правило terminate alarm так и так ничего не сделает если алармов с заданным ключом нет.</p>
]]></description><link>https://forum.netxms.org/post/19657</link><guid isPermaLink="true">https://forum.netxms.org/post/19657</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Mon, 18 Apr 2016 12:38:39 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Sun, 17 Apr 2016 14:57:39 GMT]]></title><description><![CDATA[<p dir="auto">Галка в Event Processing policy rule. В меню Action-&gt;Alarm. Если выбран режим Terminate alarm или Resolve alarm - указывать не только ключ, но и галочку для отмены срабатывания правила, если алармов с указанным ключем не было на момент срабатывания. Таким образом если аларма не было, можно будет подавить Terminate alarm или Resolve alarm</p>
]]></description><link>https://forum.netxms.org/post/19646</link><guid isPermaLink="true">https://forum.netxms.org/post/19646</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Sun, 17 Apr 2016 14:57:39 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Thu, 07 Apr 2016 20:06:57 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/2c2i" aria-label="Profile: 2c2i">@<bdi>2c2i</bdi></a> said in <a href="/post/19442">ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN</a>:</p>
<blockquote>
<blockquote>
<p dir="auto">Не генерировать UP/EXPECTED DOWN события если интерфейс выходит из состояния UNKNOWN. Единственная возможная проблема которую я вижу - если интерфейс был например UP, пропала связь с SNMP агентом, интерфейс стал UNKNOWN. Потом связь восстановилась, но интерфейс уже DOWN к этому моменту. Тогда не будет события, которое на самом деле информативно.</p>
</blockquote>
<p dir="auto"> Если EXPECTED state был UP, то после выхода из UNKNOWN нужно сгенерить  UNEXPECTED DOWN(а это другой тип евента). Таким образом если  не слать EXPECTED DOWN/UP события если интерфейс выходит из состояния UNKNOWN все будет работать как требуется - потому что смена состояния будет приводить в генерации UNEXPECTED  UP/DOWN. Потери полезного события не будет.</p>
</blockquote>
<p dir="auto">Ну да, достаточно запоминать последнее известное состояние, и при выходе из UNKNOWN генерить событие только в случае если новое состояние отличается.</p>
<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="/user/2c2i" aria-label="Profile: 2c2i">@<bdi>2c2i</bdi></a> said in <a href="/post/19442">ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN</a>:</p>
<blockquote>
<blockquote>
<p dir="auto">Эту проблему можно было бы решить галкой типа "suppress event if key not found" - то есть если ключ IF_UNEXP_UP_%i_%1 при обработке SYS_IF_EXPECTED_DOWN не найден, то подавлять ивент. С помощью такой фичи можно было бы подавлять ивенты о нормализации чего либо, если до этого не было ивента о аларме.</p>
</blockquote>
<p dir="auto">А почему не возможен этот вариант? Мне кажется это было бы более гибко.</p>
</blockquote>
<p dir="auto">А где галку ставить?</p>
<p dir="auto">А так при помощи скриптов и custom attributes это можно и сейчас сделать.</p>
]]></description><link>https://forum.netxms.org/post/19587</link><guid isPermaLink="true">https://forum.netxms.org/post/19587</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Thu, 07 Apr 2016 20:06:57 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Sun, 20 Mar 2016 20:44:19 GMT]]></title><description><![CDATA[<blockquote>
<p dir="auto">Не генерировать UP/EXPECTED DOWN события если интерфейс выходит из состояния UNKNOWN. Единственная возможная проблема которую я вижу - если интерфейс был например UP, пропала связь с SNMP агентом, интерфейс стал UNKNOWN. Потом связь восстановилась, но интерфейс уже DOWN к этому моменту. Тогда не будет события, которое на самом деле информативно.</p>
</blockquote>
<p dir="auto"> Если EXPECTED state был UP, то после выхода из UNKNOWN нужно сгенерить  UNEXPECTED DOWN(а это другой тип евента). Таким образом если  не слать EXPECTED DOWN/UP события если интерфейс выходит из состояния UNKNOWN все будет работать как требуется - потому что смена состояния будет приводить в генерации UNEXPECTED  UP/DOWN. Потери полезного события не будет.</p>
<blockquote>
<p dir="auto">Эту проблему можно было бы решить галкой типа "suppress event if key not found" - то есть если ключ IF_UNEXP_UP_%i_%1 при обработке SYS_IF_EXPECTED_DOWN не найден, то подавлять ивент. С помощью такой фичи можно было бы подавлять ивенты о нормализации чего либо, если до этого не было ивента о аларме.</p>
</blockquote>
<p dir="auto">А почему не возможен этот вариант? Мне кажется это было бы более гибко.</p>
]]></description><link>https://forum.netxms.org/post/19442</link><guid isPermaLink="true">https://forum.netxms.org/post/19442</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Sun, 20 Mar 2016 20:44:19 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Tue, 08 Mar 2016 21:08:16 GMT]]></title><description><![CDATA[<p dir="auto">Я вижу два возможных решения:</p>
<ol>
<li>
<p dir="auto">Не генерировать UP/EXPECTED DOWN события если интерфейс выходит из состояния UNKNOWN. Единственная возможная проблема которую я вижу - если интерфейс был например UP, пропала связь с SNMP агентом, интерфейс стал UNKNOWN. Потом связь восстановилась, но интерфейс уже DOWN к этому моменту. Тогда не будет события, которое на самом деле информативно.</p>
</li>
<li>
<p dir="auto">Добавить параметр к событию - предыдущее состояние. Тогда можно будет отфильтровать переходы из UNKNOWN, но проблема из варианта 1 все равно останется.</p>
</li>
</ol>
<p dir="auto">Возможно надо сохранять еще и последнее состояние перед UNKNOWN, и на основе него уже принимать решение о генерации события.</p>
]]></description><link>https://forum.netxms.org/post/19357</link><guid isPermaLink="true">https://forum.netxms.org/post/19357</guid><dc:creator><![CDATA[victor]]></dc:creator><pubDate>Tue, 08 Mar 2016 21:08:16 GMT</pubDate></item><item><title><![CDATA[Reply to ошибочные срабатывания SYS_IF_UP и SYS_IF_EXPECTED_DOWN on Sun, 28 Feb 2016 14:41:52 GMT]]></title><description><![CDATA[<p dir="auto">У меня такая же проблема, из-за кучи таких лишних ивентов очень неудобно видеть нужные. Свои изыскания я описал тут:</p>
<p dir="auto"><a href="https://www.netxms.org/forum/oe-oo/koe-eto/" rel="nofollow ugc">https://www.netxms.org/forum/oe-oo/koe-eto/</a></p>
<p dir="auto">Если кратко: в некоторых ситуациях не генерируется ивент SYS_NODE_DOWN(когда нет ответа на SNMP?) интерфейсы становятся UNKNOWN, а потом когда связь восстанавливается - они переходят в expected state и генерируется Normal ивент.</p>
<p dir="auto">Вероятно нужно починить генерацию SYS_NODE_DOWN если snmp отвалился и не генерить при восстановлении SYS_IF_EXPECTED_DOWN/UP</p>
<p dir="auto">Проблема вообще очень раздражает.</p>
<p dir="auto">Существует и другая похожая проблема:<br />
 1) Связь реально пропадает, SYS_NODE_DOWN генерируется<br />
 2) для интефейсов ноды генерируется SYS_IF_UNKNOWN<br />
 3) Связь восстанавливается, для каждого интерфейса(речь о тех у которых expected state=down) генерируется SYS_IF_EXPECTED_DOWN.</p>
<p dir="auto">Фактически выходит что в event processing policy нельзя отличить SYS_IF_EXPECTED_DOWN как восстановление SYS_IF_UNEXPECTED_UP от  SYS_IF_EXPECTED_DOWN который пришел просто после восстановления связи с коммутатором. Это приводит к флуду в почте поле восстановления связи с коммутатором.</p>
<p dir="auto">Эту проблему можно было бы решить галкой типа &quot;suppress event if key not found&quot; - то есть если ключ IF_UNEXP_UP_%i_%1 при обработке SYS_IF_EXPECTED_DOWN не найден, то подавлять ивент. С помощью такой фичи можно было бы подавлять ивенты о нормализации чего либо, если до этого не было ивента о аларме.</p>
]]></description><link>https://forum.netxms.org/post/19312</link><guid isPermaLink="true">https://forum.netxms.org/post/19312</guid><dc:creator><![CDATA[2c2i]]></dc:creator><pubDate>Sun, 28 Feb 2016 14:41:52 GMT</pubDate></item></channel></rss>