host.get

Description

integer/array host.get(object parameters)

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

Cette méthode est disponible pour les utilisateurs de tout type. Les autorisations permettant d’appeler la méthode peuvent être révoquées dans les paramètres des rôles 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.

Parameter Type Description
groupids ID/array Renvoie uniquement les hôtes appartenant aux groupes indiqués.
dserviceids ID/array Renvoie uniquement les hôtes liés aux services découverts indiqués.
graphids ID/array Renvoie uniquement les hôtes possédant les graphiques indiqués.
hostids ID/array Renvoie uniquement les hôtes ayant les ID d’hôte indiqués.
httptestids ID/array Renvoie uniquement les hôtes possédant les contrôles web indiqués.
interfaceids ID/array Renvoie uniquement les hôtes utilisant les interfaces indiquées.
itemids ID/array Renvoie uniquement les hôtes possédant les éléments de données indiqués.
maintenanceids ID/array Renvoie uniquement les hôtes affectés par les maintenances indiquées.
monitored_hosts flag Renvoie uniquement les hôtes supervisés.
proxyids ID/array Renvoie uniquement les hôtes supervisés par les proxies indiqués.
proxy_groupids ID/array Renvoie uniquement les hôtes supervisés par les groupes de proxies indiqués.
templated_hosts flag Renvoie à la fois les hôtes et les modèles.
templateids ID/array Renvoie uniquement les hôtes liés aux modèles indiqués.
triggerids ID/array Renvoie uniquement les hôtes possédant les déclencheurs indiqués.
with_items flag Renvoie uniquement les hôtes possédant des éléments de données.

Remplace les paramètres with_monitored_items et with_simple_graph_items.
with_item_prototypes flag Renvoie uniquement les hôtes possédant des prototypes d’élément de données.

Remplace le paramètre with_simple_graph_item_prototypes.
with_simple_graph_item_prototypes flag Renvoie uniquement les hôtes possédant des prototypes d’élément de données activés pour la création et ayant un type d’information numérique.
with_graphs flag Renvoie uniquement les hôtes possédant des graphiques.
with_graph_prototypes flag Renvoie uniquement les hôtes possédant des prototypes de graphique.
with_httptests flag Renvoie uniquement les hôtes possédant des contrôles web.

Remplace le paramètre with_monitored_httptests.
with_monitored_httptests flag Renvoie uniquement les hôtes possédant des contrôles web activés.
with_monitored_items flag Renvoie uniquement les hôtes possédant des éléments de données activés.

Remplace le paramètre with_simple_graph_items.
with_monitored_triggers flag Renvoie uniquement les hôtes possédant des déclencheurs activés. Tous les éléments de données utilisés dans le déclencheur doivent également être activés.
with_simple_graph_items flag Renvoie uniquement les hôtes possédant des éléments de données avec un type d’information numérique.
with_triggers flag Renvoie uniquement les hôtes possédant des déclencheurs.

Remplace le paramètre with_monitored_triggers.
withProblemsSuppressed boolean Si défini sur true, renvoie uniquement les hôtes avec des problèmes supprimés.
evaltype integer Méthode d’évaluation des tags.

