NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: VSS on April 16, 2014, 08:29:45 AM

Title: Определить что "Node Down"
Post by: VSS on April 16, 2014, 08:29:45 AM
Всем привет!

Возник вопрос с определением когда нода становится недоступной (Node Down). Если мы все правильно понимаем, то состояние ноды определяется Internal - Status. Статусы есть:

0 = Normal
1 = Warning
2 = Minor
3 = Major
4 = Critical
5 = Unknown
6 = Unmanaged

Опять же, если мы все правильно понимаем, то данные статусы - это внутренние статусы. Статус определяется комбинацией событий. Т.е. вполне возможно, что "3" - означает, что какая-то проблемы с DCI, но нода доступна.

Основной вопрос, как именно определить, что нода недоступна (нет связи с агентом)?
Title: Re: Определить что "Node Down"
Post by: kozlov_ao on April 20, 2014, 05:51:46 PM
Когда нода уходит в даун, срабатывает эвент "sys_node_down". Как вариант, можно повесить запись ситуации, и при необходимости читать ее.
Title: Re: Определить что "Node Down"
Post by: Victor Kirhenshtein on April 23, 2014, 12:28:39 AM
Есть несколько путей - смотря что надо получить:

1. Можно обрабатывать события SYS_NODE_DOWN, SYS_NODE_UNREACHABLE, SYS_AGENT_UNREACHABLE, SYS_SNMP_UNREACHABLE и слать оповещения например.

2. Можно сделать "internal" DCI и в transformation script получать состояние ноды через $node->runtimeFlags. Например, проверить что нода полностью недоступна можно так:

if ($node->runtimeFlags & 0x0004)
{
   // node is unreachable
}

Полный список флагов из runtimeFlags:

QUEUED_FOR_STATUS_POLL     0x0001
QUEUED_FOR_CONFIG_POLL     0x0002
UNREACHABLE                0x0004
AGENT_UNREACHABLE          0x0008
SNMP_UNREACHABLE           0x0010
QUEUED_FOR_DISCOVERY_POLL  0x0020
FORCE_STATUS_POLL          0x0040
FORCE_CONFIGURATION_POLL   0x0080
QUEUED_FOR_ROUTE_POLL      0x0100
CPSNMP_UNREACHABLE         0x0200
RECHECK_CAPABILITIES       0x0400
POLLING_DISABLED           0x0800
CONFIGURATION_POLL_PASSED  0x1000
QUEUED_FOR_TOPOLOGY_POLL   0x2000
DELETE_IN_PROGRESS         0x4000
NETWORK_PATH_PROBLEM       0x8000