host.get

Opis

integer/array host.get(object parameters)

Metoda pozwala na pobieranie hostów zgodnie z podanymi parametrami.

Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywołania metody mogą zostać cofnięte w ustawieniach roli użytkownika. Więcej informacji można znaleźć w User roles.

Parametry

(object) Parametry definiujące żądane dane wyjściowe.

Metoda obsługuje następujące parametry.

Parametr Typ Opis
groupids ID/array Zwracaj tylko hosty należące do podanych grup.
dserviceids ID/array Zwracaj tylko hosty powiązane z podanymi wykrytymi usługami.
graphids ID/array Zwracaj tylko hosty, które mają podane wykresy.
hostids ID/array Zwracaj tylko hosty o podanych identyfikatorach hostów.
httptestids ID/array Zwracaj tylko hosty, które mają podane testy WWW.
interfaceids ID/array Zwracaj tylko hosty używające podanych interfejsów.
itemids ID/array Zwracaj tylko hosty, które mają podane pozycje.
maintenanceids ID/array Zwracaj tylko hosty objęte podanymi okresami konserwacji.
monitored_hosts flag Zwracaj tylko monitorowane hosty.
proxyids ID/array Zwracaj tylko hosty monitorowane przez podane proxy.
proxy_groupids ID/array Zwracaj tylko hosty monitorowane przez podane grupy proxy.
templated_hosts flag Zwracaj zarówno hosty, jak i szablony.
templateids ID/array Zwracaj tylko hosty połączone z podanymi szablonami.
triggerids ID/array Zwracaj tylko hosty, które mają podane wyzwalacze.
with_items flag Zwracaj tylko hosty, które mają pozycje.

Nadpisuje parametry with_monitored_items i with_simple_graph_items.
with_item_prototypes flag Zwracaj tylko hosty, które mają prototypy pozycji.

Nadpisuje parametr with_simple_graph_item_prototypes.
with_simple_graph_item_prototypes flag Zwracaj tylko hosty, które mają prototypy pozycji włączone do tworzenia i z numerycznym typem informacji.
with_graphs flag Zwracaj tylko hosty, które mają wykresy.
with_graph_prototypes flag Zwracaj tylko hosty, które mają prototypy wykresów.
with_httptests flag Zwracaj tylko hosty, które mają testy WWW.

Nadpisuje parametr with_monitored_httptests.
with_monitored_httptests flag Zwracaj tylko hosty, które mają włączone testy WWW.
with_monitored_items flag Zwracaj tylko hosty, które mają włączone pozycje.

Nadpisuje parametr with_simple_graph_items.
with_monitored_triggers flag Zwracaj tylko hosty, które mają włączone wyzwalacze. Wszystkie pozycje używane w wyzwalaczu również muszą być włączone.
with_simple_graph_items flag Zwracaj tylko hosty, które mają pozycje z numerycznym typem informacji.
with_triggers flag Zwracaj tylko hosty, które mają wyzwalacze.

Nadpisuje parametr with_monitored_triggers.
withProblemsSuppressed boolean Jeśli ustawiono na true, zwracaj tylko hosty z wyciszonymi problemami.
evaltype integer Metoda oceny tagów.

