Ad Widget

Collapse

Api получение активных тригеров

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • filipp.sudanov
    Senior Member
    Zabbix Certified Specialist
    • May 2014
    • 137

    #16
    triggerGet(); - это функция PHP библиотеки, которая принимает параметры и создает понятный заббиксу JSON запрос. В этом запросе список параметров будет у квадратных скобках, как полагается по JSONовскому синтаксису.
    PHPшной функции параметры передаются так, как положено по PHP синктаксису
    Code:
    array(
        key  => value,
        key2 => value2,
        key3 => value3,
        ...
    )
    Таким образом, если мы хотим сделать запрос триггеров по нескольким параметрам, то как-то так:
    Code:
     <?php
    require '/var/www/zabbix/include/ZabbixApiAbstract.class.php';
    require '/var/www/zabbix/include/ZabbixApi.class.php';
    $api = new ZabbixApi('http://localhost/api_jsonrpc.php', 'admin', 'zabbix');
    $triggers = $api->triggerGet(array('active'=> 1, 'only_true' => 1));
    print_r($triggers);
    ?>
    Список возможных параметров в мануале по API - https://www.zabbix.com/documentation...ce/trigger/get

    Comment

    • Egor4ik
      Member
      • May 2012
      • 68

      #17
      Originally posted by filipp.sudanov
      triggerGet(); - это функция PHP библиотеки, которая принимает параметры и создает понятный заббиксу JSON запрос. В этом запросе список параметров будет у квадратных скобках, как полагается по JSONовскому синтаксису.
      PHPшной функции параметры передаются так, как положено по PHP синктаксису
      Code:
      array(
          key  => value,
          key2 => value2,
          key3 => value3,
          ...
      )
      Таким образом, если мы хотим сделать запрос триггеров по нескольким параметрам, то как-то так:
      Code:
       <?php
      require '/var/www/zabbix/include/ZabbixApiAbstract.class.php';
      require '/var/www/zabbix/include/ZabbixApi.class.php';
      $api = new ZabbixApi('http://localhost/api_jsonrpc.php', 'admin', 'zabbix');
      $triggers = $api->triggerGet(array('active'=> 1, 'only_true' => 1));
      print_r($triggers);
      ?>
      Список возможных параметров в мануале по API - https://www.zabbix.com/documentation...ce/trigger/get
      Влеплю свои 5копеек, не смотря на то что у меня на python:
      Code:
              # Get ALL triggers
              ahid = c.trigger.get({
                                   "output":"extend",
                                   "monitored":"true",
                                   "min_severity":"2",
                                   "selectHosts":"extend",
                                   "selectGroups":"extend",
                                   "selectLastEvent":"extend", (не поддерживается до 2.2)
                                   "filter":{ "value":"1" },
                                   "maintenance":"false",
                                  })

      Дальше может ещё пригодится выборка ACK:
      Code:
              # Get Acknowledges for TriggerIDs
              heid = c.event.get({
                              "output": "extend",
                              "select_acknowledges": "extend",
                              "sortfield": "eventid",
                              "sortorder": "DESC",
      # evts - массив с EVENTID
                              "eventids": evts,
      #                       "triggerids": trigs, (не поддерживается в 2.2+)
                              "acknowledged":"true",
                              "limit": 20
                              })
      Last edited by Egor4ik; 16-07-2014, 13:23.

      Comment

      Working...