Ad Widget

Collapse

API Item.get selectInterfaces

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #1

    API Item.get selectInterfaces

    Что-то странное наблюдаю, может, конечно, где-то индексы или целостность побилась
    Вызываю метод item.get в нем указываю "selectInterfaces" => ["interfaceid","ip","main"]
    На большинстве ТМ в свойсве interfaces данные есть, а на некоторых серверах - пусто.
    ПРи этом, если зайти в настройки сервера, в интерфейсе есть "Агент", по умолчанию (кстати, "удалить" - не активна.

    Но есть еще интереснее: В карточке узла добавляю еще один интерфейс, ставлю на нем "по умолчанию." А вот в старом (который по счету первый", указываю несуществующий адрес.
    И узел становится неактивным. Он почему-то пытается использовать первый, по счету интерфейс.

    Натолкните, плиз, на правильную мысль...
  • Alex_UUU
    Senior Member
    • Dec 2018
    • 541

    #2
    Подниму, в другой задаче столкнулся с аналогичной проблемой: не выдается интерфейс при запросе item.get
    Decoded content from POST:
    {"jsonrpc":"2.0","id":1,"result":[{"interfaces":[],"itemid":"154022","lastvalue":"program specified","hostid":"10459","lastclock":1647497824 }]}
    Версия 5.2.4

    Comment

    • Alex_UUU
      Senior Member
      • Dec 2018
      • 541

      #3
      Подниму тему. Вдруг кто ответит.
      Не хочется делать еще один вызов API, чтобы определить интерфейс.

      Да, интересное кино: два сервера,на которых одинаковые элементы данных. На одном интерфейс выводится, на другом - нет.

      Comment

      • Kos
        Senior Member
        Zabbix Certified SpecialistZabbix Certified Professional
        • Aug 2015
        • 3404

        #4
        Originally posted by Alex_UUU
        Но есть еще интереснее: В карточке узла добавляю еще один интерфейс, ставлю на нем "по умолчанию." А вот в старом (который по счету первый", указываю несуществующий адрес.
        И узел становится неактивным. Он почему-то пытается использовать первый, по счету интерфейс.

        Натолкните, плиз, на правильную мысль...
        Это, как раз, вполне логично.
        Интерфейс по умолчанию - это тот интерфейс, который по умолчанию будет использоваться при добавлении нового элемента данных.
        На уже существующие элементы данных добавление нового интерфейса и переключение галочки "по умолчанию" никак не влияет, за исключением того, что в их настройках появляется возможность переключиться на другой интерфейс (но это надо делать явно для каждого элемента данных, либо сразу для нескольких через Mass update).

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

        Про поведение item.get ничего не скажу. Разве что отмечу, что не у любого элемента данных интерфейс обязан присутствовать, это зависит от его типа. Например, для "Zabbix agent" он требуется, а для "Zabbix agent (active)" или "Zabbix trapper" – нет.

        Comment

        • Alex_UUU
          Senior Member
          • Dec 2018
          • 541

          #5
          Originally posted by Kos
          Про поведение item.get ничего не скажу. Разве что отмечу, что не у любого элемента данных интерфейс обязан присутствовать, это зависит от его типа. Например, для "Zabbix agent" он требуется, а для "Zabbix agent (active)" или "Zabbix trapper" – нет.
          Это логично. Только у меня два "одинаковых" сервера, на которые навешан один и тот же шаблон. Соответственно два "одинаковых" ЭД. В одном итемгет выдает интерфейс, в другом - нет.

          Иногда стоит задача "обратной декомпиляции": а вот на каких серверах стоит данная ТМ.
          И тут бац: сервер то вот он, а чтобы получить IP - надо делать дополнительные движения.
          Кстати, что-то подсказывает, что если сделать хостгет тоже интерфейс может не выдать :-(

          Comment

          Working...