NetXMS Support Forum

Russian Support => Общие вопросы => Topic started by: andrey_D on March 30, 2021, 06:42:08 AM

Title: сводная таблица метрик
Post by: andrey_D on March 30, 2021, 06:42:08 AM
Есть сводная таблица метрик в которой отображаются данные  с группы коммутаторов cisco с определенного порта. К примеру  мониторинг на наличие линка 5 порта на всех коммутаторах. Есть группа коммутаторов другого вендора на них линк мониторится на других портах на 6. В дашборде в таблице получается основные 3 столбца первый столбец хостнейм коммутатора два других столбца номера порта для каждой группы коммутаторов (2 столбец линк 5 порта для cisco,3 столбец для 20 порта другого вендора) . Как сделать что бы было всего один столбец к примеру для cisco данные по линку брались с порта 5 а для коммутаторов другого вендора c порта 20 но это было отображено в одном столбце?
Title: Re: сводная таблица метрик
Post by: Filipp Sudanov on March 31, 2021, 03:35:26 PM
Если у этих коммутаторов порты называются как-то по разному, то можно в summary table в свойствах колонки включить использование регулярных выражений и написать регулярку с OR.

Второй путь, более универсальный - делать на этих нодах дополнительный скриптовый DCI. В его скрипте определять модель коммутатора, брать последнее значение DCI соответствующего нужному порту и сохранять. Если история по этому DCI нигде не требуется, то для него можно выбрать время хранения "не сохранять в базу".
Ну или тоже самое можно сделать другим путем - DCI может быть не скриптовым, а push. А скриптоваться в transformation script оригинальных DCI и оттуда делать PushDCIData(node,dciId,value). Но так, возможно, более путанно и чуть хуже по производительности.
Title: Re: сводная таблица метрик
Post by: andrey_D on April 01, 2021, 05:04:08 AM
А можно подробнее, не силен в скриптах и регулярных выражений. Данные в сводную таблицу заносятся по статусу OID .1.3.6.1.2.1.2.2.1.8.1 это одной группы коммутаторов и к примеру
.1.3.6.1.2.1.2.2.1.8.23 других.
Title: Re: сводная таблица метрик
Post by: Filipp Sudanov on April 12, 2021, 01:10:24 PM
Просто список возможных OIDов, разделенных |
Title: Re: сводная таблица метрик
Post by: andrey_D on April 23, 2022, 06:02:43 AM
(https://ie.wampi.ru/2022/04/23/111.png)
Создаю таблицу метрик к примеру с двумя значениями. Потом создаю dashboards и мне необходимо вывести эти показания с одного коммутатора, как это сделать?
Необходимо в пределах одного коммутатора мониторить несколько портов и выводить в виде таблицы. При создании дашборда указываешь группу коммутаторов он нормально заполняет таблицу по одному значению с каждого устройства, а с необходимо несколько портов с одного.
Title: Re: сводная таблица метрик
Post by: Victor Kirhenshtein on April 30, 2022, 09:36:39 AM
Возможно используете не тот элемент на дашборде (DCI summary table судя по описанию) - надо использовать "table value" - он показывает значение конкретной таблицы.
Title: Re: сводная таблица метрик
Post by: andrey_D on May 05, 2022, 04:42:53 AM
Создал таблицу "table value" теперь данные выводятся с одного коммутатора, а как теперь отфильтровать что бы выводились в таблицу определенные порты а не все?
Title: Re: сводная таблица метрик
Post by: Victor Kirhenshtein on May 09, 2022, 10:52:58 AM
С этим буде сложнее - функции фильтра для показа у этого элемента нет. Единственный вариант, который приходит в голову - сделать еще один табличный DCI, и в нем transformation script, который будет удалять ненужные строки. И уже этот DCI выводить на дашборд.
Title: Re: сводная таблица метрик
Post by: andrey_D on May 11, 2022, 03:26:16 AM
а как на примере в transformation script, удалить ненужные строки? к примеру удалить порты в таблице
Title: Re: сводная таблица метрик
Post by: Filipp Sudanov on May 11, 2022, 04:20:34 PM
В трансформационном скрипте у табличного DCI в $1 будет объект класса Table
https://www.netxms.org/documentation/nxsl-latest/#class-table

У него в частности есть метод deleteRow(rowId)

Title: Re: сводная таблица метрик
Post by: andrey_D on May 16, 2022, 07:44:57 AM
А есть способ удалить строки по поиску совпадений, например искать в строке GigabitEthernet и что бы все строки где встречается GigabitEthernet удалялись (к примеру GigabitEthernet0/0/1 содержит GigabitEthernet удаляем).
Title: Re: сводная таблица метрик
Post by: Filipp Sudanov on May 24, 2022, 02:14:50 PM
Вот пример скрипта. Он берет значения из левой колонки (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--;
   }
}