itemprototype.get

Opis

integer/array itemprototype.get(object parameters)

Ta metoda pozwala na pobieranie prototypów pozycji zgodnie z podanymi parametrami.

Ta metoda jest dostępna dla użytkowników dowolnego typu. Uprawnienia do wywoływania metody można odebrać w ustawieniach roli użytkownika. Zobacz Role użytkownika aby uzyskać więcej informacji.

Parametry

(object) Parametry definiujące żądany wynik.

Metoda obsługuje następujące parametry.

Parametr Typ Opis
discoveryids string/array Zwraca tylko prototypy pozycji należące do określonych reguł LLD.
graphids string/array Zwraca tylko prototypy pozycji używane w określonych prototypach wykresów.
hostids string/array Zwraca tylko prototypy pozycji należące do określonych hostów.
inherited boolean Jeśli ustawiono na true, zwraca tylko prototypy pozycji dziedziczone z szablonu.
itemids string/array Zwraca tylko prototypy pozycji o określonych identyfikatorach.
monitored boolean Jeśli ustawiono na true, zwraca tylko włączone prototypy pozycji należące do monitorowanych hostów.
templated boolean Jeśli ustawiono na true, zwraca tylko prototypy pozycji należące do szablonów.
templateids string/array Zwraca tylko prototypy pozycji należące do określonych szablonów.
triggerids string/array Zwraca tylko prototypy pozycji używane w określonych prototypach wyzwalaczy.
selectDiscoveryRule query Zwraca właściwość discoveryRule z regułą wykrywania niskopoziomowego, do której należy prototyp pozycji.
selectGraphs query Zwraca właściwość graphPrototypes z prototypami wykresów, w których używany jest prototyp pozycji.

Obsługuje count.
selectHosts query Zwraca właściwość hosts z tablicą hostów, do których należy prototyp pozycji.
selectTags query Zwraca znaczniki prototypu pozycji w właściwości tags.
selectTriggers query Zwraca właściwość triggers z prototypami wyzwalaczy, w których używany jest prototyp pozycji.

Obsługuje count.
selectPreprocessing query Zwraca właściwość preprocessing z opcjami preprocessingu pozycji.

Ma następujące właściwości:
type - (string) Typ opcji preprocessingu:
1 - Własny mnożnik;
2 - Przytnij z prawej;
3 - Przytnij z lewej;
4 - Przytnij;
5 - Wyrażenie regularne;
6 - Boolowski na dziesiętny;
7 - Ósemkowy na dziesiętny;
8 - Szesnastkowy na dziesiętny;
9 - Prosta zmiana;
10 - Zmiana na sekundę;
11 - XML XPath;
12 - Ścieżka JSONPath;
13 - W przedziale;
14 - Pasuje wyrażenie regularne;
15 - Brak dopasowania wyrażenia regularnego;
16 - Sprawdź błąd w JSON;
17 - Sprawdź błąd w XML;
18 - Sprawdź błąd przy użyciu wyrażenia regularnego;
19 - Odrzuć niezmienione;
20 - Odrzuć niezmienione z heartbeat;
21 - JavaScript;
22 - Wzorzec Prometheus;
23 - Prometheus na JSON;
24 - CSV na JSON;
25 - Zastąp;
26 - Sprawdź wartości nieobsługiwane;
27 - XML na JSON.

params - (string) Dodatkowe parametry używane przez opcję preprocessingu. Wiele parametrów jest oddzielonych znakiem LF (\n).
error_handler - (string) Typ akcji używanej w przypadku niepowodzenia kroku preprocessingu:
0 - Komunikat o błędzie ustawiony przez serwer Zabbix;
1 - Odrzuć wartość;
2 - Ustaw wartość niestandardową;
3 - Ustaw niestandardowy komunikat o błędzie.

error_handler_params - (string) Parametry obsługi błędów.
selectValueMap query Zwraca właściwość valuemap z mapą wartości prototypu pozycji.
filter object Zwraca tylko te wyniki, które dokładnie pasują do określonego filtra.

Akceptuje tablicę, gdzie kluczami są nazwy właściwości, a wartościami są pojedyncza wartość lub tablica wartości do porównania.

Obsługuje dodatkowe filtry:
host - nazwa techniczna hosta, do którego należy prototyp pozycji.
limitSelects integer Ogranicza liczbę rekordów zwracanych przez podzapytania.

Dotyczy następujących podzapytań:
selectGraphs - wyniki będą sortowane według name;
selectTriggers - wyniki będą sortowane według description.
sortfield string/array Sortuje wyniki według określonych właściwości.

Możliwe wartości to: itemid, name, key_, delay, type i status.
countOutput boolean Te parametry, będące wspólne dla wszystkich metod get, są szczegółowo opisane w komentarzu referencyjnym.
editable boolean
excludeSearch boolean
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean

Zwracane wartości

