Ad Widget

Collapse

Api 2.4: Получить данные инвентаризации с триг&#

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • dilmas
    Junior Member
    • Aug 2010
    • 4

    #1

    Api 2.4: Получить данные инвентаризации с триг&#

    Всем привет!
    Получаю через API список триггеров и некоторые параметры host. Всё отлично. Но, хотелось бы получить вместе с триггером значения инвентаризации.
    Пример (python 2.7):
    query_triggers = {
    "groupids":10,
    "only_true":1,
    "monitored":1,
    "expandDescription":1,
    "output":"extend",
    "selectHosts":["name", "host", "description"],
    "filter":{"value":1},
    "sortfield":["lastchange", "priority"],
    "sortorder":"DESC",
    "limit":LIMIT
    }

    Как мы видим, от хоста я получаю ["name", "host", "description"]. Добавление в этот список значения "inventory" не помогают. Также не работает добавление поля "selectInvenory":[]...
    Вопрос: можно ли мне прям здесь получить определённые поля инвентаризации? В СУБД эти поля относятся к host, что делает возможным такую выборку.
    Спасибо!
    Last edited by dilmas; 05-10-2015, 17:53.
  • sadman
    Senior Member
    • Dec 2010
    • 1611

    #2
    Может я чего-то не понимаю, но вы хотите через trigger.get получить инвентори по хосту?

    Мне кажется, что логичней делать host.get c selectInventory: ["os", "hardware", "location", etc].

    Comment

    • dilmas
      Junior Member
      • Aug 2010
      • 4

      #3
      Originally posted by sadman
      Может я чего-то не понимаю, но вы хотите через trigger.get получить инвентори по хосту?

      Мне кажется, что логичней делать host.get c selectInventory: ["os", "hardware", "location", etc].
      Да, я понимаю, что такие данные надо запрашивать у хоста. Всё верно. И в таком случае, мне, после получения списка триггеров необходимо делать цикл по хостам с целью получения инвентаризационных данных. Учитывая, что эти данные находятся в одной таблице с host, то технически, ничего не мешает также! организовать доступ к этим данным через trigger.get (используя, например, selectInventory).

      Какая цель всего этого? - со списком триггеров я хочу получить модель оборудования с которым проблемы, его географический адрес. Повторюсь, данные лежат вместе с host в СУБД и нет смысла в лишних запросах/циклах.

      Comment

      • sadman
        Senior Member
        • Dec 2010
        • 1611

        #4
        Как бы вам не хотелось сделать все разом и через API, в CTrigger.php и CTriggerGeneral.php рядом выполняемых SQL-запросов заполняются совершенно определенные элементы hash-массива, который потом отдается в виде JSON. И пока в функциях, которые формируют данный массив, не появится SQL запрос на поля inventory* - никакие изворотливые синтаксисы вам не помогут.

        Варианта тут, полагаю, два - бегать через API по хостам или делать прямой селект в базу данных.

        Comment

        Working...