1 Création d'un élément

Aperçu

Pour créer un élément dans l’interface web de Zabbix, procédez comme suit :

  • Allez dans : Collecte de données > Hôtes
  • Cliquez sur Éléments sur la ligne de l’hôte
  • Cliquez sur Créer un élément dans le coin supérieur droit de l’écran
  • Saisissez les paramètres de l’élément dans le formulaire

Vous pouvez également créer un élément en ouvrant un élément existant, en appuyant sur le bouton Cloner, puis en l’enregistrant sous un autre nom.

Configuration

L’onglet Élément contient les attributs généraux de l’élément.

Tous les champs de saisie obligatoires sont marqués d’un astérisque rouge.

Paramètre Description
Nom Nom de l’élément.
Les macros utilisateur sont prises en charge.
Type Type d’élément. Voir les sections individuelles des types d’élément.
Clé Clé de l’élément (jusqu’à 2048 caractères).
Les clés d’élément prises en charge se trouvent dans les sections de chaque type d’élément.
La clé doit être unique au sein d’un même hôte.
Si le type de clé est « Zabbix agent », « Zabbix agent (active) » ou « Simple check », la valeur de la clé doit être prise en charge par Zabbix agent ou Zabbix server.
Voir aussi : le format de clé correct.
Type d’information Le type de données utilisé pour valider la valeur de l’élément et la stocker dans la base de données, après d’éventuelles conversions :
Numérique (non signé) - entier non signé 64 bits ;
Numérique (flottant) - nombre à virgule flottante 64 bits ;
Caractère - texte court ;
Journal - texte long avec ou sans propriétés de journal (horodatage, source, gravité, ID d’événement du journal) ;
Texte - texte long ;
Binaire - nombre binaire (pris en charge uniquement pour les éléments dépendants) ;
JSON - données JSON structurées, stockées nativement dans la base de données (non pris en charge pour les éléments calculés).
Les éléments renvoyant des valeurs de type binaire ou JSON ne sont pas pris en charge dans les formules d’éléments calculés ni dans les expressions de déclencheur.
Voir les limites des données d’élément pour les limites de stockage par type de données et moteur de base de données.
Pour les éléments qui renvoient des données dans un seul format spécifique, un type de données correspondant est sélectionné automatiquement — par exemple, system.cpu.load et system.cpu.util renvoient tous deux un nombre à virgule flottante 64 bits, donc Numérique (flottant) est sélectionné automatiquement.
Interface de l’hôte Sélectionnez l’interface de l’hôte. Ce champ est disponible lors de la modification d’un élément au niveau de l’hôte.
Unités Si un symbole d’unité est défini, Zabbix applique un post-traitement à la valeur reçue de l’élément et l’affiche avec le suffixe d’unité spécifié.
Symboles d’unité pris en charge avec formatage spécial (et exemples de valeur d’élément reçue → valeur affichée) :
B - octets (1024 → 1 KB)
Bps - octets par seconde (1024 → 1 KBps)
s - secondes, affichées en utilisant jusqu’à trois plus grandes unités de temps non nulles (881764 → 10d 4h 56m)
uptime - temps écoulé au format hh:mm:ss ou N jours, hh:mm:ss (881764 → 10 jours, 04:56:04)
unixtime - horodatage Unix, formaté comme yyyy.mm.dd hh:mm:ss (881764 → 1970-01-11 04:56:04 AM) ; pour un formatage correct, la valeur reçue de l’élément doit être Numérique (non signé).
Pour les autres unités (telles que Hz, W, etc.), si la valeur reçue dépasse 1000, elle est divisée par 1000 et affichée avec un préfixe correspondant (5000 → 5 KHz, 881764 → 881.76 KW).
Si le symbole d’unité est préfixé par !, la conversion d’unité et l’ajout de préfixe sont désactivés (1024 !B → 1024 B, 61 !s → 61 s).
Pour plus d’exemples et de détails sur les symboles d’unité et la conversion d’unités, voir Suffixes de valeur d’élément.
Intervalle de mise à jour Récupérer une nouvelle valeur pour cet élément toutes les N secondes. L’intervalle de mise à jour maximal autorisé est de 86400 secondes (1 jour).
Les suffixes temporels sont pris en charge, par ex. 30s, 1m, 2h, 1d.
Les macros utilisateur sont prises en charge.
Une seule macro doit remplir l’ensemble du champ. Plusieurs macros dans un champ ou des macros mélangées avec du texte ne sont pas prises en charge.
Remarque : l’intervalle de mise à jour ne peut être défini à « 0 » que si des intervalles personnalisés existent avec une valeur non nulle. S’il est défini à « 0 » et qu’un intervalle personnalisé (flexible ou planifié) existe avec une valeur non nulle, l’élément sera interrogé pendant la durée de l’intervalle personnalisé.
Notez que la première interrogation de l’élément après son activation ou après une modification de l’intervalle de mise à jour peut avoir lieu plus tôt que la valeur configurée.
Les nouveaux éléments seront vérifiés dans les 60 secondes suivant leur création, sauf s’ils ont un intervalle de mise à jour planifié ou flexible et que l’intervalle de mise à jour est défini à 0.
Un élément passif existant peut être interrogé immédiatement pour obtenir une valeur en appuyant sur le bouton Exécuter maintenant.
Intervalles personnalisés Vous pouvez créer des règles personnalisées pour vérifier l’élément :
Flexible - créer une exception à l’intervalle de mise à jour (intervalle avec une fréquence différente).
Planification - créer un calendrier d’interrogation personnalisé.
Pour des informations détaillées, voir Intervalles personnalisés.
Les suffixes temporels sont pris en charge dans le champ Intervalle, par ex. 30s, 1m, 2h, 1d.
Les macros utilisateur sont prises en charge.
Une seule macro doit remplir l’ensemble du champ. Plusieurs macros dans un champ ou des macros mélangées avec du texte ne sont pas prises en charge.
Délai d’expiration Définissez le délai d’expiration de la vérification de l’élément (disponible pour les types d’élément pris en charge). Sélectionnez l’option de délai d’expiration :
Global - le délai d’expiration du proxy/global est utilisé (affiché dans le champ Délai d’expiration grisé).
Remplacer - un délai d’expiration personnalisé est utilisé (défini dans le champ Délai d’expiration ; plage autorisée : 1 - 600s). Les suffixes temporels, par ex. 30s, 1m, et les macros utilisateur sont pris en charge.
Cliquer sur le lien Timeouts vous permet de configurer les délais d’expiration du proxy ou les délais d’expiration globaux (si un proxy n’est pas utilisé). Notez que le lien Timeouts n’est visible que pour les utilisateurs de type Super admin disposant des autorisations pour les sections de l’interface Administration > General ou Administration > Proxies.
Historique Sélectionnez l’une des options suivantes :
Ne pas stocker - l’historique de l’élément n’est pas stocké. Utile pour les éléments maîtres si seuls les éléments dépendants doivent conserver un historique.
Ce paramètre ne peut pas être remplacé par les paramètres globaux du housekeeper.
Conserver jusqu’à - spécifiez la durée de conservation de l’historique détaillé dans la base de données (de 1 heure à 25 ans). Les données plus anciennes seront supprimées par le housekeeper. Stocké en secondes.
Les suffixes temporels sont pris en charge, par ex. 2h, 1d. Les macros utilisateur sont prises en charge.
La valeur Conserver jusqu’à peut être remplacée globalement dans Administration > Housekeeping.
Si un paramètre global de remplacement existe, une icône d’information orange s’affiche. Si vous placez le pointeur de la souris dessus, un message d’avertissement s’affiche, par ex. Remplacé par les paramètres globaux du housekeeper (1d).
Il est recommandé de conserver les valeurs enregistrées pendant la durée la plus courte possible afin de réduire la taille de l’historique des valeurs dans la base de données. Au lieu de stocker un long historique de valeurs, vous pouvez conserver plus longtemps les données de tendances.
Voir aussi Historique et tendances.
Tendances Sélectionnez l’une des options suivantes :
Ne pas stocker - les tendances ne sont pas stockées.
Ce paramètre ne peut pas être remplacé par les paramètres globaux du housekeeper.
Conserver jusqu’à - spécifiez la durée de conservation de l’historique agrégé (minimum, maximum, moyenne, nombre par heure) dans la base de données (de 1 jour à 25 ans). Les données plus anciennes seront supprimées par le housekeeper. Stocké en secondes.
Les suffixes temporels sont pris en charge, par ex. 24h, 1d. Les macros utilisateur sont prises en charge.
La valeur Conserver jusqu’à peut être remplacée globalement dans Administration > Housekeeping.
Si un paramètre global de remplacement existe, une icône d’information orange s’affiche. Si vous placez le pointeur de la souris dessus, un message d’avertissement s’affiche, par ex. Remplacé par les paramètres globaux du housekeeper (7d).
Remarque : la conservation des tendances n’est pas disponible pour les données non numériques — caractère, journal et texte.
Voir aussi Historique et tendances.
Correspondance de valeurs Appliquez une correspondance de valeurs à cet élément. La correspondance de valeurs ne modifie pas les valeurs reçues, elle sert uniquement à l’affichage des données.
Elle fonctionne avec les éléments Numérique (non signé), Numérique (flottant) et Caractère.
Par exemple, « États des services Windows ».
Format de l’heure du journal Disponible uniquement pour les éléments de type Journal. Espaces réservés pris en charge :
y : Année (1970-2038).
M : Mois (01-12).
d : Jour (01-31).
h : Heure (00-23).
m : Minute (00-59).
s : Seconde (00-59).
Si laissé vide, l’horodatage sera défini à 0 en temps Unix, représentant le 1er janvier 1970.
Par exemple, considérez la ligne suivante du fichier journal de Zabbix agent :
" 23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."
Elle commence par six positions de caractères pour le PID, suivies de la date, de l’heure et du reste du message.
Le format de l’heure du journal pour cette ligne serait "pppppp:yyyyMMdd:hhmmss".
Notez que les caractères "p" et ":" sont des espaces réservés et peuvent être n’importe quels caractères sauf "yMdhms".
Renseigne le champ d’inventaire de l’hôte Vous pouvez sélectionner un champ d’inventaire de l’hôte que la valeur de l’élément renseignera. Cela fonctionnera si le remplissage automatique de l’inventaire est activé pour l’hôte et avec les éléments Numérique (non signé), Numérique (flottant), Caractère et Texte.
Description Saisissez une description de l’élément. Les macros utilisateur sont prises en charge.
Activé Cochez la case pour activer l’élément afin qu’il soit traité.
Lorsque vous désactivez l’élément, il est immédiatement supprimé du cache d’historique (à l’exception de sa dernière valeur, qui est conservée pour les journaux).
Dernières données Cliquez sur le lien pour afficher les dernières données de l’élément.
Ce lien n’est disponible que lors de la modification d’un élément déjà existant.

