object itemprototype.create(object/array itemPrototypes)
Cette méthode permet de créer de nouveaux prototypes éléments.
Cette méthode est disponible uniquement pour les types d'utilisateurs Admin et Super admin. Les autorisations d'appeler la méthode peuvent être révoquées dans les paramètres de rôles utilisateur. Voir Rôles Utilisateur pour plus d'informations.
(object/array)
Prototype d'élément à créer.
En plus des propriétés de prototype d'élément standard, la méthode accepte les paramètres suivants.
Paramètre | Type | Description |
---|---|---|
ruleid (obligatoire) |
string | ID de la règle LLD à laquelle appartient l'élément. |
preprocessing | array | Options de prétraitement du prototype d'élément. |
tags | array | Tags du prototype d'élément. |
(object)
Renvoie un objet contenant les IDs des prototypes d'éléments créés sous la propriété itemids
. L'ordre des ID renvoyés correspond à l'ordre des prototypes d'éléments transmis.
Créez un prototype d'élément pour surveiller l'espace disque libre sur un système de fichiers découvert. Les éléments découverts doivent être des éléments numériques de l'agent Zabbix mis à jour toutes les 30 secondes.
Requête :
{
"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"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Créez un élément en utilisant le changement par seconde et un multiplicateur personnalisé comme deuxième étape.
Requête :
{
"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"
}
]
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Créez un prototype d'élément dépendant pour le prototype d'élément principal avec l'ID 44211. Seules les dépendances sur le même hôte (modèle/règle de découverte) sont autorisées. Par conséquent, l'élément principal et l'élément dépendant doivent avoir les mêmes ID d'hôte et ID de règle.
Requête :
{
"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
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Créez un prototype d'élément avec une URL à l'aide d'une macro utilisateur, de champs de requête et d'en-têtes personnalisés.
Requête :
{
"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": [
{
"min": "10"
},
{
"max": "100"
}
],
"headers": {
"X-Source": "api"
},
"delay": "35"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 1
}
Réponse :
Créez une collection de données simple à l'aide d'un prototype d'élément de script.
Requête :
{
"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"
},
"auth": "038e1d7b1735c6a5436ee9eae095879e",
"id": 2
}
Réponse :
CItemPrototype::create() dans ui/include/classes/api/services/CItemPrototype.php.