This is a translation of the original English documentation page. Help us make it better.

4 Macros de découverte de bas niveau

Aperçu

Il existe un type de macro utilisé dans la fonction découverte de bas niveau (LLD) :

{#MACRO} 

Il s'agit d'une macro utilisée dans une règle LLD et qui renvoie les valeurs réelles du nom du système de fichiers, de l'interface réseau, de l'OID SNMP, etc.

Ces macros peuvent être utilisées pour créer des prototypes d'éléments, de déclencheurs et de graphiques. Ensuite, lors de la découverte de systèmes de fichiers réels, d'interfaces réseau, etc., ces macros sont remplacées par des valeurs réelles et constituent la base de la création d'éléments, de déclencheurs et de graphiques réels.

Ces macros sont également utilisées pour créer des prototypes d'hôtes et de groupes d'hôtes dans la machine virtuelle découverte.

Certaines macros de découverte de bas niveau sont "pré-emballées" avec la fonction LLD dans Zabbix - {#FSNAME}, {#FSTYPE}, {#IFNAME}, {#SNMPINDEX}, {#SNMPVALUE}. Cependant, il n'est pas obligatoire de respecter ces noms lors de la création d'une règle de découverte de bas niveau personnalisée. Ensuite, vous pouvez utiliser n'importe quel autre nom de macro LLD et vous référer à ce nom.

Emplacements pris en charge

Les macros LLD peuvent être utilisées :

  • dans le filtre de règle de découverte de bas niveau
  • pour les prototypes d'éléments dans
    • nom
    • paramètres de la clé
    • unité
    • intervalle de mise à jour1
    • période de stockage de l'historique1
    • période de stockage des tendances1
    • étapes de prétraitement de la valeur de l'élément
    • OID SNMP
    • champ de capteur IPMI
    • formule de l'élément calculé
    • script SSH et script Telnet
    • requête SQL de surveillance de la base de données
    • champ de point de terminaison d'élément JMX
    • description
    • champ URL de l'agent HTTP
    • champ des champs de requête HTTP de l'agent HTTP
    • champ du corps de la requête de l'agent HTTP
    • champ des codes d'état requis par l'agent HTTP
    • clé et valeur du champ des en-têtes de l'agent HTTP
    • champ du nom d'utilisateur d'authentification HTTP de l'agent HTTP
    • champ de mot de passe d'authentification HTTP de l'agent HTTP
    • champ proxy HTTP de l'agent HTTP
    • champ du fichier de certificat SSL HTTP de l'agent HTTP
    • champ du fichier de clé HTTP SSL de l'agent HTTP
    • champ de mot de passe de la clé HTTP SSL de l'agent HTTP
    • champ HTTP agent HTTP timeout1
    • tags
  • pour les prototypes de déclencheur dans
    • nom
    • donnée opérationnelle
    • expression (uniquement dans les constantes et les paramètres de fonction)
    • URL
    • description
    • tags
  • pour les prototypes de graphiques dans
    • nom
  • pour les prototypes hôtes dans
    • nom
    • nom visible
    • champs d'interface personnalisés : IP, DNS, port, communauté SNMP v1/v2, nom de contexte SNMP v3, nom de sécurité SNMP v3, phrase secrète d'authentification SNMP v3, phrase secrète de confidentialité SNMP v3
    • nom du prototype du groupe d'hôtes
    • valeur de tag hôte
    • valeur de macro hôte
    • (voir la liste complète)

Dans tous ces endroits, les macros LLD peuvent être utilisées dans contexte de macro d'utilisateur statique .

Utilisation des fonctions macro

Les fonctions de macro sont prises en charge avec les macros de découverte de bas niveau (sauf dans le filtre de règle de découverte de bas niveau), permettant d'extraire une certaine partie de la valeur de la macro à l'aide d'une expression régulière.

Par exemple, vous souhaiterez peut-être extraire le nom du client et le numéro d'interface de la macro LLD suivante à des fins de taggage d'événement :

{#IFALIAS}=customername_1

Pour ce faire, la fonction de macro regsub peut être utilisée avec la macro dans le champ de valeur de tag d'événement d'un prototype de déclencheur :

Notez que les virgules ne sont pas autorisées dans les paramètres de clé d'élément sans guillemets, donc le paramètre contenant une fonction macro doit être entre guillemets. Le caractère barre oblique inverse (\) doit être utilisé pour échapper les guillemets doubles à l'intérieur du paramètre. Exemple:

net.if.in["{{#IFALIAS}.regsub(\"(.*)_([0-9]+)\", \1)}",bytes]

Pour plus d'informations sur la syntaxe des fonctions de macro, consultez : Fonctions de macro

Les fonctions de macro sont prises en charge dans les macros de découverte de bas niveau depuis Zabbix 4.0.

Notes de bas de page

1 Dans les champs marqués par 1 une seule macro doit remplir tout le champ. Les macros multiples dans un champ ou les macros mélangées avec du texte ne sont pas prises en charge.