template.get

Description

integer/array template.get(object parameters)

La méthode permet de récupérer des modèles selon les paramètres fournis.

Cette méthode est disponible pour les utilisateurs de tout type. 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) Paramètres définissant la sortie souhaitée.

La méthode prend en charge les paramètres suivants.

Paramètre Type Description
templateids ID/array Renvoie uniquement les modèles avec les ID de modèle donnés.
groupids ID/array Renvoie uniquement les modèles qui appartiennent aux groupes de modèles donnés.
parentTemplateids ID/array Renvoie uniquement les modèles auxquels le modèle donné est lié.
hostids ID/array Renvoie uniquement les modèles qui sont liés aux hôtes/modèles donnés.
graphids ID/array Renvoie uniquement les modèles qui contiennent les graphes donnés.
itemids ID/array Renvoie uniquement les modèles qui contiennent les éléments donnés.
triggerids ID/array Renvoie uniquement les modèles qui contiennent les déclencheurs donnés.
with_items flag Renvoie uniquement les modèles qui ont des éléments.
with_triggers flag Renvoie uniquement les modèles qui ont des déclencheurs.
with_graphs flag Renvoie uniquement les modèles qui ont des graphes.
with_httptests flag Renvoie uniquement les modèles qui ont des scénarios web.
evaltype integer Méthode d'évaluation des tags.

Valeurs possibles :
0 - (par défaut) And/Or;
2 - Or.
tags object/array Renvoie uniquement les modèles avec les tags donnés.
Format : [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un tableau vide renvoie tous les modèles.

Valeurs possibles de operator :
0 - (par défaut) Contient ;
1 - Égal à ;
2 - Ne contient pas ;
3 - N'est pas égal à ;
4 - Existe ;
5 - N'existe pas.
inheritedTags boolean Renvoie les modèles qui ont les tags donnés également dans les modèles liés.

Valeurs possibles :
true - les modèles liés doivent également avoir les tags donnés ;
false - (par défaut) les tags des modèles liés sont ignorés.
selectInheritedTags query Renvoie une propriété inheritedTags avec les tags présents sur les modèles liés.
selectTags query Renvoie les tags du modèle dans la propriété tags.
selectDiscoveryRules query Renvoie une propriété discoveryRules avec les règles LLD du modèle.

Prend en charge count.
selectHosts query Renvoie les hôtes qui sont liés au modèle dans la propriété hosts.

Prend en charge count.
selectTemplateGroups query Renvoie les groupes de modèles auxquels le modèle appartient dans la propriété templategroups.
selectTemplates query Renvoie les modèles auxquels le modèle donné est lié dans la propriété templates.

Prend en charge count.
selectParentTemplates query Renvoie les modèles qui sont liés au modèle donné dans la propriété parentTemplates.

Prend en charge count.
selectHttpTests query Renvoie les scénarios web du modèle dans la propriété httpTests.

Prend en charge count.
selectItems query Renvoie les éléments du modèle dans la propriété items.

Prend en charge count.
selectTriggers query Renvoie les déclencheurs du modèle dans la propriété triggers.

Prend en charge count.
selectGraphs query Renvoie les graphes du modèle dans la propriété graphs.

Prend en charge count.
selectMacros query Renvoie les macros du modèle dans la propriété macros.
selectDashboards query Renvoie les tableaux de bord du modèle dans la propriété dashboards.

Prend en charge count.
selectValueMaps query Renvoie une propriété valuemaps avec les correspondances de valeurs du modèle.
limitSelects integer Limite le nombre d'enregistrements renvoyés par les sous-sélections.

S'applique aux sous-sélections suivantes :
selectTemplates - les résultats seront triés par name ;
selectHosts - triés par host ;
selectParentTemplates - triés par host ;
selectItems - triés par name ;
selectDiscoveryRules - triés par name ;
selectTriggers - triés par description ;
selectGraphs - triés par name ;
selectDashboards - triés par name.
sortfield string/array Trie le résultat selon les propriétés données.

Valeurs possibles : hostid, host, name, status.
countOutput boolean Ces paramètres sont décrits dans le commentaire de référence.
editable boolean
excludeSearch boolean
filter object
limit integer
output query
preservekeys boolean
search object
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectDiscoveries query Renvoie les découvertes de bas niveau du modèle dans la propriété discoveries.

Prend en charge count.

Cette requête est obsolète ; veuillez utiliser selectDiscoveryRules à la place.

Valeurs de retour

(integer/array) Renvoie soit :

  • un tableau d’objets ;
  • le nombre d’objets récupérés, si le paramètre countOutput a été utilisé.

Exemples

Récupération des modèles par nom

Récupérez toutes les données concernant deux modèles nommés "Linux by Zabbix agent" et "Windows by Zabbix agent".

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent",
                "Windows by Zabbix agent"
            ]
        }
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "proxyid": "0",
            "host": "Linux by Zabbix agent",
            "status": "3",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Linux by Zabbix agent",
            "flags": "0",
            "templateid": "10001",
            "description": "Il s'agit d'un modèle Linux officiel. Il nécessite Zabbix agent 8.0 ou une version plus récente.\r\n\r\nRemarques sur la découverte des systèmes de fichiers (FS) :\r\n- Le système de fichiers ext4/3/2 réserve de l'espace pour un usage privilégié, généralement défini à 5 % par défaut.\r\n- BTRFS alloue par défaut 10 % du volume pour ses propres besoins.\r\n- Afin d'atténuer les catastrophes potentielles, les déclencheurs d'utilisation du FS sont basés sur l'espace maximal disponible.\r\n  - Formule d'utilisation : 'pused = 100 - 100 * (available / total - free + available)'\r\n- Le graphique d'utilisation du FS, dérivé des prototypes de graphiques, reflète l'espace réservé du FS comme la différence entre l'espace utilisé et l'espace disponible par rapport au volume total.\r\n\r\nVous pouvez discuter de ce modèle ou laisser vos commentaires sur notre forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387225-discussion-thread-for-official-zabbix-template-for-linux\r\n\r\nGénéré par l'outil officiel de modèles Zabbix \"Templator\"",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "custom_interfaces": "0",
            "uuid": "f8f7908280354f2abeed07dc788c3747",
            "vendor_name": "Zabbix",
            "vendor_version": "8.0-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Vue d'ensemble\r\n\r\nIl s'agit d'un modèle Linux officiel. Il nécessite Zabbix agent 8.0 ou une version plus récente.\r\n\r\n#### Remarques sur la découverte des systèmes de fichiers (FS) :\r\n- Le FS ext4/3/2 réserve de l'espace pour un usage privilégié, généralement défini à 5 % par défaut.\r\n- BTRFS alloue par défaut 10 % du volume pour ses propres besoins.\r\n- Afin d'atténuer les catastrophes potentielles, les déclencheurs d'utilisation du FS sont basés sur l'espace maximal disponible.\r\n  - Formule d'utilisation : `pused = 100 - 100 * (available / total - free + available)`\r\n- Le graphique d'utilisation du FS, dérivé des prototypes de graphiques, reflète l'espace réservé du FS comme la différence entre l'espace utilisé et l'espace disponible par rapport au volume total."
        },
        {
            "proxyid": "0",
            "host": "Windows by Zabbix agent",
            "status": "3",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Windows by Zabbix agent",
            "flags": "0",
            "templateid": "10081",
            "description": "Il s'agit d'un modèle Windows officiel. Il nécessite Zabbix agent 8.0 ou une version plus récente.\r\n\r\nVous pouvez discuter de ce modèle ou laisser vos commentaires sur notre forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/387224-discussion-thread-for-official-zabbix-template-for-windows\r\n\r\nGénéré par l'outil officiel de modèles Zabbix \"Templator\"",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "tls_psk_identity": "",
            "tls_psk": "",
            "custom_interfaces": "0",
            "uuid": "13b06904a6bf41cbb795e3193d896340",
            "vendor_name": "Zabbix",
            "vendor_version": "8.0-2",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "wizard_ready": "1",
            "readme": "## Vue d'ensemble\r\n\r\nIl s'agit d'un modèle Windows officiel. Il nécessite Zabbix agent 8.0 ou une version plus récente."
        }
    ],
    "id": 1
}

