Источник данных из таблицы
-
Подскажите пожалуйста
Есть графический линк между оборудованием и необходимо что бы на линке было значение из таблицы как это сделать?
Таблица из mac адресов со значениями мощность передачи, скорость на канале это для примера. Выбираю в качестве источника значение таблицы но значение не появляется.
Как добавить к значению единицу измерения к примеру выбираю источник скорость передачи данных, на линке появляется значение 100, как добавить мбит/с? -
@andrey_d said in Источник данных из таблицы:
Подскажите пожалуйста
Есть графический линк между оборудованием и необходимо что бы на линке было значение из таблицы как это сделать?Табличные данные на карте не поддерживаются сейчас. Странно что он дает выбрать таблицу в списке. Сейчас единственный вариант - сделать скриптовый DCI, который будет доставать нужную ячейку из таблицы, и его уже добавлять на карту.
@andrey_d said in Источник данных из таблицы:
Как добавить к значению единицу измерения к примеру выбираю источник скорость передачи данных, на линке появляется значение 100, как добавить мбит/с?
В свойствах источника есть строка форматированию, это стандартный Java формат с одним дополнением - можно использовать %*s для автоматической подстановки мультипликаторов. Если надо просто поставить суффикс мбит/с, то строка формата может быть
%s мбит/сА если значение всегда в битах, и надо автоматически подставлять к, м, и т.д., то строка будет
%*sбит/с -
В свойствах источника есть строка форматированию, это стандартный Java формат с одним дополнением - можно использовать %*s для автоматической подстановки мультипликаторов. Если надо просто поставить суффикс мбит/с, то строка формата может быть
%s мбит/сСпасибо за ответ!
А можно подробнее про скрипт для значений из таблицы
-
К примеру, мысобираем агентскую таблицу по параметру Agent.SubAgents. Сам этот табличный DCI назван "Loaded subagents". И там какие-то такие данные:
| NAME | VERSION | FILE | +---------------------+---------------------+---------------------+ | Linux | 4.0.484 | linux.nsm | | PORTCHECK | 4.0.484 | portcheck.nsm | | DBQUERY | 4.0.484 | dbquery.nsm | | FILEMGR | 4.0.484 | filemgr.nsm | | PING | 4.0.484 | ping.nsm | | SSH | 4.0.484 | ssh.nsm | | VMGR | 4.0.484 | vmgr.nsm |И мы хотим иметь DCI, в котором будет версия субагента PING. Делаем в script library скрипт:
table=GetDCIValueByDescription($node, "Loaded subagents"); if (table!=NULL) { col=1; for (i=0; i < table->rowCount; i++) { if (table->get(i, 0) == "PING") { return table->get(i, 1); } } } return null;Делаем на ноде новый DCI, выбираем тип Script, в поле parameter пишем имя под которым мы сохранили скрипт. Этот скрипт будет доставать из нашего табличного DCI значение из 1-й колонки (колонки считаются от 0) из той строки, где в 0-й колонке написано "PING".
Но сейчас у нас прямо в скрипте прописано, что именно брать, а хотелось бы, чтоб скрипт был универсальным, а мы бы ему сообщали параметрами. что именно нам нужно.// $1 - Table name // $2 - Column name from where to return the value // $3 - Column name where to search // $4 - Value to search table=GetDCIValueByDescription($node, $1); if (table!=NULL) { col_return = table->getColumnIndex($2); col_search = table->getColumnIndex($3); if (col_search >=0 and col_return >= 0) { for (i=0; i < table->rowCount; i++) { if (table->get(i, col_search) == $4) { return table->get(i, col_return); } } } } return null;Параметр нашего скриптового DCI теперь должне быть таким: GetTableCell(Loaded subagents, VERSION, NAME, PING).
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