item.create
Description
object item.create(object/array items)
Cette méthode permet de créer de nouveaux éléments.
Les éléments web ne peuvent pas être créés via l’API Zabbix.
Cette méthode est disponible uniquement pour les types d’utilisateurs Admin et Super admin. Les autorisations d’appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Voir User roles pour plus d’informations.
Paramètres
(object/array) Éléments à créer.
En plus des propriétés standard des éléments, la méthode accepte les paramètres suivants.
| Paramètre | Type | Description |
|---|---|---|
| preprocessing | array | Options de prétraitement des éléments. |
| tags | array | Balises d’élément. |
Valeurs de retour
(object) Renvoie un objet contenant les ID des éléments créés dans la propriété itemids.
L’ordre des ID renvoyés correspond à l’ordre des éléments transmis.
Exemples
Création d’un élément
Créez un élément numérique d’agent Zabbix avec 2 tags d’élément pour surveiller l’espace disque libre sur l’hôte avec l’ID « 30074 ».
Requête :
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Free disk space on /home/joe/",
"key_": "vfs.fs.size[/home/joe/,free]",
"hostid": "30074",
"type": 0,
"value_type": 3,
"interfaceid": "30084",
"tags": [
{
"tag": "component",
"value": "storage"
},
{
"tag": "equipment",
"value": "workstation"
}
],
"delay": "30s"
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24758"
]
},
"id": 1
}
Création d’un élément d’inventaire d’hôte
Créez un élément d’agent Zabbix pour renseigner le champ d’inventaire « OS » de l’hôte.
Requête :
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "uname",
"key_": "system.uname",
"hostid": "30021",
"type": 0,
"interfaceid": "30007",
"value_type": 1,
"delay": "10s",
"inventory_link": 5
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"24759"
]
},
"id": 1
}
Création d’un élément avec prétraitement
Créez un élément en utilisant un multiplicateur personnalisé.
Requête :
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Device uptime",
"key_": "sysUpTime",
"hostid": "10084",
"type": 20,
"snmp_oid": "SNMPv2-MIB::sysUpTime.0",
"value_type": 1,
"delay": "60s",
"interfaceid": "83",
"preprocessing": [
{
"type": 1,
"params": "0.01",
"error_handler": 1,
"error_handler_params": ""
}
]
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44210"
]
},
"id": 1
}
Création d’un élément dépendant
Créez un élément dépendant pour l’élément maître avec l’ID 24759. Seules les dépendances sur le même hôte sont autorisées ; par conséquent, l’élément maître et l’élément dépendant doivent avoir le même hostid.
Requête :
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"hostid": "30074",
"name": "Dependent test item",
"key_": "dependent.item",
"type": 18,
"master_itemid": "24759",
"value_type": 2
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"44211"
]
},
"id": 1
}
Créer un élément d'agent HTTP
Créer un élément avec la méthode de requête POST et le prétraitement d'une réponse JSON.
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"url":"http://127.0.0.1/http.php",
"query_fields": [
{
"name": "mode",
"value": "json"
},
{
"name": "min",
"value": "10"
},
{
"name": "max",
"value": "100"
}
],
"interfaceid": "1",
"type": 19,
"hostid": "10254",
"delay": "5s",
"key_": "json",
"name": "HTTP agent example JSON",
"value_type": 0,
"output_format": 1,
"preprocessing": [
{
"type": 12,
"params": "$.random",
"error_handler": 0,
"error_handler_params": ""
}
]
},
"id": 1
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Créer un élément de script
Créez une collecte de données simple à l’aide d’un élément de script.
Requête :
{
"jsonrpc": "2.0",
"method": "item.create",
"params": {
"name": "Script example",
"key_": "custom.script.item",
"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
}
Réponse :
{
"jsonrpc": "2.0",
"result": {
"itemids": [
"23865"
]
},
"id": 1
}
Source
CItem::create() dans ui/include/classes/api/services/CItem.php.