Możliwe wartości:
0 - (domyślnie) And/Or;
2 - Or.
severities integer/array Zwracaj hosty, które mają tylko problemy o podanych poziomach ważności. Dotyczy tylko sytuacji, gdy obiektem problemu jest wyzwalacz.
tags object/array Zwracaj tylko hosty z podanymi tagami.
Format: [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Pusta tablica zwraca wszystkie hosty.

Możliwe wartości operatora:
0 - (domyślnie) Zawiera;
1 - Równe;
2 - Nie zawiera;
3 - Nie jest równe;
4 - Istnieje;
5 - Nie istnieje.
inheritedTags boolean Zwracaj hosty, które mają podane tags również we wszystkich połączonych z nimi szablonach.

Możliwe wartości:
true - połączone szablony również muszą mieć podane tags;
false - (domyślnie) tagi połączonych szablonów są ignorowane.
selectDiscoveryData query Zwracaj właściwość discoveryData z danymi obiektu wykrywania hosta. Obiekt wykrywania hosta łączy wykryty host z prototypem hosta, z którego został wykryty.

Ma następujące właściwości:
host - (string) identyfikator hosta;
parent_hostid - (string) identyfikator prototypu hosta, z którego host został utworzony;
status - (int) status wykrywania hosta:
0 - (domyślnie) host jest wykryty,
1 - host nie jest już wykryty;
ts_delete - (timestamp) czas, kiedy host, który nie jest już wykryty, zostanie usunięty;
ts_disable - (timestamp) czas, kiedy host, który nie jest już wykryty, zostanie wyłączony;
disable_source - (int) wskaźnik określający, czy host został wyłączony przez regułę LLD czy ręcznie:
0 - (domyślnie) wyłączony automatycznie,
1 - wyłączony przez regułę LLD.
selectDiscoveryRule query Zwracaj właściwość discoveryRule z regułą wykrywania niskiego poziomu, która utworzyła host (z prototypu hosta w monitorowaniu VMware).
selectDiscoveryRules query Zwracaj właściwość discoveryRules z regułami LLD hosta.

Obsługuje count.
selectGraphs query Zwracaj właściwość graphs z wykresami hosta.

Obsługuje count.
selectHostGroups query Zwracaj właściwość hostgroups z danymi grup hostów, do których należy host.
selectHttpTests query Zwracaj właściwość httpTests ze scenariuszami WWW hosta.

Obsługuje count.
selectInterfaces query Zwracaj właściwość interfaces z interfejsami hosta.

Obsługuje count.
selectInventory query Zwracaj właściwość inventory z danymi inwentarza hosta.
selectItems query Zwracaj właściwość items z pozycjami hosta.

Obsługuje count.
selectMacros query Zwracaj właściwość macros z makrami hosta.
selectParentTemplates query Zwracaj właściwość parentTemplates z szablonami, z którymi host jest połączony.

Oprócz pól obiektu Template zawiera ona link_type - (integer) sposób, w jaki szablon jest połączony z hostem.
Możliwe wartości:
0 - (domyślnie) połączony ręcznie;
1 - połączony automatycznie przez LLD.

Obsługuje count.
selectDashboards query Zwracaj właściwość dashboards.

Obsługuje count.
selectTags query Zwracaj właściwość tags z tagami hosta.
selectInheritedTags query Zwracaj właściwość inheritedTags z tagami obecnymi we wszystkich szablonach połączonych z hostem.
selectTriggers query Zwracaj właściwość triggers z wyzwalaczami hosta.

Obsługuje count.
selectValueMaps query Zwracaj właściwość valuemaps z mapowaniami wartości hosta.
filter object Zwracaj tylko te wyniki, które dokładnie odpowiadają podanemu filtrowi.

Akceptuje obiekt, w którym klucze są nazwami właściwości, a wartościami są pojedyncza wartość lub tablica wartości do dopasowania.

Nie obsługuje właściwości typu danych text data type.

Obsługuje dodatkowe właściwości: właściwości interfejsu hosta.
limitSelects integer Ogranicza liczbę rekordów zwracanych przez podzapytania.

Dotyczy następujących podzapytań:
selectParentTemplates - wyniki będą sortowane według host;
selectInterfaces;
selectItems - sortowane według name;
selectDiscoveryRules - sortowane według name;
selectTriggers - sortowane według description;
selectGraphs - sortowane według name;
selectDashboards - sortowane według name.
search object Zwracaj wyniki pasujące do podanego wzorca (bez rozróżniania wielkości liter).

Akceptuje obiekt, w którym klucze są nazwami właściwości, a wartościami są ciągi znaków do wyszukania. Jeśli nie podano dodatkowych opcji, zostanie wykonane wyszukiwanie LIKE "%…%".

Obsługuje tylko właściwości typu danych string i text data type.

Obsługuje dodatkowe właściwości: właściwości interfejsu hosta.
searchInventory object Zwracaj hosty, których dane inwentarza pasują do podanego wzorca (bez rozróżniania wielkości liter).

Akceptuje obiekt, w którym klucze są nazwami właściwości, a wartościami są ciągi znaków do wyszukania. Jeśli nie podano dodatkowych opcji, zostanie wykonane wyszukiwanie LIKE "%…%".

Obsługuje tylko właściwości typu danych string i text data type.
sortfield string/array Sortuj wynik według podanych właściwości.

Możliwe wartości: hostid, host, name, status.
countOutput boolean Te parametry są opisane w komentarzu referencyjnym.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectDiscoveries query Zwracaj właściwość discoveries z regułami wykrywania niskiego poziomu hosta.

Obsługuje count.

To zapytanie jest przestarzałe; użyj zamiast tego selectDiscoveryRules.
selectHostDiscovery query Zwracaj właściwość hostDiscovery z danymi obiektu wykrywania hosta.

To zapytanie jest przestarzałe; użyj zamiast tego selectDiscoveryData.

Zwracane wartości

(integer/array) Zwraca:

  • tablicę obiektów;
  • liczbę pobranych obiektów, jeśli użyto parametru countOutput.

Przykłady

Pobieranie danych według nazwy

Pobierz wszystkie dane o dwóch hostach o nazwach „Zabbix server” i „Linux server”.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "filter": {
            "host": [
                "Zabbix server",
                "Linux server"
            ]
        }
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10160",
            "proxyid": "0",
            "host": "Zabbix server",
            "status": "0",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Zabbix server",
            "flags": "0",
            "description": "Serwer monitorowania Zabbix.",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "inventory_mode": "1",
            "active_available": "1",
            "assigned_proxyid": "0"
        },
        {
            "hostid": "10167",
            "proxyid": "0",
            "host": "Linux server",
            "status": "0",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Linux server",
            "flags": "0",
            "description": "",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "inventory_mode": "1",
            "active_available": "1",
            "assigned_proxyid": "0"
        }
    ],
    "id": 1
}

