Корреляция ивентов

Started by 2c2i, September 03, 2015, 12:29:19 AM

Previous topic - Next topic

2c2i

Происходит такая ситуация: связь с коммутатором пропадает на короткое время(~10 сек)
Генерируются такие ивенты:



2543057 02.09.2015 23:32:10 AGG-campus-1/2 SYS_SNMP_OK Normal Connectivity with SNMP agent restored 0
2543067 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/8 (DL to campus-5)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 8) Interface "1/8 (DL to campus-5)" changed state to UP (IP Addr: 0
2543072 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_EXPECTED_DOWN Normal Interface "1/6 (FREE)" with expected state DOWN changed state to DOWN (IP Addr: UNSPEC/0, IfIndex: 6) Interface "1/6 (FREE)" with expected state DOWN changed state t 0
2543081 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/1 (DL to campus-1-f1)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 1) Interface "1/1 (DL to campus-1-f1)" changed state to UP (IP Add 0
2543086 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/2 (DL to campus-1-f2)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 2) Interface "1/2 (DL to campus-1-f2)" changed state to UP (IP Add 0
2543089 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/4 (DL to campus-1-f4)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 4) Interface "1/4 (DL to campus-1-f4)" changed state to UP (IP Add 0
2543093 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/5 (DL to campus-1/2)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 5) Interface "1/5 (DL to campus-1/2)" changed state to UP (IP Addr 0
2543101 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/9 (UPL to lab2)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 9) Interface "1/9 (UPL to lab2)" changed state to UP (IP Addr: UNS 0
2543114 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_EXPECTED_DOWN Normal Interface "1/7 (FREE)" with expected state DOWN changed state to DOWN (IP Addr: UNSPEC/0, IfIndex: 7) Interface "1/7 (FREE)" with expected state DOWN changed state t 0
2543119 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_EXPECTED_DOWN Normal Interface "1/10 (FREE)" with expected state DOWN changed state to DOWN (IP Addr: UNSPEC/0, IfIndex: 10) Interface "1/10 (FREE)" with expected state DOWN changed state 0
2543126 02.09.2015 23:32:10 AGG-campus-1/2 SYS_IF_UP Normal Interface "1/3 (DL to campus-1-f3)" changed state to UP (IP Addr: UNSPEC/0, IfIndex: 3) Interface "1/3 (DL to campus-1-f3)" changed state to UP (IP Add 0
2543050 02.09.2015 23:32:06 AGG-campus-1/2 SNMP_UNMATCHED_TRAP Normal SNMP trap received: .1.0.8802.1.1.2.0.0.1 (Parameters: .1.0.8802.1.1.2.1.2.2 == '1'; .1.0.8802.1.1.2.1.2.3 == '0'; .1.0.8802.1.1.2.1.2.4 == '0'; .1.0.8802.1.1.2.1.2.5 == '0') SNMP trap received: .1.0.8802.1.1.2.0.0.1 (Parameters: .1.0.880 0
2542813 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/1 (DL to campus-1-f1)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 1) Interface "1/1 (DL to campus-1-f1)" changed state to UNKNOWN (I 0
2542816 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/2 (DL to campus-1-f2)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 2) Interface "1/2 (DL to campus-1-f2)" changed state to UNKNOWN (I 0
2542817 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/4 (DL to campus-1-f4)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 4) Interface "1/4 (DL to campus-1-f4)" changed state to UNKNOWN (I 0
2542819 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/5 (DL to campus-1/2)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 5) Interface "1/5 (DL to campus-1/2)" changed state to UNKNOWN (IP 0
2542820 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/9 (UPL to lab2)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 9) Interface "1/9 (UPL to lab2)" changed state to UNKNOWN (IP Addr 0
2542821 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/7 (FREE)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 7) Interface "1/7 (FREE)" changed state to UNKNOWN (IP Addr: UNSPE 0
2542822 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/10 (FREE)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 10) Interface "1/10 (FREE)" changed state to UNKNOWN (IP Addr: UNSP 0
2542823 02.09.2015 23:31:31 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/3 (DL to campus-1-f3)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 3) Interface "1/3 (DL to campus-1-f3)" changed state to UNKNOWN (I 0
2542686 02.09.2015 23:31:28 AGG-campus-1/2 SYS_SNMP_UNREACHABLE Warning SNMP agent is not responding 0
2542748 02.09.2015 23:31:28 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/8 (DL to campus-5)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 8) Interface "1/8 (DL to campus-5)" changed state to UNKNOWN (IP A 0
2542749 02.09.2015 23:31:28 AGG-campus-1/2 SYS_IF_UNKNOWN Warning Interface "1/6 (FREE)" changed state to UNKNOWN (IP Addr: UNSPEC/0, IfIndex: 6) Interface "1/6 (FREE)" changed state to UNKNOWN (IP Addr: UNSPE 0



Проблема заключается в том что после нормализации ситуации обрабатываются ивенты SYS_IF_UP/SYS_IF_EXPECTED_DOWN, в то вмемя как я ожидаю лишь SYS_NODE_DOWN/SYS_NODE_UP

Судя по всему при опросе статуса интерфейсов по snmp происходит таймаут и генерируется аларм SYS_IF_UNKNOWN. Однако SYS_NODE_DOWN не генерируется.

Правильно ли я понимаю что:
- должен генерироваться SYS_NODE_DOWN
- ивенты SYS_IF_UNKNOWN/SYS_IF_UP/SYS_IF_EXPECTED_DOWN должны быть подавлены функцией корреляции ивентов (если бы был получен SYS_NODE_DOWN)

Или же ивенты смены статуса интерфейса после SYS_IF_UNKNOWN я должен сам отфильтровать в Event Processing Policy?
Куда копать, чтобы понять почему нет SYS_NODE_DOWN?


Victor Kirhenshtein

SYS_NODE_DOWN может не быть если SNMP отвалился, но на ping коммутатор уже ответил. Тогда сервер считает, что проблема только с SNMP агентом.

2c2i

То есть выходит что статус ноды проверяется независимо по таймеру. Может при опросе DCI при получении ошибки логичнее сразу проверить статус ноды?

2c2i

Сейчас возникла похожая ситуация - несколько коммутаторов доступа были отключены по питанию.  Для них сгенерировались ивенты SYS_SNMP_UNREACHABLE, статус у них=0, и SYS_NODE_DOWN ивент не генерируется, при этом коммутаторы не отвечают ни на SNMP, ни на ping уже продолжительное время(4ч).
Я допускаю что теоретически ивент SYS_NODE_DOWN  мог быть подавлен корреляцией, тк в это же время на коммутаторе аггрегации упали порты к этим коммутаторам доступа, однако в таком случае SYS_NODE_DOWN все равно должен появиться в EventLog(насколько я понял) - этого не произошло. После выполнения руками Configuration poll на одной из нод, ивент SYS_NODE_DOWN наконец сгенерировался и стаус ноды стал Critical.

Куда копать чтобы выяснить причину отсутствия SYS_NODE_DOWN?

2c2i

Отмечу что просто Configuration poll не приводит к смене статуса и генерации  SYS_NODE_DOWN, нужно делать именно Configuration poll ( full)

2c2i

#5


root@monitoring-is:/var/log# tail -f netxmsd | grep TTM6-f4
[05-Dec-2015 19:29:36.688] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:37.695] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:38.702] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:39.709] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:40.714] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:41.721] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:42.727] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:43.733] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:44.737] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:45.743] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:46.749] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:47.754] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:48.760] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:49.767] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:50.773] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:51.779] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:51.779] [DEBUG] DataCollectionTarget(ACC-TTM6-f4)->QueueItemsForPolling(): item 117 "Status" added to queue
[05-Dec-2015 19:29:52.785] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:53.791] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:54.796] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:55.802] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:56.808] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:57.816] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:58.820] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:29:59.827] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:00.832] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:01.839] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:02.847] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:03.853] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:04.162] [DEBUG] Node 2216 "ACC-TTM6-f4" queued for status poll
[05-Dec-2015 19:30:04.162] [DEBUG] Starting status poll for node ACC-TTM6-f4 (ID: 2216)
[05-Dec-2015 19:30:04.162] [DEBUG] StatusPoll(ACC-TTM6-f4): check SNMP
[05-Dec-2015 19:30:04.861] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:05.868] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:06.874] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:07.882] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:08.889] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:09.895] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:10.903] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:11.907] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:12.171] [DEBUG] StatusPoll(ACC-TTM6-f4): SNMP check finished
[05-Dec-2015 19:30:12.171] [DEBUG] StatusPoll(ACC-TTM6-f4): starting child object poll
[05-Dec-2015 19:30:12.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2683 [802.1Q Encapsulation Tag 0336]
[05-Dec-2015 19:30:12.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2668 [15]
[05-Dec-2015 19:30:12.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2685 [802.1Q Encapsulation Tag 0339]
[05-Dec-2015 19:30:12.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2686 [System]
[05-Dec-2015 19:30:12.916] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:13.922] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:14.930] [DEBUG] ItemPoller: calling DataCollectionTarget::queueItemsForPolling for object ACC-TTM6-f4 [2216]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2682 [802.1Q Encapsulation Tag 0001]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2676 [23]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2677 [24]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2658 [5]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2665 [12]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2679 [26 ("UPL to TTM5 agg")]
[05-Dec-2015 19:30:15.171] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2678 [25 (FREE)]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2655 [2]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2657 [4]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2656 [3]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2659 [6]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2660 [7]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2662 [9]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2661 [8]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2671 [18]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2673 [20]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2674 [21 (market)]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2675 [22]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2663 [10]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2667 [14]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2669 [16]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2672 [19]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2680 [27 (FREE)]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2681 [28 (FREE)]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2684 [802.1Q Encapsulation Tag 0338]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2664 [11]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2654 [1]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2666 [13]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): polling interface 2670 [17]
[05-Dec-2015 19:30:15.172] [DEBUG] StatusPoll(ACC-TTM6-f4): finished child object poll
[05-Dec-2015 19:30:15.173] [DEBUG] StatusPoll(ACC-TTM6-f4): bAllDown=false, dynFlags=0x00001011


Вот лог сервера относительно ноды для которой не генерируется SYS_NODE_DOWN.
Меня смутила надпись bAllDown=false, посмотрев код оказалось этот флаг описывает состояние дочерних объектов(интерфейсов), при этом нода переводится в состояние NDF_UNREACHABLE только если bAllDown = true, судя по всему этот флаг у меня не выставляется тк некоторые из интерфейсов коммутатора имеют expected state=ignore и в коде:
                     
                              for(i = 0, bAllDown = TRUE; i < m_dwChildCount; i++)
                                if ((m_pChildList[i]->getObjectClass() == OBJECT_INTERFACE) &&
                                         (m_pChildList[i]->Status() != STATUS_CRITICAL) &&
                                         (m_pChildList[i]->Status() != STATUS_UNKNOWN) &&
                                         (m_pChildList[i]->Status() != STATUS_UNMANAGED) &&
                                         (m_pChildList[i]->Status() != STATUS_DISABLED))
                                {       
                                        bAllDown = FALSE;
                                        break;
                                }


незасимо от их состояния  bAllDown устанавливается в FALSE.

Кроме того, насколько я понял, статус NDF_UNREACHABLE устанавливается только если bAllDown=true, а ICMP ответы к IP ноды вообще не проверяются.

if (bAllDown && (m_dwFlags & NF_IS_NATIVE_AGENT) &&
                    (!(m_dwFlags & NF_DISABLE_NXCP)))
                   if (!(m_dwDynamicFlags & NDF_AGENT_UNREACHABLE))
                      bAllDown = FALSE;
                if (bAllDown && (m_dwFlags & NF_IS_SNMP) &&
                    (!(m_dwFlags & NF_DISABLE_SNMP)))
                   if (!(m_dwDynamicFlags & NDF_SNMP_UNREACHABLE))
                      bAllDown = FALSE;

                DbgPrintf(6, _T("StatusPoll(%s): bAllDown=%s, dynFlags=0x%08X"), m_name, bAllDown ? _T("true") : _T("false"), m_dwDynamicFlags);
                if (bAllDown)
                {
                   if (!(m_dwDynamicFlags & NDF_UNREACHABLE))
                   {
                      m_dwDynamicFlags |= NDF_UNREACHABLE;


Верно ли что:
1) ICMP проверки выполняются только для определения статуса интерфейсов?, для объекта "нода" вцелом ICMP проверки доступности не происходит?
2) Если у ноды есть интерфесы в статусе IGNORE то проверка  (m_pChildList->Status() != STATUS_CRITICAL) && (m_pChildList->Status() != STATUS_UNKNOWN) && (m_pChildList->Status() != STATUS_UNMANAGED) && (m_pChildList->Status() != STATUS_DISABLED) всегда даст FALSE и тогда bAllDown никогда не будет true, соответственно by нода не перейдет в режим  NDF_UNREACHABLE

?

2c2i

#6
Я немного поспешил с выводами, проблема еще чуть чуть дальше. Похоже корень проблемы - интерфейс коммутатора System, на котором как раз поднят IP коммутатора, в моем случае его expected state был IGNORE, таким образом его статус всегда оставался  Normal, независимо от результата ICMP проверки.

Проверьте пожалуйста мои выкладки.
Если они верны - мне кажется было бы полезно добавить ICMP проверку самой ноды, а не только её дочерних интерфейсов, тк это неочевидное поведение что если интерфейс имеющий IP перевести в expected state =IGNORE, то нода никогда не станет NDF_UNREACHABLE.

Для проверки я создал новую ноду с недоступным IP. Для автоматически созданного ей интерфейса unknown установил expected state =IGNORE, и нода вслед за интерфейсом unknown перешла в состояние NORMAL.

Victor Kirhenshtein

Топик конечно устарел, но на всякий случай - проблема решена в 2.0.2.