object itemprototype.create(object/array itemPrototypes)
Este método permite criar novos protótipos de item.
Este método está disponível apenas para os tipos de usuário Admin e Super admin. As permissões para chamar o método podem ser revogadas nas configurações de função de usuário. Veja Funções de usuário para mais informações.
(object/array) Protótipo de item a ser criado.
Além das propriedades padrão do protótipo de item, o método aceita os seguintes parâmetros.
| Parâmetro | Tipo | Descrição |
|---|---|---|
| ruleid | ID | ID da regra LLD à qual o item pertence. Comportamento do parâmetro: - obrigatório |
| preprocessing | array | Opções de pré-processamento do protótipo de item. |
| tags | array | Tags do protótipo de item. |
(object) Retorna um objeto contendo os IDs dos protótipos de item criados na propriedade itemids. A ordem dos IDs retornados corresponde à ordem dos protótipos de item passados.
Crie um protótipo de item para monitorar o espaço livre em disco em um sistema de arquivos descoberto. Os itens descobertos devem ser itens numéricos do agent Zabbix atualizados a cada 30 segundos.
{
"jsonrpc": "2.0",
"method": "itemprototype.create",
"params": {
"name": "Espaço livre em disco em {#FSNAME}",
"key_": "vfs.fs.size[{#FSNAME},free]",
"hostid": "10197",
"ruleid": "27665",
"type": 0,
"value_type": 3,
"interfaceid": "112",
"delay": "30s"
},
"id": 1
}Resposta:
Crie um item usando alteração por segundo e um multiplicador personalizado como um segundo passo.
{
"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:
Crie um protótipo de item dependente para o protótipo de item mestre com ID 44211. Somente dependências no mesmo host (template/regra de descoberta) são permitidas, portanto, o item mestre e o item dependente devem ter o mesmo hostid e 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
}Resposta:
Crie um protótipo de item com URL usando macro de usuário, campos de consulta e cabeçalhos personalizados.
{
"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:
Crie uma coleta de dados simples usando um protótipo de item de 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 HttpRequest();\nreturn request.post(\"https://postman-echo.com/post\", JSON.parse(value));",
"parameters": [
{
"name": "host",
"value": "{HOST.CONN}"
}
],
"timeout": "6s",
"delay": "30s"
},
"id": 1
}Resposta:
CItemPrototype::create() em ui/include/classes/api/services/CItemPrototype.php.