Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (Flatly)
  • No Skin
Collapse
Brand Logo

NetXMS Forum

  1. Home
  2. Support (Russian)
  3. Источник данных из таблицы

Источник данных из таблицы

Scheduled Pinned Locked Moved Support (Russian)
4 Posts 3 Posters 7.3k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • A
    A
    andrey_D
    wrote on last edited by
    #1

    Подскажите пожалуйста
    Есть графический линк между оборудованием и необходимо что бы на линке было значение из таблицы как это сделать?
    Таблица из mac адресов со значениями мощность передачи, скорость на канале это для примера. Выбираю в качестве источника значение таблицы но значение не появляется.
    Как добавить к значению единицу измерения к примеру выбираю источник скорость передачи данных, на линке появляется значение 100, как добавить мбит/с?

    1 Reply Last reply
    0
    • V
      V
      Victor Kirhenshtein
      wrote on last edited by
      #2

      @andrey_d said in Источник данных из таблицы:

      Подскажите пожалуйста
      Есть графический линк между оборудованием и необходимо что бы на линке было значение из таблицы как это сделать?

      Табличные данные на карте не поддерживаются сейчас. Странно что он дает выбрать таблицу в списке. Сейчас единственный вариант - сделать скриптовый DCI, который будет доставать нужную ячейку из таблицы, и его уже добавлять на карту.

      @andrey_d said in Источник данных из таблицы:

      Как добавить к значению единицу измерения к примеру выбираю источник скорость передачи данных, на линке появляется значение 100, как добавить мбит/с?

      В свойствах источника есть строка форматированию, это стандартный Java формат с одним дополнением - можно использовать %*s для автоматической подстановки мультипликаторов. Если надо просто поставить суффикс мбит/с, то строка формата может быть

      %s мбит/с
      

      А если значение всегда в битах, и надо автоматически подставлять к, м, и т.д., то строка будет

      %*sбит/с
      
      1 Reply Last reply
      0
      • A
        A
        andrey_D
        wrote on last edited by
        #3

        В свойствах источника есть строка форматированию, это стандартный Java формат с одним дополнением - можно использовать %*s для автоматической подстановки мультипликаторов. Если надо просто поставить суффикс мбит/с, то строка формата может быть

        %s мбит/с
        

        Спасибо за ответ!

        А можно подробнее про скрипт для значений из таблицы

        1 Reply Last reply
        0
        • F
          F
          Filipp Sudanov
          wrote on last edited by
          #4

          К примеру, мысобираем агентскую таблицу по параметру 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).

          1 Reply Last reply
          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
          Reply
          • Reply as topic
          Log in to reply
          • Oldest to Newest
          • Newest to Oldest
          • Most Votes


          • Login

          • Don't have an account? Register

          • Login or register to search.
          Powered by NodeBB Contributors
          • First post
            Last post
          0
          • Categories
          • Recent
          • Tags
          • Popular
          • Users
          • Groups