itemprototype.create
Descripció
object itemprototype.create(object/array itemPrototypes)
Aquest mètode permet crear nous prototips d'elements.
Tenim aquest mètode disponible només per als usuaris Admin i Super admin. Els permisos per cridar el mètode es poden revocar a la configuració dels rols d'usuari. Per a més informació, veieu Rols d'usuari.
Paràmetres
(object/array) Prototip d'article a crear.
A més de les [propietats estàndard del prototip d'element] (object#item_prototype), el mètode admet els paràmetres següents.
| Paràmetre | Tipus | Descripció |
|---|---|---|
| ruleid | ID | ID de la regla LLD a la qual pertany l'element Comportament de la propietat: - obligatori. |
| preprocessing | array | Opcions de preprocessament de prototip de l'element. |
| tags | array | Etiquetes del prototip d'element. |
Valors de retorn
(object) Retorna un objecte amb els IDs dels prototips d'elements creats segons la propietat itemids. L'ordre dels IDs retornats correspon a l'ordre dels prototips d'elements donats.
Exemples
Crear un prototip d'element
Crear un prototip d'element per monitorar l'espai lliure de disc d'un sistema d'arxius descobert. Els elements trobats han de tindre els elements numèrics de l'agent de Zabbix actualitzats cada 30 segons.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Free disk space on {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"id": 1
}
Resposta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"27666"
]
},
"id": 1
}
Crear un prototip d'elememt amb preprocessament
Crear un element emprant el canvi per segon i un multiplicador a mida com a segona passa.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Incoming network traffic on {#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
}
Resposta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Crear un prototipus d'element dependent
Crea un prototipus d'element dependent pel prototipus d'element principal amb l'ID 44211. Només són permeses les dependències del mateix equip (plantilla / regla de descoberta). Per tant, l'element principal i el dependent hauran de tindre els mateixos ID d'equip i de regla.
{
"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
}
Resposta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44212"
]
},
"id": 1
}
Crear un prototiups d'element d'agent HTTP agent
Crear un prototip d'element amb una URL emprant una macro d'usuari, camps de cerca i capçaleres a mida.
{
"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
}
Resposta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"28305"
]
},
"id": 1
}
Crear un prototipus d'element d'script
Crear una col·lecció de dades simple emprant un prototipus d'element d'script.
{
"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 CurlHttpRequest();\nreturn request.Post(\"https://postman-echo.com/post\", JSON.parse(value));",
"parameters": [
{
"name": "host",
"value": "{HOST.CONN}"
}
],
"timeout": "6s",
"delay": "30s"
},
"id": 2
}
Resposta:
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 3
}
Font
CItemPrototype::create() in ui/include/classes/api/services/CItemPrototype.php.