Ad Widget

Collapse

Как передать элемент данных в аргументы в

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • sabo
    Junior Member
    • Oct 2014
    • 3

    #1

    Как передать элемент данных в аргументы в

    Мне необходимо запускать внешнюю проверку с уже полученными данными.

    Пример аргументов для проверки: test.sh[{HOSTNAME},{{HOSTNAME}:icmppingsec.last(0)}]

    При этом в скрипт test.sh приходят такие аргументы: 10.88.73.5 {10.88.73.5:icmppingsec.last(0)}

    Вопрос: почему не срабатывает макрос?
    Если, например, вывести значение на карту через {{HOSTNAME}:icmppingsec.last(0)}, то всё работает.
  • Strategist
    Member
    • Sep 2013
    • 54

    #2
    а каким образом (откуда) вы вообще этот скрипт запускаете?

    Comment

    • sabo
      Junior Member
      • Oct 2014
      • 3

      #3
      Originally posted by Strategist
      а каким образом (откуда) вы вообще этот скрипт запускаете?
      Вызов скрипта находится в Шаблоны -> Элементы данных -> Элемент данных.
      Тип: внешняя проверка
      Ключ: test.sh[{HOSTNAME},{{HOSTNAME}:icmppingsec.last(0)}]

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Макрос как раз срабатывает. Не срабатывает подстановка данных из другого элемента данных.

        Думаю, что это обусловлено тем, что в функции get_values(...) поллера перед вызовом цепочки функций, которые приводят к внешней проверке происходит только
        Code:
            /* prepare items */
                for (i = 0; i < num; i++)
        ...
        substitute_key_macros(&items[i].key, NULL, &items[i], NULL, MACRO_TYPE_ITEM_KEY, error, sizeof(error)))
        Никакого вычисления значения ключей там, в сущности, нет. Поэтому, полагаю, все ваши попытки обречены на неудачу.

        А в картах (фронтенде) все иначе устроено. Там вычислениями занимается другой кусок кода, который вызвать не удастся.

        Comment

        • sabo
          Junior Member
          • Oct 2014
          • 3

          #5
          Originally posted by sadman
          Макрос как раз срабатывает. Не срабатывает подстановка данных из другого элемента данных.

          ...

          А в картах (фронтенде) все иначе устроено. Там вычислениями занимается другой кусок кода, который вызвать не удастся.
          Понял, спасибо!
          Правильно ли я понимаю, что в таком случае передать данные во внешний скрипт не получится? И пока нашёл только обходной путь с получением данных из самого скрипта через Zabbix API.

          Comment

          • sadman
            Senior Member
            • Dec 2010
            • 1611

            #6
            Я не разработчик, сильно в код не погружен. На мой взгляд - в тех исходниках (v 2.2), что я просмотрел, никакого легкого способа заставить ключ формироваться из значений элемента данных не существует.

            Comment

            Working...