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

Sidebar

1 Agent Zabbix

Aperçu

Ces vérifications utilisent la communication avec l'agent Zabbix pour la collecte de données.

Il y a des vérifications passives et actives d'agents. Lorsque vous configurez un élément, vous pouvez sélectionner le type requis :

  • Zabbix agent - pour les vérifications passives
  • Zabbix agent (active) - pour les vérifications actives

Clés d'élément supportés

Le tableau fournit des détails sur les clés d'élément que vous pouvez utiliser avec les éléments d'agent Zabbix.

Voir aussi :

** Paramètres obligatoires et facultatifs **

Les paramètres sans chevrons sont obligatoires. Les paramètres marqués avec des chevrons < > sont facultatifs.

Clé
Description Valeur de retour Paramètres Commentaires
agent.hostname
Nom de l'hôte. Chaîne Retourne la valeur actuelle correspondant au nom de l'agent dans le fichier de configuration.
agent.ping
Vérification de la disponibilité de l'agent. Rien - indisponible

1 - disponible
Utiliser la fonction de déclencheur nodata() pour vérifier l'indisponibilité de l'hôte.
agent.version
Version de l'agent Zabbix. Chaîne Exemple de valeur de retour :
1.8.2
kernel.maxfiles
Nombre maximum de fichiers ouverts supportés par l'OS. Entier
kernel.maxproc
Nombre maximum de processus supporté par l'OS. Entier
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>]
Supervision de fichier de log. Log file - chemin d'accès complet et nom du fichier de log
regexp - expression régulière décrivant le motif requis
encoding - encodage du texte
maxlines - nombre maximum de nouvelles lignes par seconde que l'agent enverra au serveur ou proxy Zabbix. Ce paramètre remplace la valeur de 'MaxLinesPerSecond' dans zabbix_agentd.conf
mode - valeurs possibles :
all (par défaut), skip - ignorer le traitement des anciennes données (affecte uniquement les éléments nouvellement créés).
output - un modèle de mise en forme de sortie optionnel. La séquence d'échappement \0 est remplacée par le texte correspondant alors qu'une séquence d'échappement \N (où N=1...9) est remplacée par Nième groupe correspondant (ou une chaîne vide si le N dépasse le nombre de groupes capturés).
maxdelay - délai maximum en secondes. Type : flottant. Valeurs : 0 - (par défaut) n'ignore jamais les lignes de fichiers de log ; > 0.0 - ignore les anciennes lignes afin d'obtenir les lignes les plus récentes analysées dans les secondes "maxdelay". Lisez les notes maxdelay avant de l'utiliser !
L'élément doit être configuré en tant que vérification active.
Si le fichier est manquant ou que les permissions sur le fichier empêche l'accès, l'élément devient non supporté.

Si le champ output est laissé vide - la ligne entière contenant la correspondance du texte est retournée. Notez que tous les types d'expressions régulières globales sauf 'Résultat est VRAI’ retournent toujours toute la ligne correspondante et le paramètre output est ignoré.

L'extraction de contenu à l'aide du paramètre output a lieu sur l'agent.

Exemples :
=> log[/var/log/syslog]
=> log[/var/log/syslog,error]
=> log[/home/zabbix/logs/logfile,,,100]

Le paramètre mode est supporté depuis Zabbix 2.0.
Le paramètre output est supporté depuis Zabbix 2.2.
Le paramètre maxdelay est supporté depuis Zabbix 3.2.

Voir aussi des informations supplémentaires sur la supervision des fichiers de log.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>]
Compte le nombre de lignes qui correspondent dans le fichier de log. Entier file - chemin d'accès complet et nom du fichier de log
regexp - regular expression describing the required pattern
encoding - encodage du texte
maxproclines - nombre maximum de nouvelles lignes par seconde que l’agent va analyser. La valeur par défaut est 10*'MaxLinesPerSecond' dans zabbix_agentd.conf.
mode - valeurs possibles :
all (par défaul), skip - ignorer le traitement des anciennes valeurs (affecte uniquement les éléments nouvellement créés).
maxdelay - délai maximum en secondes. Type : flottant. Valeurs : 0 - (par défaut) n’ignore jamais les lignes du fichier de log ; > 0.0 - ignore les anciennes lignes afin d’obtenir les lignes les plus récentes analysées dans les "maxdelay" secondes. Lisez les notes concernant maxdelay avant de l’utiliser !
L’élément doit être configuré en tant que vérification active.
Si le fichier est manquant ou que les permissions sur le fichier en empêche l'accès, l'élément devient non supporté.

Voir aussi des informations supplémentaires sur la supervision des fichiers de log..

Supporté depuis Zabbix 3.2.0.
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>]
Surveillance du fichier de log avec prise en charge de la rotation. fichier de log file_regexp - chemin absolu vers le fichier et l'expression rationnelle décrivant le modèle de nom de fichier
regexp - expression régulière décrivant le motif requis
encoding - encodage du texte
maxlines - nombre maximum de nouvelles lignes par seconde que l'agent enverra au serveur ou proxy Zabbix. Ce paramètre remplace la valeur de 'MaxLinesPerSecond' dans zabbix_agentd.conf
mode - valeurs possibles :
all (par défaut), skip - s ignorer le traitement des anciennes données (affecte uniquement les éléments nouvellement créés).
output - un modèle de mise en forme de sortie optionnel. La séquence d'échappement \0 est remplacée par le texte correspondant alors 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 le N dépasse le nombre de groupes capturés).
maxdelay - délai maximum en secondes. Type : flottant. Valeurs : 0 - (par défaut) n'ignore jamais les lignes de fichier de log ; > 0.0 - ignore les anciennes lignes afin d'obtenir les lignes les plus récentes analysées dans les "maxdelay" secondes. Lisez les notes liées à maxdelay avant de l'utiliser !
options - type de rotation de fichier de log file rotation. Valeurs possibles :
rotate (par défaut), copytruncate. Notez que copytruncate ne peut pas utilisé avec maxdelay. Dans ce cas maxdelay doit être 0 ou non spécifié. Voir les notes liées à copytruncate.
L’élément doit être configuré en tant que vérification active.
La rotation de fichier de log est basée sur la date de dernière modification des fichiers.

Si le paramètre output est laissé vide - la ligne entière contenant le texte recherché est retourné. Notez que tous les types d'expressions régulières globales sauf 'Résultat est VRAI’ retournent toujours toute la ligne correspondante et le paramètre output est ignoré.

L'extraction de contenu à l'aide du paramètre output a lieu sur l'agent.

Exemples :
=> logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] → %% correspondra à un fichier comme "logfile1" (ne correspondra pas à ".logfile1")%%
=> logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] → %% collectera les données d’un fichier comme "logfile_abc_1" ou "logfile__001".%%

Le paramètre mode est supporté depuis Zabbix 2.0.
Le paramètre output est supporté depuis Zabbix 2.2.
Le paramètre maxdelay est supporté depuis Zabbix 3.2.
Le paramètre options est supporté depuis Zabbix 4.0.

Voir aussi des informations supplémentaires sur la supervision des fichiers de log.
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>]
Nombre de lignes correspondantes dans la surveillance des fichiers de logs avec prise en charge de la rotation. Entier file_regexp - chemin absolu vers le fichier et l'expression rationnelle décrivant le modèle de nom de fichier n
regexp - expression régulière décrivant le modèle de contenu requis
encoding - encodage du texte
maxproclines - nombre maximum de nouvelles lignes par seconde que l'agent va analyser. La valeur par défaut est 10*'MaxLinesPerSecond' dans zabbix_agentd.conf.
mode - valeurs possibles:
all (par défaut), skip - ignorer le traitement des anciennes données (affecte uniquement les éléments nouvellement créés).
maxdelay - délai maximum en secondes. Type: float. Valeurs : 0 - (par défaut) n'ignore jamais les lignes de fichier journal ; > 0.0 - ignore les anciennes lignes afin d'obtenir les lignes les plus récentes analysées dans les secondes "maxdelay". Lisez les notes de maxdelayavant de l'utiliser!
options - type de rotation de fichier de log. Valeurs possibles :
rotate (par défaut), copytruncate. Notez que copytruncate ne peut pas utilisé avec maxdelay. Dans ce cas maxdelay doit être 0 ou non spécifié. Voir les notes liées à copytruncate.

L’élément doit être configuré en tant que vérification active.
La rotation de fichier de log est basée sur la date de dernière modification des fichiers.

Le paramètre options est supporté depuis Zabbix 4.0.