Valeurs possibles :
0 - (par défaut) Et/Ou ;
2 - Ou.
severities integer/array Renvoie les hôtes ayant uniquement des problèmes avec les sévérités indiquées. S’applique uniquement si l’objet problème est un déclencheur.
tags object/array Renvoie uniquement les hôtes avec les tags indiqués.
Format : [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un tableau vide renvoie tous les hôtes.

Valeurs possibles de l’opérateur :
0 - (par défaut) Contient ;
1 - Égal ;
2 - Ne contient pas ;
3 - Différent de ;
4 - Existe ;
5 - N’existe pas.
Consultez le paramètre Tags pour des informations détaillées sur les opérateurs.
inheritedTags boolean Renvoie les hôtes qui possèdent les tags indiqués également dans tous leurs modèles liés.

Valeurs possibles :
true - les modèles liés doivent également posséder les tags indiqués ;
false - (par défaut) les tags des modèles liés sont ignorés.
selectDiscoveryData query Renvoie une propriété discoveryData avec les données de l’objet de découverte d’hôte. L’objet de découverte d’hôte relie un hôte découvert à un prototype d’hôte à partir duquel il a été découvert.

Il possède les propriétés suivantes :
host - (string) ID de l’hôte ;
parent_hostid - (string) ID du prototype d’hôte à partir duquel l’hôte a été créé ;
status - (int) statut de découverte de l’hôte :
0 - (par défaut) l’hôte est découvert,
1 - l’hôte n’est plus découvert ;
ts_delete - (timestamp) heure à laquelle un hôte qui n’est plus découvert sera supprimé ;
ts_disable - (timestamp) heure à laquelle un hôte qui n’est plus découvert sera désactivé ;
disable_source - (int) indicateur précisant si l’hôte a été désactivé par une règle LLD ou manuellement :
0 - (par défaut) désactivé automatiquement,
1 - désactivé par une règle LLD.
selectDiscoveryRule query Renvoie une propriété discoveryRule avec la règle de découverte de bas niveau qui a créé l’hôte (à partir d’un prototype d’hôte dans la supervision VMware).
selectDiscoveryRules query Renvoie une propriété discoveryRules avec les règles LLD de l’hôte. Prend en charge count.
selectGraphs query Renvoie une propriété graphs avec les graphiques de l’hôte.

Prend en charge count.
selectHostGroups query Renvoie une propriété hostgroups avec les données des groupes d’hôtes auxquels l’hôte appartient.
selectHttpTests query Renvoie une propriété httpTests avec les scénarios web de l’hôte.

Prend en charge count.
selectInterfaces query Renvoie une propriété interfaces avec les interfaces de l’hôte.

Prend en charge count.
selectInventory query Renvoie une propriété inventory avec les données d’inventaire de l’hôte.
selectItems query Renvoie une propriété items avec les éléments de données de l’hôte.

Prend en charge count.
selectMacros query Renvoie une propriété macros avec les macros de l’hôte.
selectParentTemplates query Renvoie une propriété parentTemplates avec les modèles auxquels l’hôte est lié.

En plus des champs de l’objet Template, elle contient link_type - (integer) la manière dont le modèle est lié à l’hôte.
Valeurs possibles :
0 - (par défaut) lié manuellement ;
1 - lié automatiquement par LLD.

Prend en charge count.
selectDashboards query Renvoie une propriété dashboards.

Prend en charge count.
selectTags query Renvoie une propriété tags avec les tags de l’hôte.
selectInheritedTags query Renvoie une propriété inheritedTags avec les tags présents sur tous les modèles liés à l’hôte.
selectTriggers query Renvoie une propriété triggers avec les déclencheurs de l’hôte.

Prend en charge count.
selectValueMaps query Renvoie une propriété valuemaps avec les correspondances de valeurs de l’hôte.
filter object Renvoie uniquement les résultats correspondant exactement au filtre indiqué.

Accepte un objet dont les clés sont des noms de propriété et les valeurs sont soit une valeur unique, soit un tableau de valeurs à comparer.

Ne prend pas en charge les propriétés de type de données text data type.

Prend en charge des propriétés supplémentaires : propriétés de Host interface.
limitSelects integer Limite le nombre d’enregistrements renvoyés par les sous-sélections.

S’applique aux sous-sélections suivantes :
selectParentTemplates - les résultats seront triés par host ;
selectInterfaces ;
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.
search object Renvoie les résultats correspondant au motif indiqué (insensible à la casse).

Accepte un objet dont les clés sont des noms de propriété et les valeurs sont des chaînes à rechercher. Si aucune option supplémentaire n’est fournie, cela effectuera une recherche LIKE "%…%".

Prend en charge uniquement les propriétés de type de données string et text data type.

Prend en charge des propriétés supplémentaires : propriétés de Host interface.
searchInventory object Renvoie les hôtes dont les données d’inventaire correspondent au motif indiqué (insensible à la casse).

Accepte un objet dont les clés sont des noms de propriété et les valeurs sont des chaînes à rechercher. Si aucune option supplémentaire n’est fournie, cela effectuera une recherche LIKE "%…%".

Prend en charge uniquement les propriétés de type de données string et text data type.
sortfield string/array Trie 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
limit integer
output query
preservekeys boolean
searchByAny boolean
searchWildcardsEnabled boolean
sortorder string/array
startSearch boolean
selectDiscoveries query Renvoie une propriété discoveries avec les règles de découverte de bas niveau de l’hôte.

Prend en charge count.

Cette requête est obsolète ; veuillez utiliser selectDiscoveryRules à la place.
selectHostDiscovery query Renvoie une propriété hostDiscovery avec les données de l’objet de découverte d’hôte.

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

Valeurs retournées

(integer/array) Retourne 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 données par nom

Récupérez toutes les données concernant deux hôtes nommés "Zabbix server" et "Linux server".

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "filter": {
            "host": [
                "Zabbix server",
                "Linux server"
            ]
        }
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10160",
            "proxyid": "0",
            "host": "Zabbix server",
            "status": "0",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Zabbix server",
            "flags": "0",
            "description": "Le serveur de supervision Zabbix.",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "inventory_mode": "1",
            "active_available": "1",
            "assigned_proxyid": "0"
        },
        {
            "hostid": "10167",
            "proxyid": "0",
            "host": "Linux server",
            "status": "0",
            "ipmi_authtype": "-1",
            "ipmi_privilege": "2",
            "ipmi_username": "",
            "ipmi_password": "",
            "maintenanceid": "0",
            "maintenance_status": "0",
            "maintenance_type": "0",
            "maintenance_from": "0",
            "name": "Linux server",
            "flags": "0",
            "description": "",
            "tls_connect": "1",
            "tls_accept": "1",
            "tls_issuer": "",
            "tls_subject": "",
            "proxy_groupid": "0",
            "monitored_by": "0",
            "inventory_mode": "1",
            "active_available": "1",
            "assigned_proxyid": "0"
        }
    ],
    "id": 1
}