Pobieranie grup hostów

Pobierz grupy hostów, do których należy host „Zabbix server”.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectHostGroups": "extend",
        "filter": {
            "host": [
                "Zabbix server"
            ]
        }
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10085",
            "hostgroups": [
                {
                    "groupid": "2",
                    "name": "Linux servers",
                    "flags": "0",
                    "uuid": "dc579cd7a1a34222933f24f52a68bcd8"
                },
                {
                    "groupid": "4",
                    "name": "Zabbix servers",
                    "flags": "0",
                    "uuid": "6f6799aa69e844b4b3918f779f2abf08"
                }
            ]
        }
    ],
    "id": 1
}

Pobieranie podłączonych szablonów

Pobierz identyfikatory i nazwy szablonów podłączonych do hosta „10084”.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectParentTemplates": [
            "templateid",
            "name"
        ],
        "hostids": "10084"
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10084",
            "parentTemplates": [
                {
                    "name": "Linux",
                    "templateid": "10001"
                },
                {
                    "name": "Zabbix Server",
                    "templateid": "10047"
                }
            ]
        }
    ],
    "id": 1
}

Pobieranie hostów według szablonu

Pobierz hosty, które mają podłączony szablon „10001” (Linux by Zabbix agent).

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid", "name"],
        "templateids": "10001"
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "hosts": [
                {
                    "hostid": "10084",
                    "name": "Zabbix server"
                },
                {
                    "hostid": "10603",
                    "name": "Host 1"
                },
                {
                    "hostid": "10604",
                    "name": "Host 2"
                }
            ]
        }
    ],
    "id": 1
}

Wyszukiwanie według danych inwentaryzacyjnych hosta

Pobierz hosty, które zawierają „Linux” w polu inwentaryzacyjnym hosta „OS”.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "host"
        ],
        "selectInventory": [
            "os"
        ],
        "searchInventory": {
            "os": "Linux"
        }
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10084",
            "host": "Zabbix server",
            "inventory": {
                "os": "Linux Ubuntu"
            }
        },
        {
            "hostid": "10107",
            "host": "Linux server",
            "inventory": {
                "os": "Linux Mint"
            }
        }
    ],
    "id": 1
}

Wyszukiwanie według tagów hosta

Pobierz hosty, które mają tag "host-name" równy "linux-server".

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "host-name",
                "value": "linux-server",
                "operator": 1
            }
        ]
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10085",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "linux-server",
                    "automatic": "0"
                },
                {
                    "tag": "os",
                    "value": "rhel-7",
                    "automatic": "0"
                }
            ]
        }
    ],
    "id": 1
}

