1 Agent Zabbix
Aperçu
Cette section fournit des détails sur les clés d’élément qui utilisent la communication avec l’agent Zabbix pour la collecte de données.
Il existe des contrôles d’agent passifs et actifs. Lors de la configuration d’un élément, vous pouvez sélectionner le type requis :
- Agent Zabbix - pour les contrôles passifs
- Agent Zabbix (actif) - pour les contrôles actifs
Notez que toutes les clés d’élément prises en charge par l’agent Zabbix sont également prises en charge par l’agent Zabbix 2 de nouvelle génération. Consultez les clés d’élément supplémentaires que vous pouvez utiliser uniquement avec l’agent 2.
Clés d'élément supportés
Les clés d'élément que vous pouvez utiliser avec l'agent Zabbix sont répertoriées ci-dessous.
Les clés d'élément sont listées sans paramètres ni informations supplémentaires. Cliquez sur une clé d'élément pour afficher tous les détails.
| Clé d'élément | Description | Groupe d'éléments |
|---|---|---|
| kernel.maxfiles | Le nombre maximal de fichiers ouverts pris en charge par le système d'exploitation. | Noyau |
| kernel.maxproc | Le nombre maximal de processus pris en charge par le système d'exploitation. | |
| kernel.openfiles | Le nombre de descripteurs de fichiers actuellement ouverts. | |
| log | La surveillance d'un fichier journal. | Surveillance des journaux |
| log.count | Le nombre de lignes correspondantes dans un fichier journal surveillé. | |
| logrt | La surveillance d'un fichier journal avec rotation. | |
| logrt.count | Le nombre de lignes correspondantes dans un fichier journal surveillé avec rotation. | |
| modbus.get | Lit des données Modbus. | Modbus |
| net.dns | Vérifie l'état d'un service DNS. | Réseau |
| net.dns.perf | Vérifie les performances d'un service DNS. | |
| net.dns.record | Effectue une requête DNS. | |
| net.if.collisions | Le nombre de collisions hors fenêtre. | |
| net.if.discovery | La liste des interfaces réseau. | |
| net.if.in | Les statistiques du trafic entrant sur une interface réseau. | |
| net.if.out | Les statistiques du trafic sortant sur une interface réseau. | |
| net.if.total | La somme des statistiques du trafic entrant et sortant sur une interface réseau. | |
| net.tcp.listen | Vérifie si ce port TCP est à l'état LISTEN. | |
| net.tcp.port | Vérifie s'il est possible d'établir une connexion TCP au port spécifié. | |
| net.tcp.service | Vérifie si un service est en cours d'exécution et accepte des connexions TCP. | |
| net.tcp.service.perf | Vérifie les performances d'un service TCP. | |
| net.tcp.socket.count | Renvoie le nombre de sockets TCP correspondant aux paramètres. | |
| net.udp.listen | Vérifie si ce port UDP est à l'état LISTEN. | |
| net.udp.service | Vérifie si un service est en cours d'exécution et répond aux requêtes UDP. | |
| net.udp.service.perf | Vérifie les performances d'un service UDP. | |
| net.udp.socket.count | Renvoie le nombre de sockets UDP correspondant aux paramètres. | |
| proc.cpu.util | Le pourcentage d'utilisation CPU du processus. | Processus |
| proc.get | La liste des processus du système d'exploitation et de leurs paramètres. | |
| proc.mem | La mémoire utilisée par le processus en octets. | |
| proc.num | Le nombre de processus. | |
| sensor | Lecture du capteur matériel. | Capteurs |
| system.boottime | L'heure de démarrage du système. | Système |
| system.cpu.discovery | La liste des CPU/cœurs CPU détectés. | |
| system.cpu.intr | Les interruptions de périphériques. | |
| system.cpu.load | La charge CPU. | |
| system.cpu.num | Le nombre de CPU. | |
| system.cpu.switches | Le nombre de changements de contexte. | |
| system.cpu.util | Le pourcentage d'utilisation CPU. | |
| system.hostname | Le nom d'hôte du système. | |
| system.hw.chassis | Les informations sur le châssis. | |
| system.hw.cpu | Les informations sur le CPU. | |
| system.hw.devices | La liste des périphériques PCI ou USB. | |
| system.hw.macaddr | La liste des adresses MAC. | |
| system.localtime | L'heure du système. | |
| system.run | Exécute la commande spécifiée sur l'hôte. | |
| system.stat | Les statistiques système. | |
| system.sw.arch | Les informations sur l'architecture logicielle. | |
| system.sw.os | Les informations sur le système d'exploitation. | |
| system.sw.os.get | Informations détaillées sur le système d'exploitation (version, type, nom de la distribution, version mineure et majeure, etc.). | |
| system.sw.packages | La liste des paquets installés. | |
| system.sw.packages.get | Une liste détaillée des paquets installés. | |
| system.swap.in | Les statistiques de swap-in (du périphérique vers la mémoire). | |
| system.swap.out | Les statistiques de swap-out (de la mémoire vers le périphérique). | |
| system.swap.size | La taille de l'espace d'échange en octets ou en pourcentage du total. | |
| system.uname | L'identification du système. | |
| system.uptime | Le temps de fonctionnement du système en secondes. | |
| system.users.num | Le nombre d'utilisateurs connectés. | |
| vfs.dev.discovery | La liste des périphériques de blocs et de leur type. | Systèmes de fichiers virtuels |
| vfs.dev.read | Les statistiques de lecture disque. | |
| vfs.dev.write | Les statistiques d'écriture disque. | |
| vfs.dir.count | Le nombre d'entrées du répertoire. | |
| vfs.dir.get | La liste des entrées du répertoire. | |
| vfs.dir.size | La taille du répertoire. | |
| vfs.file.cksum | La somme de contrôle du fichier, calculée par l'algorithme UNIX cksum. | |
| vfs.file.contents | Récupération du contenu d'un fichier. | |
| vfs.file.exists | Vérifie si le fichier existe. | |
| vfs.file.get | Renvoie des informations sur un fichier. | |
| vfs.file.md5sum | La somme de contrôle MD5 du fichier. | |
| vfs.file.owner | Récupère le propriétaire d'un fichier. | |
| vfs.file.permissions | Renvoie une chaîne de 4 chiffres contenant le nombre octal des permissions UNIX. | |
| vfs.file.regexp | Récupère une chaîne dans le fichier. | |
| vfs.file.regmatch | Trouve une chaîne dans le fichier. | |
| vfs.file.size | La taille du fichier. | |
| vfs.file.time | Les informations temporelles du fichier. | |
| vfs.fs.discovery | La liste des systèmes de fichiers montés avec leur type et leurs options de montage. | |
| vfs.fs.get | La liste des systèmes de fichiers montés avec leur type, l'espace disque disponible, les statistiques d'inodes et les options de montage. | |
| vfs.fs.inode | Le nombre ou le pourcentage d'inodes. | |
| vfs.fs.size | L'espace disque en octets ou en pourcentage du total. | |
| vm.memory.size | La taille de la mémoire en octets ou en pourcentage du total. | Mémoire virtuelle |
| web.page.get | Obtient le contenu d'une page web. | Surveillance web |
| web.page.perf | Le temps de chargement d'une page web complète. | |
| web.page.regexp | Trouve une chaîne sur la page web. | |
| agent.hostmetadata | Les métadonnées d'hôte de l'agent. | Zabbix |
| agent.hostname | Le nom d'hôte de l'agent. | |
| agent.ping | La vérification de disponibilité de l'agent. | |
| agent.variant | La variante de l'agent Zabbix (agent Zabbix ou agent Zabbix 2). | |
| agent.version | La version de l'agent Zabbix. | |
| zabbix.stats | Renvoie à distance un ensemble de métriques internes du serveur Zabbix ou du proxy. | |
| zabbix.stats | Renvoie à distance le nombre d'éléments surveillés dans la file d'attente qui sont retardés sur le serveur Zabbix ou le proxy. |
Plateformes prises en charge
Sauf indication contraire dans les détails de l’élément, les éléments d’agent (et tous les paramètres) sont pris en charge sur :
- Linux
- FreeBSD
- Solaris
- HP-UX
- AIX
- MacOS X
- OpenBSD
- NetBSD
De nombreux éléments d’agent sont également pris en charge sous Windows. Consultez la page Éléments d’agent Windows pour plus de détails.
Détails de la clé d’élément
Les paramètres sans crochets angulaires sont obligatoires. Les paramètres marqués par des crochets angulaires < > sont facultatifs.
kernel.maxfiles
Le nombre maximal de fichiers ouverts pris en charge par le système d’exploitation.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.
kernel.maxproc
Le nombre maximal de processus pris en charge par le système d’exploitation.
Valeur de retour : Integer.
Plateformes prises en charge : Linux 2.6 et versions ultérieures, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.
kernel.openfiles
Le nombre de descripteurs de fichiers actuellement ouverts.
Valeur de retour : Integer.
Plateformes prises en charge : Linux (l’élément peut fonctionner sur d’autres plateformes de type UNIX).
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]
La surveillance d'un fichier journal.
Valeur de retour : Log.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet et le nom d'un fichier journal ;
- regexp - une expression régulière décrivant le motif requis ;
- encoding - l'identifiant de page de codes ;
- maxlines - le nombre maximal de nouvelles lignes par seconde que l'agent enverra au serveur Zabbix ou au proxy.
Ce paramètre remplace la valeur de 'MaxLinesPerSecond' dans zabbix_agentd.conf ;
- mode - valeurs possibles : all (par défaut) ou skip - ignorer le traitement des anciennes données (affecte uniquement les éléments nouvellement créés) ;
- output - un modèle facultatif de formatage de sortie.
La séquence d'échappement \0 est remplacée par la partie du texte qui correspond (du premier caractère où la correspondance commence jusqu'au caractère où elle se termine), tandis qu'une séquence d'échappement \N (où N=1...9) est remplacée par le Nième groupe correspondant (ou une chaîne vide si N dépasse le nombre de groupes capturés) ;
- maxdelay - le délai maximal en secondes.
Type : float.
Valeurs : 0 - (par défaut) ne jamais ignorer les lignes du fichier journal ; > 0.0 - ignorer les lignes plus anciennes afin d'analyser les lignes les plus récentes dans un délai de "maxdelay" secondes.
Lisez les notes sur maxdelay avant de l'utiliser !
- options - options supplémentaires :
mtime-noreread - enregistrements non uniques, relire uniquement si la taille du fichier change (ignorer le changement de l'heure de modification). (Ce paramètre est obsolète depuis la version 5.0.2, car désormais mtime est ignoré.) - persistent dir (uniquement dans zabbix_agentd sur les systèmes Unix ; non pris en charge dans Zabbix agent 2) - le chemin absolu du répertoire où stocker les fichiers persistants. Voir aussi les notes supplémentaires sur les fichiers persistants.
Commentaires :
- L'élément doit être configuré comme une vérification active.
- Si le fichier est manquant ou si les autorisations ne permettent pas l'accès, l'élément devient non pris en charge.
- Si
outputest laissé vide, la ligne entière contenant le texte correspondant est renvoyée. Notez que tous les types d'expressions régulières globales, sauf 'Result is TRUE', renvoient toujours la ligne entière correspondante et le paramètreoutputest ignoré. - L'extraction du contenu à l'aide du paramètre
outputa lieu sur l'agent.
Exemples :
log[/var/log/syslog]
log[/var/log/syslog,error]
log[/home/zabbix/logs/logfile,,,100]
Exemple d'utilisation du paramètre output pour extraire un nombre d'un enregistrement de journal :
log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #cet élément correspondra à un enregistrement de journal "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" et enverra uniquement '6080' au serveur. Comme une valeur numérique est envoyée, le "Type of information" de cet élément peut être défini sur "Numeric (unsigned)" et la valeur peut être utilisée dans des graphiques, des déclencheurs, etc.
Exemple d'utilisation du paramètre output pour réécrire un enregistrement de journal avant de l'envoyer au serveur :
log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #cet élément correspondra à un enregistrement de journal "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" et enverra un enregistrement modifié "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" au serveur.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]
Le nombre de lignes correspondantes dans un fichier journal surveillé.
Valeur de retour : Integer.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet et le nom du fichier journal ;
- regexp - une expression régulière décrivant le motif requis ;
- encoding - l’identifiant de page de codes ;
- maxproclines - le nombre maximal de nouvelles lignes par seconde que l'agent analysera (ne peut pas dépasser 10000).
La valeur par défaut est 10*'MaxLinesPerSecond' dans zabbix_agentd.conf.
- mode - valeurs possibles : all (par défaut) ou skip - ignorer le traitement des anciennes données (affecte uniquement les éléments nouvellement créés).
- maxdelay - le délai maximal en secondes.
Type : float.
Valeurs : 0 - (par défaut) ne jamais ignorer les lignes du fichier journal ; > 0.0 - ignorer les lignes plus anciennes afin d’analyser les lignes les plus récentes dans un délai de "maxdelay" secondes.
Lisez les notes sur maxdelay avant de l’utiliser !
- options - options supplémentaires :
mtime-noreread - enregistrements non uniques, relire uniquement si la taille du fichier change (ignorer le changement de l’heure de modification). (Ce paramètre est obsolète depuis la version 5.0.2, car désormais mtime est ignoré.) - persistent dir (uniquement dans zabbix_agentd sur les systèmes Unix ; non pris en charge dans Zabbix agent 2) - le chemin absolu du répertoire où stocker les fichiers persistants. Voir également les notes supplémentaires sur les fichiers persistants.
Commentaires :
- L’élément doit être configuré comme une vérification active.
- Les lignes correspondantes sont comptées parmi les nouvelles lignes depuis la dernière vérification du journal par l'agent, et dépendent donc de l’intervalle de mise à jour de l’élément.
- Si le fichier est manquant ou si les autorisations ne permettent pas l’accès, l’élément devient non pris en charge.
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]
La surveillance d'un fichier journal faisant l'objet d'une rotation.
Valeur de retour : Log.
Voir les plateformes prises en charge.
Paramètres :
- file regexp - le chemin absolu vers le fichier, avec le nom de fichier spécifié à l'aide d'une expression régulière.
Notez que l'expression régulière s'applique uniquement au nom de fichier et n'a pas besoin de correspondre à l'intégralité du nom (par exemple, /path/to/agent correspondra à zabbix_agentd.log).
- regexp - une expression régulière décrivant le motif de contenu requis.
- encoding - l'identifiant de la page de codes.
- maxlines - le nombre maximal de nouvelles lignes par seconde que l'agent enverra au serveur Zabbix ou au proxy.
Ce paramètre remplace la valeur de 'MaxLinesPerSecond' dans zabbix_agentd.conf.
- mode - valeurs possibles : all (par défaut) ou skip - ignorer le traitement des données plus anciennes (affecte uniquement les éléments nouvellement créés).
- output - un modèle facultatif de formatage de sortie.
La séquence d'échappement \0 est remplacée par la partie du texte qui correspond (du premier caractère où la correspondance commence jusqu'au caractère où elle se termine), tandis qu'une séquence d'échappement \N (où N=1...9) est remplacée par le Nième groupe correspondant (ou une chaîne vide si N dépasse le nombre de groupes capturés).
- maxdelay - le délai maximal en secondes.
Type : float.
Valeurs : 0 - (par défaut) ne jamais ignorer les lignes du fichier journal ; > 0.0 - ignorer les lignes plus anciennes afin d'analyser les lignes les plus récentes dans un délai de "maxdelay" secondes.
Lisez les notes sur maxdelay avant de l'utiliser !
- options - le type de rotation du fichier journal et d'autres options.
Valeurs possibles :
rotate (par défaut),
copytruncate - notez que copytruncate ne peut pas être utilisé avec maxdelay. Dans ce cas, maxdelay doit être 0 ou ne pas être spécifié ; voir les notes sur copytruncate,
mtime-reread - enregistrements non uniques, relire si l'heure de modification ou la taille change (utilisé par défaut si aucune optionmtime-*n'est explicitement définie),
mtime-noreread - enregistrements non uniques, relire uniquement si la taille change (ignorer le changement de l'heure de modification). - persistent dir (uniquement dans zabbix_agentd sur les systèmes Unix ; non pris en charge dans Zabbix agent 2) - le chemin absolu du répertoire où stocker les fichiers persistants. Voir aussi les notes supplémentaires sur les fichiers persistants.
Commentaires :
- L'élément doit être configuré comme une vérification active.
- La rotation des journaux est basée sur l'heure de dernière modification des fichiers.
- Notez que logrt est conçu pour fonctionner avec un seul fichier journal actuellement actif, avec plusieurs autres fichiers correspondants inactifs ayant fait l'objet d'une rotation. Si, par exemple, un répertoire contient de nombreux fichiers journaux actifs, un élément logrt distinct doit être créé pour chacun d'eux. Sinon, si un élément logrt récupère trop de fichiers, cela peut entraîner un épuisement de la mémoire et un arrêt brutal de la surveillance.
- Si
outputest laissé vide, la ligne entière contenant le texte correspondant est renvoyée. Notez que tous les types d'expressions régulières globales, sauf 'Result is TRUE', renvoient toujours la ligne entière correspondante et le paramètreoutputest ignoré. - L'extraction du contenu à l'aide du paramètre
outputa lieu sur l'agent. - Dans le paramètre
file regexp, le chemin du répertoire des journaux et l'expression régulière du fichier journal doivent être séparés par le séparateur de répertoire correct :- Sous Windows, le séparateur doit être une barre oblique inverse (\) ; les barres obliques (/) peuvent être tolérées aux autres positions, sauf à celle qui sépare le chemin du répertoire des journaux et l'expression régulière du fichier journal (voir les exemples ci-dessous).
- Sur les autres systèmes, il doit s'agir d'une barre oblique (/).
Exemples pour Windows :
logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #cet élément collectera les données des fichiers journaux dans "c:/dir1/dir2/dir3" où le nom de fichier commence par "filename" et se termine par toute extension correspondant à ".log".
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #cet élément collectera les données des fichiers journaux dans le partage réseau "//example.com/share/dir1/dir2/dir3" où le nom de fichier commence par "filename" et se termine par toute extension correspondant à ".log".
Exemples pour les autres systèmes :
logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #cet élément correspondra à un fichier tel que "logfile1" (ne correspondra pas à ".logfile1").
logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #cet élément collectera les données de fichiers tels que "logfile_abc_1" ou "logfile__001".
Exemple d'utilisation du paramètre output pour extraire un nombre d'un enregistrement de journal :
logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #cet élément correspondra à un enregistrement de journal "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" et enverra uniquement '6080' au serveur. Comme une valeur numérique est envoyée, le "Type d'information" de cet élément peut être défini sur "Numeric (unsigned)" et la valeur peut être utilisée dans des graphiques, des déclencheurs, etc.
Exemple d'utilisation du paramètre output pour réécrire un enregistrement de journal avant l'envoi au serveur :
logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #cet élément correspondra à un enregistrement de journal "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" et enverra un enregistrement modifié "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" au serveur.
logrt.count[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]
Le nombre de lignes correspondantes dans un fichier journal surveillé soumis à une rotation.
Valeur de retour : Integer.
Voir les plateformes prises en charge.
Paramètres :
- file regexp - le chemin absolu vers le fichier, avec le nom du fichier spécifié à l’aide d’une expression régulière.
Notez que l’expression régulière s’applique uniquement au nom du fichier et n’a pas besoin de correspondre à l’intégralité du nom (par exemple, /path/to/agent correspondra à zabbix_agentd.log).
- regexp - une expression régulière décrivant le motif requis.
- encoding - l’identifiant de page de codes.
- maxproclines - le nombre maximal de nouvelles lignes par seconde que l’agent analysera (ne peut pas dépasser 10000).
La valeur par défaut est 10*'MaxLinesPerSecond' dans zabbix_agentd.conf.
- mode - valeurs possibles : all (par défaut) ou skip - ignorer le traitement des anciennes données (affecte uniquement les éléments nouvellement créés).
- maxdelay - le délai maximal en secondes.
Type : float.
Valeurs : 0 - (par défaut) ne jamais ignorer les lignes du fichier journal ; > 0.0 - ignorer les lignes plus anciennes afin d’analyser les lignes les plus récentes dans un délai de "maxdelay" secondes.
Lisez les notes sur maxdelay avant de l’utiliser !
- options - le type de rotation du fichier journal et d’autres options.
Valeurs possibles :
rotate (par défaut),
copytruncate - notez que copytruncate ne peut pas être utilisé avec maxdelay. Dans ce cas, maxdelay doit être 0 ou non spécifié ; voir les notes sur copytruncate,
mtime-reread - enregistrements non uniques, relire si l’heure de modification ou la taille change (par défaut),
mtime-noreread - enregistrements non uniques, relire uniquement si la taille change (ignorer le changement de l’heure de modification). - persistent dir (uniquement dans zabbix_agentd sur les systèmes Unix ; non pris en charge dans Zabbix agent 2) - le chemin absolu du répertoire où stocker les fichiers persistants. Voir également les notes supplémentaires sur les fichiers persistants.
Commentaires :
- L’élément doit être configuré comme une vérification active.
- Les lignes correspondantes sont comptées parmi les nouvelles lignes depuis la dernière vérification du journal par l’agent, et dépendent donc de l’intervalle de mise à jour de l’élément.
- La rotation du journal est basée sur l’heure de dernière modification des fichiers.
- Dans le paramètre
file regexp, le chemin du répertoire du journal et l’expression régulière du fichier journal doivent être séparés par le séparateur de répertoire correct :- Sous Windows, le séparateur doit être une barre oblique inverse (\) ; les barres obliques (/) peuvent être tolérées aux autres positions, sauf à celle qui sépare le chemin du répertoire du journal et l’expression régulière du fichier journal (voir les exemples ci-dessous).
- Sur les autres systèmes, il doit s’agir d’une barre oblique (/).
Exemples pour Windows :
logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #cet élément comptera le nombre de correspondances pour le motif "pattern_to_match" dans les fichiers journaux situés dans "c:/dir1/dir2/dir3".
logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #cet élément comptera le nombre de correspondances pour le motif "pattern_to_match" dans les fichiers journaux du partage réseau "//example.com/share/dir1/dir2/dir3".
Exemples pour les autres systèmes :
logrt.count["/home/zabbix/logs/.*","^logfile[0-9]{1,3}$",,100] #cet élément comptera le nombre de correspondances pour le motif "^logfile[0-9]{1,3}$" dans les fichiers journaux du répertoire "/home/zabbix/logs".
logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #cet élément comptera le nombre d’occurrences du motif "pattern_to_match" dans les fichiers journaux situés dans "/home/user".
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]
Lit des données Modbus.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux, Windows.
Paramètres :
- endpoint - le point de terminaison défini comme
protocol://connection_string; - slave id - l’ID de l’esclave ;
- function - la fonction Modbus ;
- address - l’adresse du premier registre, coil ou input ;
- count - le nombre d’enregistrements à lire ;
- type - le type de données ;
- endianness - la configuration de l’ordre des octets ;
- offset - le nombre de registres, à partir de « address », dont les résultats seront ignorés.
Sous Windows, cet élément suit les chemins UNC dans le paramètre endpoint, ce qui peut présenter un risque de sécurité.
Voir une description détaillée des paramètres.
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Vérifie l’état d’un service DNS.
Valeurs de retour : 0 - la résolution DNS a échoué (le serveur DNS n’a pas répondu ou a renvoyé une erreur) ; 1 - la résolution DNS a réussi.
Voir les plateformes prises en charge.
Paramètres :
- ip (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - l’adresse IP du serveur DNS (laisser vide pour le serveur DNS par défaut) ;
- name - le nom DNS à interroger ;
- type - le type d’enregistrement à interroger (la valeur par défaut est SOA) ;
- timeout (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - le délai d’expiration de la requête en secondes (la valeur par défaut est de 1 seconde) ;
- count (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - le nombre de tentatives pour la requête (la valeur par défaut est de 2) ;
- protocol - le protocole utilisé pour effectuer les requêtes DNS : udp (par défaut) ou tcp.
Commentaires :
- Les valeurs possibles pour
typesont : ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (non pris en charge pour Zabbix agent sous Windows, Zabbix agent 2 sur tous les OS), HINFO, MINFO, TXT, SRV. - Pour les recherches DNS inversées (lorsque
typeest défini sur PTR), vous pouvez fournir le nom DNS au format inversé ou non inversé (voir les exemples ci-dessous). Notez que lorsqu’un enregistrement PTR est demandé, le nom DNS est en réalité une adresse IP. - Les noms de domaine internationalisés ne sont pas pris en charge ; veuillez utiliser à la place des noms encodés IDNA.
Exemples :
net.dns[198.51.100.1,example.com,MX,2,1]
net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]
net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Vérifie les performances d’un service DNS.
Valeur de retour : Float (0 - le service est indisponible ; secondes - le nombre de secondes passées à attendre une réponse du service).
Voir les plateformes prises en charge.
Paramètres :
- ip (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - l’adresse IP du serveur DNS (laisser vide pour le serveur DNS par défaut) ;
- name - le nom DNS à interroger ;
- type - le type d’enregistrement à interroger (la valeur par défaut est SOA) ;
- timeout (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - le délai d’expiration de la requête en secondes (la valeur par défaut est de 1 seconde) ;
- count (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - le nombre de tentatives pour la requête (la valeur par défaut est de 2) ;
- protocol - le protocole utilisé pour effectuer les requêtes DNS : udp (par défaut) ou tcp.
Commentaires :
- Les valeurs possibles pour
typesont :
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (non pris en charge pour Zabbix agent sous Windows, Zabbix agent 2 sur tous les OS), HINFO, MINFO, TXT, SRV. - Pour les recherches DNS inversées (lorsque
typeest défini sur PTR), vous pouvez fournir le nom DNS à la fois au format inversé et non inversé (voir les exemples ci-dessous). Notez que lorsqu’un enregistrement PTR est demandé, le nom DNS est en réalité une adresse IP. - Les noms de domaine internationalisés ne sont pas pris en charge ; veuillez utiliser à la place des noms encodés IDNA.
- L’élément renvoie un temps de réponse au lieu de
0lorsque le serveur DNS répond avec un code d’erreur (par exemple,NXDOMAINouSERVFAIL).
Exemples :
net.dns.perf[198.51.100.1,example.com,MX,2,1]
net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]
net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Effectue une requête DNS.
Zabbix agent 2 fournit également net.dns.get, qui offre des fonctionnalités supplémentaires telles qu’un plus grand nombre de types d’enregistrements et un contrôle accru de la supervision DNS.
Valeur de retour : une chaîne de caractères contenant le type d’information requis.
Voir les plateformes prises en charge.
Paramètres :
- ip (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - l’adresse IP du serveur DNS (laisser vide pour utiliser le serveur DNS par défaut) ;
- name - le nom DNS à interroger ;
- type - le type d’enregistrement à interroger (la valeur par défaut est SOA) ;
- timeout (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - le délai d’expiration de la requête en secondes (la valeur par défaut est de 1 seconde) ;
- count (ignoré sous Windows sauf en cas d’utilisation de Zabbix agent 2) - le nombre de tentatives pour la requête (la valeur par défaut est de 2) ;
- protocol - le protocole utilisé pour effectuer les requêtes DNS : udp (par défaut) ou tcp.
Commentaires :
- Les valeurs possibles pour
typesont :
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (non pris en charge par Zabbix agent sous Windows, ni par Zabbix agent 2 sur tous les OS), HINFO, MINFO, TXT, SRV. - Pour les recherches DNS inversées (lorsque
typeest défini sur PTR), vous pouvez fournir le nom DNS au format inversé ou non inversé (voir les exemples ci-dessous). Notez que lorsqu’un enregistrement PTR est demandé, le nom DNS est en réalité une adresse IP. - Les noms de domaine internationalisés ne sont pas pris en charge ; veuillez utiliser à la place des noms encodés en IDNA.
Exemples :
net.dns.record[198.51.100.1,example.com,MX,2,1]
net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]
net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.if.collisions[if]
Le nombre de collisions hors fenêtre.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD.
Les privilèges root sont requis sur NetBSD.
Paramètre :
- if - nom de l’interface réseau
net.if.discovery
La liste des interfaces réseau. Utilisée pour la découverte de bas niveau.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.
net.if.in[if,<mode>]
Les statistiques du trafic entrant sur une interface réseau.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Les privilèges root sont requis sur NetBSD.
Paramètres :
- if - nom de l'interface réseau (Unix) ; description complète de l'interface réseau ou adresse IPv4 ; ou, si entre accolades, GUID de l'interface réseau (Windows) ;
- mode - valeurs possibles :
bytes - nombre d'octets (par défaut)
packets - nombre de paquets
errors - nombre d'erreurs
dropped - nombre de paquets abandonnés
overruns (fifo) - nombre d'erreurs de tampon FIFO
frame - nombre d'erreurs de tramage des paquets
compressed - nombre de paquets compressés reçus par le pilote du périphérique
multicast - nombre de trames multicast reçues par le pilote du périphérique
Commentaires :
- Vous pouvez utiliser cette clé avec l'étape de prétraitement Change per second afin d'obtenir les statistiques en octets par seconde.
- Le mode dropped est pris en charge uniquement sur Linux, FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD.
- Les modes overruns, frame, compressed, multicast sont pris en charge uniquement sur Linux.
- Sur HP-UX, cet élément ne fournit pas de détails sur les interfaces loopback (par exemple, lo0).
Exemples :
net.if.in[eth0]
net.if.in[eth0,errors]
net.if.out[if,<mode>]
Les statistiques du trafic sortant sur une interface réseau.
Valeur renvoyée : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Les privilèges root sont requis sur NetBSD.
Paramètres :
- if - nom de l’interface réseau (Unix) ; description complète de l’interface réseau ou adresse IPv4 ; ou, si entre accolades, GUID de l’interface réseau (Windows) ;
- mode - valeurs possibles :
bytes - nombre d’octets (par défaut)
packets - nombre de paquets
errors - nombre d’erreurs
dropped - nombre de paquets abandonnés
overruns (fifo) - nombre d’erreurs du tampon FIFO
collisions (colls) - nombre de collisions détectées sur l’interface
carrier - nombre de pertes de porteuse détectées par le pilote du périphérique
compressed - nombre de paquets compressés transmis par le pilote du périphérique
Commentaires :
- Vous pouvez utiliser cette clé avec l’étape de prétraitement Change per second afin d’obtenir les statistiques en octets par seconde.
- Le mode dropped est pris en charge uniquement sous Linux et HP-UX.
- Les modes overruns, collision, carrier, compressed sont pris en charge uniquement sous Linux.
- Sous HP-UX, cet élément ne fournit pas de détails sur les interfaces loopback (par exemple, lo0).
Exemples :
net.if.out[eth0]
net.if.out[eth0,errors]
net.if.total[if,<mode>]
La somme des statistiques de trafic entrant et sortant sur une interface réseau.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Les privilèges root sont requis sur NetBSD.
Paramètres :
- if - nom de l’interface réseau (Unix) ; description complète de l’interface réseau ou adresse IPv4 ; ou, si entre accolades, GUID de l’interface réseau (Windows) ;
- mode - valeurs possibles :
bytes - nombre d’octets (par défaut)
packets - nombre de paquets
errors - nombre d’erreurs
dropped - nombre de paquets abandonnés
overruns (fifo) - nombre d’erreurs de tampon FIFO
collisions (colls) - nombre de collisions détectées sur l’interface
compressed - nombre de paquets compressés transmis ou reçus par le pilote du périphérique
Commentaires :
- Vous pouvez utiliser cette clé avec l’étape de prétraitement Change per second afin d’obtenir des statistiques en octets par seconde.
- Le mode dropped est pris en charge uniquement sur Linux et HP-UX.
Les paquets abandonnés sont pris en charge uniquement si
net.if.inetnet.if.outfonctionnent pour les paquets abandonnés sur votre plateforme. - Les modes overruns, collision, compressed sont pris en charge uniquement sur Linux.
- Sur HP-UX, cet élément ne fournit pas de détails sur les interfaces loopback (par exemple, lo0).
Exemples :
net.if.total[eth0]
net.if.total[eth0,errors]
net.tcp.listen[port]
Vérifie si ce port TCP est à l’état LISTEN.
Valeurs de retour : 0 - il n’est pas à l’état LISTEN ; 1 - il est à l’état LISTEN.
Plateformes prises en charge : Linux, FreeBSD, Solaris, MacOS X, Windows.
Paramètre :
- port - numéro de port TCP
Sur les noyaux Linux 2.6.14 et versions ultérieures, les informations sur les sockets TCP en écoute sont obtenues à partir de l’interface NETLINK du noyau, si possible. Sinon, les informations sont récupérées à partir des fichiers /proc/net/tcp et /roc/net/tcp6.
Exemple :
net.tcp.listen[80]
net.tcp.port[<ip>,port]
Vérifie s'il est possible d'établir une connexion TCP au port spécifié.
Valeurs de retour : 0 - connexion impossible ; 1 - connexion possible.
Voir les plateformes prises en charge.
Paramètres :
- ip - l'adresse IP ou le nom DNS (la valeur par défaut est 127.0.0.1) ;
- port - le numéro de port.
Commentaires :
- Pour un test simple des performances TCP, utilisez
net.tcp.service.perf[tcp,<ip>,<port>]. - Ces vérifications peuvent entraîner des messages supplémentaires dans les fichiers journaux des démons système (les sessions SMTP et SSH étant généralement journalisées).
Exemple :
net.tcp.port[,80] #cet élément peut être utilisé pour tester la disponibilité du serveur web exécuté sur le port 80
net.tcp.service[service,<ip>,<port>]
Vérifie si un service est en cours d’exécution et accepte les connexions TCP.
Valeurs de retour : 0 - le service est arrêté ; 1 - le service est en cours d’exécution.
Voir les plateformes prises en charge.
Paramètres :
- service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https ou telnet (voir les détails) ;
- ip - l’adresse IP ou le nom DNS (la valeur par défaut est 127.0.0.1) ;
- port - le numéro de port (par défaut, le numéro de port standard du service est utilisé).
Commentaires :
- Ces vérifications peuvent entraîner des messages supplémentaires dans les fichiers journaux des démons système (les sessions SMTP et SSH étant généralement journalisées).
- La vérification des protocoles chiffrés (comme IMAP sur le port 993 ou POP sur le port 995) n’est actuellement pas prise en charge.
Comme solution de contournement, veuillez utiliser
net.tcp.port[]pour ce type de vérifications. - La vérification de LDAP et HTTPS sous Windows n’est prise en charge que par Zabbix agent 2.
- La vérification telnet recherche une invite de connexion (':' à la fin).
Exemple :
net.tcp.service[ftp,,45] #cet élément peut être utilisé pour tester la disponibilité du serveur FTP sur le port TCP 45
net.tcp.service.perf[service,<ip>,<port>]
Vérifie les performances d’un service TCP.
Valeurs de retour : Float (0 - le service est indisponible ; secondes - le nombre de secondes passées à attendre une réponse du service).
Voir les plateformes prises en charge.
Paramètres :
- service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https ou telnet (voir les détails) ;
- ip - l’adresse IP ou le nom DNS (la valeur par défaut est 127.0.0.1) ;
- port - le numéro de port (par défaut, le numéro de port standard du service est utilisé).
Commentaires :
- La vérification des protocoles chiffrés (comme IMAP sur le port 993 ou POP sur le port 995) n’est actuellement pas prise en charge.
Comme solution de contournement, veuillez utiliser
net.tcp.service.perf[tcp,<ip>,<port>]pour ce type de vérifications. - La vérification telnet recherche une invite de connexion (':' à la fin).
Exemple :
net.tcp.service.perf[ssh] #cet élément peut être utilisé pour tester la vitesse de la réponse initiale du serveur SSH
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Renvoie le nombre de sockets TCP correspondant aux paramètres.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, Windows.
Paramètres :
- laddr - l’adresse IPv4/6 locale ou le sous-réseau CIDR ;
- lport - le numéro de port local ou le nom du service ;
- raddr - l’adresse IPv4/6 distante ou le sous-réseau CIDR ;
- rport - le numéro de port distant ou le nom du service ;
- state - l’état de la connexion (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing).
Exemple :
net.tcp.socket.count[,80,,,established] #le nombre de connexions vers le port TCP local 80 à l’état established
net.udp.listen[port]
Vérifie si ce port UDP est à l’état LISTEN.
Valeurs de retour : 0 - il n’est pas à l’état LISTEN ; 1 - il est à l’état LISTEN.
Plateformes prises en charge : Linux, FreeBSD, Solaris, MacOS X.
Paramètre :
- port - numéro de port UDP
Exemple :
net.udp.listen[68]
net.udp.service[service,<ip>,<port>]
Vérifie si un service est en cours d’exécution et répond aux requêtes UDP.
Valeurs de retour : 0 - le service est arrêté ; 1 - le service est en cours d’exécution.
Voir les plateformes prises en charge.
Paramètres :
- service - ntp (voir les détails) ;
- ip - l’adresse IP ou le nom DNS (la valeur par défaut est 127.0.0.1) ;
- port - le numéro de port (par défaut, le numéro de port standard du service est utilisé).
Exemple :
net.udp.service[ntp,,45] #cet élément peut être utilisé pour tester la disponibilité du service NTP sur le port UDP 45
net.udp.service.perf[service,<ip>,<port>]
Vérifie les performances d’un service UDP.
Valeurs de retour : Float (0 - le service est indisponible ; secondes - le nombre de secondes passées à attendre une réponse du service).
Voir les plateformes prises en charge.
Paramètres :
- service - ntp (voir les détails) ;
- ip - l’adresse IP ou le nom DNS (la valeur par défaut est 127.0.0.1) ;
- port - le numéro de port (par défaut, le numéro de port standard du service est utilisé).
Exemple :
net.udp.service.perf[ntp] #this item can be used to test response time from NTP service
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Renvoie le nombre de sockets UDP correspondant aux paramètres.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, Windows.
Paramètres :
- laddr - l’adresse IPv4/6 locale ou le sous-réseau CIDR ;
- lport - le numéro de port local ou le nom du service ;
- raddr - l’adresse IPv4/6 distante ou le sous-réseau CIDR ;
- rport - le numéro de port distant ou le nom du service ;
- state - l’état de la connexion (established, unconn).
Exemple :
net.udp.socket.count[,,,,established] #renvoie le nombre de sockets UDP à l’état connecté
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
Le pourcentage d'utilisation CPU du processus.
Valeur de retour : Float.
Plateformes prises en charge : Linux, Solaris6.
Paramètres :
- name - le nom du processus (par défaut, tous les processus) ;
- user - le nom d'utilisateur (par défaut, tous les utilisateurs) ;
- type - le type d'utilisation CPU : total (par défaut), user ou system ;
- cmdline - filtrer par ligne de commande (il s'agit d'une expression régulière) ;
- mode - le mode de collecte des données : avg1 (par défaut), avg5 ou avg15 ;
- zone - la zone cible : current (par défaut) ou all. Ce paramètre est pris en charge uniquement sur Solaris.
Commentaires :
- La valeur renvoyée est basée sur le pourcentage d'utilisation d'un seul cœur CPU. Par exemple, l'utilisation CPU d'un processus utilisant pleinement deux cœurs est de 200 %.
- Les données d'utilisation CPU du processus sont collectées par un collecteur qui prend en charge un maximum de 1024 requêtes uniques (par nom, utilisateur et ligne de commande). Les requêtes auxquelles aucun accès n'a eu lieu au cours des dernières 24 heures sont supprimées du collecteur.
- Lorsque le paramètre
zoneest défini sur current (ou par défaut), si l'agent a été compilé sur un Solaris sans prise en charge des zones, mais s'exécute sur un Solaris plus récent où les zones sont prises en charge, alors l'agent renverra NOTSUPPORTED (l'agent ne peut pas limiter les résultats à la zone courante uniquement). Cependant, all est pris en charge dans ce cas.
Exemples :
proc.cpu.util[,root] #utilisation CPU de tous les processus exécutés sous l'utilisateur "root"
proc.cpu.util[zabbix_server,zabbix] #utilisation CPU de tous les processus zabbix_server exécutés sous l'utilisateur zabbix
proc.get[<name>,<user>,<cmdline>,<mode>]
La liste des processus du système d’exploitation et de leurs paramètres.
Peut être utilisée pour la découverte de bas niveau.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux, FreeBSD, Windows, OpenBSD, NetBSD.
Paramètres :
- name - le nom du processus (par défaut tous les processus) ;
- user - le nom d’utilisateur (par défaut tous les utilisateurs) ;
- cmdline - filtrer par ligne de commande (il s’agit d’une expression régulière). Ce paramètre n’est pas pris en charge sous Windows ; sur les autres plateformes, il n’est pas pris en charge si le mode est défini sur « summary ».
- mode - valeurs possibles :
process (par défaut), thread (non pris en charge pour NetBSD), summary. Consultez la liste des paramètres de processus renvoyés pour chaque mode et système d’exploitation.
Commentaires :
- Si une valeur ne peut pas être récupérée, par exemple en raison d’une erreur (le processus s’est déjà terminé, manque de permissions, échec d’un appel système),
-1sera renvoyé. - Voir les notes sur la sélection des processus avec les paramètres
nameetcmdline(spécifique à Linux).
Exemples :
proc.get[zabbix_server,zabbix,,process] #liste de tous les processus zabbix_server exécutés sous l’utilisateur zabbix, renvoie une entrée par PID
proc.get[java,,,thread] #liste de tous les processus Java, renvoie une entrée par thread
proc.get[,zabbix,,summary] #données combinées pour les processus de chaque type exécutés sous l’utilisateur zabbix, renvoie une entrée par nom de processus
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
La mémoire utilisée par le processus en octets.
Valeur de retour : Integer - avec mode défini sur max, min, sum ; Float - avec mode défini sur avg
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.
Paramètres :
- name - le nom du processus (la valeur par défaut est tous les processus) ;
- user - le nom de l'utilisateur (la valeur par défaut est tous les utilisateurs) ;
- mode - valeurs possibles : avg, max, min ou sum (par défaut) ;
- cmdline - filtrer par ligne de commande (il s'agit d'une expression régulière) ;
- memtype - le type de mémoire utilisé par le processus
Commentaires :
- Le paramètre
memtypeest pris en charge uniquement sous Linux, FreeBSD, Solaris6 et AIX. - Lorsque plusieurs processus utilisent de la mémoire partagée, la somme de la mémoire utilisée par les processus peut entraîner des valeurs élevées et irréalistes.
Voir les notes sur la sélection des processus avec les paramètresnameetcmdline(spécifique à Linux).
Lorsque cet élément est invoqué depuis la ligne de commande et contient un paramètre de ligne de commande (par exemple en utilisant le mode de test de l'agent :zabbix_agentd -t proc.mem[,,,apache2]), un processus supplémentaire sera compté, car l'agent se comptera lui-même.
Exemples :
proc.mem[,root] #la mémoire utilisée par tous les processus exécutés sous l'utilisateur "root"
proc.mem[zabbix_server,zabbix] #la mémoire utilisée par tous les processus zabbix_server exécutés sous l'utilisateur zabbix
proc.mem[,oracle,max,oracleZABBIX] #la mémoire utilisée par le processus le plus gourmand en mémoire exécuté sous Oracle et ayant oracleZABBIX dans sa ligne de commande
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
Le nombre de processus.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD, Windows.
Paramètres :
- name - le nom du processus (la valeur par défaut est tous les processus) ;
- user - le nom d’utilisateur (la valeur par défaut est tous les utilisateurs) ;
- state - valeurs possibles :
all (par défaut),
disk - sommeil non interruptible,
run - en cours d’exécution,
sleep - sommeil interruptible,
trace - arrêté,
zomb - zombie ; - cmdline - filtrer par ligne de commande (il s’agit d’une expression régulière) ;
- zone - la zone cible : current (par défaut), ou all. Ce paramètre n’est pris en charge que sur Solaris.
Commentaires :
- Les paramètres d’état disk et trace ne sont pris en charge que sur Linux, FreeBSD, OpenBSD et NetBSD.
- Sous Windows, seuls les paramètres
nameetusersont pris en charge. - Lorsque cet élément est invoqué depuis la ligne de commande et contient un paramètre de ligne de commande (par exemple en utilisant le mode test de l’agent :
zabbix_agentd -t proc.num[,,,apache2]), un processus supplémentaire sera compté, car l’agent se comptera lui-même. - Lors du réglage du paramètre
zonesurcurrent(ou par défaut), si l’agent a été compilé sur un Solaris sans prise en charge des zones, mais s’exécute sur un Solaris plus récent où les zones sont prises en charge, alors l’agent renverra NOTSUPPORTED (l’agent ne peut pas limiter les résultats à la zone courante uniquement). Cependant, all est pris en charge dans ce cas. - Voir les notes sur la sélection des processus avec les paramètres
nameetcmdline(spécifique à Linux).
Exemples :
proc.num[,mysql] #le nombre de processus exécutés sous l’utilisateur mysql
proc.num[apache2,www-data] #le nombre de processus apache2 exécutés sous l’utilisateur www-data
proc.num[,oracle,sleep,oracleZABBIX] #le nombre de processus en état de sommeil exécutés sous Oracle ayant oracleZABBIX dans leur ligne de commande
sensor[device,sensor,<mode>]
Lecture du capteur matériel.
Valeur de retour : Float.
Plateformes prises en charge : Linux, OpenBSD.
Paramètres :
- device - le nom du périphérique ;
- sensor - le nom du capteur ;
- mode - valeurs possibles : avg, max ou min.
Commentaires :
- Lit /proc/sys/dev/sensors sous Linux 2.4.
- Lit /sys/class/hwmon sous Linux 2.6+. Voir une description plus détaillée de l'élément sensor sous Linux.
- Lit le MIB hw.sensors sous OpenBSD.
- Sous Linux 2.4, si vous spécifiez mode, alors device et sensor sont traités comme des expressions régulières.
- Sous Linux 2.6+ et OpenBSD, ou si mode est omis, device et sensor sont traités littéralement.
Exemples :
sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #the temperature of one CPU
sensor["cpu[0-2]$",temp,avg] #the average temperature of the first three CPUs
system.boottime
L’heure de démarrage du système.
Valeur de retour : Integer (horodatage Unix).
Plateformes prises en charge : Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.
system.cpu.discovery
La liste des CPU/cœurs de CPU détectés.
Utilisé pour la découverte de bas niveau.
Valeur de retour : chaîne JSON.
Voir les plateformes prises en charge.
system.cpu.intr
Les interruptions du périphérique.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.
system.cpu.load[<cpu>,<mode>]
La charge CPU.
Valeur de retour : Float.
Voir les plateformes prises en charge.
Paramètres :
- cpu - valeurs possibles : all (par défaut) ou percpu (la charge totale divisée par le nombre de CPU en ligne) ;
- mode - valeurs possibles : avg1 (moyenne sur une minute, par défaut), avg5 ou avg15.
Exemple :
system.cpu.load[,avg5]
system.cpu.num[<type>]
Le nombre de processeurs.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Paramètre :
- type - valeurs possibles : online (par défaut) ou max
Le paramètre de type max est pris en charge uniquement sous Linux, FreeBSD, Solaris, MacOS X.
Exemple :
system.cpu.num
system.cpu.switches
Le nombre de changements de contexte.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.
system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>]
Le pourcentage d'utilisation du processeur.
Valeur de retour : Float.
Plateformes prises en charge : Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.
Paramètres :
- cpu - <numéro de CPU> ou all (par défaut) ;
- type - valeurs possibles : user (par défaut), idle, nice, system, iowait, interrupt, softirq, steal, spin (sur OpenBSD), guest (sur les noyaux Linux 2.6.24 et supérieurs), ou guest_nice (sur les noyaux Linux 2.6.33 et supérieurs) ;
- mode - valeurs possibles : avg1 (moyenne sur une minute, par défaut), avg5 ou avg15 ;
- logical or physical - valeurs possibles : logical (par défaut) ou physical. Ce paramètre est pris en charge uniquement sur AIX.
Commentaires :
- Le paramètre de type nice est pris en charge uniquement sur Linux, FreeBSD, HP-UX, OpenBSD, NetBSD.
- Le paramètre de type iowait est pris en charge uniquement sur Linux 2.6 et versions ultérieures, Solaris, AIX.
- Le paramètre de type interrupt est pris en charge uniquement sur Linux 2.6 et versions ultérieures, FreeBSD, OpenBSD.
- Les paramètres de type softirq, steal, guest, guest_nice sont pris en charge uniquement sur Linux 2.6 et versions ultérieures.
- Les paramètres de mode avg5 et avg15 sont pris en charge sur Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD.
Exemple :
system.cpu.util[0,user,avg5]
system.hostname[<type>,<transform>]
Le nom d'hôte du système.
Valeur de retour : String.
Voir les plateformes prises en charge.
Paramètres :
- type - valeurs possibles : netbios (par défaut sous Windows), host (par défaut sous Linux), shorthost (renvoie la partie du nom d'hôte avant le premier point, une chaîne complète pour les noms sans points), fqdn (renvoie le nom de domaine pleinement qualifié) ;
- transform - valeurs possibles : none (par défaut) ou lower (convertit en minuscules).
La valeur est obtenue en prenant nodename dans la sortie de l'API système uname().
Exemples de valeurs renvoyées :
system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
system.hw.chassis[<info>]
Les informations sur le châssis.
Valeur de retour : String.
Plateformes prises en charge : Linux.
Paramètre :
- info - valeurs possibles : full (par défaut), model, serial, type ou vendor
Commentaires :
- Cette clé d’élément dépend de la disponibilité de la table SMBIOS.
- Elle tentera de lire la table DMI depuis sysfs ; si l’accès à sysfs échoue, elle essaiera alors de lire directement depuis la mémoire.
- Les permissions root sont requises, car la valeur est obtenue par lecture depuis sysfs ou la mémoire.
Exemple :
system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
system.hw.cpu[<cpu>,<info>]
Les informations sur le processeur.
Valeur de retour : String ou Integer.
Plateformes prises en charge : Linux.
Paramètres :
- cpu - <numéro de CPU> ou all (par défaut) ;
- info - valeurs possibles : full (par défaut), curfreq, maxfreq, model ou vendor.
Commentaires :
- Récupère les informations depuis
/proc/cpuinfoet/sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq. - Si un numéro de CPU et curfreq ou maxfreq sont spécifiés, une valeur numérique est renvoyée (Hz).
Exemple :
system.hw.cpu[0,vendor] → AuthenticAMD
system.hw.devices[<type>]
La liste des périphériques PCI ou USB.
Valeur de retour : Texte.
Plateformes prises en charge : Linux.
Paramètre :
- type - pci (par défaut) ou usb
Renvoie la sortie de l’utilitaire lspci ou lsusb (exécuté sans aucun paramètre).
Exemple :
system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<interface>,<format>]
La liste des adresses MAC.
Valeur de retour : String.
Plateformes prises en charge : Linux.
Paramètres :
- interface - all (par défaut) ou une expression régulière ;
- format - full (par défaut) ou short
Commentaires :
- Répertorie les adresses MAC des interfaces dont le nom correspond à l’expression régulière
interfacedonnée (all répertorie toutes les interfaces). - Si
formatest spécifié comme short, les noms d’interface et les adresses MAC identiques ne sont pas répertoriés.
Exemple :
system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
system.localtime[<type>]
L'heure système.
Valeur de retour : Integer - avec type défini sur utc ; String - avec type défini sur local.
Voir les plateformes prises en charge.
Paramètres :
- type - valeurs possibles : utc - (par défaut) l'heure écoulée depuis l'époque Unix (00:00:00 UTC, 1er janvier 1970), mesurée en secondes, ou local - l'heure au format 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'
Doit être utilisé comme contrôle passif pour Zabbix agent ; dans Zabbix agent 2, il peut être configuré comme un contrôle actif.
Exemple :
system.localtime[local] #créez un élément à l'aide de cette clé, puis utilisez-le pour afficher l'heure de l'hôte dans le widget de tableau de bord *Clock*.
system.run[command,<mode>]
Exécute la commande spécifiée sur l'hôte.
Valeur de retour : résultat texte de la commande ou 1 - avec mode défini sur nowait (quel que soit le résultat de la commande).
Voir les plateformes prises en charge.
Paramètres :
- command - commande à exécuter ;
- mode - valeurs possibles : wait - attendre la fin de l'exécution (par défaut) ou nowait - ne pas attendre.
Commentaires :
- Cet élément est désactivé par défaut. Découvrez comment les activer.
- La valeur de retour de l'élément correspond à la sortie standard ainsi qu'à la sortie d'erreur standard produites par la commande. La vérification du code de sortie n'est pas effectuée.
- Pour être traitée correctement, la valeur de retour de la commande doit être du type de données
text. Un résultat vide est également autorisé. - La valeur de retour est limitée à 16MB (y compris les espaces de fin qui sont tronqués) ; les limites de la base de données s'appliquent également.
- Voir aussi : Exécution de commandes.
Exemple :
system.run[ls -l /] #renvoie une liste détaillée des fichiers du répertoire racine
system.stat[resource,<type>]
Les statistiques du système.
Valeur de retour : Integer ou float.
Plateformes prises en charge : AIX.
Paramètres :
- ent - le nombre d’unités de processeur que cette partition est autorisée à recevoir (float) ;
- kthr,<type> - informations sur les états des threads du noyau :
r - nombre moyen de threads du noyau exécutables (float)
b - nombre moyen de threads du noyau placés dans la file d’attente du gestionnaire de mémoire virtuelle (float) - memory,<type> - informations sur l’utilisation de la mémoire virtuelle et réelle :
avm - pages virtuelles actives (integer)
fre - taille de la liste libre (integer) - page,<type> - informations sur les défauts de page et l’activité de pagination :
fi - entrées de pages de fichier par seconde (float)
fo - sorties de pages de fichier par seconde (float)
pi - pages paginées depuis l’espace de pagination (float)
po - pages paginées vers l’espace de pagination (float)
fr - pages libérées (remplacement de page) (float)
sr - pages analysées par l’algorithme de remplacement de page (float) - faults,<type> - taux de traps et d’interruptions :
in - interruptions de périphérique (float)
sy - appels système (float)
cs - changements de contexte des threads du noyau (float) - cpu,<type> - répartition en pourcentage de l’utilisation du temps processeur :
us - temps utilisateur (float)
sy - temps système (float)
id - temps d’inactivité (float)
wa - temps d’inactivité pendant lequel le système avait une ou plusieurs requêtes d’E/S disque/NFS en attente (float)
pc - nombre de processeurs physiques consommés (float)
ec - pourcentage de capacité allouée consommée (float)
lbusy - indique le pourcentage d’utilisation du ou des processeurs logiques survenu lors de l’exécution au niveau utilisateur et système (float)
app - indique les processeurs physiques disponibles dans le pool partagé (float) - disk,<type> - statistiques de disque :
bps - indique la quantité de données transférées (lues ou écrites) vers le lecteur en octets par seconde (integer)
tps - indique le nombre de transferts par seconde émis vers le disque/bande physique (float)
Commentaires :
- Notez les limitations suivantes pour ces éléments :
system.stat[cpu,app]- pris en charge uniquement sur les LPAR AIX de type "Shared" ;
system.stat[cpu,ec]- pris en charge sur les LPAR AIX de type "Shared" et "Dedicated" ("Dedicated" renvoie toujours 100 (pour cent)) ;
system.stat[cpu,lbusy]- pris en charge uniquement sur les LPAR AIX de type "Shared" ;
system.stat[cpu,pc]- pris en charge sur les LPAR AIX de type "Shared" et "Dedicated" ;
system.stat[ent]- pris en charge sur les LPAR AIX de type "Shared" et "Dedicated".
system.sw.arch
Les informations sur l’architecture logicielle.
Valeur de retour : String.
Voir les plateformes prises en charge.
Les informations sont obtenues à partir de la fonction uname().
Exemple :
system.sw.arch → i686
system.sw.os[<info>]
Les informations sur le système d’exploitation.
Valeur de retour : String.
Plateformes prises en charge : Linux, Windows.
Paramètre :
- info - valeurs possibles : full (par défaut), short ou name
Les informations sont obtenues à partir de (notez que tous les fichiers et toutes les options ne sont pas présents dans toutes les distributions) :
/proc/version(full) sous Linux ;/proc/version_signature(short) sous Linux ;- le paramètre PRETTY_NAME de
/etc/os-releasesur les systèmes Linux qui le prennent en charge, ou/etc/issue.net(name) ; - la clé de registre
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersionsous Windows.
Exemples :
system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
system.sw.os.get
Informations détaillées sur le système d’exploitation (version, type, nom de la distribution, version mineure et majeure, etc.).
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux, Windows.
system.sw.packages[<regexp>,<manager>,<format>]
La liste des paquets installés.
Valeur de retour : Texte.
Plateformes prises en charge : Linux.
Paramètres :
- regexp - all (par défaut) ou une expression régulière ;
- manager - all (par défaut) ou un gestionnaire de paquets ;
- format - full (par défaut) ou short.
Commentaires :
- Répertorie (par ordre alphabétique) les paquets installés dont le nom correspond à l’expression régulière donnée (all les répertorie tous).
- Gestionnaires de paquets pris en charge (commande exécutée) :
- dpkg (dpkg --get-selections)
- pkgtool (ls /var/log/packages)
- rpm (rpm -qa)
- pacman (pacman -Q)
portage
- Si
formatest spécifié comme full, les paquets sont regroupés par gestionnaire de paquets (chaque gestionnaire sur une ligne distincte commençant par son nom entre crochets). - Si
formatest spécifié comme short, les paquets ne sont pas regroupés et sont listés sur une seule ligne.
Exemple :
system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]
Une liste détaillée des paquets installés.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux.
Paramètres :
- regexp - all (par défaut) ou une expression régulière ;
- manager - all (par défaut) ou un gestionnaire de paquets (valeurs possibles : rpm, dpkg, pkgtool, pacman ou portage).
Commentaires :
- Renvoie un JSON non formaté contenant les paquets installés dont le nom correspond à l’expression régulière donnée.
- La sortie est un tableau d’objets contenant chacun les clés suivantes : name, manager, version, size, architecture, buildtime et installtime (voir plus de détails).
system.swap.in[<device>,<type>]
Les statistiques de swap-in (du périphérique vers la mémoire).
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, OpenBSD.
Paramètres :
- device - spécifie le périphérique utilisé pour le swap (Linux uniquement) ou all (par défaut) ;
- type - valeurs possibles : count (nombre de swap-ins, valeur par défaut sur les plateformes non Linux), sectors (secteurs chargés en mémoire via le swap) ou pages (pages chargées en mémoire via le swap, valeur par défaut sous Linux).
Commentaires :
- La source de ces informations est :
/proc/swaps,/proc/partitions,/proc/stat(Linux 2.4)/proc/swaps,/proc/diskstats,/proc/vmstat(Linux 2.6)
- Notez que pages ne fonctionnera que si device n’a pas été spécifié.
- Le paramètre de type sectors n’est pris en charge que sous Linux.
Exemple :
system.swap.in[,pages]
system.swap.out[<device>,<type>]
Statistiques de swap-out (de la mémoire vers le périphérique).
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, OpenBSD.
Paramètres :
- device - spécifie le périphérique utilisé pour le swap (Linux uniquement) ou all (par défaut) ;
- type - valeurs possibles : count (nombre de swap-outs, valeur par défaut sur les plateformes non Linux), sectors (secteurs écrits dans le swap) ou pages (pages écrites dans le swap, valeur par défaut sur Linux).
Commentaires :
- La source de ces informations est :
/proc/swaps,/proc/partitions,/proc/stat(Linux 2.4)/proc/swaps,/proc/diskstats,/proc/vmstat(Linux 2.6) - Notez que pages ne fonctionnera que si le périphérique n’a pas été spécifié.
- Le paramètre de type sectors est pris en charge uniquement sous Linux.
Exemple :
system.swap.out[,pages]
system.swap.size[<device>,<type>]
La taille de l’espace d’échange en octets ou en pourcentage du total.
Valeur de retour : Integer - pour les octets ; Float - pour le pourcentage.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, OpenBSD, Windows.
Paramètres :
- device - spécifie le périphérique utilisé pour l’échange (FreeBSD uniquement) ou all (par défaut) ;
- type - valeurs possibles : free (espace d’échange libre, par défaut), pfree (espace d’échange libre, en pourcentage), pused (espace d’échange utilisé, en pourcentage), total (espace d’échange total) ou used (espace d’échange utilisé).
Commentaires :
- Notez que pfree et pused ne sont pas pris en charge sous Windows si la taille du swap est de 0.
- Si le périphérique n’est pas spécifié, l’agent Zabbix ne prendra en compte que les périphériques (fichiers) d’échange ; la mémoire physique sera ignorée.
Par exemple, sur les systèmes Solaris, la commande
swap -sinclut une partie de la mémoire physique et les périphériques d’échange (contrairement àswap -l).
Exemple :
system.swap.size[,pfree] → pourcentage d’espace d’échange libre
system.uname
Identification du système.
Valeur de retour : String.
Voir les plateformes prises en charge.
Commentaires :
- Sous UNIX, la valeur de cet élément est obtenue à l’aide de l’appel système uname().
- Sous Windows, l’élément renvoie l’architecture du système d’exploitation, tandis que sous UNIX il renvoie l’architecture du processeur.
Exemples :
system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
system.uptime
Le temps de fonctionnement du système en secondes.
Valeur de retour : Integer.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Dans la configuration de l’élément, utilisez les unités s ou uptime pour obtenir des valeurs lisibles.
system.users.num
Le nombre d’utilisateurs connectés.
Valeur de retour : Integer.
Voir les plateformes prises en charge.
La commande who est utilisée du côté de l’agent pour obtenir la valeur.
vfs.dev.discovery
La liste des périphériques de bloc et de leur type.
Utilisé pour la découverte de bas niveau.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux.
vfs.dev.read[<device>,<type>,<mode>]
Les statistiques de lecture du disque.
Valeur de retour : Integer - avec type dans sectors, operations, bytes ; Float - avec type dans sps, ops, bps.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, OpenBSD.
Paramètres :
- device - périphérique de disque (la valeur par défaut est all 3) ;
- type - valeurs possibles : sectors, operations, bytes, sps, ops ou bps (sps, ops, bps signifient respectivement : secteurs, opérations, octets par seconde) ;
- mode - valeurs possibles : avg1 (moyenne sur une minute, par défaut), avg5 ou avg15.
Ce paramètre n'est pris en charge que lorsque
typeest dans : sps, ops, bps.
Commentaires :
- Si un intervalle de mise à jour de trois heures ou plus2 est utilisé, cet élément renverra toujours '0'.
- Les paramètres de type sectors et sps ne sont pris en charge que sous Linux.
- Le paramètre de type ops n'est pris en charge que sous Linux et FreeBSD.
- Le paramètre de type bps n'est pris en charge que sous FreeBSD.
- Le paramètre de type bytes n'est pris en charge que sous FreeBSD, Solaris, AIX, OpenBSD.
- Le paramètre
moden'est pris en charge que sous Linux et FreeBSD. - Vous pouvez utiliser des noms de périphériques relatifs (par exemple,
sda) ainsi qu'un préfixe/dev/facultatif (par exemple,/dev/sda). - Les volumes logiques LVM sont pris en charge.
- Les valeurs par défaut du paramètre 'type' pour les différents systèmes d'exploitation :
- AIX - operations
- FreeBSD - bps
- Linux - sps
- OpenBSD - operations
- Solaris - bytes
- sps, ops et bps sur les plateformes prises en charge sont limités à 1024 périphériques (1023 individuels et un pour all).
Exemple :
vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]
Les statistiques d’écriture du disque.
Valeur de retour : Integer - avec type dans sectors, operations, bytes ; Float - avec type dans sps, ops, bps.
Plateformes prises en charge : Linux, FreeBSD, Solaris, AIX, OpenBSD.
Paramètres :
- device - périphérique de disque (la valeur par défaut est all 3) ;
- type - valeurs possibles : sectors, operations, bytes, sps, ops ou bps (sps, ops, bps signifient respectivement : secteurs, opérations, octets par seconde) ;
- mode - valeurs possibles : avg1 (moyenne sur une minute, par défaut), avg5 ou avg15.
Ce paramètre n’est pris en charge qu’avec
typedans : sps, ops, bps.
Commentaires :
- Si vous utilisez un intervalle de mise à jour de trois heures ou plus2, cet élément renverra toujours « 0 ».
- Les paramètres de type sectors et sps ne sont pris en charge que sous Linux.
- Le paramètre de type ops n’est pris en charge que sous Linux et FreeBSD.
- Le paramètre de type bps n’est pris en charge que sous FreeBSD.
- Le paramètre de type bytes n’est pris en charge que sous FreeBSD, Solaris, AIX, OpenBSD.
- Le paramètre
moden’est pris en charge que sous Linux et FreeBSD. - Vous pouvez utiliser des noms de périphériques relatifs (par exemple,
sda) ainsi qu’un préfixe/dev/facultatif (par exemple,/dev/sda). - Les volumes logiques LVM sont pris en charge.
- Les valeurs par défaut du paramètre « type » pour les différents systèmes d’exploitation :
- AIX - operations
- FreeBSD - bps
- Linux - sps
- OpenBSD - operations
- Solaris - bytes
- sps, ops et bps sur les plateformes prises en charge sont limités à 1024 périphériques (1023 individuels et un pour all).
Exemple :
vfs.dev.write[,operations]
vfs.dir.count[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]
Le nombre d'entrées du répertoire.
Valeur renvoyée : Integer.
Voir les plateformes prises en charge.
Paramètres :
- dir - le chemin absolu vers le répertoire ;
- regex incl - une expression régulière décrivant le motif de nom de l'entité (fichier, répertoire, lien symbolique) à inclure ; inclut tout si vide (valeur par défaut) ;
- regex excl - une expression régulière décrivant le motif de nom de l'entité (fichier, répertoire, lien symbolique) à exclure ; n'exclut rien si vide (valeur par défaut) ;
- types incl - les types d'entrées de répertoire à compter, valeurs possibles : file - fichier ordinaire, dir - sous-répertoire, sym - lien symbolique, sock - socket, bdev - périphérique de bloc, cdev - périphérique de caractères, fifo - FIFO, dev - synonyme de "bdev,cdev", all - tous les types (par défaut), c.-à-d. "file,dir,sym,sock,bdev,cdev,fifo". Plusieurs types doivent être séparés par des virgules et placés entre guillemets.
- types excl - les types d'entrées de répertoire (voir
types incl) à NE PAS compter. Si un type d'entrée figure à la fois danstypes inclettypes excl, les entrées de répertoire de ce type ne sont PAS comptées. - max depth - la profondeur maximale des sous-répertoires à parcourir :
-1 (par défaut) - illimitée,
0 - ne pas descendre dans les sous-répertoires. - min size - la taille minimale (en octets) du fichier pour qu'il soit compté. Les fichiers plus petits ne seront pas comptés. Les suffixes de mémoire peuvent être utilisés.
- max size - la taille maximale (en octets) du fichier pour qu'il soit compté. Les fichiers plus grands ne seront pas comptés. Les suffixes de mémoire peuvent être utilisés.
- min age - l'ancienneté minimale (en secondes) de l'entrée de répertoire pour qu'elle soit comptée. Les entrées plus récentes ne seront pas comptées. Les suffixes de temps peuvent être utilisés.
- max age - l'ancienneté maximale (en secondes) de l'entrée de répertoire pour qu'elle soit comptée. Les entrées aussi anciennes ou plus anciennes ne seront pas comptées (heure de modification). Les suffixes de temps peuvent être utilisés.
- regex excl dir - une expression régulière décrivant le motif de nom du répertoire à exclure. Tout le contenu du répertoire sera exclu (contrairement à regex_excl)
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- Les variables d'environnement, par ex. %APP_HOME%, $HOME et %TEMP%, ne sont pas prises en charge.
- Les pseudo-répertoires "." et ".." ne sont jamais comptés.
- Les liens symboliques ne sont jamais suivis lors du parcours des répertoires.
regex incletregex exclsont tous deux appliqués aux fichiers et aux répertoires lors du calcul du nombre d'entrées, mais sont ignorés lors de la sélection des sous-répertoires à parcourir (siregex inclest "(?i)\^.+\.zip$" et quemax depthn'est pas défini, alors tous les sous-répertoires seront parcourus, mais seuls les fichiers de type zip seront comptés).- Le temps d'exécution est limité par la valeur de timeout dans la configuration de l'agent (3 s). Comme le parcours de grands répertoires peut prendre plus de temps, aucune donnée ne sera renvoyée et l'élément deviendra non pris en charge. Un comptage partiel ne sera pas renvoyé.
- Lors du filtrage par taille, seuls les fichiers ordinaires ont des tailles significatives.
Sous Linux et BSD, les répertoires ont également des tailles non nulles (quelques Ko en général).
Les périphériques ont une taille nulle ; par exemple, la taille de /dev/sda1 ne reflète pas la taille de la partition correspondante.
Par conséquent, lors de l'utilisation de
<min_size>et<max_size>, il est recommandé de définir<types_incl>sur "file" afin d'éviter les surprises.
Exemples :
vfs.dir.count[/dev] #surveille le nombre de périphériques dans /dev (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #surveille le nombre de fichiers dans un répertoire temporaire
vfs.dir.get[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]
La liste des entrées du répertoire.
Valeur de retour : chaîne JSON.
Voir les plateformes prises en charge.
Paramètres :
- dir - le chemin absolu vers le répertoire ;
- regex incl - une expression régulière décrivant le motif du nom de l’entité (fichier, répertoire, lien symbolique) à inclure ; inclut tout si vide (valeur par défaut) ;
- regex excl - une expression régulière décrivant le motif du nom de l’entité (fichier, répertoire, lien symbolique) à exclure ; n’exclut rien si vide (valeur par défaut) ;
- types incl - les types d’entrées de répertoire à lister, valeurs possibles : file - fichier ordinaire, dir - sous-répertoire, sym - lien symbolique, sock - socket, bdev - périphérique de blocs, cdev - périphérique de caractères, fifo - FIFO, dev - synonyme de "bdev,cdev", all - tous les types (par défaut), c.-à-d. "file,dir,sym,sock,bdev,cdev,fifo". Plusieurs types doivent être séparés par des virgules et placés entre guillemets.
- types excl - les types d’entrées de répertoire (voir
types incl) à NE PAS lister. Si un type d’entrée figure à la fois danstypes inclettypes excl, les entrées de répertoire de ce type ne sont PAS listées. - max depth - la profondeur maximale des sous-répertoires à parcourir :
-1 (par défaut) - illimitée,
0 - ne pas descendre dans les sous-répertoires. - min size - la taille minimale (en octets) pour qu’un fichier soit listé. Les fichiers plus petits ne seront pas listés. Les suffixes de mémoire peuvent être utilisés.
- max size - la taille maximale (en octets) pour qu’un fichier soit listé. Les fichiers plus grands ne seront pas listés. Les suffixes de mémoire peuvent être utilisés.
- min age - l’ancienneté minimale (en secondes) d’une entrée de répertoire pour être listée. Les entrées plus récentes ne seront pas listées. Les suffixes de temps peuvent être utilisés.
- max age - l’ancienneté maximale (en secondes) d’une entrée de répertoire pour être listée. Les entrées de cet âge ou plus anciennes ne seront pas listées (heure de modification). Les suffixes de temps peuvent être utilisés.
- regex excl dir - une expression régulière décrivant le motif du nom du répertoire à exclure.
Tout le contenu du répertoire sera exclu (contrairement à
regex excl)
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- Les variables d’environnement, par ex. %APP_HOME%, $HOME et %TEMP%, ne sont pas prises en charge.
- Les pseudo-répertoires "." et ".." ne sont jamais listés.
- Les liens symboliques ne sont jamais suivis lors du parcours des répertoires.
regex incletregex exclsont tous deux appliqués aux fichiers et aux répertoires lors de la génération de la liste des entrées, mais sont ignorés lors de la sélection des sous-répertoires à parcourir (siregex inclest "(?i)\^.+\.zip$" et quemax depthn’est pas défini, alors tous les sous-répertoires seront parcourus, mais seuls les fichiers de type zip seront comptés).- Le temps d’exécution est limité par la valeur de délai d’attente dans la configuration de l’agent. Comme le parcours de grands répertoires peut prendre plus de temps, aucune donnée ne sera renvoyée et l’élément deviendra non pris en charge. Une liste partielle ne sera pas renvoyée.
- Lors du filtrage par taille, seuls les fichiers ordinaires ont des tailles significatives.
Sous Linux et BSD, les répertoires ont également des tailles non nulles (quelques Ko en général).
Les périphériques ont une taille nulle ; par exemple, la taille de /dev/sda1 ne reflète pas la taille de la partition correspondante.
Par conséquent, lors de l’utilisation de
min sizeetmax size, il est recommandé de spécifiertypes inclcomme "file", afin d’éviter les surprises.
Exemples :
vfs.dir.get[/dev] #retrieves the device list in /dev (Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #retrieves the file list in a temporary directory
vfs.dir.size[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>]
La taille du répertoire (en octets).
Valeur de retour : Integer.
Plateformes prises en charge : Linux, Windows.
L’élément peut fonctionner sur d’autres plateformes de type UNIX.
Paramètres :
- dir - le chemin absolu vers le répertoire ;
- regex incl - une expression régulière décrivant le motif de nom de l’entité (fichier, répertoire, lien symbolique) à inclure ; inclut tout si vide (valeur par défaut) ;
- regex excl - une expression régulière décrivant le motif de nom de l’entité (fichier, répertoire, lien symbolique) à exclure ; n’exclut rien si vide (valeur par défaut) ;
- mode - valeurs possibles : apparent (par défaut) - obtient les tailles apparentes des fichiers plutôt que l’utilisation du disque (agit comme
du -sb dir), disk - obtient l’utilisation du disque (agit commedu -s -B1 dir). Contrairement à la commandedu, l’élément vfs.dir.size prend en compte les fichiers cachés lors du calcul de la taille du répertoire (agit commedu -sb .[^.]* *dans dir). - max depth - la profondeur maximale des sous-répertoires à parcourir : -1 (par défaut) - illimitée, 0 - ne descend pas dans les sous-répertoires.
- regex excl dir - une expression régulière décrivant le motif de nom du répertoire à exclure.
Tout le contenu du répertoire sera exclu (contrairement à
regex excl)
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- Seuls les répertoires disposant au minimum du droit de lecture pour l’utilisateur zabbix sont calculés. Pour les répertoires disposant uniquement du droit de lecture, seule la taille du répertoire lui-même est calculée. Les répertoires disposant des droits de lecture et d’exécution sont calculés avec leur contenu.
- Avec de grands répertoires ou des disques lents, cet élément peut expirer en raison du paramètre Timeout dans les fichiers de configuration de agent et de server/proxy. Augmentez les valeurs de délai d’attente si nécessaire.
- La limite de taille de fichier dépend de la prise en charge des grands fichiers.
Exemples :
vfs.dir.size[/tmp,log] #calculates the size of all files in /tmp containing 'log' in their names
vfs.dir.size[/tmp,log,^.+\.old$] #calculates the size of all files in /tmp containing 'log' in their names, excluding files with names ending with '.old'
vfs.file.cksum[file,<mode>]
La somme de contrôle du fichier, calculée par l’algorithme UNIX cksum.
Valeur de retour : Integer - avec mode défini sur crc32, String - avec mode défini sur md5, sha256.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- mode - crc32 (par défaut), md5 ou sha256.
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
Exemple :
vfs.file.cksum[/etc/passwd]
Exemples de valeurs retournées (crc32/md5/sha256 respectivement) :
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]
Récupération du contenu d'un fichier7.
Valeur de retour : Texte.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- encoding - l'identifiant de la page de codes.
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La valeur de retour est limitée à 16 Mo (y compris les espaces de fin qui sont tronqués) ; les limites de la base de données s'appliquent également.
- Une chaîne vide est renvoyée si le fichier est vide ou contient uniquement des caractères LF/CR.
- La marque d'ordre des octets (BOM) est exclue de la sortie.
Exemple :
vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]
Vérifie si le fichier existe.
Valeur de retour : 0 - introuvable ; 1 - un fichier du type spécifié existe.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- types incl - la liste des types de fichiers à inclure, valeurs possibles : file (fichier ordinaire, valeur par défaut (si types_excl n’est pas défini)), dir (répertoire), sym (lien symbolique), sock (socket), bdev (périphérique de bloc), cdev (périphérique de caractères), fifo (FIFO), dev (synonyme de "bdev,cdev"), all (tous les types mentionnés, valeur par défaut si types_excl est défini).
- types excl - la liste des types de fichiers à exclure, voir types_incl pour les valeurs possibles (par défaut, aucun type n’est exclu)
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- Plusieurs types doivent être séparés par une virgule et l’ensemble complet doit être placé entre guillemets "".
- Si le même type figure à la fois dans <types_incl> et <types_excl>, les fichiers de ce type sont exclus.
- La limite de taille de fichier dépend de la prise en charge des fichiers volumineux.
Exemples :
vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]
Renvoie des informations sur un fichier.
Valeur de retour : chaîne JSON.
Voir les plateformes prises en charge.
Paramètre :
- file - le chemin complet vers le fichier
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- Types de fichiers pris en charge sur les systèmes de type UNIX : fichier ordinaire, répertoire, lien symbolique, socket, périphérique de bloc, périphérique de caractère, FIFO.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
Exemple :
vfs.file.get[/etc/passwd] #renvoie un JSON contenant des informations sur le fichier /etc/passwd (type, utilisateur, permissions, SID, uid, etc.)
vfs.file.md5sum[file]
La somme de contrôle MD5 du fichier.
Valeur de retour : Chaîne de caractères (hachage MD5 du fichier).
Voir les plateformes prises en charge.
Paramètre :
- file - le chemin complet vers le fichier
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
Exemple :
vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]
Exemple de valeur renvoyée :
b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[file,<ownertype>,<resulttype>]
Récupère le propriétaire d’un fichier.
Valeur de retour : String.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- ownertype - user (par défaut) ou group (Unix uniquement) ;
- resulttype - name (par défaut) ou id ; pour id - renvoie uid/gid sous Unix, SID sous Windows.
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La limite de taille de fichier dépend de la prise en charge des fichiers volumineux.
Exemples :
vfs.file.owner[/tmp/zabbix_server.log] #return the file owner of /tmp/zabbix_server.log
vfs.file.owner[/tmp/zabbix_server.log,,id] #return the file owner ID of /tmp/zabbix_server.log
vfs.file.permissions[file]
Renvoie une chaîne de 4 chiffres contenant le nombre octal des permissions UNIX.
Valeur de retour : String.
Plateformes prises en charge : Linux.
L’élément peut fonctionner sur d’autres plateformes de type UNIX.
Paramètres :
- file - le chemin complet vers le fichier
La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
Exemple :
vfs.file.permissions[/etc/passwd] #renvoie les permissions de /etc/passwd, par exemple, '0644'
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Récupère une chaîne dans le fichier7.
Valeur de retour : la ligne contenant la chaîne correspondante, ou selon ce qui est spécifié par le paramètre optionnel output.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- regexp - une expression régulière décrivant le motif requis ;
- encoding - l’identifiant de la page de codes ;
- start line - le numéro de la première ligne à rechercher (première ligne du fichier par défaut) ;
- end line - le numéro de la dernière ligne à rechercher (dernière ligne du fichier par défaut) ;
- output - un modèle optionnel de formatage de sortie. La séquence d’échappement \0 est remplacée par la partie du texte correspondante (du premier caractère où la correspondance commence jusqu’au caractère où elle se termine), tandis qu’une séquence d’échappement \N (où N=1...9) est remplacée par le Nième groupe correspondant (ou par une chaîne vide si N dépasse le nombre de groupes capturés).
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
- Seule la première ligne correspondante est renvoyée.
- Une chaîne vide est renvoyée si aucune ligne ne correspond à l’expression.
- La marque d’ordre des octets (BOM) est exclue de la sortie.
- L’extraction du contenu à l’aide du paramètre
outputa lieu sur l’agent.
Exemples :
vfs.file.regexp[/etc/passwd,zabbix]
vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] → obtention de l’ID de l’utilisateur *zabbix*
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
Recherche une chaîne dans le fichier7.
Valeurs de retour : 0 - aucune correspondance trouvée ; 1 - trouvée.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- regexp - une expression régulière décrivant le motif requis ;
- encoding - l’identifiant de la page de codes ;
- start line - le numéro de la première ligne dans laquelle rechercher (première ligne du fichier par défaut) ;
- end line - le numéro de la dernière ligne dans laquelle rechercher (dernière ligne du fichier par défaut).
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
- La marque d’ordre des octets (BOM) est ignorée.
Exemple :
vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]
La taille du fichier (en octets).
Valeur de retour : Integer.
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- mode - valeurs possibles : bytes (par défaut) ou lines (les lignes vides sont également comptées).
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- Le fichier doit disposer des autorisations de lecture pour l’utilisateur zabbix.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
Exemple :
vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]
Les informations temporelles du fichier.
Valeur de retour : Integer (horodatage Unix).
Voir les plateformes prises en charge.
Paramètres :
- file - le chemin complet vers le fichier ;
- mode - valeurs possibles :
modify (par défaut) - la dernière heure de modification du contenu du fichier,
access - la dernière heure de lecture du fichier,
change - la dernière heure de modification des propriétés du fichier
Commentaires :
- Sous Windows, cet élément suit les chemins UNC, ce qui peut présenter un risque de sécurité.
- La limite de taille du fichier dépend de la prise en charge des fichiers volumineux.
Exemple :
vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery
La liste des systèmes de fichiers montés avec leur type et leurs options de montage.
Utilisé pour la découverte de bas niveau.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
vfs.fs.get
La liste des systèmes de fichiers montés avec leur type, l’espace disque disponible, les statistiques d’inodes et les options de montage.
Peut être utilisée pour la découverte de bas niveau.
Valeur de retour : chaîne JSON.
Plateformes prises en charge : Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Commentaires :
- Les systèmes de fichiers dont le nombre d’inodes est égal à zéro, ce qui peut être le cas pour les systèmes de fichiers avec des inodes dynamiques (par exemple btrfs), sont également signalés.
- Voir aussi : Découverte des systèmes de fichiers montés.
vfs.fs.inode[fs,<mode>]
Le nombre ou le pourcentage d’inodes.
Valeur de retour : Integer - pour le nombre ; Float - pour le pourcentage.
Voir les plateformes prises en charge.
Paramètres :
- fs - le système de fichiers ;
- mode - valeurs possibles : total (par défaut), free, used, pfree (libre, en pourcentage) ou pused (utilisé, en pourcentage).
Si le nombre d’inodes est égal à zéro, ce qui peut être le cas pour les systèmes de fichiers avec des inodes dynamiques (par ex. btrfs), les valeurs pfree/pused seront signalées respectivement comme « 100 » et « 0 ».
Exemple :
vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]
L'espace disque en octets ou en pourcentage du total.
Valeur de retour : Integer - pour les octets ; Float - pour le pourcentage.
Voir les plateformes prises en charge.
Paramètres :
- fs - le système de fichiers ;
- mode - valeurs possibles : total (par défaut), free, used, pfree (libre, en pourcentage) ou pused (utilisé, en pourcentage).
Commentaires :
- Si le système de fichiers n'est pas monté, renvoie la taille d'un système de fichiers local où se trouve le point de montage.
- L'espace réservé d'un système de fichiers est pris en compte et n'est pas inclus lors de l'utilisation du mode free.
Exemple :
vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]
La taille de la mémoire en octets ou en pourcentage du total.
Valeur de retour : Integer - pour les octets ; Float - pour le pourcentage.
Voir les plateformes prises en charge.
Paramètre :
- mode - valeurs possibles : total (par défaut), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (utilisée, en pourcentage), available, ou pavailable (disponible, en pourcentage).
Commentaires :
- Cet élément accepte trois catégories de paramètres :
- total - quantité totale de mémoire ;
- types de mémoire spécifiques à la plateforme : active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired ;
- estimations au niveau utilisateur de la quantité de mémoire utilisée et disponible : used, pused, available, pavailable.
- Le paramètre de mode active est pris en charge uniquement sur FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD.
- Les paramètres de mode anon, exec, file sont pris en charge uniquement sur NetBSD.
- Le paramètre de mode buffers est pris en charge uniquement sur Linux, FreeBSD, OpenBSD, NetBSD.
- Le paramètre de mode cached est pris en charge uniquement sur Linux, FreeBSD, AIX, OpenBSD, NetBSD.
- Les paramètres de mode inactive, wired sont pris en charge uniquement sur FreeBSD, MacOS X, OpenBSD, NetBSD.
- Le paramètre de mode pinned est pris en charge uniquement sur AIX.
- Le paramètre de mode shared est pris en charge uniquement sur Linux 2.4, FreeBSD, OpenBSD, NetBSD.
- Voir aussi les détails supplémentaires pour cet élément.
Exemple :
vm.memory.size[pavailable]
web.page.get[host,<path>,<port>]
Récupère le contenu d'une page web.
Valeur de retour : code source de la page web sous forme de texte (y compris les en-têtes).
Voir les plateformes prises en charge.
Paramètres :
- host - le nom d'hôte ou l'URL (au format
scheme://host:port/path, où seul host est obligatoire). Schémas d'URL autorisés : http, https4. Un schéma manquant sera traité comme http. Si une URL est spécifiée,pathetportdoivent être vides. La spécification d'un nom d'utilisateur/mot de passe lors de la connexion à des serveurs nécessitant une authentification, par exemple :http://user:[email protected], n'est possible qu'avec la prise en charge de cURL 4. Le Punycode est pris en charge dans les noms d'hôte. - path - le chemin vers un document HTML (la valeur par défaut est /) ;
- port - le numéro de port (la valeur par défaut est 80 pour HTTP)
Commentaires :
- Cet élément devient non pris en charge si la ressource spécifiée dans
hostn'existe pas ou n'est pas disponible. hostpeut être un nom d'hôte, un nom de domaine, une adresse IPv4 ou IPv6. Mais pour une adresse IPv6, l'agent Zabbix doit être compilé avec la prise en charge d'IPv6 activée.
Exemples :
web.page.get[www.example.com,index.php,80]
web.page.get[https://www.example.com]
web.page.get[https://blog.example.com/?s=zabbix]
web.page.get[localhost:80]
web.page.get["[::1]/server-status"]
web.page.perf[host,<path>,<port>]
Le temps de chargement d’une page web complète (en secondes).
Valeur de retour : Float.
Voir les plateformes prises en charge.
Paramètres :
- host - le nom d’hôte ou l’URL (au format
scheme://host:port/path, où seul host est obligatoire). Schémas d’URL autorisés : http, https4. Un schéma manquant sera traité comme http. Si une URL est spécifiée,pathetportdoivent être vides. La spécification d’un nom d’utilisateur/mot de passe lors de la connexion à des serveurs nécessitant une authentification, par exemple :http://user:[email protected], n’est possible qu’avec la prise en charge de cURL 4. Le punycode est pris en charge dans les noms d’hôte. - path - le chemin vers un document HTML (la valeur par défaut est /) ;
- port - le numéro de port (la valeur par défaut est 80 pour HTTP)
Commentaires :
- Cet élément devient non pris en charge si la ressource spécifiée dans
hostn’existe pas ou n’est pas disponible. hostpeut être un nom d’hôte, un nom de domaine, une adresse IPv4 ou IPv6. Mais pour une adresse IPv6, l’agent Zabbix doit être compilé avec la prise en charge d’IPv6 activée.
Exemples :
web.page.perf[www.example.com,index.php,80]
web.page.perf[https://www.example.com]
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]
Trouve une chaîne sur la page web.
Valeur de retour : la chaîne correspondante, ou comme spécifié par le paramètre facultatif output.
Voir les plateformes prises en charge.
Paramètres :
- host - le nom d’hôte ou l’URL (sous la forme
scheme://host:port/path, où seul host est obligatoire). Schémas d’URL autorisés : http, https4. Un schéma manquant sera traité comme http. Si une URL est spécifiée,pathetportdoivent être vides. La spécification d’un nom d’utilisateur/mot de passe lors de la connexion à des serveurs nécessitant une authentification, par exemple :http://user:[email protected], n’est possible qu’avec la prise en charge de cURL 4. Le punycode est pris en charge dans les noms d’hôte. - path - le chemin vers un document HTML (la valeur par défaut est /) ;
- port - le numéro de port (la valeur par défaut est 80 pour HTTP)
- regexp - une expression régulière décrivant le motif requis ;
- length - le nombre maximal de caractères à renvoyer ;
- output - un modèle facultatif de formatage de sortie. La séquence d’échappement \0 est remplacée par la partie du texte correspondante (du premier caractère où la correspondance commence jusqu’au caractère où elle se termine), tandis qu’une séquence d’échappement \N (où N=1...9) est remplacée par le Nième groupe correspondant (ou par une chaîne vide si N dépasse le nombre de groupes capturés).
Commentaires :
- Cet élément devient non pris en charge si la ressource spécifiée dans
hostn’existe pas ou n’est pas disponible. hostpeut être un nom d’hôte, un nom de domaine, une adresse IPv4 ou IPv6. Mais pour une adresse IPv6, l’agent Zabbix doit être compilé avec la prise en charge d’IPv6 activée.- L’extraction du contenu à l’aide du paramètre
outputa lieu sur l’agent.
Exemples :
web.page.regexp[www.example.com,index.php,80,OK,2]
web.page.regexp[https://www.example.com,,,OK,2]
agent.hostmetadata
Les métadonnées d’hôte de l’agent.
Valeur de retour : String.
Voir les plateformes prises en charge.
Renvoie la valeur des paramètres HostMetadata ou HostMetadataItem, ou une chaîne vide si aucun n’est défini.
agent.hostname
Le nom d’hôte de l’agent.
Valeur de retour : String.
Voir les plateformes prises en charge.
Renvoie :
- En tant que contrôle passif - le nom du premier hôte indiqué dans le paramètre Hostname du fichier de configuration de l’agent ;
- En tant que contrôle actif - le nom du nom d’hôte actuel.
agent.ping
La vérification de disponibilité de l’agent.
Valeur de retour : Nothing - indisponible ; 1 - disponible.
Voir les plateformes prises en charge.
Utilisez la fonction de déclencheur nodata() pour vérifier l’indisponibilité de l’hôte.
agent.variant
La variante de l’agent Zabbix (agent Zabbix ou agent Zabbix 2).
Valeur de retour : 1 - agent Zabbix ; 2 - agent Zabbix 2.
Voir les plateformes prises en charge.
agent.version
La version de l'agent Zabbix.
Valeur de retour : String.
Voir les plateformes prises en charge.
Exemple de valeur renvoyée :
6.0.3
zabbix.stats[<ip>,<port>]
Renvoie un ensemble de métriques internes du serveur ou du proxy Zabbix. Si ip et port sont spécifiés, les métriques sont récupérées depuis l'instance distante ; sinon, depuis l'instance locale.
Valeur de retour : chaîne JSON.
Voir les plateformes prises en charge.
Paramètres :
- ip - la liste IP/DNS/masque réseau des serveurs/proxys à interroger à distance (la valeur par défaut est 127.0.0.1) ;
- port - le port du serveur/proxy à interroger à distance (la valeur par défaut est 10051)
Commentaires :
- Un ensemble sélectionné de métriques internes est renvoyé par cet élément. Pour plus de détails, voir Surveillance à distance des statistiques Zabbix.
- Notez que la requête de statistiques ne sera acceptée que depuis les adresses répertoriées dans le paramètre 'StatsAllowedIP' du serveur/proxy sur l'instance cible.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Renvoie le nombre d’éléments surveillés dans la file d’attente qui sont retardés à distance sur le serveur ou le proxy Zabbix.
Valeur de retour : chaîne JSON.
Voir les plateformes prises en charge.
Paramètres :
- ip - la liste IP/DNS/masque réseau des serveurs/proxys à interroger à distance (la valeur par défaut est 127.0.0.1) ;
- port - le port du serveur/proxy à interroger à distance (la valeur par défaut est 10051)
- queue - constante (à utiliser telle quelle)
- from - retardé d’au moins (la valeur par défaut est 6 secondes)
- to - retardé d’au plus (la valeur par défaut est l’infini)
Notez que la requête de statistiques ne sera acceptée que depuis les adresses répertoriées dans le paramètre server/proxy 'StatsAllowedIP' sur l’instance cible.
Notes de bas de page
1Note spécifique à Linux. Zabbix agent doit disposer d’un accès en lecture seule au système de fichiers /proc. Les correctifs du noyau provenant de www.grsecurity.org limitent les droits d’accès des utilisateurs non privilégiés.
2 vfs.dev.read[], vfs.dev.write[] : Zabbix agent mettra fin aux connexions de périphériques « obsolètes » si les valeurs des éléments ne sont pas consultées pendant plus de 3 heures.
Cela peut se produire si un système possède des périphériques dont les chemins changent dynamiquement ou si un périphérique est supprimé manuellement.
Notez également que ces éléments, s’ils utilisent un intervalle de mise à jour de 3 heures ou plus, renverront toujours « 0 ».
3 vfs.dev.read[], vfs.dev.write[] : Si la valeur par défaut all est utilisée pour le premier paramètre, alors la clé renverra des statistiques récapitulatives, incluant tous les périphériques de blocs comme sda, sdb, ainsi que leurs partitions (sda1, sda2, sdb3...) et les périphériques multiples (RAID MD) basés sur ces périphériques de blocs/partitions, ainsi que les volumes logiques (LVM) basés sur ces périphériques de blocs/partitions.
Dans de tels cas, les valeurs renvoyées doivent être considérées uniquement comme des valeurs relatives (dynamiques dans le temps) et non comme des valeurs absolues.
4 SSL (HTTPS) est pris en charge uniquement si l’agent est compilé avec la prise en charge de cURL. Sinon, l’élément deviendra non pris en charge.
5 Les valeurs bytes et errors ne sont pas prises en charge pour les interfaces loopback sur les systèmes Solaris jusqu’à Solaris 10 6/06 inclus, car les statistiques d’octets, d’erreurs et d’utilisation ne sont pas stockées et/ou rapportées par le noyau.
Cependant, si vous surveillez un système Solaris via net-snmp, des valeurs peuvent être renvoyées, car net-snmp contient du code hérité de cmu-snmp datant d’aussi loin que 1997 qui, lorsqu’il ne parvient pas à lire les valeurs d’octets dans les statistiques de l’interface, renvoie le compteur de paquets (qui existe sur les interfaces loopback) multiplié par une valeur arbitraire de 308.
Cela repose sur l’hypothèse que la longueur moyenne d’un paquet est de 308 octets, ce qui est une estimation très approximative, puisque la limite MTU sur les systèmes Solaris pour les interfaces loopback est de 8892 octets.
Il ne faut pas supposer que ces valeurs sont correctes, ni même proches de la réalité.
Ce sont des estimations approximatives.
Zabbix agent ne fait aucune approximation, mais net-snmp renverra une valeur pour ces champs.
6 La ligne de commande sur Solaris, obtenue depuis /proc/pid/psinfo, est limitée à 80 octets et contient la ligne de commande telle qu’elle était au moment du démarrage du processus.
7 Les éléments vfs.file.contents[], vfs.file.regexp[], vfs.file.regmatch[] peuvent être utilisés pour récupérer le contenu des fichiers.
Si vous souhaitez restreindre l’accès à des fichiers spécifiques contenant des informations sensibles, exécutez Zabbix agent sous un utilisateur ne disposant pas des autorisations nécessaires pour consulter ces fichiers.
Utilisation avec les utilitaires en ligne de commande
Notez que lors du test ou de l'utilisation de clés d'élément avec zabbix_agentd ou zabbix_get depuis la ligne de commande, vous devez également tenir compte de la syntaxe du shell.
Par exemple, si un certain paramètre de la clé doit être placé entre guillemets doubles, vous devez échapper explicitement les guillemets doubles, sinon ils seront supprimés par le shell en tant que caractères spéciaux et ne seront pas transmis à l'utilitaire Zabbix.
Exemples :
zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'
zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]
Paramètres d’encodage
Pour s’assurer que les données acquises ne sont pas corrompues, vous pouvez spécifier l’encodage correct pour le traitement de la vérification (par ex. vfs.file.contents) dans le paramètre encoding.
La liste des encodages pris en charge (identifiants de pages de codes) est disponible dans la documentation de libiconv (projet GNU) ou dans la documentation du SDK Microsoft Windows pour les "Identifiants de pages de codes".
Notez que Microsoft marque parfois certaines pages de codes comme « disponibles uniquement pour les applications managées », c’est-à-dire exposées uniquement via l’environnement d’exécution .NET et non disponibles via les API Win32 natives.
L’agent Zabbix implémente sa propre logique de conversion d’encodage ; par conséquent, ces pages de codes sont prises en charge par l’agent Zabbix même lorsque les fonctions Windows natives ne les fournissent pas.
Si aucun encodage n’est spécifié dans le paramètre encoding, les stratégies de résolution suivantes sont appliquées :
- Si l’encodage n’est pas spécifié (ou est une chaîne vide), il est supposé être UTF-8 ; les données sont traitées « telles quelles » ;
- Analyse du BOM — applicable aux éléments
vfs.file.contents,vfs.file.regexp,vfs.file.regmatch. Une tentative est faite pour déterminer l’encodage correct en utilisant la marque d’ordre des octets (BOM) au début du fichier. Si aucun BOM n’est présent, la résolution standard (voir ci-dessus) est appliquée à la place.
Dépannage des éléments d'agent
Dans le cas des contrôles passifs, afin d'éviter qu'un élément ne reçoive aucune valeur parce que la requête du serveur vers l'agent expire en premier, il convient de noter ce qui suit :
- Lorsque la version de l'agent est antérieure à celle du serveur, la valeur Timeout dans la configuration de l'élément (ou le délai d'expiration global) peut devoir être supérieure à la valeur
Timeoutdans le fichier de configuration de l'agent. - Lorsque la version de l'agent est plus récente que celle du serveur, la valeur
Timeoutdans le fichier de configuration du serveur peut devoir être supérieure à la valeurTimeoutdans le fichier de configuration de l'agent.