host.get

Description

integer/array host.get(object parameters)

Cette 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 d'appel de la méthode peuvent être révoquées dans les paramètres du rôle utilisateur. Consultez Rôles utilisateur pour plus d'informations.

Paramètres

(object) Paramètres définissant le résultat souhaité.

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

Paramètre Type Description
groupids ID/array Retourner uniquement les hôtes appartenant aux groupes indiqués.
dserviceids ID/array Retourner uniquement les hôtes associés aux services découverts indiqués.
graphids ID/array Retourner uniquement les hôtes possédant les graphiques indiqués.
hostids ID/array Retourner uniquement les hôtes dont les ID sont indiqués.
httptestids ID/array Retourner uniquement les hôtes possédant les vérifications web indiquées.
interfaceids ID/array Retourner uniquement les hôtes utilisant les interfaces indiquées.
itemids ID/array Retourner uniquement les hôtes possédant les éléments indiqués.
maintenanceids ID/array Retourner uniquement les hôtes concernés par les maintenances indiquées.
monitored_hosts flag Retourner uniquement les hôtes surveillés.
proxyids ID/array Retourner uniquement les hôtes surveillés par les proxy indiqués.
proxy_groupids ID/array Retourner uniquement les hôtes surveillés par les groupes de proxy indiqués.
templated_hosts flag Retourner les hôtes et les modèles.
templateids ID/array Retourner uniquement les hôtes liés aux modèles indiqués.
triggerids ID/array Retourner uniquement les hôtes possédant les déclencheurs indiqués.
with_items flag Retourner uniquement les hôtes possédant des éléments.

Remplace les paramètres with_monitored_items et with_simple_graph_items.
with_item_prototypes flag Retourner uniquement les hôtes possédant des prototypes d’éléments.

Remplace le paramètre with_simple_graph_item_prototypes.
with_simple_graph_item_prototypes flag Retourner uniquement les hôtes possédant des prototypes d’éléments activés pour la création et dont le type d’information est numérique.
with_graphs flag Retourner uniquement les hôtes possédant des graphiques.
with_graph_prototypes flag Retourner uniquement les hôtes possédant des prototypes de graphiques.
with_httptests flag Retourner uniquement les hôtes possédant des vérifications web.

Remplace le paramètre with_monitored_httptests.
with_monitored_httptests flag Retourner uniquement les hôtes possédant des vérifications web activées.
with_monitored_items flag Retourner uniquement les hôtes possédant des éléments activés.

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

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

Valeurs possibles :
0 - (par défaut) Et/Ou ;
2 - Ou.
severities integer/array Retourner les hôtes qui possèdent uniquement des problèmes avec les niveaux de gravité indiqués. S’applique uniquement si l’objet du problème est un déclencheur.
tags object/array Retourner uniquement les hôtes possédant les étiquettes indiquées.
Format : [{"tag": "<tag>", "value": "<value>", "operator": "<operator>"}, ...].
Un tableau vide retourne tous les hôtes.

Valeurs d’opérateur possibles :
0 - (par défaut) Contient ;
1 - Est égal à ;
2 - Ne contient pas ;
3 - N’est pas égal à ;
4 - Existe ;
5 - N’existe pas.
inheritedTags boolean Retourner les hôtes qui possèdent les tags indiquées également dans tous leurs modèles liés.

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

Cette propriété contient les éléments suivants :
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) état 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) moment auquel un hôte qui n’est plus découvert sera supprimé ;
ts_disable - (timestamp) moment auquel 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 Retourner une propriété discoveryRule contenant la règle de découverte de bas niveau qui a créé l’hôte (à partir d’un prototype d’hôte dans la surveillance VMware).
selectDiscoveryRules query Retourner une propriété discoveryRules contenant les règles LLD de l’hôte.

Prend en charge count.
selectGraphs query Retourner une propriété graphs contenant les graphiques de l’hôte.

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

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

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

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

En plus des champs de l’objet Template, cette propriété 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 Retourner une propriété dashboards.

Prend en charge count.
selectTags query Retourner une propriété tags contenant les étiquettes de l’hôte.
selectInheritedTags query Retourner une propriété inheritedTags contenant les étiquettes présentes dans tous les modèles liés à l’hôte.
selectTriggers query Retourner une propriété triggers contenant les déclencheurs de l’hôte.

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

Accepte un objet dont les clés sont des noms de propriétés et les valeurs sont soit une valeur unique, soit un tableau de valeurs auxquelles faire correspondre les résultats.

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

Prend en charge des propriétés supplémentaires : propriétés de l’interface de l’hôte.
limitSelects integer Limite le nombre d’enregistrements retourné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 Retourner les résultats correspondant au modèle indiqué (sans distinction entre majuscules et minuscules).

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

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

Prend en charge des propriétés supplémentaires : propriétés de l’interface de l’hôte.
searchInventory object Retourner les hôtes dont les données d’inventaire correspondent au modèle indiqué (sans distinction entre majuscules et minuscules).

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

Prend uniquement en charge les propriétés des types de données string et text.
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 les informations 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 Retourner une propriété discoveries contenant 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 Retourner une propriété hostDiscovery contenant les données de l’objet de découverte de l’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
}

Récupération des éléments de l'hôte

Récupérez les éléments de l'hôte "Zabbix server". La requête est limitée aux propriétés d'élément itemid, name et status. En raison de la taille importante de la réponse, seul un sous-ensemble des éléments est affiché dans l'exemple.

Requête:

{
    "jsonrpc": "2.0",
    "method": "host.get",
    "params": {
        "output": ["hostid"],
        "selectItems": ["itemid","name","status"],
        "filter": {
            "host": [
                "Zabbix server"
            ]
        }
    },
    "id": 1
}

Réponse :

{
  "jsonrpc": "2.0",
  "result": [
    {
      "hostid": "10084",
      "items": [
        {
          "itemid": "42227",
          "name": "Nom d'hôte du Zabbix agent en cours d'exécution",
          "status": "0"
        },
        {
          "itemid": "42237",
          "name": "Ping du Zabbix agent",
          "status": "0"
        },
        {
          "itemid": "42250",
          "name": "Version du Zabbix agent en cours d'exécution",
          "status": "0"
        },
        {
          "itemid": "42251",
          "name": "Nombre maximal de descripteurs de fichiers ouverts",
          "status": "0"
        },
        {
          "itemid": "42252",
          "name": "Nombre maximal de processus",
          "status": "0"
        },
        {
          "itemid": "69869",
          "name": "Interface enp0s3 : Paquets entrants rejetés",
          "status": "0"
        },
        {
          "itemid": "69870",
          "name": "Interface enp0s3 : Paquets entrants avec erreurs",
          "status": "0"
        },
        {
          "itemid": "69871",
          "name": "Interface enp0s3 : Bits reçus",
          "status": "0"
        },
        {
          "itemid": "69872",
          "name": "Interface enp0s3 : Paquets sortants rejetés",
          "status": "0"
        },
        {
          "itemid": "69873",
          "name": "Interface enp0s3 : Paquets sortants avec erreurs",
          "status": "0"
        },
        {
          "itemid": "69874",
          "name": "Interface enp0s3 : Bits envoyés",
          "status": "0"
        },
        {
          "itemid": "42253",
          "name": "Nombre de processus",
          "status": "0"
        },
        {
          "itemid": "42254",
          "name": "Nombre de processus en cours d'exécution",
          "status": "0"
        },
        {
          "itemid": "42255",
          "name": "Heure de démarrage du système",
          "status": "0"
        }
      ]
    }
  ],
  "id": 1
}

Voir aussi

Source

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