Récupération des groupes d'hôtes

Récupérez les groupes d'hôtes dont l'hôte "Zabbix server" est membre.

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectHostGroups": "extend",
        "filter": {
            "host": [
                "Zabbix server"
            ]
        }
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10085",
            "hostgroups": [
                {
                    "groupid": "2",
                    "name": "Linux servers",
                    "flags": "0",
                    "uuid": "dc579cd7a1a34222933f24f52a68bcd8"
                },
                {
                    "groupid": "4",
                    "name": "Zabbix servers",
                    "flags": "0",
                    "uuid": "6f6799aa69e844b4b3918f779f2abf08"
                }
            ]
        }
    ],
    "id": 1
}

Récupération des modèles liés

Récupérez les ID et les noms des modèles liés à l’hôte « 10084 ».

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectParentTemplates": [
            "templateid",
            "name"
        ],
        "hostids": "10084"
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10084",
            "parentTemplates": [
                {
                    "name": "Linux",
                    "templateid": "10001"
                },
                {
                    "name": "Zabbix Server",
                    "templateid": "10047"
                }
            ]
        }
    ],
    "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": "host.get",
    "params": {
        "output": ["hostid", "name"],
        "templateids": "10001"
    },
    "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 données d'inventaire de l'hôte

Récupérez les hôtes qui contiennent « Linux » dans le champ « OS » de l'inventaire de l'hôte.

Requête :

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": [
            "host"
        ],
        "selectInventory": [
            "os"
        ],
        "searchInventory": {
            "os": "Linux"
        }
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10084",
            "host": "Zabbix server",
            "inventory": {
                "os": "Linux Ubuntu"
            }
        },
        {
            "hostid": "10107",
            "host": "Linux server",
            "inventory": {
                "os": "Linux Mint"
            }
        }
    ],
    "id": 1
}

Recherche par tags d'hôte

Récupérez les hôtes ayant le tag "host-name" égal à "linux-server".

Requête:

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

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10085",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "linux-server",
                    "automatic": "0"
                },
                {
                    "tag": "os",
                    "value": "rhel-7",
                    "automatic": "0"
                }
            ]
        }
    ],
    "id": 1
}

Récupérez les hôtes ayant ces tags non seulement au niveau de l'hôte, mais aussi dans leurs modèles parents liés.

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "tags": [
            {
                "tag": "os",
                "value": "rhel-7",
                "operator": 1
            }
        ],
        "inheritedTags": true
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10623",
            "name": "PC room 1"
        },
        {
            "hostid": "10601",
            "name": "Office"
        }
    ],
    "id": 1
}

Recherche d’un hôte avec des tags et des tags de modèle

Récupérez un hôte avec ses tags et tous les tags liés aux modèles parents.

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "hostids": 10502,
        "selectTags": ["tag", "value"],
        "selectInheritedTags": ["tag", "value"]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10502",
            "name": "Desktop",
            "tags": [
                {
                    "tag": "host-name",
                    "value": "linux-server"
                },
                {
                    "tag": "os",
                    "value": "rhel-7"
                }
            ],
            "inheritedTags": [
                {
                    "tag": "class",
                    "value": "os"
                },
                {
                    "tag": "target",
                    "value": "linux"
                },
                {
                    "tag": "os",
                    "value": "rhel-7"
                }
            ]
        }
    ],
    "id": 1
}

Recherche d'hôtes par gravité de problème

Récupérez les hôtes qui ont des problèmes de niveau « Désastre ».

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "severities": 5
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "10160",
            "name": "Zabbix server"
        }
    ],
    "id": 1
}

Récupérez les hôtes qui ont des problèmes de niveau « Moyen » et « Élevé ».

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["name"],
        "severities": [3, 4]
    },
    "id": 1
}

Réponse :

{
    "jsonrpc": "2.0",
    "result": [
        {
            "hostid": "20170",
            "name": "Database"
        },
        {
            "hostid": "20183",
            "name": "workstation"
        }
    ],
    "id": 1
}

Voir aussi

Source

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