Zabbix API подржава следеће типове података као улаз:
Type | Description |
---|---|
ID | Јединствени идентификатор који се користи за референцирање на ентитет. |
boolean | Буловска вредност (било true или false ). |
flag | Вредност која се сматра true ако је прослеђена и није једнака null ; у супротном, вредност се сматра false . |
integer | Цео број. |
float | Децимални број у покретном зарезу. |
string | Текстуални низ. |
text | Дужи текстуални низ. |
timestamp | Unix временска ознака. |
array | Уређени низ вредности (обичан низ). |
object | Асоцијативни низ. |
query | Вредност која дефинише податке који ће бити враћени. Вредност се може дефинисати као низ имена својстава (да би се вратиле само одређена својства) или као једна од унапред дефинисаних вредности:extend - враћа сва својства објекта;count - враћа број преузетих записа, подржаних само одређеним подизборима. |
Zabbix API увек враћа вредности као стрингове или само низове.
Нека својства објеката су означена кратким ознакама да би описали њихово понашање. Користе се следеће ознаке:
type
подешен на "Једноставна провера", "Спољна провера", "SSH agent", "TELNET agent", или "HTTP agent");међутим, имајте на уму да подржана својства могу и даље бити подешена на подразумеване вредности без обзира на услове;operationtype
подешен на "глобални скрипт" и opcommand_hst
није подешен).За операције ажурирања својство се сматра "постављеним" када се поставља током операције ажурирања.
Својства која нису означена ознакама су опциона.
Неки од параметара операције су означени кратким ознакама како би описали њихово понашање за операцију. Користе се следеће ознаке:
operating_mode
прокси објекта подешен на "пасивни прокси");Параметри који нису означени ознакама су опциони.
Резервисана вредност ID-ијa "0" се може користити за филтрирање елемената и за уклањање референцираних објеката. На пример, за уклањање референцираног проксија са домаћина, proxytid треба да буде постављен на 0 ("proxyid": "0") или за филтрирање домаћина надгледаних од стране сервера, опција proxyids треба да буде постављена на 0 ("proxyids": "0").
Следећи парамтери су подржани од стране свих get
метода:
Parameter | Type | Description |
---|---|---|
countOutput | boolean | Враћа број записа у резултату уместо стварних података. |
editable | boolean | Ако је постављено на true враћа само објекте за које корисник има дозволе за писање.Подразумевано: false . |
excludeSearch | boolean | Враћа резултате који не одговарају критеријумима наведеним у параметру search . |
filter | object | Враћа само оне резултате који се тачно подударају са датим филтером. Прихвата објекат, где су кључеви имена својстава (нпр., својства објекта домаћина у host.get , својства објекта ставке у item.get , итд.), а вредности су или једна вредност или низ вредности за подударање. Не подржава својства text тип података.Имајте на уму да неке методе имају специфичну функционалност за овај параметар, која је описана на страници методе (нпр., параметар filter у host.get такође подржава својства интерфејса Домаћина). |
limit | integer | Ограничива број враћених записа. |
output | query | Својства објекта која се враћају. Подразумевано: extend . |
preservekeys | boolean | Користите ID-ијеве као кључеве у резултујућем низу. |
search | object | Враћа резултате који се поклапају са датим обрасцем (без обзира на велика и мала слова). Прихвата објекат, где су кључеви имена својстава (нпр., својства објекта домаћина у host.get , својства објекта ставке у item.get , итд.), а вредности низови за претраживање. Ако нису дате додатне опције, извршиће се претрага LIKE "%…%" .Подржава само својства string и text тип података.мајте на уму да неке методе имају специфичну функционалност за овај параметар, која је описана на страници методе (нпр. параметар search у host.get такође подржава својства интерфејса домаћина). |
searchByAny | boolean | Ако је подешено на true враћа резултате који одговарају било ком од критеријума датим у параметру filter или search уместо свих њих.Подразумевано: false . |
searchWildcardsEnabled | boolean | Ако је постављено на true омогућава употребу "*" као џокер знака у параметру search .Подразумевано: false . |
sortfield | string/array | Сортира резултат према датим својствима. Погледајте опис методе за добијање одређеног API-ја за листу својстава која се могу користити за сортирање. Макрои се не проширују пре сортирања. Ако није наведена вредност, подаци ће бити враћени несортирани. |
sortorder | string/array | Ред сортирања. Ако је низ прослеђен, свака вредност ће се подударати са одговарајућим својством датим у параметру sortfield .Могуће вредности: ASC - (подразумевано) растуће;DESC - опадајуће. |
startSearch | boolean | Параметар search ће упоређивати почетак поља, то јест, извршиће претрагу LIKE "…%" .Игнорише се ако је searchWildcardsEnabled подешен на true . |
Get methods return a flags
property for entities related to low-level discovery (LLD rule/LLD rule prototype, item/item prototype, etc). This property is useful to denote if the entity has been discovered or not, since editing for discovered entities is limited.
The flags
property returns a result based on a combination ("+" operation) of these values:
Value | Description |
---|---|
0 | Base entity (item, trigger, graph, host) |
1 | Low-level discovery rule |
2 | Any prototype (item prototype, trigger prototype, LLD rule prototype, etc) |
4 | Discovered entity (discovered item, trigger, graph, host, LLD rule) |
The combined value returned by the flags
property may be:
Value | Combination of | Description |
---|---|---|
0 | 0 | Plain entity (item, trigger, graph, host). |
2 | 2 | Entity prototype (item prototype, trigger prototype, etc). |
6 | 2+4 | Discovered item, trigger, graph, host (converted from prototype). |
1 | 1 | Low-level discovery rule. |
3 | 1+2 | Low-level discovery rule prototype. |
5 | 1+4 | Discovered low-level discovery rule (converted from prototype). |
7 | 1+2+4 | Discovered low-level discovery rule prototype. |
Да ли корисник има дозволу да пише домаћинима, чија имена започињу са "MySQL" или "Linux"?
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"countOutput": true,
"search": {
"host": ["MySQL", "Linux"]
},
"editable": true,
"startSearch": true,
"searchByAny": true
},
"id": 1
}
Одговор:
Нулти резултат значи да нема домаћина са дозволама за читање/писање.
Бројање домаћина, чија имена не садрже подстринг "ubuntu"
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"countOutput": true,
"search": {
"host": "ubuntu"
},
"excludeSearch": true
},
"id": 1
}
Одговор:
Наћи домаћине, чији назив садржи реч "server" и имају портове интерфејса "10050" или "10071". Сортирајте резултат по називу домаћина у опадајућем редоследу и ограничите га до 5 домаћина.
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid", "host"],
"selectInterfaces": ["port"],
"filter": {
"port": ["10050", "10071"]
},
"search": {
"host": "*server*"
},
"searchWildcardsEnabled": true,
"searchByAny": true,
"sortfield": "host",
"sortorder": "DESC",
"limit": 5
},
"id": 1
}
Одговор:
{
"jsonrpc": "2.0",
"result": [
{
"hostid": "50003",
"host": "WebServer-Tomcat02",
"interfaces": [
{
"port": "10071"
}
]
},
{
"hostid": "50005",
"host": "WebServer-Tomcat01",
"interfaces": [
{
"port": "10071"
}
]
},
{
"hostid": "50004",
"host": "WebServer-Nginx",
"interfaces": [
{
"port": "10071"
}
]
},
{
"hostid": "99032",
"host": "MySQL server 01",
"interfaces": [
{
"port": "10050"
}
]
},
{
"hostid": "99061",
"host": "Linux server 01",
"interfaces": [
{
"port": "10050"
}
]
}
],
"id": 1
}
Ако додате параметар"preservekeys", претходном захтеву, резултат се враћа као асоциативни ред, где су кључеви ID-ијеви објеката.
{
"jsonrpc": "2.0",
"method": "host.get",
"params": {
"output": ["hostid", "host"],
"selectInterfaces": ["port"],
"filter": {
"port": ["10050", "10071"]
},
"search": {
"host": "*server*"
},
"searchWildcardsEnabled": true,
"searchByAny": true,
"sortfield": "host",
"sortorder": "DESC",
"limit": 5,
"preservekeys": true
},
"id": 1
}
Одговор:
{
"jsonrpc": "2.0",
"result": {
"50003": {
"hostid": "50003",
"host": "WebServer-Tomcat02",
"interfaces": [
{
"port": "10071"
}
]
},
"50005": {
"hostid": "50005",
"host": "WebServer-Tomcat01",
"interfaces": [
{
"port": "10071"
}
]
},
"50004": {
"hostid": "50004",
"host": "WebServer-Nginx",
"interfaces": [
{
"port": "10071"
}
]
},
"99032": {
"hostid": "99032",
"host": "MySQL server 01",
"interfaces": [
{
"port": "10050"
}
]
},
"99061": {
"hostid": "99061",
"host": "Linux server 01",
"interfaces": [
{
"port": "10050"
}
]
}
},
"id": 1
}