Les champs spécifiques au type d’élément sont décrits sur les pages correspondantes.

Lors de la modification, au niveau de l’hôte, d’un élément existant au niveau du modèle, un certain nombre de champs sont en lecture seule. Vous pouvez utiliser le lien dans l’en-tête du formulaire pour accéder au niveau du modèle et les modifier à cet endroit, en gardant à l’esprit que les modifications effectuées au niveau du modèle modifieront l’élément pour tous les hôtes auxquels le modèle est lié.

L’onglet Tags permet de définir des tags au niveau de l’élément.

Prétraitement des valeurs d'élément

L'onglet Preprocessing permet de définir des règles de transformation pour les valeurs reçues.

Test d’un élément

Pour effectuer le test d’un élément, assurez-vous que l’heure système du serveur et du proxy est synchronisée. Si l’heure du serveur est en retard, le test d’un élément peut renvoyer le message d’erreur « The task has been expired. » En revanche, le fait de définir des fuseaux horaires différents sur le serveur et le proxy n’affectera pas le résultat du test.

Il est possible de tester un élément et, s’il est correctement configuré, d’obtenir en retour une valeur réelle. Le test peut être effectué même avant l’enregistrement de l’élément.

Le test est disponible pour les éléments d’hôte et de modèle, les prototypes d’élément et les règles de découverte de bas niveau. Le test n’est pas disponible pour les éléments actifs.