(integer/array) Zwraca jedną z opcji:

  • tablicę obiektów;
  • liczbę pobranych obiektów, jeśli parametr countOutput został wykorzystany.

Przykłady

Pobieranie prototypów pozycji z reguły LLD

Pobierz wszystkie prototypy pozycji dla określonego identyfikatora reguły LLD.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.get",
           "params": {
               "output": "extend",
               "discoveryids": "27426"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "23077",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10079",
                   "name": "Incoming network traffic on en0",
                   "key_": "net.if.in[en0]",
                   "delay": "1m",
                   "history": "1w",
                   "trends": "365d",
                   "status": "0",
                   "value_type": "3",
                   "trapper_hosts": "",
                   "units": "bps",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "0",
                   "description": "",
                   "evaltype": "0",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "discover": "0",
                   "uuid": "",
                   "parameters": []
               },
               {
                   "itemid": "10010",
                   "type": "0",
                   "snmp_oid": "",
                   "hostid": "10001",
                   "name": "Processor load (1 min average per core)",
                   "key_": "system.cpu.load[percpu,avg1]",
                   "delay": "1m",
                   "history": "1w",
                   "trends": "365d",
                   "status": "0",
                   "value_type": "0",
                   "trapper_hosts": "",
                   "units": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "0",
                   "description": "The processor load is calculated as system CPU load divided by number of CPU cores.",
                   "evaltype": "0",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "lastclock": "0",
                   "lastns": "0",
                   "lastvalue": "0",
                   "prevvalue": "0",
                   "discover": "0",
                   "uuid": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

Znajdowanie pozycji zależnej

Znajdź jedną pozycję zależną dla pozycji o identyfikatorze "25545".

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "item.get",
           "params": {
               "output": "extend",
               "filter": {
                   "type": "18",
                   "master_itemid": "25545"
               },
               "limit": "1"
           },
           "auth": "038e1d7b1735c6a5436ee9eae095879e",
           "id": 1
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "25547",
                   "type": "18",
                   "snmp_oid": "",
                   "hostid": "10116",
                   "name": "Seconds",
                   "key_": "apache.status.uptime.seconds",
                   "delay": "0",
                   "history": "90d",
                   "trends": "365d",
                   "status": "0",
                   "value_type": "3",
                   "trapper_hosts": "",
                   "units": "",
                   "logtimefmt": "",
                   "templateid": "0",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "0",
                   "description": "",
                   "evaltype": "0",
                   "master_itemid": "25545",
                   "jmx_endpoint": "",
                   "timeout": "3s",
                   "url": "",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "200",
                   "follow_redirects": "1",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "0",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "discover": "0",
                   "uuid": "",
                   "parameters": []
               }
           ],
           "id": 1
       }

Znajdź prototyp pozycji agenta HTTP

Znajdź prototyp pozycji agenta HTTP z metodą żądania HEAD dla określonego identyfikatora hosta.

Zapytanie:

{
           "jsonrpc": "2.0",
           "method": "itemprototype.get",
           "params": {
               "hostids": "10254",
               "filter": {
                   "type": "19",
                   "request_method": "3"
               }
           },
           "id": 17,
           "auth": "d678e0b85688ce578ff061bd29a20d3b"
       }

Odpowiedź:

{
           "jsonrpc": "2.0",
           "result": [
               {
                   "itemid": "28257",
                   "type": "19",
                   "snmp_oid": "",
                   "hostid": "10254",
                   "name": "discovered",
                   "key_": "item[{#INAME}]",
                   "delay": "{#IUPDATE}",
                   "history": "90d",
                   "trends": "30d",
                   "status": "0",
                   "value_type": "3",
                   "trapper_hosts": "",
                   "units": "",
                   "logtimefmt": "",
                   "templateid": "28255",
                   "valuemapid": "0",
                   "params": "",
                   "ipmi_sensor": "",
                   "authtype": "0",
                   "username": "",
                   "password": "",
                   "publickey": "",
                   "privatekey": "",
                   "interfaceid": "2",
                   "description": "",
                   "evaltype": "0",
                   "jmx_endpoint": "",
                   "master_itemid": "0",
                   "timeout": "3s",
                   "url": "{#IURL}",
                   "query_fields": [],
                   "posts": "",
                   "status_codes": "",
                   "follow_redirects": "0",
                   "post_type": "0",
                   "http_proxy": "",
                   "headers": [],
                   "retrieve_mode": "0",
                   "request_method": "3",
                   "output_format": "0",
                   "ssl_cert_file": "",
                   "ssl_key_file": "",
                   "ssl_key_password": "",
                   "verify_peer": "0",
                   "verify_host": "0",
                   "allow_traps": "0",
                   "discover": "0",
                   "uuid": "",
                   "parameters": []
               }
           ],
           "id": 17
       }

Zobacz także

Źródło

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