сводная таблица метрик
-
Если у этих коммутаторов порты называются как-то по разному, то можно в summary table в свойствах колонки включить использование регулярных выражений и написать регулярку с OR.
Второй путь, более универсальный - делать на этих нодах дополнительный скриптовый DCI. В его скрипте определять модель коммутатора, брать последнее значение DCI соответствующего нужному порту и сохранять. Если история по этому DCI нигде не требуется, то для него можно выбрать время хранения "не сохранять в базу".
Ну или тоже самое можно сделать другим путем - DCI может быть не скриптовым, а push. А скриптоваться в transformation script оригинальных DCI и оттуда делать PushDCIData(node,dciId,value). Но так, возможно, более путанно и чуть хуже по производительности. -
-
Просто список возможных OIDов, разделенных |

-

Создаю таблицу метрик к примеру с двумя значениями. Потом создаю dashboards и мне необходимо вывести эти показания с одного коммутатора, как это сделать?
Необходимо в пределах одного коммутатора мониторить несколько портов и выводить в виде таблицы. При создании дашборда указываешь группу коммутаторов он нормально заполняет таблицу по одному значению с каждого устройства, а с необходимо несколько портов с одного. -
Возможно используете не тот элемент на дашборде (DCI summary table судя по описанию) - надо использовать "table value" - он показывает значение конкретной таблицы.
-
-
С этим буде сложнее - функции фильтра для показа у этого элемента нет. Единственный вариант, который приходит в голову - сделать еще один табличный DCI, и в нем transformation script, который будет удалять ненужные строки. И уже этот DCI выводить на дашборд.
-
-
В трансформационном скрипте у табличного DCI в $1 будет объект класса Table
https://www.netxms.org/documentation/nxsl-latest/#class-tableУ него в частности есть метод deleteRow(rowId)
-
-
Вот пример скрипта. Он берет значения из левой колонки (0 в get(r, 0), следующая колонка будет 1 и т.д.).
for(r = 0; r < $1->rowCount; r++) { v = $1->get(r, 0); if (v->startsWith("GigabitEthernet")) { $1->deleteRow(r); r--; } }
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