itemprototype.create
Apraksts
object itemprototype.create(object/array itemPrototypes)
Šī metode ļauj izveidot jaunus vienumu prototipus.
Šī metode ir pieejama tikai Admin un Super admin lietotāju tipiem. Atļaujas izsaukt šo metodi var tikt atsauktas lietotāja lomas iestatījumos. Plašāku informāciju skatiet Lietotāju lomas.
Parametri
(object/array) Izveidojamais vienuma prototips.
Papildus standarta vienuma prototipa īpašībām metode pieņem šādus parametrus.
| Parametrs | Tips | Apraksts |
|---|---|---|
| ruleid | ID | LLD kārtulas ID, kurai pieder vienuma prototips. Parametra darbība: - obligāts |
| preprocessing | array | Vienuma prototipa priekšapstrādes opcijas. |
| tags | array | Vienuma prototipa birkas. |
Atgrieztās vērtības
(object) Atgriež objektu, kas satur izveidoto vienumu
prototipu ID īpašībā itemids. Atgriezto ID secība
atbilst nodoto vienumu prototipu secībai.
Piemēri
Vienuma prototipa izveide
Izveidojiet vienuma prototipu, lai uzraudzītu brīvo diska vietu atklātajā failu sistēmā. Atklātajiem vienumiem jābūt skaitliskiem Zabbix aģenta vienumiem, kas tiek atjaunināti ik pēc 30 sekundēm.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Brīvā diska vieta uz {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"27666"
]
},
"id": 1
}
Vienuma prototipa izveide ar priekšapstrādi
Izveidojiet vienumu, izmantojot izmaiņas sekundē un pielāgotu reizinātāju kā otro soli.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Ienākošā tīkla datplūsma uz {#IFNAME}",
"key_": "net.if.in[{#IFNAME}]",
"hostid": "10001",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"delay": "60s",
"units": "bps",
"interfaceid": "1155",
"preprocessing": [
{
"type": 10,
"params": "",
"error_handler": 0,
"error_handler_params": ""
},
{
"type": 1,
"params": "8",
"error_handler": 2,
"error_handler_params": "10"
}
]
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Atkarīgā vienuma prototipa izveide
Izveidojiet atkarīgā vienuma prototipu galvenā vienuma prototipam ar ID 44211. Ir atļautas tikai atkarības uz tā paša hosta (veidnes/atklāšanas kārtulas), tādēļ galvenajam un atkarīgajam vienumam jābūt vienādam hostid un ruleid.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"hostid": "10001",
"ruleid": "27665",
"name": "Dependent test item prototype",
"key_": "dependent.prototype",
"type": 18,
"master_itemid": "44211",
"value_type": 3
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44212"
]
},
"id": 1
}
Izveidot HTTP aģenta vienuma prototipu
Izveidojiet vienuma prototipu ar URL, izmantojot lietotāja makrosu, vaicājuma laukus un pielāgotas galvenes.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"type": "19",
"hostid": "10254",
"ruleid": "28256",
"interfaceid": "2",
"name": "api item prototype example",
"key_": "api_http_item",
"value_type": 3,
"url": "{$URL_PROTOTYPE}",
"query_fields": [
{
"name": "min",
"value": "10"
},
{
"name": "max",
"value" "100"
}
],
"headers": [
{
"name": "X-Source",
"value": "api"
}
],
"delay": "35"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28305"
]
},
"id": 1
}
Izveidot skripta vienuma prototipu
Izveidojiet vienkāršu datu vākšanu, izmantojot skripta vienuma prototipu.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Script example",
"key_": "custom.script.itemprototype",
"hostid": "12345",
"type": 21,
"value_type": 4,
"params": "var request = new HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
"parameters": [
{
"name": "host",
"value": "{HOST.CONN}"
}
],
"timeout": "6s",
"delay": "30s"
},
"id": 1
}
Atbilde:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Avots
CItemPrototype::create() failā ui/include/classes/api/services/CItemPrototype.php.