Supporté depuis Zabbix 3.2.0.
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Vérifie si le service DNS fonctionne. 0 - le DNS est arrêté (le serveur n'a pas répondu ou la résolution DNS a échoué)

1 - le DNS est OK
ip - adresse IP du serveur DNS (laissez vide pour le serveur DNS par défaut, ignoré sous Windows)
name - Nom du serveur DNS à interroger
type - type d'enregistrement à interroger (par défaut, SOA )
timeout (ignoré sous Windows) - délai d'expiration de la requête en secondes (la valeur par défaut est 1 seconde)
count (ignoré sous Windows) - nombre d'essais pour la requête (la valeur par défaut est 2)
protocol - le protocole utilisé pour effectuer des requêtes DNS : udp (par défaut) ou tcp
Exemple:
=> net.dns[8.8.8.8,zabbix.com,MX,2,1]

Les valeurs possibles pour type sont :
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (sauf pour Windows), HINFO, MINFO, TXT, SRV

Les noms de domaine internationalisés ne sont pas supportés, veuillez utiliser les noms codés IDNA à la place.

Le paramètre protocol est supporté depuis Zabbix 3.0.
Le type d'enregistrement SRV est pris en charge depuis les versions d'agent Zabbix 1.8.6 (Unix) et 2.0.0 (Windows).

Nom avant Zabbix 2.0 (toujours supporté) : net.tcp.dns
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Effectue une requête DNS. Chaîne de caractères avec le type d'information demandé ip - Adresse IP du serveur DNS (laissez vide pour le serveur DNS par défaut, ignoré sous Windows)
name - Nom DNS à interroger
type - type d' enregistrement à interroger (par défaut, SOA)
timeout (ignoré sous Windows) - délai d'expiration de la requête en secondes (la valeur par défaut est 1 seconde)
count (ignoré sous Windows) - nombre d'essais pour la requête (la valeur par défaut est 2)
protocol - le protocole utilisé pour effectuer des requêtes DNS : udp (par défaut) ou tcp
Example:
=> net.dns.record[8.8.8.8,zabbix.com,MX,2,1]

Les valeurs possible pour type sont :
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (sauf pour Windows), HINFO, MINFO, TXT, SRV

Les noms de domaine internationalisés ne sont pas supportés, veuillez utiliser les noms codés IDNA à la place.

Le paramètre protocol est supporté depuis Zabbix 3.0.
Le type d'enregistrement SRV est pris en charge depuis les versions d'agent Zabbix 1.8.6 (Unix) et 2.0.0 (Windows).

Nom avant Zabbix 2.0 (toujours supporté) : net.tcp.dns
net.if.collisions[if]
Nombre de collisions hors de la fenêtre. Entier if - Nom de l’interface réseau
net.if.discovery
Liste des interfaces réseaux. Utilisé pour la découverte de bas niveau. Objet JSON Supporté depuis l’agent Zabbix version 2.0.

Sur FreeBSD, OpenBSD et NetBSD supporté depuis l’agent Zabbix version 2.2.

Certaines versions Windows (par exemple, Server 2008) peuvent nécessiter l'installation des dernières mises à jour pour prendre en charge les caractères non ASCII dans les noms d'interface.
net.if.in[if,<mode>]
Statistiques du trafic entrant sur l'interface réseau. Entier if - nom de l’interface réseau (Unix); Description complète de l'interface réseau ou adresse IPv4 (Windows)
mode - valeurs possibles :
bytes - nombre d’octets (par défault)
packets - nombre de paquets
errors - nombre d’erreurs
dropped - nombre de paquets perdus
overruns (fifo) - le nombre d’erreur du buffer FIFO
frame - le nombre d'erreurs de trames de paquets
compressed - le nombre de paquets compressés transmis ou reçus par le pilote de périphérique
multicast - le nombre de trames de multidiffusion reçues par le pilote de périphérique
Sous Windows, l'élément obtient des valeurs à partir des compteurs 64 bits, si disponibles. Les compteurs de statistiques d'interface 64 bits ont été introduits dans Windows Vista et Windows Server 2008. Si les compteurs 64 bits ne sont pas disponibles, l'agent utilise des compteurs 32 bits.

Les noms d'interface multi-octets sous Windows sont pris en charge depuis la version de l'agent Zabbix 1.8.6.

Exemples :
=> net.if.in[eth0,errors]
=> net.if.in[eth0]

Vous pouvez obtenir des descriptions d'interface réseau sur Windows avec net.if.discovery ou net.if.list items.

Vous pouvez utiliser cette clé avec l’étape de pré-traitement Change per second step in order to get bytes per second statistics.
net.if.out[if,<mode>]
Statistiques du trafic sortant sur l'interface réseau. Entier if - nom de l’interface réseau (Unix); Description complète de l'interface réseau ou adresse IPv4 (Windows)
mode - valeurs possibles :
bytes - nombre d’octets (par défaut)
packets - nombre de paquets
errors - nombre d’erreurs
dropped - nombre de paquets perdus
overruns (fifo) - le nombre d’erreur du buffer FIFO
collisions (colls) - le nombre de collision détectées sur l’interface
carrier - le nombre de pertes carrier détectées par le pilote de périphérique 
compressed - le nombre de paquets compressés transmis par le pilote de périphérique
Sous Windows, l'élément obtient des valeurs à partir des compteurs 64 bits, si disponibles. Les compteurs statistiques d'interface 64 bits ont été introduits dans Windows Vista et Windows Server 2008. Si les compteurs 64 bits ne sont pas disponibles, l'agent utilise des compteurs 32 bits. 

Les noms d'interface multi-octets sous Windows sont pris en charge depuis la version de l'agent Zabbix 1.8.6.

Exemples :
=> net.if.out[eth0,errors]
=> net.if.out[eth0]

Vous pouvez obtenir des descriptions d'interface réseau sur Windows avec net.if.discovery ou net.if.list items.

Vous pouvez utiliser cette clé avec l’étape de pré-traitement Change per second step in order to get bytes per second statistics.
net.if.total[if,<mode>]
Somme des statistiques du trafic entrant et sortant sur l'interface réseau. Entier if - nom de l’interface réseau (Unix); Description complète de l'interface réseau ou adresse IPv4 (Windows)
mode - valeurs possibles :
bytes - nombre d’octets (par défaut)
packets - nombre de paquets
errors - nombre d’erreurs
dropped - nombre de paquets perdus
overruns (fifo) - le nombre d’erreur du buffer FIFO
compressed - le nombre de paquets compressés transmis par le pilote de périphérique
Sous Windows, l'élément obtient des valeurs à partir des compteurs 64 bits, si disponibles. Les compteurs statistiques d'interface 64 bits ont été introduits dans Windows Vista et Windows Server 2008. Si les compteurs 64 bits ne sont pas disponibles, l'agent utilise des compteurs 32 bits. 

Exemples :
=> net.if.total[eth0,errors]
=> net.if.total[eth0]

Vous pouvez obtenir des descriptions d'interface réseau sur Windows avec net.if.discovery ou net.if.list items.

Vous pouvez utiliser cette clé avec l’étape de pré-traitement Change per second step in order to get bytes per second statistics.

Notez que les paquets perdus ne sont pris en charge que si net.if.in et net.if.out fonctionnent pour les paquets perdus sur votre plate-forme.
net.tcp.listen[port]
Vérifie si ce port TCP est dans l'état LISTEN. 0 - il n'est pas dans l'état d'écoute

1 - il est en état d'écoute
port - numéro du port TCP Exemple :
=> net.tcp.listen[80]

Sous Linux supporté depuis l'agent Zabbix version 1.8.4 

Depuis Zabbix 3.0.0, sur les noyaux Linux 2.6.14 et supérieurs, des informations sur l'écoute des sockets TCP 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 /proc/net/tcp6.
net.tcp.port[<ip>,port]
Vérifie s'il est possible d'établir une connexion TCP avec le port spécifié. 0 - connexion impossible

1 - connexion possible
ip - adresse IP (par défaut 127.0.0.1)
port - numéro de port
Exemple :
=> net.tcp.port[,80] → peut être utilisé pour tester la disponibilité du serveur Web exécuté sur le port 80.

Pour des tests de performances TCP simples, utilisez net.tcp.service.perf[tcp,<ip>,<port>]

Notez que ces vérifications peuvent entraîner des messages supplémentaires dans les fichiers de log du démon système (les sessions SMTP et SSH étant généralement loggées).

Ancien nom : check_port[*]
net.tcp.service[service,<ip>,<port>]
Vérifie si le service est en cours d'exécution et accepte les connexions TCP. 0 - le service est arrêté

1 - le service fonctionne
service - l’un parmi :
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (voir les détails)
ip -adresse IP (par défaut 127.0.0.1)
port - numéro du port (par défaut, le numéro de port du service standard est utilisé)
Example:
=> net.tcp.service[ftp,,45] → peut être utilisé pour tester la disponibilité du serveur FTP sur le port TCP 45. 

Notez que ces vérifications peuvent entraîner des messages supplémentaires dans les fichiers de log du démon système (les sessions SMTP et SSH étant généralement loggées). 

La vérification des protocoles cryptés (comme IMAP sur le port 993 ou POP sur le port 995) n'est actuellement pas supporté. Pour contourner ce problème, utilisez net.tcp.port pour les vérifications similaires.

La vérification de l'agent LDAP et HTTPS par Windows n'est actuellement pas prise en charge.

Notez que la vérification de telnet recherche une invite de connexion (avec ‘:’ à la fin).

Voir aussi les problèmes connus concernant la vérification du service HTTPS.

Les services https et telnet sont supportés depuis Zabbix 2.0.

Ancien nom : check_service[*]
net.tcp.service.perf[service,<ip>,<port>]
Vérifie les performances du service TCP. 0 - le service est arrêté

seconds - le nombre de secondes passées à se connecter au service
service - l’un parmi :
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (voir les détails)
ip - adresse IP (défaut 127.0.0.1)
port - numéro du port (par défaut, le numéro de port de service standard est utilisé)
Exemple :
=> net.tcp.service.perf[ssh] → peut être utilisé pour tester la vitesse de la réponse initiale du serveur SSH.

La vérification des protocoles cryptés (comme IMAP sur le port 993 ou POP sur le port 995) n'est actuellement pas prise en charge. Pour résoudre ce problème, utilisez net.tcp.service.perf[tcp,<ip>,<port>] pour les vérifications de ce type.

La vérification de l'agent LDAP et HTTPS par Windows n'est actuellement pas prise en charge.

Notez que la vérification de telnet recherche une invite de connexion (avec ‘:’ à la fin).

Voir aussi les problèmes connus concernant la vérification du service HTTPS.

Les services https et telnet sont supportés depuis Zabbix 2.0

Ancien nom : check_service_perf[*]
net.udp.listen[port]
Vérifie si ce port UDP est en état LISTEN. 0 - il n'est pas en état LISTEN

1 - il est en état LISTEN
port - numéro de port UDP Exemple :
=> net.udp.listen[68]

Sur Linux, supporté depuis l’agent Zabbix en version 1.8.4
net.udp.service[service,<ip>,<port>]
Vérifie si le service est en cours d'exécution et répond aux demandes UDP. 0 - le service est arrêté

1 - le service fonctionne
service - ntp (voir les détails)
ip - adresse IP (par défaut 127.0.0.1)
port - numéro du port (par défaut, le numéro de port du service standard est utilisé)
Exemple :
=> net.udp.service[ntp,,45] → peut être utilisé pour tester la disponibilité du service NTP sur le port UDP 45.

Cet élément est supporté depuis Zabbix 3.0.0, mais le service ntp était disponible pour les éléments net.tcp.service[] dans les versions précédentes.
net.udp.service.perf[service,<ip>,<port>]
Vérifie les performances du service UDP. 0 - le service est arrêté

seconds - le nombre de secondes passées à attendre la réponse du service
service - ntp (voir les détails)
ip - adresse IP (par défaut 127.0.0.1)
port - numéro du port (par défaut, le numéro de port du service standard est utilisé)
Exemple :
=> net.udp.service.perf[ntp] → peut être utilisé pour tester le temps de réponse du service NTP.

Cet élément est supporté depuis Zabbix 3.0.0, mais le service ntp était disponible pour l’élément net.tcp.service[] dans les versions précédentes.
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
Pourcentage d’utilisation du processeur Flottant name - nom du processus (par défaut tous les processus)
username - nom de l’utilisateur (par défaut tous les utilisateurs)
type - type d’utilisation CPU :
total (défaut), utilisateur, system
cmdline - filtrer par ligne de commande (il s’agit d’une expression régulière)
mode - mode de récupération des données : avg1 (défaut), avg5, avg15
zone - zone cible : current (défaut), all. Ce paramètre est supporté uniquement sur les plateformes Solaris. Depuis Zabbix 3.0.3 si l’agent a été compilé sur Solaris sans la prise en charge de zonerais qu’il tourne sur une version plus récente de Solaris ogles zones sont prises en charge et que le paramètre <zone> est défaut ou current alors l’agent retournera NOTSUPPORTED (l'agent ne peut pas limiter les résultats à la seule zone actuelle). Cependant, la valeur all du paramètre <zone> est supporté dans ce cas.
Exemples :
=> proc.cpu.util[,root] → Utilisation du processeur de tous les processus s'exécutant sous l'utilisateur ‘’root’’
=> proc.cpu.util[zabbix_server,zabbix] → Utilisation du processeur de tous les processus zabbix_server exécutés sous l'utilisateur zabbix

La valeur renvoyée est basée sur le pourcentage d'utilisation du cœur du processeur unique. Par exemple, l'utilisation du processeur d'un processus utilisant deux cœurs est de 200%.

Les données d'utilisation du processeur sont recueillies par un collecteur qui prend en charge le maximum de 1024 requêtes uniques (par nom, utilisateur et ligne de commande). Les requêtes non accessibles au cours des dernières 24 heures sont supprimées du collecteur.

Cette clé est supportée depuis Zabbix 3.0.0 et est disponible sur plusieurs plateformes (voir les éléments supportés par plateforme).
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
Mémoire utilisée par le processus en octets. Entier name - nom du processus (par défaut all processes)
user - nom de l’utilisateur (par défaut all users)
mode - valeurs possibles :
avg, max, min, sum (défaut)
cmdline - filtrer par ligne de commande line (il s’agit d’une expression régulière)
memtype - type de mémoire utilisée par processus
Exemples :
=> proc.mem[,root] → mémoire utilisée par tous les processus s'exécutant sous l'utilisateur "root"
=> proc.mem[zabbix_server,zabbix] → mémoire utilisée par tous les processus zabbix_server exécutés sous l'utilisateur zabbix
=> proc.mem[,oracle,max,oracleZABBIX] → mémoire utilisée par le processus le plus gourmand en mémoire sous oracle ayant oracleZABBIX dans sa ligne de commande

Remarque : Lorsque plusieurs processus utilisent la mémoire partagée, la somme de la mémoire utilisée par les processus peut générer des valeurs importantes et irréalistes.

Voir les notes sur la sélection des processus avec les paramètres name et cmdline (spécifiques à Linux).

Le paramètre memtype est supporté sur plusieurs platformes depuis Zabbix 3.0.0.
proc.num[<name>,<user>,<state>,<cmdline>]
Le nombre de processus. Entier name - nom du processus (par défaut all processes)
user - nom de l'utilisateur (par défaut all users)
state - valeurs possibles :
all (par défaut),
disk - sommeil ininterrompu,
run - s'exécute,
sleep - sommeil interruptible,
trace - arrêté,
zomb - zombie
cmdline - filtre par ligne de commande (il s'agit d'une expression régulière)
Exemples :
=> proc.num[,mysql] → nombre de processus s'exécutant sous l'utilisateur mysql
=> proc.num[apache2,www-data] → nombre de processus apache2 s'exécutant sous l'utilisateur www-data
=> proc.num[,oracle,sleep,oracleZABBIX] → nombre de processus en état de veille s'exécutanten tant qu'utilisateur oracle ayant oracleZABBIX dans sa ligne de commande

Voir les notes concernant la sélection des processus avec les paramètres name et cmdline (Spécifique à Linux).

Sur Windows, seuls les paramètres name et user sont supportés.

Les valeurs de disk et trace pour le paramètre state sont supportés depuis Zabbix 3.4.0.
sensor[device,sensor,<mode>]
Lecture du sensor matériel. Flottant device - nom du périphérique
sensor - nom du sensor
mode - valeurs possibles :
avg, max, min (si ce paramètre est omis, le périphérique et le sensor sont traités textuellement).
Lit /proc/sys/dev/sensors sur Linux 2.4.

Exemple :
=> sensor[w83781d-i2c-0-2d,temp1]

Dans les versions antérieures à Zabbix 1.8.4, le format sensor[temp1] était utilisé.
Lit /sys/class/hwmon sur Linux 2.6+.

Voir une description plus détailée de l'élément sensor sur Linux.
lit la MIB hw.sensors sur OpenBSD.

Exemples :
=> sensor[cpu0,temp0] → température d'un CPU
=> sensor["cpu[0-2]$",temp,avg] → température moyenne des trois premiers CPU

Supporté sur OpenBSD depuis Zabbix 1.8.4.
system.boottime
Heure du dernier démarrage. Entier (horodatage Unix)
system.cpu.discovery
Liste des CPU/cœurs de CPU détectés. Utilisé pour la découverte de bas niveau. objet JSON Supporté sur toutes les plateformes depuis since 2.4.0.
system.cpu.intr
Interruption du périphérique. Entier
system.cpu.load[<cpu>,<mode>]
Charge CPU. Flottant cpu - valeurs possibles :
all (par défaut), percpu (charge totale divisée par le nombre de processeurs en ligne)
mode - valeurs possibles :
avg1 (par défaut moyenne sur une minute), avg5, avg15
Exemple :
=> system.cpu.load[,avg5]

percpu est supporté depuis Zabbix 2.0.0.

Ancien nom : system.cpu.loadX
system.cpu.num[<type>]
Nombre de CPUs. Entier type - valeurs possibles :
online (par défaut), max
Exemple :
=> system.cpu.num
system.cpu.switches
Nombre de commutateurs de contexte. Entier Ancien nom : system[switches]
system.cpu.util[<cpu>,<type>,<mode>]
Pourcentage d'utilisation CPU. Flottant cpu - <CPU number> ou all (par défaut)
type - valeurs possibles :
idle, nice, user (par défaut), system (par défaut pour Windows), iowait, interrupt, softirq, steal, guest (sur les kernels Linux 2.6.24 et supérieur), guest_nice (sur les kernels Linux 2.6.33 et supérieur). Les parameters user et temps nice n'inclus plus le temps guest et le temps guest_nice depuis Zabbix 3.0.14, 3.4.5 et 4.0.0.
mode - valeurs possibles :
avg1 (moyenne sur une minute, par défaut), avg5, avg15
Exemple :
=> system.cpu.util[0,user,avg5]

Anciens noms : system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX
system.hostname[<type>]
Nom d'hôte du système. Chaîne type (Windows uniquement, ne doit pas être utilisé sur les autres systèmes) - valeurs possibles : netbios (par défaut) ou host La valeur est récupérée par les fonctions GetComputerName() (pour netbios) ou gethostname() (pour host) sur Windows et par la commande "hostname" sur les autres systèmes.

Exemples de valeurs de retour :
sur Linux:
=> system.hostname → linux-w7x1
=> system.hostname → www.zabbix.com
sur Windows :
=> system.hostname → WIN-SERV2008-I6
=> system.hostname[host] → Win-Serv2008-I6LonG

Le paramètre type pour cet élément est supporté depuis Zabbix 1.8.6.

Voir aussi une description plus détaillée.
system.hw.chassis[<info>]
Informations sur le châssis. Chaîne info - un de full (par défaut), model, serial, type ou vendor Exemple : system.hw.chassis[full]
Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]

Cette clé dépend de la disponibilité du tableau SMBIOS.
Essayera de lire le tableau DMI de sysfs, si l'accès sysfs échoue alors il essayera de lire directement en mémoire.

Les autorisations Root sont nécessaire car la valeur est récupérée en lisant sysfs ou en mémoire.

Supporté depuis l'agent Zabbix en version 2.0.
system.hw.cpu[<cpu>,<info>]
Information sur le processeur. Chaîne ou entier cpu - <nombre de CPU> ou all (par défaut)
info - valeurs possibles :
full (par défaut), curfreq, maxfreq, model ou vendor
Exemple :
=> system.hw.cpu[0,vendor] → AuthenticAMD

Récupère les informations dans /proc/cpuinfo et /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq.

Si le numéro du CPU et curfreq ou maxfreq est spécifié, une valeur numérique est retournée (Hz).

Supporté depuis l'agent Zabbix en version 2.0.
system.hw.devices[<type>]
Liste des périphériques PCI ou USB. Texte type - pci (par défaut) ou usb Exemple :
=> system.hw.devices[pci] → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
[..]

Renvoie la sortie de l'utilitaire lspci ou lsusb (exécuté sans aucun paramètre)
\\Pris en charge depuis la version 2.0 de l'agent Zabbix.
system.hw.macaddr[<interface>,<format>]
Liste des adresses MAC. Chaîne interface - all (par défaut) ou une expression régulière
format - full (par défaut) ou short
Liste les adresses MAC des interfaces dont le nom correspond à l'expression régulière de l'interface donnée (all liste toutes les interfaces).

Exemple :
=> system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55

Si format est spécifié comme short, les noms d'interfaces et les adresses MAC identiques ne sont pas listées.

Supporté depuis l'agent Zabbix en version 2.0.
system.localtime[<type>]
Heure du sytème. Entier - avec type à utc

Chaîne - avec type à local
type - valeurs possibles :
utc - (par défaut) temps écoulé depuis le 1er Janvier 1970 00:00:00 UTC, mesuré en secondes.
local - l'heure dans le format 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'
Les paramètres pour cet élément sont supportés depuis l'agent Zabbix en version 2.0.

Exemple :
=> system.localtime[local] → créé un élément à l'aide de cette touche, puis utilisez-le pour afficher l'heure de l'hôte dans l'élément d'écran Horloge.
system.run[command,<mode>]
Exécute la commande spécifiée sur l'hôte. Résultat de la commande sous forme de texte

1 - avec mode à nowait (peu importe le résultat de la commande)
command - commande à exécuter
mode - valeurs possibles :
wait - attend la fin de l'exécution (par défaut),
nowait - ne pas attendre
Il est possible de renvoyer jusqu'à 512 Ko de données, y compris les espaces de fin tronqués.
Pour être traité correctement, la sortie de la commande doit être du texte.

Exemple :
=> system.run[ls -l /] → liste détaillée des fichiers du répertoire racine.

//Remarque : Pour activer cette fonctionnalité, le fichier de configuration de l'agent doit contenir l'option EnableRemoteCommands=1.

La valeur de retour de l'élément est la sortie standard avec l'erreur standard produite par la commande. Le code de sortie n'est pas vérifié.

Le résultat vide est autorisé à partir de Zabbix 2.4.0.
Voir aussi : Exécution de commandes. | | ||||| ^system.stat[resource,<type>] ^^^^^ ^ |Statistiques du système. |Entier ou flottant |ent - nombre d'unités de processeur que cette partition est autorisée à recevoir (flottant)
kthr,<type> - informations sur l'état des thread du noyau :
r// - nombre moyen de threads exécutables du noyau (flottant)
b - nombre moyen de threads du noyau placés en file d'attente du gestionnaire de mémoire virtuelle (flottant)
memory,<type> - informations concernant l'utilisation de la mémoire virtuelle et de la mémoire réelle :
avm - pages virtuelles actives (entier)
fre - taille de la liste libre (entier)
page,<type> - informations concernant les erreurs de page et l'activité de pagination :
fi - fichier page-ins par seconde (flottant)
fo - fichier page-outs per second (float)
pi - pages entrantes paginées dans l'espace de pagination (flottant)
po - pages sortantes de l'espace de pagination (flottant)
fr - pages libérées (remplacement de la page) (flottant)
sr - pages scannées par l'algorithme de remplacement de page (flottant)
faults,<type> - taux de traps et d'interruption :
in - interruption de périphériques (flottant)
sy - appels système (flottant)
cs - Commutateurs de contexte de threads du noyau (flottant)
cpu,<type> - répartition du pourcentage d'utilisation du temps processeur :
us - temps utilisateur (flottant)
sy - temps système (flottant)
id - temps d'inactivité (flottant)
wa - temps d'inactivité durant lequel le système avait des requêtes d' E/S disque/NFS en attente (flottant)
pc - nombre de processeur physique consommés (flottant)
ec - le pourcentage de capacité admissible consommée (flottant)
lbusy - indique le pourcentage d'utilisation des processeurs logiques survenus lors de l'exécution au niveau de l'utilisateur et du système (flottant)
app - indique les processeurs physiques disponibles dans le pool partagé (flottant)
disk,<type> - statistiques du disque :
bps - indique la quantité de données transférées (lues ou écrites) sur le lecteur en octets par seconde (entier)
tps - indique le nombre de transferts par seconde qui ont été émis sur le disque physique/la bande (flottant)
Cet élément est supporté depuis Zabbix 1.8.1.
system.sw.arch
Informations sur l'architecture logicielle. Chaîne Exemple :
=> system.sw.arch → i686

L'information est récupérée via la fonction uname().

Supporté depuis l'agent Zabbix en version 2.0.
system.sw.os[<info>]
Informations sur le système d'exploitation. Chaîne info - valeurs possibles :
full (par défaut), short ou name
Exemple :
=> system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11

L'information est récupérée via (notez que tous les fichiers et les options sont présents sur toutes les distributions) :
/proc/version (full)
/proc/version_signature (short)
le paramètre PRETTY_NAME DE /etc/os-release sur le système le supportant, ou /etc/issue.net (name)

Supporté depuis l'agent Zabbix en version 2.0.
system.sw.packages[<package>,<manager>,<format>]
Liste les packages installés. Texte package - all (par défaut) ou une expression régulière
manager - all (par défaut) ou un gestionnaire de package
format - full (par défaut) ou short
Liste (par ordre alphabétique) les paquets installés dont le nom correspond à l'expression régulière donnée (all : les liste tous).

Exemple :
=> system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal

Supporte les gestionnaires de packages (exécution de commandes):
dpkg (dpkg --get-selections)
pkgtool (ls /var/log/packages)
rpm (rpm -qa)
pacman (pacman -Q)

Si format est specifié à full, les packages sont regroupés par le gestionnaire de package (chaque gestionnaire sur un ligne séparée commençant par son nom entre crochets).
Si format est specifié à short, les packages ne sont pas regroupés et sont listés sur une seule ligne.

Supporté depuis l'agent Zabbix en version 2.0.
system.swap.in[<device>,<type>]
Statistiques du swap entrant (du périphérique à la mémoire). Entier device - périphérique utilisé pour le swap (par défaut est all)
type - valeurs possibles :
count (nombre de swapins), sectors (secteurs swappés), pages (pages swappées). Voir le support par plateforme pour plus de détails sur les valeurs pas défaut.
Exemple :
=> system.swap.in[,pages]

La source de cette information est :
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.out[<device>,<type>]
Statistiques du swap sortant (de la mémoire vers le périphérique). Entier device - périphérique utilisé pour le swap (par défaut est all)
type - valeurs possibles :
count (nombre de swapouts), sectors (secteurs swappés), pages (pages swappés). Voir le support par plateforme pour plus de détails sur les valeurs par défaut.
Exemple :
=> system.swap.out[,pages]

La source de cette information est :
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.size[<device>,<type>]
Taille de l'espace de swap en octets ou en pourcentage du total Entier - pour les octets

Flottant - pour le pourcentage
device - périphérique utilisé pour le swap (par défaut est all)
type - valeurs possibles :
free (espace libre du swap, par défaut), pfree (espace libre du swap, en pourcentage), pused (espace utilisé du swap, en pourcentage), total (espace totale du swap), used (espace utilisé du swap)
Exemple :
=> system.swap.size[,pfree] → pourcentage d'espace libre du swap

Si device n'est pas spécifié l'agent Zabbix ne prendra pas en compte le périphérique d'échange (fichiers), la mémoire physique sera ignorée. Par exemple, sur les systèmes Solaris la commande swap -s inclue une partie de la mémoire physique et de périphérique d'échange (contrairement à swap -l).

Notez que cette clé peut renvoyer un pourcentage erroné sur les plateforme Windows virtualisées (VMware ESXi, VirtualBox). Dans ce cas, il est préférable d'utiliser la clé perf_counter[\700(_Total)\702] pour obtenir les données d'utilisation correcte du swap.

Ancien nom : system.swap.free, system.swap.total
system.uname
Identification du system. Chaîne Exemple de valeur de retour (Unix) :
FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386

Exemple de valeur de retour (Windows):
Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86

Sur Unix, depuis Zabbix 2.2.0, la valeur de cet élément est obtenue avec l'appel système uname(). Précédemment, elle était obtenue en invoquant "uname -a". ". La valeur de cet élément peut différer de la sortie de "uname -a" et n'inclut pas les informations supplémentaires que "uname -a" affiche en fonction d'autres sources.

Sur Windows, depuis Zabbix 3.0, la valeur pour cet élément est obtenue par les classes WMI Win32_OperatingSystem et Win32_Processor. Précédemment, elle était obtenue depuis les APIs Windows volatiles et des clés de registre non documentées. Le nom de l'OS (édition incluse) peut être traduit dans la langue d'affichage de l'utilisateur. Sur certaines versions de Windows, il contient des symboles de marque et des espaces supplémentaires.

Notez que sous Windows, l'élément renvoie l'architecture du système d'exploitation, tandis que sous Unix, il renvoie l'architecture du processeur.
system.uptime
Temps de fonctionnement du système en secondes. Entier Dans item configuration, utilisez les unités s ou uptime pour avoir des valeurs lisibles.
system.users.num
Nombre d'utilisateurs connectés. Entier La commande who est utilisée côté agent pour obtenir la valeur.
vfs.dev.read[<device>,<type>,<mode>]
Statistiques de lecture de disque. Entier - avec type à sectors, operations, bytes

Flottant - avec type à sps, ops, bps
device - périphérique disque (par défaut est all)
type - valeurs possibles : sectors, operations, bytes, sps, ops, bps
Ce paramètre doit être spécifié, car les valeurs par défaut diffèrent sous différents systèmes d'exploitation.
sps, ops, bps représentent respectivement : secteurs, opérations, octets par secondes.
mode - valeurs possibles : avg1 (moyenne par minutes, par défaut), avg5, avg15.
Ce paramètre est supporté uniquement avec le type à : sps, ops, bps.
Les valeurs pas défaut du paramètre 'type' pour différents OS :
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Exemple :
=> vfs.dev.read[,operations]

sps, ops and bps sur les plates-formes prises en charge sont limités à 8 périphériques (7 individuels et un all). Depuis Zabbix 2.0.1 cette limite est de 1024 périphériques (1023 individuels et un pour all).

Si par défaut all est utilisé pour le premier paramètre alors la clé retourne des statistiques sommaires, y compris tous les périphériques bloc comme sda, sdb et leurs partitions (sda1, sda2, sdb3 ...) et plusieurs périphériques (MD raid) basés sur ces périphériques/partitions de bloc et volumes logiques (LVM) basés sur ces périphériques/partitions en mode bloc. Dans de tels cas, les valeurs renvoyées ne doivent être considérées que comme des valeurs relatives (dynamiques dans le temps) mais pas comme des valeurs absolues.

LVM supporté depuis Zabbix 1.8.6.

Seuls les noms de périphériques relatifs pouvaient être utilisés (par exemple, sda) jusqu'à Zabbix 1.8.6. Depuis lors, un préfixe optionnel /dev/ peut être utilisé (par exemple : /dev/sda).

Ancien nom : io[*]
vfs.dev.write[<device>,<type>,<mode>]
Statistiques d'écriture de disque. Entier - avec type à sectors, operations, bytes

Flottant - avec type à sps, ops, bps
device - périphérique disque (par défaut : all)
type - valeurs possibles : sectors, operations, bytes, sps, ops, bps
Ce paramètre doit être spécifié, car les valeurs par défaut diffèrent sous différents systèmes d'exploitation.
sps, ops, bps représentent respectivement : secteurs, opérations, octets par secondes.
mode - valeurs possibles : avg1 (moyenne par minutes, par défaut), avg5, avg15.
Ce paramètre est supporté uniquement avec le type à : sps, ops, bps.
Les valeurs pas défaut du paramètre 'type' pour différents OS :
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Exemple :
=> vfs.dev.write[,operations]

sps, ops and bps sur les plates-formes prises en charge sont limités à 8 périphériques (7 individuels et un all). Depuis Zabbix 2.0.1 cette limite est de 1024 périphériques (1023 individuels et un pour all).

Si par défaut all est utilisé pour le premier paramètre alors la clé retourne des statistiques sommaires, y compris tous les périphériques bloc comme sda, sdb et leurs partitions (sda1, sda2, sdb3 ...) et plusieurs périphériques (MD raid) basés sur ces périphériques/partitions de bloc et volumes logiques (LVM) basés sur ces périphériques/partitions en mode bloc. Dans de tels cas, les valeurs renvoyées ne doivent être considérées que comme des valeurs relatives (dynamiques dans le temps) mais pas comme des valeurs absolues.

LVM supporté depuis Zabbix 1.8.6.

Seuls les noms de périphériques relatifs pouvaient être utilisés (par exemple, sda) jusqu'à Zabbix 1.8.6. Depuis lors, un préfixe optionnel /dev/ peut être utilisé (par exemple : /dev/sda).

Ancien nom : io[*]
vfs.dir.count[dir,<regex_incl>,<regex_excl>,<types_incl>,<types_excl>,<max_depth>,<min_size>,<max_size>,<min_age>,<max_age>]
Compte le nombre d'entrées d'un dossier. Entier dir - chemin absolu du dossier
regex_incl - expression régulière décrivant le modèle de nom du fichier, du répertoire et du lien symbolique à inclure (inclus tous les fichiers, dossiers et liens symboliques si vide; la valeur par défaut est une chaîne vide)
regex_excl - expression régulière décrivant le modèle de nom du fichier, du répertoire et du lien symbolique à exclure (ne rien exclure si vide ; la valeur par défaut est une chaîne vide)
types_incl - un ensemble de types d'entrées de dossier à compter, valeurs possibles :
file - fichier, dir - sous-dossier, sym - lien symbolique, sock - socket, bdev - périphérique block, cdev - character device, fifo- FIFO, dev- synonyme de "bdev,cdev", all- tous les types mentionnés précédemment, i.e. "file,dir,sym,sock,bdev,cdev,fifo". Il s'agit de la valeur par défaut, si le paramètre est laissé vide. Les types multiples doivent être séparés par des virgules et l'ensemble doit être entouré par des guillement doubles "".
types_excl - un ensemble de types d'entrées de dossier à ne pas compter, les mêmes valeurs et syntax que pour <types_incl> s'appliquent. Si certaines entrées se trouvent dans <types_incl> et dans <types_excl>, les entrées de ce type ne seront PAS comptées.
max_depth - profondeur maximum de sous-dossier à traverser. -1 (par défaut) - unlimited, 0 - ne descend pas dans les sous-dossiers.
min_size - taille minimum des fichiers à compter. Les fichiers plus petit que la taille spécifiée ne seront pas comptés. La valeur est en octets. Les suffixes mémoire peuvent être utilisés.
max_size - taille maximum des fichiers à compter. Les fichiers plus gros que la taille spécifiée ne seront pas comptés. La valeur est en octets. Les suffixes mémoire peuvent être utilisés.
min_age - âge minimum d'entrée du dossier à compter. Les entrées modifiées avant cette valeur ne seront pas comptées. Il s'agit d'un entier représentant les secondes. Les suffixes de temps peuvent être utilisés.
max_age - âge maximum d'entrée du dossier à compter. Les entrées aussi vieille ou plus vieilles que la valeur spécifiée ne seront pas comptés (basé sur l'heure de modification). Il s'agit d'un entier représentant les secondes. Les suffixes de temps peuvent être utilisés.
Les variables d'environnement comme %APP_HOME%, $HOME et %TEMP% ne sont pas supportées.

