Отслеживать единый параметр на нескольких компьютерах.
-
Имеется хранилище, к которому по оптике подключена группа компьютеров, при этом эти компьютеры являются рабочими станциями и периодически бывают выключены, есть задача отслеживать место на этом хранилище. Хранилище snmp не умеет, но snmp доступен на всех рабочих станциях, и отдает статистику.
В произвольный период времени парочка компьютеров всегда включена, парочка выключена, таким образом нужно отслеживать параметр по следующему принципу, если параметр доступен на 1-м компьютере, то брать значение с него, если нет, то брать значение со 2-го, 3-го, 4-го и т.д.
Каким образом можно реализовать такое? -
Можно написать data collection script, который в цикле будет опрашивать ноды и возвращать первое успешно полученное значение. Выглядеть может например так:
nodes = %("node1", "node2", "node3"); foreach(n : nodes) { node = FindNodeObject($node, n); if (node != null) { snmp = CreateSNMPTransport(node); if (snmp != null) { value = SNMPGetValue(snmp, ".1.3.6.1.2.1.1.1.0"); // put your OID here - you can also pass OID as script parameter if (value != null) return value; // got response } } } return "ERROR"; // error indicationСоответственно DCI на массиве будет с типом Script и в качестве имени - скрипт из библиотеки.
-
Спасибо за решение..
Появился вопрос: где лучше создать эту метрику, в свойствах определенного узла это выглядит не очень хорошо, получается, что где-то нужно создать обьект допустим Storage (причем данный обьект не имеет ip-адреса) и, уже внутри него создавать метрику..
-
Да, именно так и стоит сделать. Узлы без IP адреса создавать можно, можно также использовать значение какого-то DCI для определения статуса такого узла, чтобы он не болтался в UNKNOWN. Надо будет только прописать етот узел как trusted в свойствах всех узлов с которых будет проишодить сбор данных.
-
Приветствую, я не отписывался, так как кое-что тестировал.
В результате сейчас наблюдается следующее: при выполнении скрипта вручную (тест в настройках метрики) скрипт возвращает нужное значение, т.е. с виду все работает.
Но, при всем этом в базу ничего не пишется, последние метрики и история недоступны.
В настройках выставлено: вести историю, опрос каждые n секунд, и т.д.PS: Статус у этого узла так же отсутствует, может все дело в этом, нет статуса - нет и опроса.
-
А можно скриншот настройки DCI?
-
-
-
Несколько замечаний:
-
Когда создаете новый storage, попробуйте указать 0.0.0.0 как "основной адрес".
-
Попробуйте сбор данных сделать не через transformation script у dummy DCI, a как скрипт в библиотеке и тип DCI "скрипт".
-
-
Спасибо за подсказку, при указании адреса 0.0.0.0 создание нового узла отрабатывает без вопросов.
Зато в отношении метрики все то же самое, что и ранее - история не пишется, последние значения недоступны.
Нет ли привязки метрики к статусу узла, когда в случае, если статус выключен или отсутствует, то и метрики не собираются. -
-
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