Le test d’élément est disponible pour les types d’éléments passifs suivants :

  • Agent Zabbix
  • Agent SNMP (v1, v2, v3)
  • Agent IPMI
  • Vérifications SSH
  • Vérifications Telnet
  • Agent JMX
  • Vérifications simples (sauf les éléments icmpping*, vmware.*)
  • Interne Zabbix
  • Éléments calculés
  • Vérifications externes
  • Surveillance de base de données
  • Agent HTTP
  • Script
  • Navigateur

Pour tester un élément, cliquez sur le bouton Test en bas du formulaire de configuration de l’élément. Notez que le bouton Test sera désactivé pour les éléments qui ne peuvent pas être testés (comme les vérifications actives, les vérifications simples exclues).

Le formulaire de test d’élément comporte des champs pour les paramètres d’hôte requis (adresse de l’hôte, port, test avec serveur/proxy (nom du proxy)) et des détails spécifiques à l’élément (tels que la communauté SNMPv2 ou les informations d’identification de sécurité SNMPv3). Ces champs sont contextuels :

  • Les valeurs sont préremplies lorsque cela est possible, c’est-à-dire, pour les éléments nécessitant un agent, en reprenant les informations de l’interface agent sélectionnée de l’hôte.
  • Les valeurs doivent être renseignées manuellement pour les éléments de modèle.
  • Les valeurs de macros en texte brut sont résolues.
  • Les champs dont la valeur (ou une partie de la valeur) est une macro secrète ou Vault sont vides et doivent être saisis manuellement. Si un paramètre d’élément contient une valeur de macro secrète, le message d’avertissement suivant s’affiche : « Item contains user-defined macros with secret values. Values of these macros should be entered manually. »
  • Les champs sont désactivés lorsqu’ils ne sont pas nécessaires dans le contexte du type d’élément (par exemple, le champ d’adresse de l’hôte et le champ du proxy sont désactivés pour les éléments calculés)