Les pseudo-répertoires "." and ".." ne sont jamais comptabilisés.

Les liens symboliques ne sont jamais suivis pour la traversée des répertoires.

Sur les répertoires Windows, les liens symboliques sont ignorés et les liens physiques ne sont comptabilisés qu'une seule fois.

regex_incl et regex_excl sontPerl Compatible Regular Expressions (PCRE). regex_incl et regex_excl sont appliqués au fichiers et aux répertoires lors du calcul de la taille d'une entrée, mais sont ignorés lors de la traversée d'un dossier (if regex_incl is “(?i)^.+\.zip$” et max_depth n'est pas positionné, alors tous les sous-répertoires seront traversés, mais seulement les fichiers de type zip seront comptés). Si un nom de fichier correspond à regex_incl et à regex_excl ce fichier ne sera pas compté.

Le temps d'exécution sera limité par une valeur de délai d'attente par défaut de 3 secondes (paramètre «Timeout» dans le fichier de configuration de l'agent). Étant donné que la traversée de répertoires volumineux peut prendre plus de temps que cela, aucune donnée ne sera renvoyée et l'élément sera marqué comme "non pris en charge". Le décompte partiel ne sera pas retourné.

Lors du filtrage par taille, seuls les fichiers réguliers ont des tailles significatives. Sous Linux et BSD, les répertoires ont également des tailles non nulles (quelques Ko généralement). Les périphérique ont une taille nulle, par ex.la taille de /dev/sda1 ne reflète pas la taille de la partition associée. Par conséquent, lors de l'utilisation des paramètres <min_size> et <max_size>, il est conseillé de spécifier <types_incl> comme "file", pour é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 fichier dans le répertoire temporaire (Windows)

Supporté depuis Zabbix 4.0.0.
vfs.dir.size[dir,<regex_incl>,<regex_excl>,<mode>,<max_depth>]
Taille d'un répertoire (en octets). Entier dir - chemin absolu du répertoire
regex_incl - expression régulière décrivant le modèle de nom de fichier, répertoire et lien symbolique à inclure (inclure tous les fichiers, répertoires et liens symboliques si vide, chaîne vide est la valeur par défaut)
regex_excl - expression régulière décrivant le fichier, le répertoire et le lien symbolique à exclure (ne pas exclure si vide, chaîne vide est la valeur par défaut)
mode - valeurs possibles :
apparent (par défaut) - obtient des tailles de fichiers apparentes plutôt que l'utilisation du disque (agit comme du -sb dir), disk - obtient l'utilisation du disque (agit comme du -s -B1 dir). Contrairement à la commande du, l'élément vfs.dir.size prend en compte les fichiers cachés lors du calcul de la taille du répertoire (agit comme du -sb .[^.]* * dans le répertoire).
max_depth - profondeur maximale des sous-répertoires à parcourir. -1 (par défaut) - illimité, 0 - pas de descente dans les sous-répertoires.
Seuls les répertoires avec au moins l'autorisation de lecture pour l'utilisateur zabbix sont calculés.

Sur Windows, les liens symboliques et les liens durs ne sont pris en compte qu'une seule fois.

Avec des répertoires volumineux ou des lecteurs lents, cet élément peut expirer en raison du paramètre Timeout dans les fichiers de configuration de l'agent et du serveur/proxy. Augmentez les valeurs de délai d'attente si nécessaire.

Exemple :
⇒ vfs.dir.size[/tmp,log] - calcule la taille de tous les fichiers dans /tmp qui contiennent 'log'
⇒ vfs.dir.size[/tmp,log,^.+\.old$] - calcule la taille de tous les fichiers dans /tmp qui contiennent 'log', en excluant ceux contenant '.old'

La taille limite des fichiers dépend de la prise en charge des fichiers volumineux.

Supporté depuis Zabbix 3.4.0.
vfs.file.cksum[file]
Fichier checksum, calculé par l'algorithme UNIX cksum. Entier file - chemin complet d'accès au fichier Exemple :
=> vfs.file.cksum[/etc/passwd]

Exemple de valeur de retour :
1938292000

Ancien nom : cksum

La taille du fichier dépend de la prise en charge des fichiers volumineux.
vfs.file.contents[file,<encoding>]
Récupère le contenu d'un fichier. Texte file - chemin complet d'accès au fichier
encoding - encodage
Retourne une chaîne vide si le fichier est vide ou contient seulement les caractères LF/CR.

Exemple :
=> vfs.file.contents[/etc/passwd]

Cet élément est limité au fichier dont la taille est inférieur à 64 Ko.

Supporté depuis l'agent Zabbix en version 2.0.
vfs.file.exists[file]
Vérifie si le fichier existe. 0 - non trouvé

1 - le fichier ou le lien (symbolique ou dur) vers le fichier existe
file - chemin complet d'accès au fichier Exemple :
=> vfs.file.exists[/tmp/application.pid]

La valeur de retour dépend de ce que retourne la macro S_ISREG POSIX.

La limite de la taille du fichier dépend de la prise en charge des fichiers volumineux.
vfs.file.md5sum[file]
checksum MD5 du fichier. Chaîne de caractères (table de hachage MD5 du fichier) file - chemin complet d'accès au fichier Exemple :
=> vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Exemple de valeur de retour :
b5052decb577e0fffd622d6ddc017e82

La taille limite (64 Mo) pour cet élément a été supprimée en version 1.8.6.

La taille limite du fichier dépend de la pris en charge des fichiers volumineux.
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Trouve une chaîne dans un fichier. La ligne contenant la chaîne correspondante, ou comme spécifiée par le paramètre optionnel output file - chemin d'accès complet au fichier
regexp - Expresion régulière compatible Perl (PCRE) ou expression régulière étendue POSIX avant Zabbix 3.4
encoding - encodage
start line - Le numéro de la première ligne à chercher (première ligne du fichier par défaut).
end line - le numéro de la dernière ligne à chercher (dernière ligne du fichier par défaut).
output - un modèle de mise en forme de sortie en option. La séquence d'échappement \0 est remplacée par le texte correspondant alors qu'une séquence d'échappement \N (où N=1...9) est remplacée par Nième groupe correspondant (ou une chaîne vide si le N dépasse le nombre de groupes capturés).
Seule la première ligne correspondante est retournée.
Une chapine vide est retournée si aucune ligne sont supportés depuis la version 2.2.

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] → récupère l'ID de l'utilisateur zabbix
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
Trouve une chaîne dans un fichier. 0 - aucune correspondance trouvée

1 - correspondance trouvée
file - chemin d'accès complet au fichier
regexp - Expression régulière compatible Perl (PCRE) ou expression régulière étendue POSIX avant Zabbix 3.4
encoding - encodage
start line - numéro de la première ligne à chercher (première ligne du fichier par défaut).
end line - numéro de la dernière ligne à chercher (dernière ligne du fichier par défaut).
Les paramètres start line et end line sont supporté depuis la version 2.2.

Exemple :
=> vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file]
Taille du fichier (en octets). Entier file - chemin d'accès complet au fichier Le fichier doit avoir les permission en lecture pour l'utilisateur zabbix.

