Определить что "Node Down"
-
Всем привет!
Возник вопрос с определением когда нода становится недоступной (Node Down). Если мы все правильно понимаем, то состояние ноды определяется Internal - Status. Статусы есть:
0 = Normal
1 = Warning
2 = Minor
3 = Major
4 = Critical
5 = Unknown
6 = UnmanagedОпять же, если мы все правильно понимаем, то данные статусы - это внутренние статусы. Статус определяется комбинацией событий. Т.е. вполне возможно, что "3" - означает, что какая-то проблемы с DCI, но нода доступна.
Основной вопрос, как именно определить, что нода недоступна (нет связи с агентом)?
-
-
Есть несколько путей - смотря что надо получить:
-
Можно обрабатывать события SYS_NODE_DOWN, SYS_NODE_UNREACHABLE, SYS_AGENT_UNREACHABLE, SYS_SNMP_UNREACHABLE и слать оповещения например.
-
Можно сделать "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 -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login