Pour tester l’élément, cliquez sur Get value. Si la valeur est récupérée avec succès, elle remplira le champ Value, en déplaçant la valeur actuelle (le cas échéant) vers le champ Previous value tout en calculant également le champ Prev. time, c’est-à-dire la différence de temps entre les deux valeurs (clics), et en essayant de détecter une séquence EOL et de basculer vers CRLF si « \n\r » est détecté dans la valeur récupérée.

Cliquez sur Get value and test pour tester le prétraitement.

Les valeurs récupérées depuis un hôte et les résultats de test sont tronqués à une taille maximale de 512KB lors de l’envoi au frontend. Si un résultat de test est tronqué, une icône d’avertissement s’affiche ; survolez-la pour obtenir des détails. Si une valeur est tronquée, elle peut échouer à la validation du type de données lors de tests consécutifs comparant de grandes valeurs (par exemple, JSON) ; dans ce cas, un message d’erreur s’affiche. Notez que les données supérieures à 512KB sont tout de même entièrement traitées par le serveur Zabbix.

Si la configuration est incorrecte, un message d’erreur s’affiche en décrivant la cause possible.

Une valeur récupérée avec succès depuis un hôte peut également être utilisée pour tester les étapes de prétraitement.

Boutons du formulaire

Les boutons en bas du formulaire permettent d'effectuer plusieurs opérations.

Ajouter un élément. Ce bouton n'est disponible que pour les nouveaux éléments.
Mettre à jour les propriétés d'un élément.
Créer un autre élément à partir des propriétés de l'élément actuel.
Exécuter immédiatement une vérification pour une nouvelle valeur d'élément. Pris en charge uniquement pour les vérifications passives (voir plus de détails).
Remarque : lors de la vérification immédiate d'une valeur, le cache de configuration n'est pas mis à jour ; la valeur ne reflétera donc pas les modifications très récentes de la configuration de l'élément.
Tester si la configuration de l'élément est correcte en obtenant une valeur.
Supprimer l'historique et les tendances de l'élément.
Supprimer l'élément.
Annuler la modification des propriétés de l'élément.

Limites des données d'élément

Les limites des données d'élément dépendent du type de données de l'élément et du moteur de base de données.

Les valeurs numériques (non signées) sont stockées telles quelles. Si une valeur à virgule flottante est reçue, seule la partie entière est stockée (par exemple, 1.23 → 1).

Les valeurs numériques (à virgule flottante) sont stockées telles quelles et prennent en charge environ 15 à 17 chiffres de précision, avec une plage d'environ -1.79E+308 à 1.79E+308. Les valeurs en notation scientifique sont également prises en charge (par exemple, 1.23E+7, 1e308, 1.1E-4).

