Sidebar

fr:manual:api:reference:itemprototype:create

itemprototype.create

Description

object itemprototype.create(object/array itemPrototypes)

Cette méthode permet de créer de nouveaux prototypes d'éléments.

Paramètres

(object/array) Prototype d'élément à créer.

En plus des propriétés de l'objet 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 de découverte bas niveau à laquelle l'élément appartient.
applications array ID des applications à affecter aux éléments découverts.
applicationPrototypes array Noms des prototypes d'application à affecter au prototype d'élément.
preprocessing array Options de pré-traitement du prototype d'élément.

Valeurs retournées

(object) Retourne un objet contenant les identifiants des prototypes d'élément créés sous la propriété itemids. L'ordre des ID retournés correspond à l'ordre des prototypes d'élément transmis.

Exemples

Création d'un prototype d'élément

Créer un prototype d'élément pour surveiller l'espace disque disponible 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 $1",
        "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 :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "27666"
        ]
    },
    "id": 1
}

Création d'un prototype d'élément avec pré-traitement

Créer un élément en utilisant une modification par seconde et un multiplicateur personnalisé dans un deuxième temps.

Requête :

{
    "jsonrpc": "2.0",
    "method": "itemprototype.create",
    "params": {
        "name": "Incoming network traffic on $1",
        "key_": "net.if.in[{#IFNAME}]",
        "hostid": "10001",
        "ruleid": "27665",
        "type": 0,
        "value_type": 3,
        "delay": "60s",
        "units": "bps",
        "interfaceid": "1155",
        "preprocessing": [
            {
                "type": "10",
                "params": ""
            },
            {
                "type": "1",
                "params": "8"
            }
        ]
    },
    "auth": "038e1d7b1735c6a5436ee9eae095879e",
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44211"
        ]
    },
    "id": 1
}

Création d'un prototype d'élément dépendant

Créer un prototype d'élément dépendant pour le prototype d'élément maître portant 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, les éléments maîtres et dépendants doivent avoir les mêmes hostid et ruleid.

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 :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "44212"
        ]
    },
    "id": 1
}

Créer un prototype d'élément d'agent HTTP

Créer un prototype d'élément avec une URL à l'aide d'une macro utilisateur, d'un champ 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 :

{
    "jsonrpc": "2.0",
    "result": {
        "itemids": [
            "28305"
        ]
    },
    "id": 1
}

Source

CItemPrototype::create() dans frontends/php/include/classes/api/services/CItemPrototype.php.