Exemple :
=> vfs.file.size[/var/log/syslog]

La taille limite du fichier dépend de la prise en charge des fichiers volumineux.
vfs.file.time[file,<mode>]
Informations temporelles du fichier. Entier (horodatage Unix) file - chemin d'accès complet au fichier
mode - valeurs possibles :
modify (par défaut) - date de modification, access - date du dernier accès, change - date du dernier changement
Exemple :
=> vfs.file.time[/etc/passwd,modify]

La taille limite du fichier dépend de la prise en charge des fichiers volumineux.
vfs.fs.discovery
Liste des systèmes de fichier montés. Utilisé pour la découverte de bas niveau. objet JSON Supporté depuis l'agent Zabbix en version 2.0.

La macro {#FSDRIVETYPE} est supporté sur Windows depuis l'agent Zabbix en version 3.0.
vfs.fs.inode[fs,<mode>]
Nombre ou pourcentage d'inodes. Entier - pour les nombres

Flottant - pour les pourcentages
fs - système de fichier
mode - valeurs possibles :
total (par défaut), free, used, //pfree // (libre, pourcentage), pused (utilisé, pourcentage)
Exemple :
=> vfs.fs.inode[/,pfree]

Ancien nom : vfs.fs.inode.free[*], vfs.fs.inode.pfree[*], vfs.fs.inode.total[*]
vfs.fs.size[fs,<mode>]
Espace disque en octets ou en pourcentage du total. Entier - pour les octets

Flottant - pour les pourcentages
fs - Système de fichier
mode - valeurs possibles :
total (par défaut), free, used, pfree (free, percentage), pused (used, percentage)
Dans le cas d'un volume monté, l'espace disque du système de fichier local est retourné.

Exemple :
=> vfs.fs.size[/tmp,free]

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.

Ancien nom : vfs.fs.free[*], vfs.fs.total[*], vfs.fs.used[*], vfs.fs.pfree[*], vfs.fs.pused[*]
vm.memory.size[<mode>]
Taille de la mémoire en octets ou en pourcentage du total. Entier - pour les octets

Flottant - pour les pourcentages
mode - valeurs possibles :
total (par défaut), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (utilisé en pourcentage), available, pavailable (disponible en pourcentage)
Cet élément accepte 3 catégories de paramètres :

1) total - quantité totale de mémoire ;
2) types de mémoire spécifiques à la plate-forme : active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
3) les estimations au niveau utilisateur sur la quantité de mémoire utilisée et disponible : used, pused, available, pavailable.