Les valeurs texte sont tronquées avant d'être stockées afin de correspondre à la limite du type de valeur de la base de données :

Base de données Type d'information
Caractère Journal Texte
MySQL 255 caractères 65536 octets 65536 octets
PostgreSQL 255 caractères 65536 caractères 65536 caractères
SQLite (proxy Zabbix uniquement) 255 caractères 65536 caractères 65536 caractères

Les valeurs binaires sont limitées à 16MiB (16777216 octets). Les valeurs qui dépassent cette limite sont ignorées, et une erreur correspondante est affichée dans l'interface web.

Les valeurs avec le type de données JSON sont limitées à 128MiB (134217728 octets). Les valeurs qui dépassent cette limite sont ignorées, et une erreur correspondante est affichée dans l'interface web. Pour MySQL/MariaDB, envisagez de configurer des partitions quotidiennes pour la table history_json (utilisée pour stocker les valeurs JSON), car elle peut rapidement devenir volumineuse et verrouiller le housekeeper pendant une période prolongée. Si votre cas d'utilisation implique de grandes valeurs JSON (1MiB ou plus), consultez comment configurer votre système pour la prise en charge des grandes valeurs JSON.

Lorsque Zabbix écrit des données d'élément dans la base de données, il utilise des requêtes INSERT et les journalise (si DebugLevel est défini sur 4 ou 5). Les longues entrées de journal sont tronquées à 64KB.

Limite des scripts personnalisés

La longueur disponible pour les scripts personnalisés dépend de la base de données utilisée :

Base de données Limite en caractères Limite en octets
MySQL 65535 65535
PostgreSQL 65535 non limitée
SQLite (uniquement Zabbix proxy) 65535 non limitée

Délai d’expiration de l’élément

Le délai d’expiration de l’élément indique combien de temps Zabbix doit attendre avant d’abandonner la vérification comme ayant échoué.

Lorsque le délai d’expiration est atteint, la vérification est interrompue même si la récupération des données n’est pas terminée. Si les données sont reçues partiellement, l’élément devient non pris en charge et un message d’erreur est consigné (par exemple, si les données sont correctement collectées pour un seul de plusieurs OID dans une vérification SNMP).

Pour de nombreux types d’éléments, vous pouvez définir des délais d’expiration d’élément flexibles :

  • par élément individuel
  • par type d’élément (au niveau d’un proxy)
  • par type d’élément (au niveau global)

Un délai d’expiration personnalisé par élément individuel est utile si vous souhaitez spécifier un délai plus long pour un élément particulier, tout en conservant des délais faibles pour les autres éléments.

Priorité des délais d’expiration

  1. Le délai d’expiration d’un élément individuel remplace tous les autres délais d’expiration.
  2. Les délais d’expiration au niveau du proxy remplacent les délais d’expiration globaux.

Le délai d’expiration défini dans la configuration du server ou du proxy Zabbix ne joue aucun rôle pour les vérifications pour lesquelles des délais d’expiration flexibles sont définis.

Prise en charge des délais d’attente flexibles

Les délais d’attente flexibles des éléments de données sont pris en charge pour les types d’éléments suivants :

Éléments non pris en charge

Les éléments non pris en charge sont signalés avec le statut Non pris en charge et sont toujours revérifiés selon leur Intervalle de mise à jour standard.

Un élément devient non pris en charge si sa valeur ne peut pas être récupérée pour une raison quelconque (par exemple, une erreur de connexion, aucun poller configuré pour traiter l’élément). De plus, les éléments qui ne reçoivent pas de données historiques restent dans le statut Non pris en charge. Il s’agit du comportement attendu : un élément passe au statut Normal uniquement lorsqu’il reçoit de nouvelles données historiques valides.

Comme les problèmes, les éléments non pris en charge ne sont réévalués que lorsque de nouvelles données sont reçues, même s’il n’y a plus de données historiques disponibles pour cet élément. En d’autres termes, les éléments et les déclencheurs changent d’état uniquement lors de la réception de nouvelles données. Cependant, si une expression de déclencheur inclut une fonction date and time et/ou nodata(), le déclencheur sera recalculé toutes les 30 secondes (voir triggers calculation time pour plus de détails).