Récupération des groupes de modèles

Récupérez les groupes de modèles dont le modèle « Linux by Zabbix agent » est membre.

Requête :

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTemplateGroups": "extend",
        "filter": {
            "host": [
                "Linux by Zabbix agent"
            ]
        }
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "templategroups": [
                {
                    "groupid": "10",
                    "name": "Templates/Operating systems",
                    "uuid": "846977d1dfed4968bc5f8bdb363285bc"
                }
            ]
        }
    ],
    "id": 1
}

Récupération des hôtes par modèle

Récupérez les hôtes auxquels le modèle « 10001 » (Linux by Zabbix agent) est lié.

Requête :

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": "templateid",
        "templateids": "10001",
        "selectHosts": ["hostid", "name"]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10001",
            "hosts": [
                {
                    "hostid": "10084",
                    "name": "Zabbix server"
                },
                {
                    "hostid": "10603",
                    "name": "Host 1"
                },
                {
                    "hostid": "10604",
                    "name": "Host 2"
                }
            ]
        }
    ],
    "id": 1
}

Recherche par balises de modèle

Récupérez les modèles ayant la balise "host-name" égale à "{HOST.NAME}".

Requête:

{
    "jsonrpc": "2.0",
    "method": "template.get",
    "params": {
        "output": ["hostid"],
        "selectTags": "extend",
        "evaltype": 0,
        "tags": [
            {
                "tag": "host-name",
                "value": "{HOST.NAME}",
                "operator": 1
            }
        ]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "templateid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}

Voir aussi

Source

CTemplate::get() dans ui/include/classes/api/services/CTemplate.php.