Как посчитать количество Node в Container

Started by goa, December 14, 2022, 12:41:46 PM

Previous topic - Next topic

goa

Добрый день.

Есть контейнер "AP", к которому привязаны все WiFi точки доступа компании.
Задача - выводить на дашборд общее количество точек и количество Online/Offline точек.

Как можно посчитать количество Node в контейнере(Total, Offline, Online)?

Спасибо!

Filipp Sudanov


Если они все живут непосредственно под этим контейнером (а не в подконтейнераз), то сделать в script library такой скрипт:

container = FindObject(1234);  // 1234 - ID контейнера

status_to_count = $ARGS[1];
count = 0;
for (c : container->children) {
  if (classof(c) == "Node") {
    if (status_to_count == -1 or c->status == status_to_count) count++;
  }
}
return count;





В качестве параметра скрипту подается число

0Normal
1Warning
2Minor
3Major
4Critical

или -1 - считать все ноды.

Ну и дальше на какой-нибудь ноде (для этих целей можно создать фиктивную ноду с адресом 0.0.0.0) сделать скриптовые DCI которые вызвают этот скрипт из библиотеки.

goa

Филипп, добрый день.

Скрипт работает.
Спасибо за помощь.

Было неочевидно как передать параметр в скрипт.
В примерах не нашёл, поэтому выложу тут для справки.