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 | Врати само оне резултате који се тачно подударају са датим филтером. Прихвата објекат, где су кључеви имена својстава, а вредности су или једна вредност или низ вредности за подударање. Не подржава својства text тdata type. |
limit | integer | Ограничи број враћених записа. |
output | query | Својства објекта која се враћају. Подразумевано: extend . |
preservekeys | boolean | Користите ID-ијеве као кључеве у резултујућем низу. |
search | object | Врати резултате који се поклапају са датим обрасцем (без обзира на велика и мала слова). Прихвата објекат, где су кључеви имена својстава, а вредности низови за претраживање. Ако нису дате додатне опције, извршиће се претрага LIKE "%…%" .Подржава само својства string и text data type. |
searchByAny | boolean | Ако је подешено на true враћа резултате који одговарају било ком од критеријума датим у параметру filter или search уместо свих њих.Подразумевано: false . |
searchWildcardsEnabled | boolean | Ако је постављено на true омогућава употребу "*" као џокер знака у параметру search .Подразумевано: false . |
sortfield | string/array | Сортира резултат према датим својствима. Погледајте опис методе за добијање одређеног API-ја за листу својстава која се могу користити за сортирање. Макрои се не проширују пре сортирања. Ако није наведена вредност, подаци ће бити враћени несортирани. |
sortfield | string/array | Ред сортирања. Ако је низ прослеђен, свака вредност ће се подударати са одговарајућим својством датим у параметру sortfield .Могуће вредности: ASC - (подразумевано) растуће;DESC - опадајуће. |
startSearch | boolean | Параметар search ће упоређивати почетак поља, то јест, извршиће претрагу LIKE "…%" .Игнорише се ако је searchWildcardsEnabled подешен на true . |
Да ли корисник има дозволу да пише домаћинима, чија имена започињу са "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
}