template.get

Description

integer/array template.get(object parameters)

Cette 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 des rôles utilisateur. Voir Rôles utilisateur 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.

Parameter Type Description
templateids ID/array Ne retourner que les modèles avec les IDs de modèle donnés.
groupids ID/array Ne retourner que les modèles appartenant aux groupes de modèles donnés.
parentTemplateids ID/array Ne retourner que les modèles auxquels le modèle donné est lié.
hostids ID/array Ne retourner que les modèles liés aux hôtes/modèles donnés.
graphids ID/array Ne retourner que les modèles contenant les graphiques donnés.
itemids ID/array Ne retourner que les modèles contenant les éléments donnés.
triggerids ID/array Ne retourner que les modèles contenant les déclencheurs donnés.
with_items flag Ne retourner que les modèles qui ont des éléments.
with_triggers flag Ne retourner que les modèles qui ont des déclencheurs.
with_graphs flag Ne retourner que les modèles qui ont des graphiques.
with_httptests flag Ne retourner que 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 Ne retourner que les modèles avec les tags donné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.
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 donné est lié dans la propriété templates.

Prend en charge count.
selectParentTemplates query Retourner les modèles liés au modèle donné 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 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 mappages 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 Trier 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 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" et "Windows".

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 7.4 ou une version plus récente.\r\n\r\nNotes sur la découverte du système de fichiers (FS) :\r\n- Le système de fichiers ext4/3/2 réserve de l'espace pour une utilisation privilégiée, généralement défini à 5 % par défaut.\r\n- BTRFS alloue par défaut 10 % du volume à ses propres besoins.\r\n- Pour atténuer les risques potentiels, 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 un commentaire 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": "7.4-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 7.4 ou une version plus récente.\r\n\r\n#### Notes sur la découverte du système de fichiers (FS) :\r\n- Le système de fichiers ext4/3/2 réserve de l'espace pour une utilisation privilégiée, généralement défini à 5 % par défaut.\r\n- BTRFS alloue par défaut 10 % du volume à ses propres besoins.\r\n- Pour atténuer les risques potentiels, 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 7.4 ou une version plus récente.\r\n\r\nVous pouvez discuter de ce modèle ou laisser un commentaire 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": "7.4-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 7.4 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 tags de modèle

Récupérer les modèles qui ont le tag "host-name" égal à "{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": [
        {
            "hostid": "10402",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "{HOST.NAME}"
                }
            ]
        }
    ],
    "id": 1
}

Voir aussi

Source

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