Voir une description plus détaillées des parameters de vm.memory.size.

Ancien nom : vm.memory.buffers, vm.memory.cached, vm.memory.free, vm.memory.shared, vm.memory.total
web.page.get[host,<path>,<port>]
Récupère le contenu d'une page web. Source de la page Web en tant que texte (y compris les en-têtes) host - nom de l'hôte
path - chemin du document HTML (par défaut : /)
port - numéro de port (par défaut 80)
Retourne une chaîne vide en cas d'échec.

Exemple :
=> web.page.get[www.zabbix.com,index.php,80]
web.page.perf[host,<path>,<port>]
Temps de chargement de la page Web complète (en secondes). Flottant host - nom de l'hôte
path - chemin du document HTML (par défaut : /)
port - numéro de port (par défaut 80)
Retourne 0 en cas d'échec.

Exemple :
=> web.page.perf[www.zabbix.com,index.php,80]
web.page.regexp[host,<path>,<port>,<regexp>,<length>,<output>]
Trouve une chaîne sur une page Web. La chaîne correspondante, ou comme spécifié par le paramètre output optionnel host - nom de l'hôte
path - chemin du document HTML (par défaut : /)
port - numéro de port (par défaut 80)
regexp - Expression régulière compatible Perl (PCRE) ou expression régulière étendue POSIX avant Zabbix 3.4
length - nombre maximum de caractères à retourner
output - un modèle de mise en forme de sortie facultatif. La séquence d'échappement \0 est remplacée par le texte correspondant alors qu'une séquence d'échappement \N (où N=1...9) est remplacée par Nième groupe correspondant (ou une chaîne vide si N dépasse le nombre de groupes capturés).
Retourne une chaîne vide si aucune correspondance n'a été trouvée ou en cas d'échec.

L'extraction de contenu à l'aide du paramètre output se fait au niveau de l'agent.

Le paramètre output est supporté depuis la version 2.2.

Exemple :
=> web.page.regexp[www.zabbix.com,index.php,80,OK,2]

Note spécifique à Linux. L'agent Zabbix doit avoir un accès en lecture seule au système de fichiers /proc . Les correctifs de noyau de www.grsecurity.org limitent les droits d'accès des utilisateurs non privilégiés.

Encodages disponibles

Le paramètre encoding est utilisé pour spécifier l’encodage pour le traitement des vérifications d'éléments correspondantes, afin que les données acquises ne soient pas corrompues. Pour obtenir une liste des codages pris en charge (identificateurs de page de codes), consultez la documentation correspondante, telle que la documentation relative à libiconv (GNU Project) ou Microsoft Windows SDK pour les "Identificateurs de page de code".

Si la valeur encoding est vide, alors UTF-8 (paramètres régionaux par défaut pour les nouvelles distributions Unix/Linux, voir les paramètres de votre système) ou ANSI avec une extension spécifique au système (Windows) est utilisé par défaut.

Zabbix metrics

Key
Description Return value Parameters Comments
agent.hostmetadata
Agent host metadata. String Returns the value of HostMetadata or HostMetadataItem parameters, or empty string if none are defined.

Supported since Zabbix 6.0.
agent.hostname
Agent host name. String Returns:
As passive check - the name of the first host listed in the Hostname parameter of the agent configuration file;
As active check - the name of the current hostname.
agent.ping
Agent availability check. Nothing - unavailable

1 - available
Use the nodata() trigger function to check for host unavailability.
agent.variant
Variant of Zabbix agent (Zabbix agent or Zabbix agent 2). Integer Example of returned value:
1 - Zabbix agent
2 - Zabbix agent 2
agent.version
Version of Zabbix agent. String Example of returned value:
6.0.3
zabbix.stats[<ip>,<port>]
Return a set of Zabbix server or proxy internal metrics remotely. JSON object ip - IP/DNS/network mask list of servers/proxies to be remotely queried (default is 127.0.0.1)
port - port of server/proxy to be remotely queried (default is 10051)
Note that the stats request will only be accepted from the addresses listed in the 'StatsAllowedIP' server/proxy parameter on the target instance.

A selected set of internal metrics is returned by this item. For details, see Remote monitoring of Zabbix stats.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]
Return number of monitored items in the queue which are delayed on Zabbix server or proxy remotely. JSON object ip - IP/DNS/network mask list of servers/proxies to be remotely queried (default is 127.0.0.1)
port - port of server/proxy to be remotely queried (default is 10051)
queue - constant (to be used as is)
from - delayed by at least (default is 6 seconds)
to - delayed by at most (default is infinity)
Note that the stats request will only be accepted from the addresses listed in the 'StatsAllowedIP' server/proxy parameter on the target instance.
Footnotes

1A Linux-specific note. Zabbix agent must have read-only access to filesystem /proc. Kernel patches from www.grsecurity.org limit access rights of non-privileged users.

2 vfs.dev.read[], vfs.dev.write[]: Zabbix agent will terminate "stale" device connections if the item values are not accessed for more than 3 hours. This may happen if a system has devices with dynamically changing paths or if a device gets manually removed. Note also that these items, if using an update interval of 3 hours or more, will always return '0'.

3 vfs.dev.read[], vfs.dev.write[]: If default all is used for the first parameter then the key will return summary statistics, including all block devices like sda, sbd and their partitions (sda1, sda2, sdb3...) and multiple devices (MD raid) based on those block devices/partitions and logical volumes (LVM) based on those block devices/partitions. In such cases returned values should be considered only as relative value (dynamic in time) but not as absolute values.

4 SSL (HTTPS) is supported only if agent is compiled with cURL support. Otherwise the item will turn unsupported.

Encoding settings

To make sure that the acquired data are not corrupted you may specify the correct encoding for processing the check (e.g. 'vfs.file.contents') in the encoding parameter. The list of supported encodings (code page identifiers) may be found in documentation for libiconv (GNU Project) or in Microsoft Windows SDK documentation for "Code Page Identifiers".

If no encoding is specified in the encoding parameter the following resolution strategies are applied:

  • Standard resolution - UTF-8 is used in Unix/Linux (default in newer distributions); ANSI with a system-specific extension is used in Windows;
  • BOM analysis - applicable for items 'vfs.file.contents', 'vfs.file.regexp', 'vfs.file.regmatch'. An attempt is made to determine the correct encoding by using the byte order mark (BOM) at the beginning of the file. If BOM is not present - standard resolution (see above) is applied instead.

Troubleshooting agent items

  • If used with the passive agent, Timeout value in server configuration may need to be higher than Timeout in the agent configuration file. Otherwise the item may not get any value because the server request to agent timed out first.

Kernel metrics

Key
Description Return value Parameters Comments
kernel.maxfiles
Maximum number of opened files supported by OS. Integer
kernel.maxproc
Maximum number of processes supported by OS. Integer
kernel.openfiles
Return the number of currently open file descriptors. Integer This item is supported on Linux only since Zabbix 6.0.

Log monitoring

See additional information on log monitoring.

Key
Description Return value Parameters Comments
log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoring of a log file. Log file - full path and name of log file
regexp - regular expression describing the required pattern
encoding - code page identifier
maxlines - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of 'MaxLinesPerSecond' in zabbix_agentd.conf
mode (since version 2.0)- possible values:
all (default), skip - skip processing of older data (affects only newly created items).
output (since version 2.2) - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
maxdelay (since version 3.2) - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.4.7) - additional options:
mtime-noreread - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 5.0.2, because now mtime is ignored.)
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
If file is missing or permissions do not allow access, item turns unsupported.

If output is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except 'Result is TRUE' always return the whole matched line and the output parameter is ignored.

Content extraction using the output parameter takes place on the agent.

Examples:
=> log[/var/log/syslog]
=> log[/var/log/syslog,error]
=> log[/home/zabbix/logs/logfile,,,100]

Using output parameter for extracting a number from log record:
=> log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send only '6080' to server. Because a numeric value is being sent, the "Type of information" for this item can be set to "Numeric (unsigned)" and the value can be used in graphs, triggers etc.

Using output parameter for rewriting log record before sending to server:
=> 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"] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send a modified record "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Count of matched lines in a monitored log file. Integer file - full path and name of log file
regexp - regular expression describing the required pattern
encoding - code page identifier
maxproclines - maximum number of new lines per second the agent will analyze (cannot exceed 10000). Default value is 10*'MaxLinesPerSecond' in zabbix_agentd.conf.
mode - possible values:
all (default), skip - skip processing of older data (affects only newly created items).
maxdelay - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.4.7) - additional options:
mtime-noreread - non-unique records, reread only if the file size changes (ignore modification time change). (This parameter is deprecated since 5.0.2, because now mtime is ignored.)
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
If file is missing or permissions do not allow access, item turns unsupported.

This item is not supported for Windows Event Log.

Supported since Zabbix 3.2.0.
logrt[file_regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent_dir>]
Monitoring of a log file that is rotated. Log file_regexp - absolute path to file and the file name described by a regular expression. Note that only the file name is a regular expression
regexp - regular expression describing the required content pattern
encoding - code page identifier
maxlines - maximum number of new lines per second the agent will send to Zabbix server or proxy. This parameter overrides the value of 'MaxLinesPerSecond' in zabbix_agentd.conf
mode (since version 2.0) - possible values:
all (default), skip - skip processing of older data (affects only newly created items).
output (since version 2.2) - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
maxdelay (since version 3.2) - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.0; mtime-reread, mtime-noreread options since 4.4.7) - type of log file rotation and other options. Possible values:
rotate (default),
copytruncate - note that copytruncate cannot be used together with maxdelay. In this case maxdelay must be 0 or not specified; see copytruncate notes,
mtime-reread - non-unique records, reread if modification time or size changes (default),
mtime-noreread - non-unique records, reread only if the size changes (ignore modification time change).
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
Log rotation is based on the last modification time of files.

Note that logrt is designed to work with one currently active log file, with several other matching inactive files rotated. If, for example, a directory has many active log files, a separate logrt item should be created for each one. Otherwise if one logrt item picks up too many files it may lead to exhausted memory and a crash of monitoring.

If output is left empty - the whole line containing the matched text is returned. Note that all global regular expression types except 'Result is TRUE' always return the whole matched line and the output parameter is ignored.

Content extraction using the output parameter takes place on the agent.

Examples:
=> logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] → will match a file like "logfile1" (will not match ".logfile1")
=> logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] → will collect data from files such "logfile_abc_1" or "logfile__001".

Using output parameter for extracting a number from log record:
=> logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send only '6080' to server. Because a numeric value is being sent, the "Type of information" for this item can be set to "Numeric (unsigned)" and the value can be used in graphs, triggers etc.

Using output parameter for rewriting log record before sending to server:
=> 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"] → will match a log record "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" and send a modified record "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08" to server.
logrt.count[file_regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent_dir>]
Count of matched lines in a monitored log file that is rotated. Integer file_regexp - absolute path to file and regular expression describing the file name pattern
regexp - regular expression describing the required content pattern
encoding - code page identifier
maxproclines - maximum number of new lines per second the agent will analyze (cannot exceed 10000). Default value is 10*'MaxLinesPerSecond' in zabbix_agentd.conf.
mode - possible values:
all (default), skip - skip processing of older data (affects only newly created items).
maxdelay - maximum delay in seconds. Type: float. Values: 0 - (default) never ignore log file lines; > 0.0 - ignore older lines in order to get the most recent lines analyzed within "maxdelay" seconds. Read the maxdelay notes before using it!
options (since version 4.0; mtime-reread, mtime-noreread options since 4.4.7) - type of log file rotation and other options. Possible values:
rotate (default),
copytruncate - note that copytruncate cannot be used together with maxdelay. In this case maxdelay must be 0 or not specified; see copytruncate notes,
mtime-reread - non-unique records, reread if modification time or size changes (default),
mtime-noreread - non-unique records, reread only if the size changes (ignore modification time change).
persistent_dir (since versions 5.0.18, 5.4.9, only in zabbix_agentd on Unix systems; not supported in Agent2) - absolute pathname of directory where to store persistent files. See also additional notes on persistent files.
The item must be configured as an active check.
Log rotation is based on the last modification time of files.

This item is not supported for Windows Event Log.

Supported since Zabbix 3.2.0.

Modbus

Key
Description Return value Parameters Comments
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]
Reads Modbus data. JSON object endpoint - endpoint defined as protocol://connection_string
slave id - slave ID
function - Modbus function
address - address of first registry, coil or input
count - number of records to read
type - type of data
endianness - endianness configuration
offset - number of registers, starting from 'address', the results of which will be discarded.

See a detailed description of parameters.
Supported since Zabbix 5.2.0.

Network data

Key
Description Return value Parameters Comments
net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Checks if DNS service is up. 0 - DNS is down (server did not respond or DNS resolution failed)