Pobierz hosty, które mają te tagi nie tylko na poziomie hosta, ale także w swoich podłączonych nadrzędnych szablonach.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "tags": [
            {
                "tag": "os",
                "value": "rhel-7",
                "operator": 1
            }
        ],
        "inheritedTags": true
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10623",
            "name": "PC room 1"
        },
        {
            "hostid": "10601",
            "name": "Office"
        }
    ],
    "id": 1
}

Pobierz hosty z wyłączeniem tych, które mają tag "component".

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "component",
                "value": "",
                "operator": 5
            }
        ]
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10084",
            "tags": [
                {
                    "tag": "class",
                    "value": "os",
                    "automatic": "0"
                },
                {
                    "tag": "target",
                    "value": "linux",
                    "automatic": "0"
                }
            ]
        },
        {
            "hostid": "10629",
            "tags": [
                {
                    "tag": "class",
                    "value": "application",
                    "automatic": "0"
                },
                {
                    "tag": "target",
                    "value": "browser",
                    "automatic": "0"
                }
            ]
        }
    ],
    "id": 1
}

Wyszukiwanie hosta za pomocą tagów i tagów szablonu

Pobierz host z tagami oraz wszystkimi tagami, które są powiązane z nadrzędnymi szablonami.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "hostids": 10502,
        "selectTags": ["tag", "value"],
        "selectInheritedTags": ["tag", "value"]
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10502",
            "name": "Desktop",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "linux-server"
                },
                {
                    "tag": "os",
                    "value": "rhel-7"
                }
            ],
            "inheritedTags": [
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                },
                {
                    "tag": "os",
                    "value": "rhel-7"
                }
            ]
        }
    ],
    "id": 1
}

Wyszukiwanie hostów według ważności problemu

Pobierz hosty, które mają problemy o ważności „Disaster”.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "severities": 5
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10160",
            "name": "Zabbix server"
        }
    ],
    "id": 1
}

Pobierz hosty, które mają problemy o ważności „Average” i „High”.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "severities": [3, 4]
    },
    "id": 1
}

Odpowiedź:

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "20170",
            "name": "Database"
        },
        {
            "hostid": "20183",
            "name": "workstation"
        }
    ],
    "id": 1
}

Pobieranie pozycji hosta

Pobierz pozycje dla hosta „Zabbix server”. Żądanie jest ograniczone do właściwości pozycji itemid, name i status. Ze względu na duży rozmiar odpowiedzi w przykładzie pokazano tylko podzbiór pozycji.

Żądanie:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectItems": ["itemid","name","status"],
        "filter": {
            "host": [
                "Zabbix server"
            ]
        }
    },
    "id": 1
}

Odpowiedź:

{
  "jsonrpc": "2.0",
  "result": [
    {
      "hostid": "10084",
      "items": [
        {
          "itemid": "42227",
          "name": "Host name of Zabbix agent running",
          "status": "0"
        },
        {
          "itemid": "42237",
          "name": "Zabbix agent ping",
          "status": "0"
        },
        {
          "itemid": "42250",
          "name": "Version of Zabbix agent running",
          "status": "0"
        },
        {
          "itemid": "42251",
          "name": "Maximum number of open file descriptors",
          "status": "0"
        },
        {
          "itemid": "42252",
          "name": "Maximum number of processes",
          "status": "0"
        },
        {
          "itemid": "69869",
          "name": "Interface enp0s3: Inbound packets discarded",
          "status": "0"
        },
        {
          "itemid": "69870",
          "name": "Interface enp0s3: Inbound packets with errors",
          "status": "0"
        },
        {
          "itemid": "69871",
          "name": "Interface enp0s3: Bits received",
          "status": "0"
        },
        {
          "itemid": "69872",
          "name": "Interface enp0s3: Outbound packets discarded",
          "status": "0"
        },
        {
          "itemid": "69873",
          "name": "Interface enp0s3: Outbound packets with errors",
          "status": "0"
        },
        {
          "itemid": "69874",
          "name": "Interface enp0s3: Bits sent",
          "status": "0"
        },
        {
          "itemid": "42253",
          "name": "Number of processes",
          "status": "0"
        },
        {
          "itemid": "42254",
          "name": "Number of running processes",
          "status": "0"
        },
        {
          "itemid": "42255",
          "name": "System boot time",
          "status": "0"
        }
      ]
    }
  ],
  "id": 1
}

Zobacz także

Źródło

CHost::get() w ui/include/classes/api/services/CHost.php.