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 Retourner uniquement les modèles avec les ID de modèle indiqués.
groupids ID/array Retourner uniquement les modèles qui appartiennent aux groupes de modèles indiqués.
parentTemplateids ID/array Retourner uniquement les modèles auxquels le modèle indiqué est lié.
hostids ID/array Retourner uniquement les modèles qui sont liés aux hôtes/modèles indiqués.
graphids ID/array Retourner uniquement les modèles qui contiennent les graphiques indiqués.
itemids ID/array Retourner uniquement les modèles qui contiennent les éléments de données indiqués.
triggerids ID/array Retourner uniquement les modèles qui contiennent les déclencheurs indiqués.
with_items flag Retourner uniquement les modèles qui ont des éléments de données.
with_triggers flag Retourner uniquement les modèles qui ont des déclencheurs.
with_graphs flag Retourner uniquement les modèles qui ont des graphiques.
with_httptests flag Retourner uniquement les modèles qui ont des scénarios web.
evaltype integer Méthode d'évaluation des tags.

Valeurs possibles :
0 - (par défaut) Et/Ou ;
2 - Ou.
tags object/array Retourner uniquement les modèles avec les tags indiqués.
Format : [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un tableau vide retourne 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 Retourner les modèles qui ont les tags indiqués également dans les modèles liés.

Valeurs possibles :
true - les modèles liés doivent également avoir les tags indiqués ;
false - (par défaut) les tags des modèles liés sont ignorés.
selectInheritedTags query Retourner une propriété inheritedTags avec les tags présents sur les modèles liés.
selectTags query Retourner les tags du modèle dans la propriété tags.
selectDiscoveryRules query Retourner une propriété discoveryRules avec les règles LLD du modèle. Prend en charge count.
selectHosts query Retourner les hôtes liés au modèle dans la propriété hosts.

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

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

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

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

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

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

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

Prend en charge count.
selectValueMaps query Retourner une propriété valuemaps avec les correspondances de valeurs du modèle.
limitSelects integer Limite le nombre d'enregistrements retourné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 Trier le résultat selon les propriétés indiqué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 Retourner 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.