1 - DNS is up
ip - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)
name - DNS name to query
type - record type to be queried (default is SOA)
timeout (ignored on Windows) - timeout for the request in seconds (default is 1 second)
count (ignored on Windows) - number of tries for the request (default is 2)
protocol (since version 3.0) - the protocol used to perform DNS queries: udp (default) or tcp
Example:
=> net.dns[8.8.8.8,example.com,MX,2,1]

The possible values for type are:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (except for Windows), HINFO, MINFO, TXT, SRV

Internationalized domain names are not supported, please use IDNA encoded names instead.

SRV record type is supported since Zabbix 1.8.6 (Unix) and 2.0.0 (Windows).

Naming before Zabbix 2.0 (still supported): net.tcp.dns
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]
Performs a DNS query. Character string with the required type of information ip - IP address of DNS server (leave empty for the default DNS server, ignored on Windows)
name - DNS name to query
type - record type to be queried (default is SOA)
timeout (ignored on Windows) - timeout for the request in seconds (default is 1 second)
count (ignored on Windows) - number of tries for the request (default is 2)
protocol(since version 3.0) - the protocol used to perform DNS queries: udp (default) or tcp
Example:
=> net.dns.record[8.8.8.8,example.com,MX,2,1]

The possible values for type are:
ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (except for Windows), HINFO, MINFO, TXT, SRV

Internationalized domain names are not supported, please use IDNA encoded names instead.

SRV record type is supported since Zabbix 1.8.6 (Unix) and 2.0.0 (Windows).

Naming before Zabbix 2.0 (still supported): net.tcp.dns.query
net.if.collisions[if]
Number of out-of-window collisions. Integer if - network interface name
net.if.discovery
List of network interfaces. Used for low-level discovery. JSON object Supported since Zabbix 2.0.

On FreeBSD, OpenBSD and NetBSD supported since Zabbix 2.2.

Some Windows versions (for example, Server 2008) might require the latest updates installed to support non-ASCII characters in interface names.
net.if.in[if,<mode>]
Incoming traffic statistics on network interface. Integer if - network interface name (Unix); network interface full description or IPv4 address; or, if in braces, network interface GUID (Windows)
mode - possible values:
bytes - number of bytes (default)
packets - number of packets
errors - number of errors
dropped - number of dropped packets
overruns (fifo) - the number of FIFO buffer errors
frame - the number of packet framing errors
compressed - the number of compressed packets transmitted or received by the device driver
multicast - the number of multicast frames received by the device driver
On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.

Multi-byte interface names on Windows are supported since Zabbix 1.8.6.

Examples:
=> net.if.in[eth0,errors]
=> net.if.in[eth0]

You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.

You may use this key with the Change per second preprocessing step in order to get bytes per second statistics.
net.if.out[if,<mode>]
Outgoing traffic statistics on network interface. Integer if - network interface name (Unix); network interface full description or IPv4 address; or, if in braces, network interface GUID (Windows)
mode - possible values:
bytes - number of bytes (default)
packets - number of packets
errors - number of errors
dropped - number of dropped packets
overruns (fifo) - the number of FIFO buffer errors
collisions (colls) - the number of collisions detected on the interface
carrier - the number of carrier losses detected by the device driver
compressed - the number of compressed packets transmitted by the device driver
On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.

Multi-byte interface names on Windows are supported since Zabbix agent 1.8.6 version.

Examples:
=> net.if.out[eth0,errors]
=> net.if.out[eth0]

You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.

You may use this key with the Change per second preprocessing step in order to get bytes per second statistics.
net.if.total[if,<mode>]
Sum of incoming and outgoing traffic statistics on network interface. Integer if - network interface name (Unix); network interface full description or IPv4 address; or, if in braces, network interface GUID (Windows)
mode - possible values:
bytes - number of bytes (default)
packets - number of packets
errors - number of errors
dropped - number of dropped packets
overruns (fifo) - the number of FIFO buffer errors
compressed - the number of compressed packets transmitted or received by the device driver
On Windows, the item gets values from 64-bit counters if available. 64-bit interface statistic counters were introduced in Windows Vista and Windows Server 2008. If 64-bit counters are not available, the agent uses 32-bit counters.

Examples:
=> net.if.total[eth0,errors]
=> net.if.total[eth0]

You may obtain network interface descriptions on Windows with net.if.discovery or net.if.list items.

You may use this key with the Change per second preprocessing step in order to get bytes per second statistics.

Note that dropped packets are supported only if both net.if.in and net.if.out work for dropped packets on your platform.
net.tcp.listen[port]
Checks if this TCP port is in LISTEN state. 0 - it is not in LISTEN state

1 - it is in LISTEN state
port - TCP port number Example:
=> net.tcp.listen[80]

On Linux supported since Zabbix 1.8.4

Since Zabbix 3.0.0, on Linux kernels 2.6.14 and above, information about listening TCP sockets is obtained from the kernel's NETLINK interface, if possible. Otherwise, the information is retrieved from /proc/net/tcp and /proc/net/tcp6 files.
net.tcp.port[<ip>,port]
Checks if it is possible to make TCP connection to specified port. 0 - cannot connect

1 - can connect
ip - IP or DNS name (default is 127.0.0.1)
port - port number
Example:
=> net.tcp.port[,80] → can be used to test availability of web server running on port 80.

For simple TCP performance testing use net.tcp.service.perf[tcp,<ip>,<port>]

Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).
net.tcp.service[service,<ip>,<port>]
Checks if service is running and accepting TCP connections. 0 - service is down

1 - service is running
service - either of:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.tcp.service[ftp,,45] → can be used to test the availability of FTP server on TCP port 45.

Note that these checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually).

Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.port for checks like these.

Checking of LDAP and HTTPS on Windows is only supported by Zabbix agent 2.

Note that the telnet check looks for a login prompt (':' at the end).

See also known issues of checking HTTPS service.

https and telnet services are supported since Zabbix 2.0.
net.tcp.service.perf[service,<ip>,<port>]
Checks performance of TCP service. 0 - service is down

seconds - the number of seconds spent while connecting to the service
service - either of:
ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.tcp.service.perf[ssh] → can be used to test the speed of initial response from SSH server.

Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service.perf[tcp,<ip>,<port>] for checks like these.

Checking of LDAP and HTTPS on Windows is only supported by Zabbix agent 2.

Note that the telnet check looks for a login prompt (':' at the end).

See also known issues of checking HTTPS service.

https and telnet services are supported since Zabbix 2.0.
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Return the number of TCP sockets that match parameters. Integer laddr - local IPv4/6 address or CIDR subnet
lport - local port number or service name
raddr - remote IPv4/6 address or CIDR subnet
rport - remote port number or service name
state - connection state (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing)
This item is supported on Linux only on both Zabbix agent/agent 2. On Zabbix agent 2 it is also supported on 64-bit Windows.

Example:
=> net.tcp.socket.count[,80,,,established] → check if local TCP port 80 is in "established" state

This item is supported since Zabbix 6.0.
net.udp.listen[port]
Checks if this UDP port is in LISTEN state. 0 - it is not in LISTEN state

1 - it is in LISTEN state
port - UDP port number Example:
=> net.udp.listen[68]

On Linux supported since Zabbix 1.8.4
net.udp.service[service,<ip>,<port>]
Checks if service is running and responding to UDP requests. 0 - service is down

1 - service is running
service - ntp (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.udp.service[ntp,,45] → can be used to test the availability of NTP service on UDP port 45.

This item is supported since Zabbix 3.0.0, but ntp service was available for net.tcp.service[] item in prior versions.
net.udp.service.perf[service,<ip>,<port>]
Checks performance of UDP service. 0 - service is down

seconds - the number of seconds spent waiting for response from the service
service - ntp (see details)
ip - IP address (default is 127.0.0.1)
port - port number (by default standard service port number is used)
Example:
=> net.udp.service.perf[ntp] → can be used to test response time from NTP service.

This item is supported since Zabbix 3.0.0, but ntp service was available for net.tcp.service[] item in prior versions.
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]
Return the number of TCP sockets that match parameters. Integer laddr - local IPv4/6 address or CIDR subnet
lport - local port number or service name
raddr - remote IPv4/6 address or CIDR subnet
rport - remote port number or service name
state - connection state (established, unconn)
This item is supported on Linux only on both Zabbix agent/agent 2. On Zabbix agent 2 it is also supported on 64-bit Windows.

Example:
=> net.udp.socket.count[,,,,listening] → check if any UDP socket is in "listening" state

This item is supported since Zabbix 6.0.

Processes

Key
Description Return value Parameters Comments
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]
Process CPU utilization percentage. Float name - process name (default is all processes)
user - user name (default is all users)
type - CPU utilization type:
total (default), user, system
cmdline - filter by command line (it is a regular expression)
mode - data gathering mode: avg1 (default), avg5, avg15
zone - target zone: current (default), all. This parameter is supported on Solaris only.
Examples:
=> proc.cpu.util[,root] → CPU utilization of all processes running under the "root" user
=> proc.cpu.util[zabbix_server,zabbix] → CPU utilization of all zabbix_server processes running under the zabbix user

The returned value is based on single CPU core utilization percentage. For example CPU utilization of a process fully using two cores is 200%.

The process CPU utilization data is gathered by a collector which supports the maximum of 1024 unique (by name, user and command line) queries. Queries not accessed during the last 24 hours are removed from the collector.

Note that when setting the zone parameter to current (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, all is supported in this case.

This key is supported since Zabbix 3.0.0 and is available on several platforms (see Items supported by platform).
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]
Memory used by process in bytes. Integer - with mode as max, min, sum

Float - with mode as avg
name - process name (default is all processes)
user - user name (default is all users)
mode - possible values:
avg, max, min, sum (default)
cmdline - filter by command line (it is a regular expression)
memtype - type of memory used by process
Examples:
=> proc.mem[,root] → memory used by all processes running under the "root" user
=> proc.mem[zabbix_server,zabbix] → memory used by all zabbix_server processes running under the zabbix user
=> proc.mem[,oracle,max,oracleZABBIX] → memory used by the most memory-hungry process running under oracle having oracleZABBIX in its command line

Note: When several processes use shared memory, the sum of memory used by processes may result in large, unrealistic values.

See notes on selecting processes with name and cmdline parameters (Linux-specific).

When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: zabbix_agentd -t proc.mem[,,,apache2]), one extra process will be counted, as the agent will count itself.

The memtype parameter is supported on several platforms since Zabbix 3.0.0.
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]
The number of processes. Integer name - process name (default is all processes)
user - user name (default is all users)
state (disk and trace options since version 3.4.0) - possible values:
all (default),
disk - uninterruptible sleep,
run - running,
sleep - interruptible sleep,
trace - stopped,
zomb - zombie
cmdline - filter by command line (it is a regular expression)
zone - target zone: current (default), all. This parameter is supported on Solaris only.
Examples:
=> proc.num[,mysql] → number of processes running under the mysql user
=> proc.num[apache2,www-data] → number of apache2 processes running under the www-data user
=> proc.num[,oracle,sleep,oracleZABBIX] → number of processes in sleep state running under oracle having oracleZABBIX in its command line

See notes on selecting processes with name and cmdline parameters (Linux-specific).

On Windows, only the name and user parameters are supported.

When this item is invoked from the command line and contains a command line parameter (e.g. using the agent test mode: zabbix_agentd -t proc.num[,,,apache2]), one extra process will be counted, as the agent will count itself.

Note that when setting the zone parameter to current (or default) in case the agent has been compiled on a Solaris without zone support, but running on a newer Solaris where zones are supported, then the agent will return NOTSUPPORTED (the agent cannot limit results to only the current zone). However, all is supported in this case.

Sensors

Key
Description Return value Parameters Comments
sensor[device,sensor,<mode>]
Hardware sensor reading. Float device - device name
sensor - sensor name
mode - possible values:
avg, max, min (if this parameter is omitted, device and sensor are treated verbatim).
Reads /proc/sys/dev/sensors on Linux 2.4.

Example:
=> sensor[w83781d-i2c-0-2d,temp1]

Prior to Zabbix 1.8.4, the sensor[temp1] format was used.
Reads /sys/class/hwmon on Linux 2.6+.

See a more detailed description of sensor item on Linux.
Reads the hw.sensors MIB on OpenBSD.

Examples:
=> sensor[cpu0,temp0] → temperature of one CPU
=> sensor["cpu[0-2]$",temp,avg] → average temperature of the first three CPU's

Supported on OpenBSD since Zabbix 1.8.4.

System data

Key
Description Return value Parameters Comments
system.boottime
System boot time. Integer (Unix timestamp)
system.cpu.discovery
List of detected CPUs/CPU cores. Used for low-level discovery. JSON object Supported on all platforms since 2.4.0.
system.cpu.intr
Device interrupts. Integer
system.cpu.load[<cpu>,<mode>]
CPU load. Float cpu - possible values:
all (default), percpu (since version 2.0; total load divided by online CPU count)
mode - possible values:
avg1 (one-minute average, default), avg5, avg15
Example:
=> system.cpu.load[,avg5].
system.cpu.num[<type>]
Number of CPUs. Integer type - possible values:
online (default), max
Example:
=> system.cpu.num
system.cpu.switches
Count of context switches. Integer
system.cpu.util[<cpu>,<type>,<mode>,<logical_or_physical>]
CPU utilization percentage. Float cpu - <CPU number> or all (default)
type - possible values:
user (default), idle, nice, system (default for Windows), iowait, interrupt, softirq, steal, guest (on Linux kernels 2.6.24 and above), guest_nice (on Linux kernels 2.6.33 and above).
See also platform-specific details for this parameter.
mode - possible values:
avg1 (one-minute average, default), avg5, avg15
logical_or_physical (since version 5.0.3; on AIX only) - possible values: logical (default), physical. This parameter is supported on AIX only.
Example:
=> system.cpu.util[0,user,avg5]

Old naming: system.cpu.idleX, system.cpu.niceX, system.cpu.systemX, system.cpu.userX
system.hostname[<type>, <transform>]
System host name. String type (before version 5.4.7 supported on Windows only) - possible values: netbios (default on Windows), host (default on Linux), shorthost (since version 5.4.7; returns part of the hostname before the first dot, a full string for names without dots).
transform (since version 5.4.7) - possible values:
none (default), lower (convert to lowercase)
The value is acquired by either GetComputerName() (for netbios) or gethostname() (for host) functions on Windows and by "hostname" command on other systems.

Examples of returned values:
on Linux:
=> system.hostname → linux-w7x1
=> system.hostname → example.com
=> system.hostname[shorthost] → example
on Windows:
=> system.hostname → WIN-SERV2008-I6
=> system.hostname[host] → Win-Serv2008-I6LonG
=> system.hostname[host,lower] → win-serv2008-i6long

See also a more detailed description.
system.hw.chassis[<info>]
Chassis information. String info - one of full (default), model, serial, type or vendor Example: system.hw.chassis[full]
Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop]

This key depends on the availability of the SMBIOS table.
Will try to read the DMI table from sysfs, if sysfs access fails then try reading directly from memory.

Root permissions are required because the value is acquired by reading from sysfs or memory.

Supported since Zabbix 2.0.
system.hw.cpu[<cpu>,<info>]
CPU information. String or integer cpu - <CPU number> or all (default)
info - possible values:
full (default), curfreq, maxfreq, model or vendor
Example:
=> system.hw.cpu[0,vendor] → AuthenticAMD

Gathers info from /proc/cpuinfo and /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq.

If a CPU number and curfreq or maxfreq is specified, a numeric value is returned (Hz).

Supported since Zabbix 2.0.
system.hw.devices[<type>]
Listing of PCI or USB devices. Text type (since version 2.0) - pci (default) or usb Example:
=> system.hw.devices[pci] → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
[..]

Returns the output of either lspci or lsusb utility (executed without any parameters).
system.hw.macaddr[<interface>,<format>]
Listing of MAC addresses. String interface - all (default) or a regular expression
format - full (default) or short
Lists MAC addresses of the interfaces whose name matches the given interface regular expression (all lists for all interfaces).

Example:
=> system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55

If format is specified as short, interface names and identical MAC addresses are not listed.

Supported since Zabbix 2.0.
system.localtime[<type>]
System time. Integer - with type as utc

String - with type as local
type (since version 2.0) - possible values:
utc - (default) the time since the Epoch (00:00:00 UTC, January 1, 1970), measured in seconds.
local - the time in the 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm' format
Must be used as a passive check only.

Example:
=> system.localtime[local] → create an item using this key and then use it to display host time in the Clock dashboard widget.
system.run[command,<mode>]
Run specified command on the host. Text result of the command

1 - with mode as nowait (regardless of command result)
command - command for execution
mode - possible values:
wait - wait end of execution (default),
nowait - do not wait
Up to 512KB of data can be returned, including trailing whitespace that is truncated.
To be processed correctly, the output of the command must be text.

Example:
=> system.run[ls -l /] → detailed file list of root directory.

Note: system.run items are disabled by default. Learn how to enable them.

The return value of the item is standard output together with standard error produced by command. The exit code is not checked.

Empty result is allowed starting with Zabbix 2.4.0.
See also: Command execution.
system.stat[resource,<type>]
System statistics. Integer or float ent - number of processor units this partition is entitled to receive (float)
kthr,<type> - information about kernel thread states:
r - average number of runnable kernel threads (float)
b - average number of kernel threads placed in the Virtual Memory Manager wait queue (float)
memory,<type> - information about the usage of virtual and real memory:
avm - active virtual pages (integer)
fre - size of the free list (integer)
page,<type> - information about page faults and paging activity:
fi - file page-ins per second (float)
fo - file page-outs per second (float)
pi - pages paged in from paging space (float)
po - pages paged out to paging space (float)
fr - pages freed (page replacement) (float)
sr - pages scanned by page-replacement algorithm (float)
faults,<type> - trap and interrupt rate:
in - device interrupts (float)
sy - system calls (float)
cs - kernel thread context switches (float)
cpu,<type> - breakdown of percentage usage of processor time:
us - user time (float)
sy - system time (float)
id - idle time (float)
wa - idle time during which the system had outstanding disk/NFS I/O request(s) (float)
pc - number of physical processors consumed (float)
ec - the percentage of entitled capacity consumed (float)
lbusy - indicates the percentage of logical processor(s) utilization that occurred while executing at the user and system level (float)
app - indicates the available physical processors in the shared pool (float)
disk,<type> - disk statistics:
bps - indicates the amount of data transferred (read or written) to the drive in bytes per second (integer)
tps - indicates the number of transfers per second that were issued to the physical disk/tape (float)
Comments
This item is supported on AIX only, since Zabbix 1.8.1.
Take note of the following limitations in these items:
=> system.stat[cpu,app] - supported only on AIX LPAR of type "Shared"
=> system.stat[cpu,ec] - supported on AIX LPAR of type "Shared" and "Dedicated" ("Dedicated" always returns 100 (percent))
=> system.stat[cpu,lbusy] - supported only on AIX LPAR of type "Shared"
=> system.stat[cpu,pc] - supported on AIX LPAR of type "Shared" and "Dedicated"
=> system.stat[ent] - supported on AIX LPAR of type "Shared" and "Dedicated"
system.sw.arch
Software architecture information. String Example:
=> system.sw.arch → i686

Info is acquired from uname() function.

Supported since Zabbix 2.0.
system.sw.os[<info>]
Operating system information. String info - possible values:
full (default), short or name
Example:
=> system.sw.os[short]→ Ubuntu 2.6.35-28.50-generic 2.6.35.11

Info is acquired from (note that not all files and options are present in all distributions):
/proc/version (full)
/proc/version_signature (short)
PRETTY_NAME parameter from /etc/os-release on systems supporting it, or /etc/issue.net (name)

Supported since Zabbix 2.0.
system.sw.packages[<package>,<manager>,<format>]
Listing of installed packages. Text package - all (default) or a regular expression
manager - all (default) or a package manager
format - full (default) or short
Lists (alphabetically) installed packages whose name matches the given package regular expression (all lists them all).

Example:
=> system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal

Supported package managers (executed command):
dpkg (dpkg --get-selections)
pkgtool (ls /var/log/packages)
rpm (rpm -qa)
pacman (pacman -Q)

If format is specified as full, packages are grouped by package managers (each manager on a separate line beginning with its name in square brackets).
If format is specified as short, packages are not grouped and are listed on a single line.

Supported since Zabbix 2.0.
system.swap.in[<device>,<type>]
Swap in (from device into memory) statistics. Integer device - device used for swapping (default is all)
type - possible values:
count (number of swapins), sectors (sectors swapped in), pages (pages swapped in).
See also platform-specific details for this parameter.
Example:
=> system.swap.in[,pages]

The source of this information is:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.out[<device>,<type>]
Swap out (from memory onto device) statistics. Integer device - device used for swapping (default is all)
type - possible values:
count (number of swapouts), sectors (sectors swapped out), pages (pages swapped out).
See also platform-specific details for this parameter.
Example:
=> system.swap.out[,pages]

The source of this information is:
/proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
/proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
system.swap.size[<device>,<type>]
Swap space size in bytes or in percentage from total. Integer - for bytes

Float - for percentage
device - device used for swapping (default is all)
type - possible values:
free (free swap space, default), pfree (free swap space, in percent), pused (used swap space, in percent), total (total swap space), used (used swap space)
Note that pfree, pused are not supported on Windows if swap size is 0.
See also platform-specific details for this parameter.
Example:
=> system.swap.size[,pfree] → free swap space percentage

If device is not specified Zabbix agent will only take into account swap devices (files), physical memory will be ignored. For example, on Solaris systems swap -s command includes a portion of physical memory and swap devices (unlike swap -l).

Note that this key might report incorrect swap space size/percentage on virtualized (VMware ESXi, VirtualBox) Windows platforms. In this case you may use the perf_counter[\700(_Total)\702] key to obtain correct swap space percentage.
system.uname
Identification of the system. String Example of returned value (Unix):
FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386

Example of returned value (Windows):
Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86

On Unix since Zabbix 2.2.0 the value for this item is obtained with uname() system call. Previously it was obtained by invoking "uname -a". The value of this item might differ from the output of "uname -a" and does not include additional information that "uname -a" prints based on other sources.

On Windows since Zabbix 3.0 the value for this item is obtained from Win32_OperatingSystem and Win32_Processor WMI classes. Previously it was obtained from volatile Windows APIs and undocumented registry keys. The OS name (including edition) might be translated to the user's display language. On some versions of Windows it contains trademark symbols and extra spaces.

Note that on Windows the item returns OS architecture, whereas on Unix it returns CPU architecture.
system.uptime
System uptime in seconds. Integer In item configuration, use s or uptime units to get readable values.
system.users.num
Number of users logged in. Integer who command is used on the agent side to obtain the value.

Virtual file systems

Key
Description Return value Parameters Comments
vfs.dev.discovery
List of block devices and their type. Used for low-level discovery. JSON object This item is supported on Linux platform only.

Supported since Zabbix 4.4.0.
vfs.dev.read[<device>,<type>,<mode>]
Disk read statistics. Integer - with type in sectors, operations, bytes

Float - with type in sps, ops, bps

Note: if using an update interval of three hours or more2, will always return '0'
device - disk device (default is all 3)
type - possible values: sectors, operations, bytes, sps, ops, bps
Note that 'type' parameter support and defaults depend on the platform. See platform-specific details.
sps, ops, bps stand for: sectors, operations, bytes per second, respectively.
mode - possible values: avg1 (one-minute average, default), avg5, avg15.
This parameter is supported only with type in: sps, ops, bps.
You may use relative device names (for example, sda) as well as an optional /dev/ prefix (for example, /dev/sda).

LVM logical volumes are supported.

Default values of 'type' parameter for different OSes:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Example:
=> vfs.dev.read[,operations]

sps, ops and bps on supported platforms used to be limited to 8 devices (7 individual and one all). Since Zabbix 2.0.1 this limit is 1024 devices (1023 individual and one for all).
vfs.dev.write[<device>,<type>,<mode>]
Disk write statistics. Integer - with type in sectors, operations, bytes

Float - with type in sps, ops, bps

Note: if using an update interval of three hours or more2, will always return '0'
device - disk device (default is all 3)
type - possible values: sectors, operations, bytes, sps, ops, bps
Note that 'type' parameter support and defaults depend on the platform. See platform-specific details.
sps, ops, bps stand for: sectors, operations, bytes per second, respectively.
mode - possible values: avg1 (one-minute average, default), avg5, avg15.
This parameter is supported only with type in: sps, ops, bps.
You may use relative device names (for example, sda) as well as an optional /dev/ prefix (for example, /dev/sda).

LVM logical volumes are supported.

Default values of 'type' parameter for different OSes:
AIX - operations
FreeBSD - bps
Linux - sps
OpenBSD - operations
Solaris - bytes

Example:
=> vfs.dev.write[,operations]

sps, ops and bps on supported platforms used to be limited to 8 devices (7 individual and one all). Since Zabbix 2.0.1 this limit is 1024 (1023 individual and one for all).
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>]
Directory entry count. Integer dir - absolute path to directory
regex_incl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)
regex_excl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default value)
types_incl - directory entry types to count, possible values:
file - regular file, dir - subdirectory, sym - symbolic link, sock - socket, bdev - block device, cdev - character device, fifo - FIFO, dev - synonymous with "bdev,cdev", all - all types (default), i.e. "file,dir,sym,sock,bdev,cdev,fifo". Multiple types must be separated with comma and quoted.
types_excl - directory entry types (see <types_incl>) to NOT count. If some entry type is in both <types_incl> and <types_excl>, directory entries of this type are NOT counted.
max_depth - maximum depth of subdirectories to traverse. -1 (default) - unlimited, 0 - no descending into subdirectories.
min_size - minimum size (in bytes) for file to be counted. Smaller files will not be counted. Memory suffixes can be used.
max_size - maximum size (in bytes) for file to be counted. Larger files will not be counted. Memory suffixes can be used.
min_age - minimum age (in seconds) of directory entry to be counted. More recent entries will not be counted. Time suffixes can be used.
max_age - maximum age (in seconds) of directory entry to be counted. Entries so old and older will not be counted (modification time). Time suffixes can be used.
regex_excl_dir - regular expression describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl)
Environment variables, e.g. %APP_HOME%, $HOME and %TEMP% are not supported.

Pseudo-directories "." and ".." are never counted.

Symbolic links are never followed for directory traversal.

On Windows, directory symlinks are skipped and hard links are counted only once.

Both regex_incl and regex_excl are being applied to files and directories when calculating entry size, but are ignored when picking subdirectories to traverse (if regex_incl is “(?i)^.+\.zip$” and max_depth is not set, then all subdirectories will be traversed, but only files of type zip will be counted).

Execution time is limited by the default timeout value in agent configuration (3 sec). Since large directory traversal may take longer than that, no data will be returned and the item will turn unsupported. Partial count will not be returned.

When filtering by size, only regular files have meaningful sizes. Under Linux and BSD, directories also have non-zero sizes (a few Kb typically). Devices have zero sizes, e.g. the size of /dev/sda1 does not reflect the respective partition size. Therefore, when using <min_size> and <max_size>, it is advisable to specify <types_incl> as "file", to avoid surprises.

Examples:
⇒ vfs.dir.count[/dev] - monitors number of devices in /dev (Linux)
⇒ vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] - monitors number of files in temporary directory (Windows)

Supported since Zabbix 4.0.0.
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>]
Directory entry list. JSON dir - absolute path to directory
regex_incl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)
regex_excl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default value)
types_incl - directory entry types to list, possible values:
file - regular file, dir - subdirectory, sym - symbolic link, sock - socket, bdev - block device, cdev - character device, fifo - FIFO, dev - synonymous with "bdev,cdev", all - all types (default), i.e. "file,dir,sym,sock,bdev,cdev,fifo". Multiple types must be separated with comma and quoted.
types_excl - directory entry types (see <types_incl>) to NOT list. If some entry type is in both <types_incl> and <types_excl>, directory entries of this type are NOT listed.
max_depth - maximum depth of subdirectories to traverse. -1 (default) - unlimited, 0 - no descending into subdirectories.
min_size - minimum size (in bytes) for file to be listed. Smaller files will not be listed. Memory suffixes can be used.
max_size - maximum size (in bytes) for file to be listed. Larger files will not be counted. Memory suffixes can be used.
min_age - minimum age (in seconds) of directory entry to be listed. More recent entries will not be listed. Time suffixes can be used.
max_age - maximum age (in seconds) of directory entry to be listed. Entries so old and older will not be listed (modification time). Time suffixes can be used.
regex_excl_dir - regular expression describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl)
Environment variables, e.g. %APP_HOME%, $HOME and %TEMP% are not supported.

Pseudo-directories "." and ".." are never listed.

Symbolic links are never followed for directory traversal.

On Windows, directory symlinks are skipped and hard links are listed only once.

Both regex_incl and regex_excl are being applied to files and directories when calculating entry size, but are ignored when picking subdirectories to traverse (if regex_incl is “(?i)^.+\.zip$” and max_depth is not set, then all subdirectories will be traversed, but only files of type zip will be listed).

Execution time is limited by the default timeout value in agent configuration (3 sec). Since large directory traversal may take longer than that, no data will be returned and the item will turn unsupported. Partial list will not be returned.

When filtering by size, only regular files have meaningful sizes. Under Linux and BSD, directories also have non-zero sizes (a few Kb typically). Devices have zero sizes, e.g. the size of /dev/sda1 does not reflect the respective partition size. Therefore, when using <min_size> and <max_size>, it is advisable to specify <types_incl> as "file", to avoid surprises.

Examples:
⇒ vfs.dir.get[/dev] - retrieves device list in /dev (Linux)
⇒ vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] - retrieves file list in temporary directory (Windows)

Supported since Zabbix 6.0.0.
vfs.dir.size[dir,<regex_incl>,<regex_excl>,<mode>,<max_depth>,<regex_excl_dir>]
Directory size (in bytes). Integer dir - absolute path to directory
regex_incl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to include; include all if empty (default value)
regex_excl - regular expression describing the name pattern of the entity (file, directory, symbolic link) to exclude; don't exclude any if empty (default value)
mode - possible values:
apparent (default) - gets apparent file sizes rather than disk usage (acts as du -sb dir), disk - gets disk usage (acts as du -s -B1 dir). Unlike du command, vfs.dir.size item takes hidden files in account when calculating directory size (acts as du -sb .[^.]* * within dir).
max_depth - maximum depth of subdirectories to traverse. -1 (default) - unlimited, 0 - no descending into subdirectories.
regex_excl_dir - regular expression describing the name pattern of the directory to exclude. All content of the directory will be excluded (in contrast to regex_excl)
Only directories with at least read permission for zabbix user are calculated.

On Windows any symlink is skipped and hard links are taken into account only once.

With large directories or slow drives this item may time out due to the Timeout setting in agent and server/proxy configuration files. Increase the timeout values as necessary.

Examples:
⇒ vfs.dir.size[/tmp,log] - calculates size of all files in /tmp which contain 'log'
⇒ vfs.dir.size[/tmp,log,^.+\.old$] - calculates size of all files in /tmp which contain 'log', excluding files containing '.old'

The file size limit depends on large file support.

Supported since Zabbix 3.4.0.
vfs.file.cksum[file,<mode>]
File checksum, calculated by the UNIX cksum algorithm. Integer - with mode as crc32

String - with mode as md5, sha256
file - full path to file
mode - crc32 (default), md5, sha256
Example:
=> vfs.file.cksum[/etc/passwd]

Example of returned values (crc32/md5/sha256 respectively):
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc

The file size limit depends on large file support.

The mode parameter is supported since Zabbix 6.0.
vfs.file.contents[file,<encoding>]
Retrieving contents of a file. Text file - full path to file
encoding - code page identifier
Returns an empty string if the file is empty or contains LF/CR characters only.

Byte order mark (BOM) is excluded from the output.

Example:
=> vfs.file.contents[/etc/passwd]

This item is limited to files no larger than 64 Kbytes.

Supported since Zabbix 2.0.
vfs.file.exists[file,<types_incl>,<types_excl>]
Checks if file exists. 0 - not found

1 - file of the specified type exists
file - full path to file
types_incl - list of file types to include, possible values: file (regular file, default (if types_excl is not set)), dir (directory), sym (symbolic link), sock (socket), bdev (block device), cdev (character device), fifo (FIFO), dev (synonymous with "bdev,cdev"), all (all mentioned types, default if types_excl is set).
types_excl - list of file types to exclude, see types_incl for possible values (by default no types are excluded)
Multiple types must be separated with a comma and the entire set enclosed in quotes "".
On Windows the double quotes have to be backslash '\' escaped and the whole item key enclosed in double quotes when using the command line utility for calling zabbix_get.exe or agent2.

If the same type is in both <types_incl> and <types_excl>, files of this type are excluded.

Examples:
=> vfs.file.exists[/tmp/application.pid]
=> vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
=> vfs.file.exists[/tmp/application_dir,dir]

The file size limit depends on large file support.

Note that the item may turn unsupported on Windows if a directory is searched within a non-existing directory, e.g. vfs.file.exists[C:\no\dir,dir] (where 'no' does not exist).
vfs.file.get[file]
Return information about a file. JSON object file - full path to file Supported file types on UNIX-like systems: regular file, directory, symbolic link, socket, block device, character device, FIFO

Supported file types on Windows: regular file, directory, symbolic link

Example:
=> vfs.file.get[/etc/passwd] → return a JSON with information about the /etc/passwd file (type, user, permissions, SID, uid etc)

Supported since Zabbix 6.0.
vfs.file.md5sum[file]
MD5 checksum of file. Character string (MD5 hash of the file) file - full path to file Example:
=> vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Example of returned value:
b5052decb577e0fffd622d6ddc017e82

The file size limit (64 MB) for this item was removed in version 1.8.6.

The file size limit depends on large file support.
vfs.file.owner[file,<ownertype>,<resulttype>]
Retrieve owner of a file. Character string file - full path to file
ownertype - user (default) or group (Unix only)
resulttype - name (default) or id; for id - return uid/gid on Unix, SID on Windows
Example:
=> vfs.file.owner[/tmp/zabbix_server.log] → return file owner of /tmp/zabbix_server.log
=> vfs.file.owner[/tmp/zabbix_server.log,,id] → return file owner ID of /tmp/zabbix_server.log

Supported since Zabbix 6.0.
vfs.file.permissions[file]
Return a 4-digit string containing the octal number with Unix permissions. String file - full path to the file Not supported on Windows.

Example:
=> vfs.file.permissions[/etc/passwd] → return permissions of /etc/passwd, for example, '0644'

Supported since Zabbix 6.0.
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]
Find string in a file. The line containing the matched string, or as specified by the optional output parameter file - full path to file
regexp - regular expression describing the required pattern
encoding - code page identifier
start line - the number of first line to search (first line of file by default).
end line - the number of last line to search (last line of file by default).
output - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
Only the first matching line is returned.
An empty string is returned if no line matched the expression.

Byte order mark (BOM) is excluded from the output.

Content extraction using the output parameter takes place on the agent.

The start line, end line and output parameters are supported from version 2.2.

Examples:
=> 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] → getting the ID of user zabbix
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]
Find string in a file. 0 - match not found

1 - found
file - full path to file
regexp - regular expression describing the required pattern
encoding - code page identifier
start line - the number of first line to search (first line of file by default).
end line - the number of last line to search (last line of file by default).
Byte order mark (BOM) is ignored.

The start line and end line parameters are supported from version 2.2.

Example:
=> vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]
File size (in bytes). Integer file - full path to file
mode - possible values:
bytes (default) or lines (empty lines are counted, too)
The file must have read permissions for user zabbix.

Example:
=> vfs.file.size[/var/log/syslog]

The file size limit depends on large file support.

The mode parameter is supported since Zabbix 6.0.
vfs.file.time[file,<mode>]
File time information. Integer (Unix timestamp) file - full path to the file
mode - possible values:
modify (default) - last time of modifying file content,
access - last time of reading file,
change - last time of changing file properties
Example:
=> vfs.file.time[/etc/passwd,modify]

The file size limit depends on large file support.
vfs.fs.discovery
List of mounted filesystems and their types. Used for low-level discovery. JSON object Supported since Zabbix 2.0.

The {#FSDRIVETYPE} macro is supported on Windows since Zabbix 3.0.

The {#FSLABEL} macro is supported on Windows since Zabbix 6.0.
vfs.fs.get
List of mounted filesystems, their types, disk space and inode statistics. Can be used for low-level discovery. JSON object Supported since Zabbix 4.4.5.

The {#FSLABEL} macro is supported on Windows since Zabbix 6.0.
vfs.fs.inode[fs,<mode>]
Number or percentage of inodes. Integer - for number

Float - for percentage
fs - filesystem
mode - possible values:
total (default), free, used, //pfree // (free, percentage), pused (used, percentage)
Example:
=> vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]
Disk space in bytes or in percentage from total. Integer - for bytes

Float - for percentage
fs - filesystem
mode - possible values:
total (default), free, used, pfree (free, percentage), pused (used, percentage)
In case of a mounted volume, disk space for local file system is returned.

Example:
=> vfs.fs.size[/tmp,free]

Reserved space of a file system is taken into account and not included when using the free mode.

Virtual machine monitoring

Key
Description Return value Parameters Comments
vm.memory.size[<mode>]
Memory size in bytes or in percentage from total. Integer - for bytes

Float - for percentage
mode - possible values:
total (default), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (used, percentage), available, pavailable (available, percentage)
See also platform-specific support and additional details for this parameter.
This item accepts three categories of parameters:

1) total - total amount of memory;
2) platform-specific memory types: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
3) user-level estimates on how much memory is used and available: used, pused, available, pavailable.

Web monitoring

Key
Description Return value Parameters Comments
web.page.get[host,<path>,<port>]
Get content of web page. Web page source as text (including headers) host - hostname or URL (as scheme://host:port/path, where only host is mandatory).
Allowed URL schemes: http, https4. Missing scheme will be treated as http. If URL is specified path and port must be empty. Specifying user name/password when connecting to servers that require authentication, for example: http://user:[email protected] is only possible with cURL support 4.
Punycode is supported in hostnames.
path - path to HTML document (default is /)
port - port number (default is 80 for HTTP)
This item turns unsupported if the resource specified in host does not exist or is unavailable.

host can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.

Example:
=> 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>]
Loading time of full web page (in seconds). Float host - hostname or URL (as scheme://host:port/path, where only host is mandatory).
Allowed URL schemes: http, https4. Missing scheme will be treated as http. If URL is specified path and port must be empty. Specifying user name/password when connecting to servers that require authentication, for example: http://user:[email protected] is only possible with cURL support 4.
Punycode is supported in hostnames.
path - path to HTML document (default is /)
port - port number (default is 80 for HTTP)
This item turns unsupported if the resource specified in host does not exist or is unavailable.

host can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.

Example:
=> 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>]
Find string on a web page. The matched string, or as specified by the optional output parameter host - hostname or URL (as scheme://host:port/path, where only host is mandatory).
Allowed URL schemes: http, https4. Missing scheme will be treated as http. If URL is specified path and port must be empty. Specifying user name/password when connecting to servers that require authentication, for example: http://user:[email protected] is only possible with cURL support 4.
Punycode is supported in hostnames.
path - path to HTML document (default is /)
port - port number (default is 80 for HTTP)
regexp - regular expression describing the required pattern
length - maximum number of characters to return
output - an optional output formatting template. The \0 escape sequence is replaced with the matched part of text (from the first character where match begins until the character where match ends) while an \N (where N=1...9) escape sequence is replaced with Nth matched group (or an empty string if the N exceeds the number of captured groups).
This item turns unsupported if the resource specified in host does not exist or is unavailable.

host can be hostname, domain name, IPv4 or IPv6 address. But for IPv6 address Zabbix agent must be compiled with IPv6 support enabled.

Content extraction using the output parameter takes place on the agent.

The output parameter is supported from version 2.2.

Example:
=> web.page.regexp[www.example.com,index.php,80,OK,2]
=> web.page.regexp[https://www.example.com,,,OK,2]