1 Agente Zabbix

Panoramica

Questa sezione fornisce dettagli sulle chiavi degli item che utilizzano la comunicazione con Zabbix agent per la raccolta dei dati.

Esistono controlli agent passivi e attivi. Quando si configura un item, è possibile selezionare il tipo richiesto:

  • Zabbix agent - per i controlli passivi
  • Zabbix agent (active) - per i controlli attivi

Si noti che tutte le chiavi degli item supportate da Zabbix agent sono supportate anche dalla nuova generazione di Zabbix agent 2. Vedere le chiavi degli item aggiuntive che è possibile utilizzare solo con agent 2.

Key item supportati

Di seguito sono elencati gli item key che puoi usare con Zabbix agent.

Gli item key sono elencati senza parametri e informazioni aggiuntive. Fai clic sull'item key per visualizzare i dettagli completi.

Item key Descrizione Gruppo item
kernel.maxfiles Il numero massimo di file aperti supportato dal sistema operativo. Kernel
kernel.maxproc Il numero massimo di processi supportato dal sistema operativo.
kernel.openfiles Il numero di descrittori di file attualmente aperti.
log Il monitoraggio di un file di log. Log monitoring
log.count Il conteggio delle righe corrispondenti in un file di log monitorato.
logrt Il monitoraggio di un file di log ruotato.
logrt.count Il conteggio delle righe corrispondenti in un file di log ruotato monitorato.
modbus.get Legge i dati Modbus. Modbus
net.dns Controlla lo stato di un servizio DNS. Network
net.dns.perf Controlla le prestazioni di un servizio DNS.
net.dns.record Esegue una query DNS.
net.if.collisions Il numero di collisioni fuori finestra.
net.if.discovery L'elenco delle interfacce di rete.
net.if.in Le statistiche del traffico in ingresso su un'interfaccia di rete.
net.if.out Le statistiche del traffico in uscita su un'interfaccia di rete.
net.if.total La somma delle statistiche del traffico in ingresso e in uscita su un'interfaccia di rete.
net.tcp.listen Controlla se questa porta TCP è nello stato LISTEN.
net.tcp.port Controlla se è possibile stabilire una connessione TCP alla porta specificata.
net.tcp.service Controlla se un servizio è in esecuzione e accetta connessioni TCP.
net.tcp.service.perf Controlla le prestazioni di un servizio TCP.
net.tcp.socket.count Restituisce il numero di socket TCP che corrispondono ai parametri.
net.udp.listen Controlla se questa porta UDP è nello stato LISTEN.
net.udp.service Controlla se un servizio è in esecuzione e risponde alle richieste UDP.
net.udp.service.perf Controlla le prestazioni di un servizio UDP.
net.udp.socket.count Restituisce il numero di socket UDP che corrispondono ai parametri.
proc.cpu.util La percentuale di utilizzo della CPU da parte del processo. Processes
proc.get L'elenco dei processi del sistema operativo e dei relativi parametri.
proc.mem La memoria utilizzata dal processo in byte.
proc.num Il numero di processi.
sensor Lettura di un sensore hardware. Sensors
system.boottime L'ora di avvio del sistema. System
system.cpu.discovery L'elenco delle CPU/core CPU rilevati.
system.cpu.intr Le interruzioni del dispositivo.
system.cpu.load Il carico della CPU.
system.cpu.num Il numero di CPU.
system.cpu.switches Il conteggio dei context switch.
system.cpu.util La percentuale di utilizzo della CPU.
system.hostname Il nome host del sistema.
system.hw.chassis Le informazioni sul chassis.
system.hw.cpu Le informazioni sulla CPU.
system.hw.devices L'elenco dei dispositivi PCI o USB.
system.hw.macaddr L'elenco degli indirizzi MAC.
system.localtime L'ora del sistema.
system.run Esegue il comando specificato sull'host.
system.stat Le statistiche del sistema.
system.sw.arch Le informazioni sull'architettura software.
system.sw.os Le informazioni sul sistema operativo.
system.sw.os.get Informazioni dettagliate sul sistema operativo (versione, tipo, nome della distribuzione, versione minore e maggiore, ecc).
system.sw.packages L'elenco dei pacchetti installati.
system.sw.packages.get Un elenco dettagliato dei pacchetti installati.
system.swap.in Le statistiche di swap-in (dal dispositivo alla memoria).
system.swap.out Le statistiche di swap-out (dalla memoria al dispositivo).
system.swap.size La dimensione dello spazio di swap in byte o in percentuale sul totale.
system.uname L'identificazione del sistema.
system.uptime L'uptime del sistema in secondi.
system.users.num Il numero di utenti connessi.
vfs.dev.discovery L'elenco dei dispositivi a blocchi e del loro tipo. Virtual file systems
vfs.dev.read Le statistiche di lettura del disco.
vfs.dev.write Le statistiche di scrittura del disco.
vfs.dir.count Il conteggio delle voci della directory.
vfs.dir.get L'elenco delle voci della directory.
vfs.dir.size La dimensione della directory.
vfs.file.cksum Il checksum del file, calcolato dall'algoritmo UNIX cksum.
vfs.file.contents Recupera il contenuto di un file.
vfs.file.exists Controlla se il file esiste.
vfs.file.get Restituisce informazioni su un file.
vfs.file.md5sum Il checksum MD5 del file.
vfs.file.owner Recupera il proprietario di un file.
vfs.file.permissions Restituisce una stringa di 4 cifre contenente il numero ottale con i permessi UNIX.
vfs.file.regexp Recupera una stringa nel file.
vfs.file.regmatch Trova una stringa nel file.
vfs.file.size La dimensione del file.
vfs.file.time Le informazioni temporali del file.
vfs.fs.discovery L'elenco dei filesystem montati con il loro tipo e le opzioni di mount.
vfs.fs.get L'elenco dei filesystem montati con il loro tipo, lo spazio disponibile su disco, le statistiche degli inode e le opzioni di mount.
vfs.fs.inode Il numero o la percentuale di inode.
vfs.fs.size Lo spazio su disco in byte o in percentuale sul totale.
vm.memory.size La dimensione della memoria in byte o in percentuale sul totale. Virtual memory
web.page.get Ottiene il contenuto di una pagina web. Web monitoring
web.page.perf Il tempo di caricamento di una pagina web completa.
web.page.regexp Trova una stringa nella pagina web.
agent.hostmetadata I metadati dell'host dell'agent. Zabbix
agent.hostname Il nome host dell'agent.
agent.ping Il controllo di disponibilità dell'agent.
agent.variant La variante di Zabbix agent (Zabbix agent o Zabbix agent 2).
agent.version La versione di Zabbix agent.
zabbix.stats Restituisce un insieme di metriche interne di Zabbix server o proxy. Se ip e port sono specificati, le metriche vengono recuperate dall'istanza remota; altrimenti, dall'istanza locale.
zabbix.stats (queue) Restituisce il numero di item monitorati nella coda che sono in ritardo su Zabbix server o proxy. Se ip e port sono specificati, le metriche vengono recuperate dall'istanza remota; altrimenti, dall'istanza locale.

Piattaforme supportate

Salvo diversa indicazione nei dettagli dell'item, gli item dell'agent (e tutti i parametri) sono supportati su:

  • Linux
  • FreeBSD
  • Solaris
  • HP-UX
  • AIX
  • MacOS X
  • OpenBSD
  • NetBSD

Molti item dell'agent sono supportati anche su Windows. Per i dettagli, vedere la pagina Windows agent item.

Dettagli della chiave item

I parametri senza parentesi angolari sono obbligatori. I parametri contrassegnati dalle parentesi angolari < > sono facoltativi.

kernel.maxfiles


Il numero massimo di file aperti supportato dal sistema operativo.
Valore restituito: Intero.
Piattaforme supportate: Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.

kernel.maxproc


Il numero massimo di processi supportati dal sistema operativo.
Valore restituito: Intero.
Piattaforme supportate: Linux 2.6 e successivi, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

kernel.openfiles


Il numero di descrittori di file attualmente aperti.
Valore restituito: Integer.
Piattaforme supportate: Linux (l'item potrebbe funzionare su altre piattaforme di tipo UNIX).

log[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


Il monitoraggio di un file di log.
Valore restituito: Log.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo e il nome di un file di log;
  • regexp - una espressione regolare che descrive il pattern richiesto;
  • encoding - l'identificatore della code page;
  • maxlines - il numero massimo di nuove righe al secondo che l'agent invierà al server o al proxy Zabbix. Questo parametro sovrascrive il valore di 'MaxLinesPerSecond' in zabbix_agentd.conf;
  • mode - valori possibili: all (predefinito) oppure skip - salta l'elaborazione dei dati meno recenti (influisce solo sugli item appena creati);
  • output - un template facoltativo per la formattazione dell'output. La sequenza di escape \0 viene sostituita con la parte di testo corrispondente trovata (dal primo carattere in cui inizia la corrispondenza fino al carattere in cui termina), mentre una sequenza di escape \N (dove N=1...9) viene sostituita con l'N-esimo gruppo corrispondente (oppure con una stringa vuota se N supera il numero di gruppi acquisiti);
  • maxdelay - il ritardo massimo in secondi. Tipo: float. Valori: 0 - (predefinito) non ignorare mai le righe del file di log; > 0.0 - ignorare le righe meno recenti per fare in modo che vengano analizzate le righe più recenti entro "maxdelay" secondi. Leggere le note su maxdelay prima di utilizzarlo!
  • options - opzioni aggiuntive:
    mtime-noreread - record non univoci, rileggere solo se la dimensione del file cambia (ignorare la modifica del tempo di modifica). (Questo parametro è deprecato dalla versione 5.0.2, perché ora mtime viene ignorato.)
  • persistent dir (solo in zabbix_agentd sui sistemi Unix; non supportato in Zabbix agent 2) - il percorso assoluto della directory in cui memorizzare i file persistenti. Vedere anche le note aggiuntive sui file persistenti.

Commenti:

  • L'item deve essere configurato come controllo attivo.
  • Se il file è mancante o i permessi non consentono l'accesso, l'item diventa non supportato.
  • Se output viene lasciato vuoto, viene restituita l'intera riga contenente il testo corrispondente. Si noti che tutti i tipi di espressioni regolari globali, eccetto 'Result is TRUE', restituiscono sempre l'intera riga corrispondente e il parametro output viene ignorato.
  • L'estrazione del contenuto tramite il parametro output avviene sull'agent.

Esempi:

log[/var/log/syslog]
log[/var/log/syslog,error]
log[/home/zabbix/logs/logfile,,,100]

Esempio di utilizzo del parametro output per estrarre un numero da un record di log:

log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #questo item corrisponderà a un record di log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e invierà solo '6080' al server. Poiché viene inviato un valore numerico, il "Type of information" per questo item può essere impostato su "Numeric (unsigned)" e il valore può essere utilizzato in grafici, trigger ecc.

Esempio di utilizzo del parametro output per riscrivere un record di log prima di inviarlo al 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"] #questo item corrisponderà a un record di log "2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors" e invierà al server un record modificato "2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08".
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


Il conteggio delle righe corrispondenti in un file di log monitorato.
Valore restituito: Integer.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo e il nome del file di log;
  • regexp - una espressione regolare che descrive il modello richiesto;
  • encoding - l'identificatore della code page;
  • maxproclines - il numero massimo di nuove righe al secondo che l'agent analizzerà (non può superare 10000). Il valore predefinito è 10*'MaxLinesPerSecond' in zabbix_agentd.conf.
  • mode - valori possibili: all (predefinito) oppure skip - salta l'elaborazione dei dati meno recenti (influisce solo sui nuovi item).
  • maxdelay - il ritardo massimo in secondi. Tipo: float. Valori: 0 - (predefinito) non ignorare mai le righe del file di log; > 0.0 - ignorare le righe meno recenti per fare in modo che vengano analizzate le righe più recenti entro "maxdelay" secondi. Leggere le note su maxdelay prima di utilizzarlo!
  • options - opzioni aggiuntive:
    mtime-noreread - record non univoci, rileggi solo se la dimensione del file cambia (ignora la modifica del tempo di modifica). (Questo parametro è deprecato dalla versione 5.0.2, perché ora mtime viene ignorato.)
  • persistent dir (solo in zabbix_agentd su sistemi Unix; non supportato in Zabbix agent 2) - il percorso assoluto della directory in cui memorizzare i file persistenti. Vedere anche le note aggiuntive sui file persistenti.

Commenti:

  • L'item deve essere configurato come controllo attivo.
  • Le righe corrispondenti vengono conteggiate nelle nuove righe dall'ultimo controllo del log da parte dell'agent e dipendono quindi dall'intervallo di aggiornamento dell'item.
  • Se il file manca o i permessi non consentono l'accesso, l'item diventa non supportato.
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


Il monitoraggio di un file di log ruotato.
Valore restituito: Log.
Vedere le piattaforme supportate.

Parametri:

  • file regexp - il percorso assoluto del file, con il nome del file specificato tramite una espressione regolare. Si noti che l'espressione regolare si applica solo al nome del file e non deve corrispondere all'intero nome (ad esempio, /path/to/agent corrisponderà a zabbix_agentd.log).
  • regexp - una espressione regolare che descrive il pattern del contenuto richiesto.
  • encoding - l'identificatore della code page identificatore.
  • maxlines - il numero massimo di nuove righe al secondo che l'agent invierà a Zabbix server o proxy. Questo parametro sostituisce il valore di 'MaxLinesPerSecond' in zabbix_agentd.conf.
  • mode - valori possibili: all (predefinito) oppure skip - salta l'elaborazione dei dati più vecchi (influisce solo sugli item creati di recente).
  • output - un template opzionale per la formattazione dell'output. La sequenza di escape \0 viene sostituita con la parte di testo corrispondente (dal primo carattere in cui inizia la corrispondenza fino al carattere in cui termina), mentre una sequenza di escape \N (dove N=1...9) viene sostituita con il N-esimo gruppo corrispondente (o con una stringa vuota se N supera il numero di gruppi acquisiti).
  • maxdelay - il ritardo massimo in secondi. Tipo: float. Valori: 0 - (predefinito) non ignorare mai le righe del file di log; > 0.0 - ignorare le righe più vecchie per ottenere le righe più recenti analizzate entro "maxdelay" secondi. Leggere le note su maxdelay prima di utilizzarlo!
  • options - il tipo di rotazione del file di log e altre opzioni. Valori possibili:
    rotate (predefinito),
    copytruncate - si noti che copytruncate non può essere usato insieme a maxdelay. In questo caso maxdelay deve essere 0 o non specificato; vedere le note su copytruncate,
    mtime-reread - record non univoci, riletti se il tempo di modifica o la dimensione cambiano (usato per impostazione predefinita se nessuna opzione mtime-* è impostata esplicitamente),
    mtime-noreread - record non univoci, riletti solo se la dimensione cambia (ignora la modifica del tempo di modifica).
  • persistent dir (solo in zabbix_agentd sui sistemi Unix; non supportato in Zabbix agent 2) - il percorso assoluto della directory in cui archiviare i file persistenti. Vedere anche le note aggiuntive sui file persistenti.

Commenti:

  • L'item deve essere configurato come active check.
  • La rotazione del log si basa sull'ultimo tempo di modifica dei file.
  • Si noti che logrt è progettato per funzionare con un solo file di log attualmente attivo, con diversi altri file inattivi corrispondenti ruotati. Se, ad esempio, una directory contiene molti file di log attivi, è necessario creare un item logrt separato per ciascuno di essi. Altrimenti, se un item logrt raccoglie troppi file, può portare all'esaurimento della memoria e a un crash del monitoraggio.
  • Se output viene lasciato vuoto, viene restituita l'intera riga contenente il testo corrispondente. Si noti che tutti i tipi di espressione regolare globali, tranne 'Result is TRUE', restituiscono sempre l'intera riga corrispondente e il parametro output viene ignorato.
  • L'estrazione del contenuto tramite il parametro output avviene sull'agent.
  • Nel parametro file regexp, il percorso della directory del log e l'espressione regolare del file di log devono essere separati dal corretto separatore di directory:
    • su Windows, il separatore deve essere una barra rovesciata (\); le barre oblique (/) possono essere tollerate in altre posizioni, tranne quella che separa il percorso della directory del log dall'espressione regolare del file di log (vedere gli esempi sotto).
    • sugli altri sistemi, deve essere una barra obliqua (/).

Esempi per Windows:

logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #this item will collect data from log files in "c:/dir1/dir2/dir3" where the file name starts with "filename" and ends with any extension matching ".log".
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #this item will collect data from log files in the network share "//example.com/share/dir1/dir2/dir3" where the file name starts with "filename" and ends with any extension matching ".log".

Esempi per altri sistemi:

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

Esempio di utilizzo del parametro output per estrarre un numero da un record di log:

logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #this item 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.

Esempio di utilizzo del parametro output per riscrivere un record di log prima dell'invio a 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"] #this item 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>]


Il conteggio delle righe corrispondenti in un file di log monitorato che viene ruotato.
Valore restituito: Integer.
Vedere le piattaforme supportate.

Parametri:

  • file regexp - il percorso assoluto del file, con il nome del file specificato tramite una espressione regolare. Si noti che l'espressione regolare si applica solo al nome del file e non deve corrispondere all'intero nome (ad esempio, /path/to/agent corrisponderà a zabbix_agentd.log).
  • regexp - una espressione regolare che descrive il pattern richiesto.
  • encoding - l'identificatore della code page.
  • maxproclines - il numero massimo di nuove righe al secondo che l'agent analizzerà (non può superare 10000). Il valore predefinito è 10*'MaxLinesPerSecond' in zabbix_agentd.conf.
  • mode - valori possibili: all (predefinito) oppure skip - salta l'elaborazione dei dati più vecchi (influisce solo sugli item creati di recente).
  • maxdelay - il ritardo massimo in secondi. Tipo: float. Valori: 0 - (predefinito) non ignorare mai le righe del file di log; > 0.0 - ignora le righe più vecchie per ottenere le righe più recenti analizzate entro "maxdelay" secondi. Leggere le note su maxdelay prima di utilizzarlo!
  • options - il tipo di rotazione del file di log e altre opzioni. Valori possibili:
    rotate (predefinito),
    copytruncate - notare che copytruncate non può essere usato insieme a maxdelay. In questo caso maxdelay deve essere 0 o non specificato; vedere le note su copytruncate,
    mtime-reread - record non univoci, rileggi se il tempo di modifica o la dimensione cambia (predefinito),
    mtime-noreread - record non univoci, rileggi solo se la dimensione cambia (ignora la modifica del tempo di modifica).
  • persistent dir (solo in zabbix_agentd su sistemi Unix; non supportato in Zabbix agent 2) - il percorso assoluto della directory in cui archiviare i file persistenti. Vedere anche le note aggiuntive sui file persistenti.

Commenti:

  • L'item deve essere configurato come controllo attivo.
  • Le righe corrispondenti vengono conteggiate nelle nuove righe dall'ultimo controllo del log da parte dell'agent, e quindi dipendono dall'intervallo di aggiornamento dell'item.
  • La rotazione dei log si basa sull'ultimo tempo di modifica dei file.
  • Nel parametro file regexp, il percorso della directory dei log e l'espressione regolare del file di log devono essere separati dal corretto separatore di directory:
    • su Windows, il separatore deve essere una backslash (\); le forward slash possono essere tollerate in altre posizioni, tranne quella che separa il percorso della directory dei log e l'espressione regolare del file di log (vedere gli esempi sotto).
    • sugli altri sistemi, deve essere una forward slash (/).

Esempi per Windows:

logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #this item will count the number of matches for the pattern "pattern_to_match" in log files located in "c:/dir1/dir2/dir3".
logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #this item will count the number of matches for the pattern "pattern_to_match" in log files on the network share "//example.com/share/dir1/dir2/dir3".

Esempi per altri sistemi:

logrt.count["/home/zabbix/logs/.*","^logfile[0-9]{1,3}$",,100] #this item will count the number of matches for the pattern "^logfile[0-9]{1,3}$" in log files in the "/home/zabbix/logs" directory.
logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #this item will count the number of occurrences of the pattern "pattern_to_match" in log files located in "/home/user".
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]


Legge i dati Modbus.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, Windows.

Parametri:

  • endpoint - l'endpoint definito come protocol://connection_string;
  • slave id - l'ID dello slave;
  • function - la funzione Modbus;
  • address - l'indirizzo del primo registro, coil o input;
  • count - il numero di record da leggere;
  • type - il tipo di dati;
  • endianness - la configurazione dell'endianness;
  • offset - il numero di registri, a partire da 'address', i cui risultati verranno scartati.

In Windows, questo item segue i percorsi UNC nel parametro endpoint, il che può rappresentare un rischio per la sicurezza.

Vedere una descrizione dettagliata dei parametri.

net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Controlla lo stato di un servizio DNS.
Valori restituiti: 0 - la risoluzione DNS non è riuscita (il server DNS non ha risposto o ha restituito un errore); 1 - la risoluzione DNS è riuscita.
Vedere piattaforme supportate.

Parametri:

  • ip (ignorato su Windows a meno che non si utilizzi Zabbix agent 2) - l'indirizzo IP del server DNS (lasciare vuoto per il server DNS predefinito);
  • name - il nome DNS da interrogare;
  • type - il tipo di record da interrogare (il valore predefinito è SOA);
  • timeout (ignorato su Windows a meno che non si utilizzi Zabbix agent 2) - il timeout della richiesta in secondi (il valore predefinito è 1 secondo);
  • count (ignorato su Windows a meno che non si utilizzi Zabbix agent 2) - il numero di tentativi per la richiesta (il valore predefinito è 2);
  • protocol - il protocollo utilizzato per eseguire le query DNS: udp (predefinito) oppure tcp.

Commenti:

  • I valori possibili per type sono: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (non supportato per Zabbix agent su Windows, Zabbix agent 2 su tutti i sistemi operativi), HINFO, MINFO, TXT, SRV.
  • Per le ricerche DNS inverse (quando type è impostato su PTR), è possibile fornire il nome DNS sia in formato invertito che non invertito (vedere gli esempi sotto). Si noti che quando viene richiesto un record PTR, il nome DNS è in realtà un indirizzo IP.
  • I nomi di dominio internazionalizzati non sono supportati; utilizzare invece nomi codificati IDNA.

Esempi:

net.dns[198.51.100.1,example.com,MX,2,1]

net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]

net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Controlla le prestazioni di un servizio DNS.
Valore restituito: Float (0 - il servizio non è disponibile; secondi - il numero di secondi trascorsi in attesa di una risposta dal servizio).
Vedi piattaforme supportate.

Parametri:

  • ip (ignorato su Windows se non si utilizza Zabbix agent 2) - l'indirizzo IP del server DNS (lasciare vuoto per il server DNS predefinito);
  • name - il nome DNS da interrogare;
  • type - il tipo di record da interrogare (il valore predefinito è SOA);
  • timeout (ignorato su Windows se non si utilizza Zabbix agent 2) - il timeout della richiesta in secondi (il valore predefinito è 1 secondo);
  • count (ignorato su Windows se non si utilizza Zabbix agent 2) - il numero di tentativi per la richiesta (il valore predefinito è 2);
  • protocol - il protocollo utilizzato per eseguire le query DNS: udp (predefinito) oppure tcp.

Commenti:

  • I valori possibili per type sono:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (non supportato per Zabbix agent su Windows, Zabbix agent 2 su tutti i sistemi operativi), HINFO, MINFO, TXT, SRV.
  • Per le ricerche DNS inverse (quando type è impostato su PTR), è possibile fornire il nome DNS sia in formato inverso che non inverso (vedere gli esempi sotto). Si noti che quando viene richiesto un record PTR, il nome DNS è in realtà un indirizzo IP.
  • I nomi di dominio internazionalizzati non sono supportati; utilizzare invece nomi codificati IDNA.
  • L'item restituisce un tempo di risposta invece di 0 quando il server DNS risponde con un codice di errore (ad esempio, NXDOMAIN o SERVFAIL).

Esempi:

net.dns.perf[198.51.100.1,example.com,MX,2,1]

net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]

net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.record[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Esegue una query DNS.

Zabbix agent 2 fornisce anche net.dns.get, che offre funzionalità aggiuntive come un maggior numero di tipi di record e un controllo più granulare del monitoraggio DNS. Valore restituito: una stringa di caratteri con il tipo di informazione richiesto.
Vedere le piattaforme supportate.

Parametri:

  • ip (ignorato su Windows se non si utilizza Zabbix agent 2) - l'indirizzo IP del server DNS (lasciare vuoto per il server DNS predefinito);
  • name - il nome DNS da interrogare;
  • type - il tipo di record da interrogare (il valore predefinito è SOA);
  • timeout (ignorato su Windows se non si utilizza Zabbix agent 2) - il timeout della richiesta in secondi (il valore predefinito è 1 secondo);
  • count (ignorato su Windows se non si utilizza Zabbix agent 2) - il numero di tentativi per la richiesta (il valore predefinito è 2);
  • protocol - il protocollo utilizzato per eseguire le query DNS: udp (predefinito) oppure tcp.

Commenti:

  • I valori possibili per type sono:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (non supportato per Zabbix agent su Windows, Zabbix agent 2 su tutti i sistemi operativi), HINFO, MINFO, TXT, SRV.
  • Per le ricerche DNS inverse (quando type è impostato su PTR), è possibile fornire il nome DNS in formato invertito o non invertito (vedere gli esempi sotto). Si noti che quando viene richiesto un record PTR, il nome DNS è in realtà un indirizzo IP.
  • I nomi di dominio internazionalizzati non sono supportati; utilizzare invece nomi codificati IDNA.

Esempi:

net.dns.record[198.51.100.1,example.com,MX,2,1]

net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]

net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.if.collisions[if]


Il numero di collisioni fuori finestra.
Valore restituito: Intero.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD. Su NetBSD sono richiesti i privilegi di root.

Parametro:

  • if - nome dell'interfaccia di rete
net.if.discovery


L'elenco delle interfacce di rete. Utilizzato per il low-level discovery.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

net.if.in[if,<mode>]


Le statistiche del traffico in ingresso su un'interfaccia di rete.
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. Su NetBSD sono richiesti privilegi di root.

Parametri:

  • if - nome dell'interfaccia di rete (Unix); descrizione completa dell'interfaccia di rete o indirizzo IPv4; oppure, se tra parentesi graffe, GUID dell'interfaccia di rete (Windows);
  • mode - valori possibili:
    bytes - numero di byte (predefinito)
    packets - numero di pacchetti
    errors - numero di errori
    dropped - numero di pacchetti scartati
    overruns (fifo) - numero di errori del buffer FIFO
    frame - numero di errori di framing dei pacchetti
    compressed - numero di pacchetti compressi ricevuti dal driver del dispositivo
    multicast - numero di frame multicast ricevuti dal driver del dispositivo

Commenti:

  • È possibile utilizzare questa chiave con il passaggio di preprocessing Change per second per ottenere le statistiche dei byte al secondo.
  • La modalità dropped è supportata solo su Linux, FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD.
  • Le modalità overruns, frame, compressed, multicast sono supportate solo su Linux.
  • Su HP-UX questo item non fornisce dettagli sulle interfacce di loopback (ad esempio lo0).

Esempi:

net.if.in[eth0]
net.if.in[eth0,errors]
net.if.out[if,<mode>]


Le statistiche del traffico in uscita su un'interfaccia di rete.
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. Su NetBSD sono richiesti i privilegi di root.

Parametri:

  • if - nome dell'interfaccia di rete (Unix); descrizione completa dell'interfaccia di rete o indirizzo IPv4; oppure, se tra parentesi graffe, GUID dell'interfaccia di rete (Windows);
  • mode - valori possibili:
    bytes - numero di byte (predefinito)
    packets - numero di pacchetti
    errors - numero di errori
    dropped - numero di pacchetti scartati
    overruns (fifo) - numero di errori del buffer FIFO
    collisions (colls) - numero di collisioni rilevate sull'interfaccia
    carrier - numero di perdite di portante rilevate dal driver del dispositivo
    compressed - numero di pacchetti compressi trasmessi dal driver del dispositivo

Commenti:

  • È possibile usare questa chiave con il passaggio di preprocessing Change per second per ottenere le statistiche dei byte al secondo.
  • La modalità dropped è supportata solo su Linux, HP-UX.
  • Le modalità overruns, collision, carrier, compressed sono supportate solo su Linux.
  • Su HP-UX questo item non fornisce dettagli sulle interfacce di loopback (ad esempio lo0).

Esempi:

net.if.out[eth0]
net.if.out[eth0,errors]
net.if.total[if,<mode>]


La somma delle statistiche del traffico in ingresso e in uscita su un'interfaccia di rete.
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. Su NetBSD sono richiesti privilegi di root.

Parametri:

  • if - nome dell'interfaccia di rete (Unix); descrizione completa dell'interfaccia di rete o indirizzo IPv4; oppure, se tra parentesi graffe, GUID dell'interfaccia di rete (Windows);
  • mode - valori possibili:
    bytes - numero di byte (predefinito)
    packets - numero di pacchetti
    errors - numero di errori
    dropped - numero di pacchetti scartati
    overruns (fifo) - numero di errori del buffer FIFO
    collisions (colls) - numero di collisioni rilevate sull'interfaccia
    compressed - numero di pacchetti compressi trasmessi o ricevuti dal driver del dispositivo

Commenti:

  • È possibile utilizzare questa chiave con il passaggio di preprocessing Change per second per ottenere le statistiche dei byte al secondo.
  • La modalità dropped è supportata solo su Linux, HP-UX. I pacchetti scartati sono supportati solo se sia net.if.in che net.if.out funzionano per i pacchetti scartati sulla tua piattaforma.
  • Le modalità overruns, collision, compressed sono supportate solo su Linux.
  • Su HP-UX questo item non fornisce dettagli sulle interfacce loopback (ad esempio lo0).

Esempi:

net.if.total[eth0]
net.if.total[eth0,errors]
net.tcp.listen[port]


Controlla se questa porta TCP è nello stato LISTEN.
Valori restituiti: 0 - non è nello stato LISTEN; 1 - è nello stato LISTEN.
Piattaforme supportate: Linux, FreeBSD, Solaris, MacOS X, Windows.

Parametro:

  • port - numero della porta TCP

Sui kernel Linux 2.6.14 e successivi, le informazioni sui socket TCP in ascolto vengono ottenute dall'interfaccia NETLINK del kernel, se possibile. In caso contrario, le informazioni vengono recuperate dai file /proc/net/tcp e /roc/net/tcp6.

Esempio:

net.tcp.listen[80]
net.tcp.port[<ip>,port]


Verifica se è possibile stabilire una connessione TCP alla porta specificata.
Valori restituiti: 0 - impossibile connettersi; 1 - connessione riuscita.
Vedere piattaforme supportate.

Parametri:

  • ip - l'indirizzo IP o il nome DNS (il valore predefinito è 127.0.0.1);
  • port - il numero di porta.

Commenti:

  • Per un semplice test delle prestazioni TCP utilizzare net.tcp.service.perf[tcp,<ip>,<port>].
  • Questi controlli possono generare messaggi aggiuntivi nei file di log dei demoni di sistema (di solito vengono registrate le sessioni SMTP e SSH).

Esempio:

net.tcp.port[,80] #questo item può essere utilizzato per verificare la disponibilità del server web in esecuzione sulla porta 80
net.tcp.service[service,<ip>,<port>]


Verifica se un servizio è in esecuzione e accetta connessioni TCP.
Valori restituiti: 0 - il servizio non è attivo; 1 - il servizio è in esecuzione.
Vedere piattaforme supportate.

Parametri:

  • service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https o telnet (vedere i dettagli);
  • ip - l'indirizzo IP o il nome DNS (il valore predefinito è 127.0.0.1);
  • port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).

Commenti:

  • Questi controlli possono generare messaggi aggiuntivi nei file di log dei demoni di sistema (di solito vengono registrate le sessioni SMTP e SSH).
  • Il controllo dei protocolli cifrati (come IMAP sulla porta 993 o POP sulla porta 995) non è attualmente supportato. Come soluzione alternativa, utilizzare net.tcp.port[] per controlli di questo tipo.
  • Il controllo di LDAP e HTTPS su Windows è supportato solo da Zabbix agent 2.
  • Il controllo telnet cerca un prompt di login (':' alla fine).

Esempio:

net.tcp.service[ftp,,45] #questo item può essere utilizzato per testare la disponibilità del server FTP sulla porta TCP 45
net.tcp.service.perf[service,<ip>,<port>]


Controlla le prestazioni di un servizio TCP.
Valori restituiti: Float (0 - il servizio non è disponibile; secondi - il numero di secondi trascorsi in attesa di una risposta dal servizio).
Vedi piattaforme supportate.

Parametri:

  • service - ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https o telnet (vedi dettagli);
  • ip - l'indirizzo IP o il nome DNS (il valore predefinito è 127.0.0.1);
  • port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).

Commenti:

  • Il controllo dei protocolli cifrati (come IMAP sulla porta 993 o POP sulla porta 995) non è attualmente supportato. Come soluzione alternativa, utilizzare net.tcp.service.perf[tcp,<ip>,<port>] per controlli di questo tipo.
  • Il controllo telnet cerca un prompt di login (':' alla fine).

Esempio:

net.tcp.service.perf[ssh] #questo item può essere utilizzato per testare la velocità della risposta iniziale dal server SSH
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


Restituisce il numero di socket TCP che corrispondono ai parametri.
Valore restituito: Intero.
Piattaforme supportate: Linux, Windows.

Parametri:

  • laddr - l'indirizzo IPv4/6 locale o la sottorete CIDR;
  • lport - il numero di porta locale o il nome del servizio;
  • raddr - l'indirizzo IPv4/6 remoto o la sottorete CIDR;
  • rport - il numero di porta remota o il nome del servizio;
  • state - lo stato della connessione (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing).

Esempio:

net.tcp.socket.count[,80,,,established] #il numero di connessioni alla porta TCP locale 80 nello stato established
net.udp.listen[port]


Controlla se questa porta UDP è nello stato LISTEN.
Valori restituiti: 0 - non è nello stato LISTEN; 1 - è nello stato LISTEN.
Piattaforme supportate: Linux, FreeBSD, Solaris, MacOS X.

Parametro:

  • port - numero della porta UDP

Esempio:

net.udp.listen[68]
net.udp.service[service,<ip>,<port>]


Verifica se un servizio è in esecuzione e risponde alle richieste UDP.
Valori restituiti: 0 - il servizio non è disponibile; 1 - il servizio è in esecuzione.
Vedere piattaforme supportate.

Parametri:

  • service - ntp (vedere dettagli);
  • ip - l'indirizzo IP o il nome DNS (il valore predefinito è 127.0.0.1);
  • port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).

Esempio:

net.udp.service[ntp,,45] #this item can be used to test the availability of NTP service on UDP port 45
net.udp.service.perf[service,<ip>,<port>]


Controlla le prestazioni di un servizio UDP.
Valori restituiti: Float (0 - il servizio non è disponibile; secondi - il numero di secondi trascorsi in attesa di una risposta dal servizio).
Vedi piattaforme supportate.

Parametri:

  • service - ntp (vedi dettagli);
  • ip - l'indirizzo IP o il nome DNS (il valore predefinito è 127.0.0.1);
  • port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).

Esempio:

net.udp.service.perf[ntp] #this item can be used to test response time from NTP service
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


Restituisce il numero di socket UDP che corrispondono ai parametri.
Valore restituito: Intero.
Piattaforme supportate: Linux, Windows.

Parametri:

  • laddr - l'indirizzo IPv4/6 locale o la subnet CIDR;
  • lport - il numero di porta locale o il nome del servizio;
  • raddr - l'indirizzo IPv4/6 remoto o la subnet CIDR;
  • rport - il numero di porta remota o il nome del servizio;
  • state - lo stato della connessione (established, unconn).

Esempio:

net.udp.socket.count[,,,,established] #restituisce il numero di socket UDP nello stato connesso
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]


La percentuale di utilizzo della CPU del processo.
Valore restituito: Float.
Piattaforme supportate: Linux, Solaris6.

Parametri:

  • name - il nome del processo (il valore predefinito è tutti i processi);
  • user - il nome dell'utente (il valore predefinito è tutti gli utenti);
  • type - il tipo di utilizzo della CPU: total (predefinito), user oppure system;
  • cmdline - filtro per riga di comando (è una espressione regolare);
  • mode - la modalità di raccolta dei dati: avg1 (predefinito), avg5 oppure avg15;
  • zone - la zona di destinazione: current (predefinito) oppure all. Questo parametro è supportato solo su Solaris.

Commenti:

  • Il valore restituito si basa sulla percentuale di utilizzo di un singolo core CPU. Ad esempio, l'utilizzo della CPU di un processo che usa completamente due core è del 200%.
  • I dati di utilizzo della CPU del processo vengono raccolti da un collector che supporta un massimo di 1024 query univoche (per nome, utente e riga di comando). Le query a cui non si è avuto accesso nelle ultime 24 ore vengono rimosse dal collector.
  • Quando il parametro zone è impostato su current (o sul valore predefinito), nel caso in cui l'agent sia stato compilato su un Solaris senza supporto per le zone ma sia in esecuzione su un Solaris più recente in cui le zone sono supportate, l'agent restituirà NOTSUPPORTED (l'agent non può limitare i risultati alla sola zona corrente). Tuttavia, in questo caso all è supportato.

Esempi:

proc.cpu.util[,root] #utilizzo della CPU di tutti i processi in esecuzione con l'utente "root"
proc.cpu.util[zabbix_server,zabbix] #utilizzo della CPU di tutti i processi zabbix_server in esecuzione con l'utente zabbix
proc.get[<name>,<user>,<cmdline>,<mode>]


L'elenco dei processi del sistema operativo e dei relativi parametri. Può essere utilizzato per il low-level discovery.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, FreeBSD, Windows, OpenBSD, NetBSD.

Parametri:

  • name - il nome del processo (predefinito: tutti i processi);
  • user - il nome dell'utente (predefinito: tutti gli utenti);
  • cmdline - filtro per riga di comando (è una espressione regolare). Questo parametro non è supportato in Windows; sulle altre piattaforme non è supportato se mode è impostato su 'summary'.
  • mode - valori possibili:
    process (predefinito), thread (non supportato per NetBSD), summary. Vedere l'elenco dei parametri di processo restituiti per ciascun mode e sistema operativo.

Commenti:

  • Se un valore non può essere recuperato, ad esempio a causa di un errore (il processo è già terminato, mancanza di permessi, errore di chiamata di sistema), verrà restituito -1.
  • Vedere le note sulla selezione dei processi con i parametri name e cmdline (specifico per Linux).

Esempi:

proc.get[zabbix_server,zabbix,,process] #list of all zabbix_server processes running under the zabbix user, returns one entry per PID
proc.get[java,,,thread] #list of all Java processes, returns one entry per thread
proc.get[,zabbix,,summary] #combined data for processes of each type running under the zabbix user, returns one entry per process name
proc.mem[<name>,<user>,<mode>,<cmdline>,<memtype>]


La memoria utilizzata dal processo in byte.
Valore restituito: Integer - con mode impostato su max, min, sum; Float - con mode impostato su avg
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

Parametri:

  • name - il nome del processo (il valore predefinito è tutti i processi);
  • user - il nome utente (il valore predefinito è tutti gli utenti);
  • mode - valori possibili: avg, max, min o sum (predefinito);
  • cmdline - filtro per riga di comando (è una espressione regolare);
  • memtype - il tipo di memoria utilizzato dal processo

Commenti:

  • Il parametro memtype è supportato solo su Linux, FreeBSD, Solaris6, AIX.
  • Quando più processi utilizzano memoria condivisa, la somma della memoria utilizzata dai processi può produrre valori elevati e non realistici.

    Vedere le note sulla selezione dei processi con i parametri name e cmdline (specifico per Linux).

    Quando questo item viene richiamato dalla riga di comando e contiene un parametro della riga di comando (ad esempio utilizzando la modalità di test dell'agent: zabbix_agentd -t proc.mem[,,,apache2]), verrà conteggiato un processo aggiuntivo, poiché l'agent conterà sé stesso.

Esempi:

proc.mem[,root] #la memoria utilizzata da tutti i processi eseguiti con l'utente "root"
proc.mem[zabbix_server,zabbix] #la memoria utilizzata da tutti i processi zabbix_server eseguiti con l'utente zabbix
proc.mem[,oracle,max,oracleZABBIX] #la memoria utilizzata dal processo che consuma più memoria eseguito con l'utente Oracle e che contiene oracleZABBIX nella sua riga di comando
proc.num[<name>,<user>,<state>,<cmdline>,<zone>]


Il numero di processi.
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD, Windows.

Parametri:

  • name - il nome del processo (il valore predefinito è all processes);
  • user - il nome dell'utente (il valore predefinito è all users);
  • state - valori possibili:
    all (predefinito),
    disk - sospensione non interrompibile,
    run - in esecuzione,
    sleep - sospensione interrompibile,
    trace - arrestato,
    zomb - zombie;
  • cmdline - filtro per la riga di comando (è una espressione regolare);
  • zone - la zona di destinazione: current (predefinito) oppure all. Questo parametro è supportato solo su Solaris.

Commenti:

  • I parametri di stato disk e trace sono supportati solo su Linux, FreeBSD, OpenBSD, NetBSD.
  • Su Windows, sono supportati solo i parametri name e user.
  • Quando questo item viene richiamato dalla riga di comando e contiene un parametro della riga di comando (ad esempio usando la modalità di test dell'agent: zabbix_agentd -t proc.num[,,,apache2]), verrà conteggiato un processo aggiuntivo, poiché l'agent conterà se stesso.
  • Quando si imposta il parametro zone su current (o predefinito) nel caso in cui l'agent sia stato compilato su un Solaris senza supporto per le zone, ma venga eseguito su un Solaris più recente in cui le zone sono supportate, l'agent restituirà NOTSUPPORTED (l'agent non può limitare i risultati alla sola zona corrente). Tuttavia, all è supportato in questo caso.
  • Vedere le note sulla selezione dei processi con i parametri name e cmdline (specifico per Linux).

Esempi:

proc.num[,mysql] #the number of processes running under the mysql user
proc.num[apache2,www-data] #the number of apache2 processes running under the www-data user
proc.num[,oracle,sleep,oracleZABBIX] #the number of processes in sleep state running under Oracle having oracleZABBIX in its command line
sensor[device,sensor,<mode>]


Lettura del sensore hardware.
Valore restituito: Float.
Piattaforme supportate: Linux, OpenBSD.

Parametri:

  • device - il nome del dispositivo;
  • sensor - il nome del sensore;
  • mode - valori possibili: avg, max oppure min.

Commenti:

  • Legge /proc/sys/dev/sensors su Linux 2.4.
  • Legge /sys/class/hwmon su Linux 2.6+. Vedere una descrizione più dettagliata dell'item sensor su Linux.
  • Legge l'MIB hw.sensors su OpenBSD.
  • Su Linux 2.4, se si specifica mode, allora device e sensor vengono trattati come espressioni regolari.
  • Su Linux 2.6+ e OpenBSD, oppure se mode viene omesso, device e sensor vengono trattati come valori letterali.

Esempi:

sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #the temperature of one CPU
sensor["cpu[0-2]$",temp,avg] #the average temperature of the first three CPUs
system.boottime


L'ora di avvio del sistema.
Valore restituito: Intero (timestamp Unix).
Piattaforme supportate: Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

system.cpu.discovery


L'elenco delle CPU/core CPU rilevate. Utilizzato per il low-level discovery.
Valore restituito: stringa JSON.
Vedi piattaforme supportate.

system.cpu.intr


Le interruzioni del dispositivo.
Valore restituito: Intero.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.load[<cpu>,<mode>]


Il carico della CPU.
Valore restituito: Float.
Vedere piattaforme supportate.

Parametri:

  • cpu - valori possibili: all (predefinito) oppure percpu (il carico totale diviso per il numero di CPU online);
  • mode - valori possibili: avg1 (media di un minuto, predefinito), avg5 oppure avg15.

Esempio:

system.cpu.load[,avg5]
system.cpu.num[<type>]


Il numero di CPU.
Valore restituito: Intero.
Piattaforme supportate: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Parametro:

  • type - valori possibili: online (predefinito) oppure max

Il parametro di tipo max è supportato solo su Linux, FreeBSD, Solaris, MacOS X.

Esempio:

system.cpu.num
system.cpu.switches


Il numero di cambi di contesto.
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>]


La percentuale di utilizzo della CPU.
Valore restituito: Float.
Piattaforme supportate: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

Parametri:

  • cpu - <numero CPU> oppure all (predefinito);
  • type - valori possibili: user (predefinito), idle, nice, system, iowait, interrupt, softirq, steal, spin (su OpenBSD), guest (su kernel Linux 2.6.24 e successivi), oppure guest_nice (su kernel Linux 2.6.33 e successivi);
  • mode - valori possibili: avg1 (media di un minuto, predefinito), avg5 oppure avg15;
  • logical or physical - valori possibili: logical (predefinito) oppure physical. Questo parametro è supportato solo su AIX.

Commenti:

  • Il parametro di tipo nice è supportato solo su Linux, FreeBSD, HP-UX, OpenBSD, NetBSD.
  • Il parametro di tipo iowait è supportato solo su Linux 2.6 e successivi, Solaris, AIX.
  • Il parametro di tipo interrupt è supportato solo su Linux 2.6 e successivi, FreeBSD, OpenBSD.
  • I parametri di tipo softirq, steal, guest, guest_nice sono supportati solo su Linux 2.6 e successivi.
  • I parametri di modalità avg5 e avg15 sono supportati su Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD.

Esempio:

system.cpu.util[0,user,avg5]
system.hostname[<type>,<transform>]


Il nome del host del sistema.
Valore restituito: String.
Vedere le piattaforme supportate.

Parametri:

  • type - valori possibili: netbios (predefinito su Windows), host (predefinito su Linux), shorthost (restituisce la parte del nome host prima del primo punto, una stringa completa per i nomi senza punti), fqdn (restituisce il Fully Qualified Domain Name);
  • transform - valori possibili: none (predefinito) oppure lower (converte in minuscolo).

Il valore viene acquisito prendendo nodename dall'output dell'API di sistema uname().

Esempi di valori restituiti:

system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
system.hw.chassis[<info>]


Le informazioni sullo chassis.
Valore restituito: String.
Piattaforme supportate: Linux.

Parametro:

  • info - valori possibili: full (predefinito), model, serial, type oppure vendor

Commenti:

  • Questa chiave item dipende dalla disponibilità della tabella SMBIOS.
  • Tenterà di leggere la tabella DMI da sysfs; se l'accesso a sysfs fallisce, proverà quindi a leggere direttamente dalla memoria.
  • Sono richiesti i permessi di root perché il valore viene acquisito leggendo da sysfs o dalla memoria.

Esempio:

system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
system.hw.cpu[<cpu>,<info>]


Le informazioni sulla CPU.
Valore restituito: String o Integer.
Piattaforme supportate: Linux.

Parametri:

  • cpu - <numero CPU> oppure all (predefinito);
  • info - valori possibili: full (predefinito), curfreq, maxfreq, model oppure vendor.

Commenti:

  • Raccoglie le informazioni da /proc/cpuinfo e /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq.
  • Se viene specificato un numero di CPU e curfreq o maxfreq, viene restituito un valore numerico (Hz).

Esempio:

system.hw.cpu[0,vendor] → AuthenticAMD
system.hw.devices[<type>]


L'elenco dei dispositivi PCI o USB.
Valore restituito: Testo.
Piattaforme supportate: Linux.

Parametro:

  • type - pci (predefinito) oppure usb

Restituisce l'output dell'utilità lspci o lsusb (eseguita senza alcun parametro).

Esempio:

system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<interface>,<format>]


L'elenco degli indirizzi MAC.
Valore restituito: String.
Piattaforme supportate: Linux.

Parametri:

  • interface - all (predefinito) oppure un'espressione regolare;
  • format - full (predefinito) oppure short

Commenti:

  • Elenca gli indirizzi MAC delle interfacce il cui nome corrisponde all'espressione regolare interface specificata (all elenca tutte le interfacce).
  • Se format è specificato come short, i nomi delle interfacce e gli indirizzi MAC identici non vengono elencati.

Esempio:

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


L'ora di sistema.
Valore restituito: Integer - con type impostato su utc; String - con type impostato su local.
Vedere le piattaforme supportate.

Parametri:

  • type - valori possibili: utc - (predefinito) il tempo trascorso dall'Epoch (00:00:00 UTC, 1 gennaio 1970), misurato in secondi oppure local - l'ora nel formato 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'

Deve essere utilizzato come controllo passivo per Zabbix agent; in Zabbix agent 2 può essere configurato come controllo attivo.

Esempio:

system.localtime[local] #creare un item utilizzando questa chiave e poi usarlo per visualizzare l'ora del host nel widget *Clock* della dashboard.
system.run[command,<mode>]


Esegue il comando specificato sull'host.
Valore restituito: risultato Text del comando oppure 1 - con mode impostato su nowait (indipendentemente dal risultato del comando).
Vedere le piattaforme supportate.

Parametri:

  • command - comando da eseguire;
  • mode - valori possibili: wait - attende la fine dell'esecuzione (predefinito) oppure nowait - non attendere.

Commenti:

  • Questo item è disabilitato per impostazione predefinita. Scopri come abilitarli.
  • Il valore restituito dell'item è l'output standard insieme all'errore standard prodotto dal comando. Il controllo del codice di uscita non viene eseguito.
  • Per essere elaborato correttamente, il valore restituito del comando deve essere di tipo dati text. È consentito anche un risultato vuoto.
  • Il valore restituito è limitato a 16MB (inclusi gli spazi finali che vengono troncati); si applicano anche i limiti del database.
  • Vedere anche: Esecuzione dei comandi.

Esempio:

system.run[ls -l /] #restituisce un elenco dettagliato dei file della directory root
system.stat[resource,<type>]


Le statistiche di sistema.
Valore restituito: Integer o float.
Piattaforme supportate: AIX.

Parametri:

  • ent - il numero di unità di processore che questa partizione ha diritto di ricevere (float);
  • kthr,<type> - informazioni sugli stati dei thread del kernel:
    r - numero medio di thread del kernel eseguibili (float)
    b - numero medio di thread del kernel inseriti nella coda di attesa del Virtual Memory Manager (float)
  • memory,<type> - informazioni sull'utilizzo della memoria virtuale e reale:
    avm - pagine virtuali attive (integer)
    fre - dimensione della lista libera (integer)
  • page,<type> - informazioni sui page fault e sull'attività di paging:
    fi - page-in di file al secondo (float)
    fo - page-out di file al secondo (float)
    pi - pagine trasferite in memoria dallo spazio di paging (float)
    po - pagine trasferite nello spazio di paging (float)
    fr - pagine liberate (sostituzione di pagina) (float)
    sr - pagine analizzate dall'algoritmo di sostituzione delle pagine (float)
  • faults,<type> - frequenza di trap e interrupt:
    in - interrupt del dispositivo (float)
    sy - chiamate di sistema (float)
    cs - cambi di contesto dei thread del kernel (float)
  • cpu,<type> - dettaglio percentuale dell'utilizzo del tempo del processore:
    us - tempo utente (float)
    sy - tempo di sistema (float)
    id - tempo inattivo (float)
    wa - tempo inattivo durante il quale il sistema aveva richieste di I/O disco/NFS in sospeso (float)
    pc - numero di processori fisici consumati (float)
    ec - percentuale di capacità assegnata consumata (float)
    lbusy - indica la percentuale di utilizzo dei processori logici verificatasi durante l'esecuzione a livello utente e di sistema (float)
    app - indica i processori fisici disponibili nel pool condiviso (float)
  • disk,<type> - statistiche del disco:
    bps - indica la quantità di dati trasferiti (letti o scritti) verso l'unità in byte al secondo (integer)
    tps - indica il numero di trasferimenti al secondo emessi verso il disco/nastro fisico (float)

Commenti:

  • Tenere presenti le seguenti limitazioni di questi item:
    system.stat[cpu,app] - supportato solo su AIX LPAR di tipo "Shared";
    system.stat[cpu,ec] - supportato su AIX LPAR di tipo "Shared" e "Dedicated" ("Dedicated" restituisce sempre 100 (percento));
    system.stat[cpu,lbusy] - supportato solo su AIX LPAR di tipo "Shared";
    system.stat[cpu,pc] - supportato su AIX LPAR di tipo "Shared" e "Dedicated";
    system.stat[ent] - supportato su AIX LPAR di tipo "Shared" e "Dedicated".
system.sw.arch


Le informazioni sull'architettura software.
Valore restituito: String.
Vedere piattaforme supportate.

Le informazioni vengono ottenute dalla funzione uname().

Esempio:

system.sw.arch → i686
system.sw.os[<info>]


Le informazioni sul sistema operativo.
Valore restituito: String.
Piattaforme supportate: Linux, Windows.

Parametro:

  • info - valori possibili: full (predefinito), short oppure name

Le informazioni vengono acquisite da (si noti che non tutti i file e le opzioni sono presenti in tutte le distribuzioni):

  • /proc/version (full) su Linux;
  • /proc/version_signature (short) su Linux;
  • il parametro PRETTY_NAME da /etc/os-release sui sistemi Linux che lo supportano oppure /etc/issue.net (name);
  • la chiave di registro HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion su Windows.

Esempi:

system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
system.sw.os.get


Informazioni dettagliate sul sistema operativo (versione, tipo, nome della distribuzione, versione minore e maggiore, ecc.).
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, Windows.

system.sw.packages[<regexp>,<manager>,<format>]


Elenco dei pacchetti installati.
Valore restituito: Text.
Piattaforme supportate: Linux.

Parametri:

  • regexp - all (predefinito) oppure una espressione regolare;
  • manager - all (predefinito) oppure un gestore di pacchetti;
  • format - full (predefinito) oppure short.

Commenti:

  • Elenca in ordine alfabetico i pacchetti installati il cui nome corrisponde alla espressione regolare specificata (all li elenca tutti).
  • Gestori di pacchetti supportati (comando eseguito):
    dpkg (dpkg --get-selections)
    pkgtool (ls /var/log/packages)
    rpm (rpm -qa)
    pacman (pacman -Q)
    portage
  • Se format è specificato come full, i pacchetti sono raggruppati per gestore di pacchetti (ogni gestore su una riga separata che inizia con il suo nome tra parentesi quadre).
  • Se format è specificato come short, i pacchetti non sono raggruppati e sono elencati su una sola riga.

Esempio:

system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]


Un elenco dettagliato dei pacchetti installati.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux.

Parametri:

  • regexp - all (predefinito) oppure una espressione regolare;
  • manager - all (predefinito) oppure un gestore di pacchetti (valori possibili: rpm, dpkg, pkgtool, pacman o portage).

Commenti:

  • Restituisce JSON non formattato con i pacchetti installati il cui nome corrisponde all'espressione regolare specificata.
  • L'output è un array di oggetti, ciascuno contenente le seguenti chiavi: name, manager, version, size, architecture, buildtime e installtime (vedere maggiori dettagli).
system.swap.in[<device>,<type>]


Le statistiche di swap-in (dal device alla memoria).
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, OpenBSD.

Parametri:

  • device - specifica il device usato per lo swapping (solo Linux) oppure all (predefinito);
  • type - valori possibili: count (numero di swap-in, predefinito sulle piattaforme non Linux), sectors (settori scambiati in swap) oppure pages (pagine scambiate in swap, predefinito su Linux).

Commenti:

  • La fonte di queste informazioni è:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • Nota che pages funzionerà solo se non è stato specificato device.
  • Il parametro di tipo sectors è supportato solo su Linux.

Esempio:

system.swap.in[,pages]
system.swap.out[<device>,<type>]


Le statistiche di swap-out (dalla memoria al dispositivo).
Valore restituito: Integer.
Piattaforme supportate: Linux, FreeBSD, OpenBSD.

Parametri:

  • device - specifica il dispositivo utilizzato per lo swapping (solo Linux) oppure all (predefinito);
  • type - valori possibili: count (numero di swap-out, predefinito sulle piattaforme non Linux), sectors (settori trasferiti in swap), oppure pages (pagine trasferite in swap, predefinito su Linux).

Commenti:

  • La fonte di queste informazioni è:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • Si noti che pages funzionerà solo se device non è stato specificato.
  • Il parametro di tipo sectors è supportato solo su Linux.

Esempio:

system.swap.out[,pages]
system.swap.size[<device>,<type>]


La dimensione dello spazio di swap in byte o in percentuale del totale.
Valore restituito: Integer - per i byte; Float - per la percentuale.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, OpenBSD, Windows.

Parametri:

  • device - specifica il dispositivo utilizzato per lo swapping (solo FreeBSD) oppure all (predefinito);
  • type - valori possibili: free (spazio di swap libero, predefinito), pfree (spazio di swap libero, in percentuale), pused (spazio di swap utilizzato, in percentuale), total (spazio di swap totale) oppure used (spazio di swap utilizzato).

Commenti:

  • Si noti che pfree e pused non sono supportati su Windows se la dimensione dello swap è 0.
  • Se il dispositivo non è specificato, Zabbix agent terrà conto solo dei dispositivi di swap (file), mentre la memoria fisica verrà ignorata. Ad esempio, sui sistemi Solaris il comando swap -s include una parte della memoria fisica e i dispositivi di swap (a differenza di swap -l).

Esempio:

system.swap.size[,pfree] → percentuale di spazio di swap libero
system.uname


Identificazione del sistema.
Valore restituito: Stringa.
Vedere piattaforme supportate.

Commenti:

  • Su UNIX il valore di questo item viene ottenuto con la chiamata di sistema uname().
  • Su Windows l'item restituisce l'architettura del sistema operativo, mentre su UNIX restituisce l'architettura della CPU.

Esempi:

system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
system.uptime


Il tempo di attività del sistema in secondi.
Valore restituito: Intero.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Nella configurazione degli item, utilizzare le unità s o uptime per ottenere valori leggibili.

system.users.num


Il numero di utenti connessi.
Valore restituito: Integer.
Vedere le piattaforme supportate.

Il comando who viene utilizzato lato agent per ottenere il valore.

vfs.dev.discovery


L'elenco dei dispositivi a blocchi e del loro tipo. Utilizzato per il low-level discovery.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux.

vfs.dev.read[<device>,<type>,<mode>]


Statistiche di lettura del disco.
Valore restituito: Integer - con type in sectors, operations, bytes; Float - con type in sps, ops, bps.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parametri:

  • device - dispositivo disco (il valore predefinito è all 3);
  • type - valori possibili: sectors, operations, bytes, sps, ops o bps (sps, ops, bps stanno per: rispettivamente sectors, operations, bytes per second);
  • mode - valori possibili: avg1 (media su un minuto, predefinito), avg5 o avg15. Questo parametro è supportato solo con type impostato a: sps, ops, bps.

Commenti:

  • Se si utilizza un intervallo di aggiornamento di tre ore o più2, questo item restituirà sempre '0'.
  • I parametri di tipo sectors e sps sono supportati solo su Linux.
  • Il parametro di tipo ops è supportato solo su Linux e FreeBSD.
  • Il parametro di tipo bps è supportato solo su FreeBSD.
  • Il parametro di tipo bytes è supportato solo su FreeBSD, Solaris, AIX, OpenBSD.
  • Il parametro mode è supportato solo su Linux, FreeBSD.
  • È possibile usare nomi di dispositivo relativi (ad esempio, sda) così come un prefisso opzionale /dev/ (ad esempio, /dev/sda).
  • Sono supportati i volumi logici LVM.
  • I valori predefiniti del parametro 'type' per i diversi sistemi operativi:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • sps, ops e bps sulle piattaforme supportate sono limitati a 1024 dispositivi (1023 singoli e uno per all).

Esempio:

vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]


Le statistiche di scrittura del disco.
Valore restituito: Integer - con type in sectors, operations, bytes; Float - con type in sps, ops, bps.
Piattaforme supportate: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Parametri:

  • device - dispositivo disco (il valore predefinito è all 3);
  • type - valori possibili: sectors, operations, bytes, sps, ops o bps (sps, ops, bps stanno per: rispettivamente settori, operazioni, byte al secondo);
  • mode - valori possibili: avg1 (media su un minuto, predefinito), avg5 o avg15. Questo parametro è supportato solo con type in: sps, ops, bps.

Commenti:

  • Se si utilizza un intervallo di aggiornamento di tre ore o più2, questo item restituirà sempre '0'.
  • I parametri di tipo sectors e sps sono supportati solo su Linux.
  • Il parametro di tipo ops è supportato solo su Linux e FreeBSD.
  • Il parametro di tipo bps è supportato solo su FreeBSD.
  • Il parametro di tipo bytes è supportato solo su FreeBSD, Solaris, AIX, OpenBSD.
  • Il parametro mode è supportato solo su Linux, FreeBSD.
  • È possibile usare nomi di dispositivo relativi (ad esempio, sda) così come un prefisso /dev/ opzionale (ad esempio, /dev/sda).
  • Sono supportati i volumi logici LVM.
  • I valori predefiniti del parametro 'type' per i diversi sistemi operativi:
    AIX - operations
    FreeBSD - bps
    Linux - sps
    OpenBSD - operations
    Solaris - bytes
  • sps, ops e bps sulle piattaforme supportate sono limitati a 1024 dispositivi (1023 singoli e uno per all).

Esempio:

vfs.dev.write[,operations]
vfs.dir.count[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


Il numero di voci della directory.
Valore restituito: Integer.
Vedere le piattaforme supportate.

Parametri:

  • dir - il percorso assoluto della directory;
  • regex incl - un'espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da includere; include tutto se vuoto (valore predefinito);
  • regex excl - un'espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da escludere; non esclude nulla se vuoto (valore predefinito);
  • types incl - i tipi di voci della directory da conteggiare, valori possibili: file - file normale, dir - sottodirectory, sym - collegamento simbolico, sock - socket, bdev - dispositivo a blocchi, cdev - dispositivo a caratteri, fifo - FIFO, dev - sinonimo di "bdev,cdev", all - tutti i tipi (predefinito), ovvero "file,dir,sym,sock,bdev,cdev,fifo". Più tipi devono essere separati da virgole e racchiusi tra virgolette.
  • types excl - i tipi di voci della directory (vedere types incl) da NON conteggiare. Se un tipo di voce è presente sia in types incl sia in types excl, le voci della directory di questo tipo NON vengono conteggiate.
  • max depth - la profondità massima delle sottodirectory da attraversare:
    -1 (predefinito) - illimitata,
    0 - non scende nelle sottodirectory.
  • min size - la dimensione minima (in byte) del file da conteggiare. I file più piccoli non vengono conteggiati. È possibile utilizzare i suffissi di memoria.
  • max size - la dimensione massima (in byte) del file da conteggiare. I file più grandi non vengono conteggiati. È possibile utilizzare i suffissi di memoria.
  • min age - l'età minima (in secondi) della voce della directory da conteggiare. Le voci più recenti non vengono conteggiate. È possibile utilizzare i suffissi temporali.
  • max age - l'età massima (in secondi) della voce della directory da conteggiare. Le voci con un'età pari o superiore a questo valore non vengono conteggiate (in base all'ora di modifica). È possibile utilizzare i suffissi temporali.
  • regex excl dir - un'espressione regolare che descrive il modello del nome della directory da escludere. Tutto il contenuto della directory verrà escluso (a differenza di regex_excl)

Commenti:

  • Su Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
  • Le variabili d'ambiente, ad esempio %APP_HOME%, $HOME e %TEMP%, non sono supportate.
  • Le pseudo-directory "." e ".." non vengono mai conteggiate.
  • I collegamenti simbolici non vengono mai seguiti durante l'attraversamento delle directory.
  • Sia regex incl sia regex excl vengono applicate a file e directory durante il calcolo del numero di voci, ma vengono ignorate nella selezione delle sottodirectory da attraversare (se regex incl è "(?i)^.+\.zip$" e max depth non è impostato, verranno attraversate tutte le sottodirectory, ma verranno conteggiati solo i file di tipo zip).
  • Il tempo di esecuzione è limitato dal valore di timeout specificato nella configurazione dell'agent (3 secondi). Poiché l'attraversamento di directory di grandi dimensioni può richiedere più tempo, non verranno restituiti dati e l'item diventerà non supportato. Non verrà restituito un conteggio parziale.
  • Quando si filtra per dimensione, solo i file normali hanno dimensioni significative. In Linux e BSD, anche le directory hanno dimensioni diverse da zero (in genere alcuni KB). I dispositivi hanno dimensione zero; ad esempio, la dimensione di /dev/sda1 non riflette quella della partizione corrispondente. Pertanto, quando si utilizzano <min_size> e <max_size>, è consigliabile specificare <types_incl> come "file" per evitare risultati imprevisti.

Esempi:

vfs.dir.count[/dev] #monitora il numero di dispositivi in /dev (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #monitora il numero di file in una directory temporanea
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>]


L'elenco delle voci della directory.
Valore restituito: stringa JSON.
Vedere le piattaforme supportate.

Parametri:

  • dir - il percorso assoluto della directory;
  • regex incl - un'espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da includere; include tutto se vuoto (valore predefinito);
  • regex excl - un'espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da escludere; non esclude nulla se vuoto (valore predefinito);
  • types incl - i tipi di voci della directory da elencare, valori possibili: file - file normale, dir - sottodirectory, sym - collegamento simbolico, sock - socket, bdev - dispositivo a blocchi, cdev - dispositivo a caratteri, fifo - FIFO, dev - sinonimo di "bdev,cdev", all - tutti i tipi (predefinito), ovvero "file,dir,sym,sock,bdev,cdev,fifo". Più tipi devono essere separati da virgole e racchiusi tra virgolette.
  • types excl - i tipi di voci della directory (vedere types incl) da NON elencare. Se un tipo di voce è presente sia in types incl sia in types excl, le voci della directory di questo tipo NON vengono elencate.
  • max depth - la profondità massima delle sottodirectory da attraversare:
    -1 (predefinito) - illimitata,
    0 - non entra nelle sottodirectory.
  • min size - la dimensione minima (in byte) del file da elencare. I file più piccoli non vengono elencati. È possibile utilizzare i suffissi di memoria.
  • max size - la dimensione massima (in byte) del file da elencare. I file più grandi non vengono elencati. È possibile utilizzare i suffissi di memoria.
  • min age - l'età minima (in secondi) della voce della directory da elencare. Le voci più recenti non vengono elencate. È possibile utilizzare i suffissi temporali.
  • max age - l'età massima (in secondi) della voce della directory da elencare. Le voci con questa età o più vecchie non vengono elencate (ora di modifica). È possibile utilizzare i suffissi temporali.
  • regex excl dir - un'espressione regolare che descrive il modello del nome della directory da escludere. Tutto il contenuto della directory verrà escluso (a differenza di regex excl).

Commenti:

  • In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
  • Le variabili d'ambiente, ad esempio %APP_HOME%, $HOME e %TEMP%, non sono supportate.
  • Le pseudo-directory "." e ".." non vengono mai elencate.
  • I collegamenti simbolici non vengono mai seguiti durante l'attraversamento delle directory.
  • Sia regex incl sia regex excl vengono applicate a file e directory durante la generazione dell'elenco delle voci, ma vengono ignorate quando si scelgono le sottodirectory da attraversare (se regex incl è "(?i)^.+\.zip$" e max depth non è impostato, verranno attraversate tutte le sottodirectory, ma verranno conteggiati solo i file di tipo zip).
  • Il tempo di esecuzione è limitato dal valore di timeout specificato nella configurazione dell'agent. Poiché l'attraversamento di directory di grandi dimensioni può richiedere più tempo, non verranno restituiti dati e l'item diventerà non supportato. Non verrà restituito un elenco parziale.
  • Quando si filtra per dimensione, solo i file normali hanno dimensioni significative. In Linux e BSD, anche le directory hanno dimensioni diverse da zero (in genere alcuni KB). I dispositivi hanno dimensione zero; ad esempio, la dimensione di /dev/sda1 non riflette quella della partizione corrispondente. Pertanto, quando si utilizzano min size e max size, è consigliabile specificare types incl come "file" per evitare risultati imprevisti.

Esempi:

vfs.dir.get[/dev] #recupera l'elenco dei dispositivi in /dev (Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #recupera l'elenco dei file in una directory temporanea
vfs.dir.size[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>]


La dimensione della directory (in byte).
Valore restituito: Integer.
Piattaforme supportate: Linux, Windows. L'item può funzionare anche su altre piattaforme di tipo UNIX.

Parametri:

  • dir - il percorso assoluto della directory;
  • regex incl - un'espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da includere; include tutto se vuoto (valore predefinito);
  • regex excl - un'espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da escludere; non esclude nulla se vuoto (valore predefinito);
  • mode - valori possibili: apparent (predefinito) - ottiene le dimensioni apparenti dei file anziché l'utilizzo del disco (si comporta come du -sb dir), disk - ottiene l'utilizzo del disco (si comporta come du -s -B1 dir). A differenza del comando du, l'item vfs.dir.size considera i file nascosti nel calcolo della dimensione della directory (si comporta come du -sb .[^.]* * all'interno di dir).
  • max depth - la profondità massima delle sottodirectory da attraversare: -1 (predefinito) - illimitata, 0 - non scende nelle sottodirectory.
  • regex excl dir - un'espressione regolare che descrive il modello del nome della directory da escludere. Tutto il contenuto della directory verrà escluso (a differenza di regex excl)

Commenti:

  • In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
  • Vengono calcolate solo le directory con almeno il permesso di lettura per l'utente zabbix. Per le directory con solo permesso di lettura, viene calcolata la dimensione della directory stessa. Le directory con permessi di lettura ed esecuzione vengono calcolate includendo il contenuto.
  • Con directory di grandi dimensioni o unità lente, questo item può andare in timeout a causa dell'impostazione Timeout nei file di configurazione di agent e server/proxy. Aumentare i valori di timeout secondo necessità.
  • Il limite della dimensione del file dipende dal supporto per file di grandi dimensioni.

Esempi:

vfs.dir.size[/tmp,log] #calculates the size of all files in /tmp containing 'log' in their names
vfs.dir.size[/tmp,log,^.+\.old$] #calculates the size of all files in /tmp containing 'log' in their names, excluding files with names ending with '.old'
vfs.file.cksum[file,<mode>]


Il checksum del file, calcolato con l'algoritmo UNIX cksum.
Valore restituito: Integer - con mode impostato su crc32, String - con mode impostato su md5, sha256.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • mode - crc32 (predefinito), md5 oppure sha256.

Commenti:

Esempio:

vfs.file.cksum[/etc/passwd]

Esempi di valori restituiti (crc32/md5/sha256 rispettivamente):

675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]


Recupero del contenuto di un file7.
Valore restituito: Text.
Vedi piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • encoding - l'identificatore della code page.

Commenti:

  • Su Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
  • Il valore restituito è limitato a 16 MB (inclusi gli spazi finali che vengono troncati); si applicano anche i limiti del database.
  • Viene restituita una stringa vuota se il file è vuoto o contiene solo caratteri LF/CR.
  • Il byte order mark (BOM) è escluso dall'output.

Esempio:

vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]


Controlla se il file esiste.
Valore restituito: 0 - non trovato; 1 - esiste un file del tipo specificato.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • types incl - l'elenco dei tipi di file da includere, valori possibili: file (file regolare, predefinito (se types_excl non è impostato)), dir (directory), sym (collegamento simbolico), sock (socket), bdev (dispositivo a blocchi), cdev (dispositivo a caratteri), fifo (FIFO), dev (sinonimo di "bdev,cdev"), all (tutti i tipi menzionati, predefinito se types_excl è impostato).
  • types excl - l'elenco dei tipi di file da escludere, vedere types_incl per i valori possibili (per impostazione predefinita non viene escluso alcun tipo)

Commenti:

  • In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
  • Più tipi devono essere separati da una virgola e l'intero insieme deve essere racchiuso tra virgolette "".
  • Se lo stesso tipo è presente sia in <types_incl> che in <types_excl>, i file di questo tipo vengono esclusi.
  • Il limite della dimensione del file dipende dal supporto per file di grandi dimensioni.

Esempi:

vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]


Restituisce informazioni su un file.
Valore restituito: stringa JSON.
Vedere le piattaforme supportate.

Parametro:

  • file - il percorso completo del file

Commenti:

  • In Windows, questo item segue i percorsi UNC, il che può rappresentare un rischio per la sicurezza.
  • Tipi di file supportati sui sistemi di tipo UNIX: file regolare, directory, collegamento simbolico, socket, dispositivo a blocchi, dispositivo a caratteri, FIFO.
  • Il limite di dimensione del file dipende dal supporto per file di grandi dimensioni.

Esempio:

vfs.file.get[/etc/passwd] #restituisce un JSON con informazioni sul file /etc/passwd (tipo, utente, permessi, SID, uid ecc.)
vfs.file.md5sum[file]


Il checksum MD5 del file.
Valore restituito: stringa di caratteri (hash MD5 del file).
Vedere le piattaforme supportate.

Parametro:

  • file - il percorso completo del file

Commenti:

Esempio:

vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Esempio di valore restituito:

b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[file,<ownertype>,<resulttype>]


Recupera il proprietario di un file.
Valore restituito: String.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • ownertype - user (predefinito) oppure group (solo Unix);
  • resulttype - name (predefinito) oppure id; per id - restituisce uid/gid su Unix, SID su Windows.

Commenti:

Esempi:

vfs.file.owner[/tmp/zabbix_server.log] #restituisce il proprietario del file /tmp/zabbix_server.log
vfs.file.owner[/tmp/zabbix_server.log,,id] #restituisce l'ID del proprietario del file /tmp/zabbix_server.log
vfs.file.permissions[file]


Restituisce una stringa di 4 cifre contenente il numero ottale con i permessi UNIX.
Valore restituito: String.
Piattaforme supportate: Linux. L'item può funzionare anche su altre piattaforme simili a UNIX.

Parametri:

  • file - il percorso completo del file

Il limite della dimensione del file dipende dal supporto per file di grandi dimensioni.

Esempio:

vfs.file.permissions[/etc/passwd] #restituisce i permessi di /etc/passwd, ad esempio, '0644'
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]


Recupera una stringa nel file7.
Valore restituito: la riga contenente la stringa corrispondente, oppure come specificato dal parametro opzionale output.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • regexp - una espressione regolare che descrive il modello richiesto;
  • encoding - l'identificatore della code page;
  • start line - il numero della prima riga in cui cercare (per impostazione predefinita, la prima riga del file);
  • end line - il numero dell'ultima riga in cui cercare (per impostazione predefinita, l'ultima riga del file);
  • output - un template opzionale per la formattazione dell'output. La sequenza di escape \0 viene sostituita con la parte di testo corrispondente (dal primo carattere in cui inizia la corrispondenza fino al carattere in cui termina), mentre una sequenza di escape \N (dove N=1...9) viene sostituita con l'N-esimo gruppo corrispondente (oppure con una stringa vuota se N supera il numero di gruppi acquisiti).

Commenti:

  • In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
  • Il limite della dimensione del file dipende dal supporto per file di grandi dimensioni.
  • Viene restituita solo la prima riga corrispondente.
  • Se nessuna riga corrisponde all'espressione, viene restituita una stringa vuota.
  • Il byte order mark (BOM) è escluso dall'output.
  • L'estrazione del contenuto tramite il parametro output avviene sull'agent.

Esempi:

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] → ottenimento dell'ID dell'utente *zabbix*
vfs.file.regmatch[file,regexp,<encoding>,<start line>,<end line>]


Trova una stringa nel file7.
Valori restituiti: 0 - corrispondenza non trovata; 1 - trovata.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • regexp - una espressione regolare che descrive il modello richiesto;
  • encoding - l'identificatore della code page;
  • start line - il numero della prima riga in cui eseguire la ricerca (per impostazione predefinita, la prima riga del file);
  • end line - il numero dell'ultima riga in cui eseguire la ricerca (per impostazione predefinita, l'ultima riga del file).

Commenti:

Esempio:

vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]


La dimensione del file (in byte).
Valore restituito: Integer.
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • mode - valori possibili: bytes (predefinito) oppure lines (anche le righe vuote vengono conteggiate).

Commenti:

Esempio:

vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]


Le informazioni temporali del file.
Valore restituito: Integer (timestamp Unix).
Vedere le piattaforme supportate.

Parametri:

  • file - il percorso completo del file;
  • mode - valori possibili:
    modify (predefinito) - l'ultima volta in cui è stato modificato il contenuto del file,
    access - l'ultima volta in cui il file è stato letto,
    change - l'ultima volta in cui sono state modificate le proprietà del file

Commenti:

Esempio:

vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery


L'elenco dei filesystem montati con il relativo tipo e le opzioni di montaggio. Utilizzato per la low-level discovery.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

vfs.fs.get


L'elenco dei filesystem montati con il relativo tipo, lo spazio disponibile su disco, le statistiche degli inode e le opzioni di mount. Può essere usato per la discovery a basso livello.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Commenti:

  • Vengono segnalati anche i filesystem con un conteggio degli inode pari a zero, che può essere il caso dei filesystem con inode dinamici (ad esempio btrfs).
  • Lo spazio disponibile su disco e le statistiche degli inode vengono restituiti solo se l'utente dell'agent Zabbix dispone dell'autorizzazione di attraversamento su ogni directory nel percorso del punto di mount; in caso contrario il filesystem viene omesso dall'output.
  • Vedi anche: Discovery dei filesystem montati.
vfs.fs.inode[fs,<mode>]


Il numero o la percentuale di inode.
Valore restituito: Integer - per il numero; Float - per la percentuale.
Vedere piattaforme supportate.

Parametri:

  • fs - il filesystem;
  • mode - valori possibili: total (predefinito), free, used, pfree (liberi, percentuale) oppure pused (utilizzati, percentuale).

Se il conteggio degli inode è uguale a zero, come può accadere per i file system con inode dinamici (ad esempio btrfs), i valori pfree/pused verranno riportati rispettivamente come "100" e "0".

Esempio:

vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]


Lo spazio su disco in byte o in percentuale del totale.
Valore restituito: Integer - per i byte; Float - per la percentuale.
Vedere le piattaforme supportate.

Parametri:

  • fs - il filesystem;
  • mode - valori possibili: total (predefinito), free, used, pfree (libero, percentuale) oppure pused (usato, percentuale).

Commenti:

  • Se il filesystem non è montato, restituisce la dimensione di un filesystem locale in cui si trova il punto di mount.
  • Lo spazio riservato di un file system viene preso in considerazione e non incluso quando si utilizza la modalità free.

Esempio:

vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]


La dimensione della memoria in byte o in percentuale del totale.
Valore restituito: Integer - per i byte; Float - per la percentuale.
Vedere le piattaforme supportate.

Parametro:

  • mode - valori possibili: total (predefinito), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (utilizzata, percentuale), available oppure pavailable (disponibile, percentuale).

Commenti:

  • Questo item accetta tre categorie di parametri:
    • total - quantità totale di memoria;
    • tipi di memoria specifici della piattaforma: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
    • stime a livello utente della quantità di memoria utilizzata e disponibile: used, pused, available, pavailable.
  • Il parametro della modalità active è supportato solo su FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD.
  • I parametri della modalità anon, exec, file sono supportati solo su NetBSD.
  • Il parametro della modalità buffers è supportato solo su Linux, FreeBSD, OpenBSD, NetBSD.
  • Il parametro della modalità cached è supportato solo su Linux, FreeBSD, AIX, OpenBSD, NetBSD.
  • I parametri della modalità inactive, wired sono supportati solo su FreeBSD, MacOS X, OpenBSD, NetBSD.
  • Il parametro della modalità pinned è supportato solo su AIX.
  • Il parametro della modalità shared è supportato solo su Linux 2.4, FreeBSD, OpenBSD, NetBSD.
  • Vedere anche gli ulteriori dettagli per questo item.

Esempio:

vm.memory.size[pavailable]
web.page.get[host,<path>,<port>]


Ottiene il contenuto di una pagina web.
Valore restituito: codice sorgente della pagina web come testo (incluse le intestazioni).
Vedere le piattaforme supportate.

Parametri:

  • host - il nome host o l'URL (nel formato scheme://host:port/path, dove solo host è obbligatorio). Schemi URL consentiti: http, https4. Se lo schema è omesso, verrà considerato come http. Se viene specificato un URL, path e port devono essere vuoti. La specifica di nome utente/password durante la connessione a server che richiedono autenticazione, ad esempio: http://user:[email protected], è possibile solo con il supporto cURL 4. Punycode è supportato nei nomi host.
  • path - il percorso di un documento HTML (il valore predefinito è /);
  • port - il numero di porta (il valore predefinito è 80 per HTTP)

Commenti:

  • Questo item diventa non supportato se la risorsa specificata in host non esiste o non è disponibile.
  • host può essere un nome host, un nome di dominio, un indirizzo IPv4 o IPv6. Ma per un indirizzo IPv6, Zabbix agent deve essere compilato con il supporto IPv6 abilitato.

Esempi:

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>]


Il tempo di caricamento di una pagina web completa (in secondi).
Valore restituito: Float.
Vedere piattaforme supportate.

Parametri:

  • host - il nome host o l'URL (come scheme://host:port/path, dove solo host è obbligatorio). Schemi URL consentiti: http, https4. Uno schema mancante verrà trattato come http. Se viene specificato un URL, path e port devono essere vuoti. La specifica di nome utente/password durante la connessione a server che richiedono autenticazione, ad esempio: http://user:[email protected], è possibile solo con il supporto cURL 4. Punycode è supportato nei nomi host.
  • path - il percorso di un documento HTML (il valore predefinito è /);
  • port - il numero di porta (il valore predefinito è 80 per HTTP)

Commenti:

  • Questo item diventa non supportato se la risorsa specificata in host non esiste o non è disponibile.
  • host può essere un nome host, un nome di dominio, un indirizzo IPv4 o IPv6. Ma per un indirizzo IPv6, Zabbix agent deve essere compilato con il supporto IPv6 abilitato.

Esempi:

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>]


Trova una stringa nella pagina web.
Valore restituito: la stringa corrispondente, oppure quanto specificato dal parametro opzionale output.
Vedere le piattaforme supportate.

Parametri:

  • host - il nome host o l'URL (nel formato scheme://host:port/path, dove solo host è obbligatorio). Schemi URL consentiti: http, https4. Se lo schema non è specificato, verrà considerato http. Se viene specificato un URL, path e port devono essere vuoti. La specifica di nome utente/password durante la connessione a server che richiedono autenticazione, ad esempio: http://user:[email protected], è possibile solo con il supporto cURL 4. Punycode è supportato nei nomi host.
  • path - il percorso di un documento HTML (il valore predefinito è /);
  • port - il numero di porta (il valore predefinito è 80 per HTTP)
  • regexp - un'espressione regolare che descrive il modello richiesto;
  • length - il numero massimo di caratteri da restituire;
  • output - un modello opzionale di formattazione dell'output. La sequenza di escape \0 viene sostituita con la parte di testo corrispondente (dal primo carattere in cui inizia la corrispondenza fino al carattere in cui termina), mentre una sequenza di escape \N (dove N=1...9) viene sostituita con l'N-esimo gruppo corrispondente (oppure con una stringa vuota se N supera il numero di gruppi acquisiti).

Commenti:

  • Questo item diventa non supportato se la risorsa specificata in host non esiste o non è disponibile.
  • host può essere un nome host, un nome di dominio, un indirizzo IPv4 o IPv6. Tuttavia, per un indirizzo IPv6, Zabbix agent deve essere compilato con il supporto IPv6 abilitato.
  • L'estrazione del contenuto tramite il parametro output avviene sull'agent.

Esempi:

web.page.regexp[www.example.com,index.php,80,OK,2]
web.page.regexp[https://www.example.com,,,OK,2]
agent.hostmetadata


I metadati del host dell'agent.
Valore restituito: String.
Vedere piattaforme supportate.

Restituisce il valore dei parametri HostMetadata o HostMetadataItem, oppure una stringa vuota se nessuno di essi è definito.

agent.hostname


Il nome host dell'agent.
Valore restituito: String.
Vedere piattaforme supportate.

Restituisce:

  • Come controllo passivo - il nome del primo host elencato nel parametro Hostname del file di configurazione dell'agent;
  • Come controllo attivo - il nome dell'host corrente.
agent.ping


Il controllo della disponibilità dell'agent.
Valore restituito: Nothing - non disponibile; 1 - disponibile.
Vedi piattaforme supportate.

Usa la funzione trigger nodata() per verificare l'indisponibilità dell'host.

agent.variant


La variante dell'agent Zabbix (Zabbix agent o Zabbix agent 2).
Valore restituito: 1 - Zabbix agent; 2 - Zabbix agent 2.
Vedere piattaforme supportate.

agent.version


La versione di Zabbix agent.
Valore restituito: String.
Vedere piattaforme supportate.

Esempio di valore restituito:

6.0.3
zabbix.stats[<ip>,<port>]


Restituisce un insieme di metriche interne del server o del proxy Zabbix. Se ip e port sono specificati, le metriche vengono recuperate dall'istanza remota; altrimenti, dall'istanza locale.
Valore restituito: stringa JSON.
Vedere le piattaforme supportate.

Parametri:

  • ip - l'elenco di IP/DNS/maschere di rete di server/proxy da interrogare in remoto (il valore predefinito è 127.0.0.1);
  • port - la porta del server/proxy da interrogare in remoto (il valore predefinito è 10051)

Commenti:

  • Questo item restituisce un insieme selezionato di metriche interne. Per i dettagli, vedere Monitoraggio remoto delle statistiche di Zabbix.
  • Si noti che la richiesta delle statistiche sarà accettata solo dagli indirizzi elencati nel parametro 'StatsAllowedIP' del server/proxy nell'istanza di destinazione.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]


Restituisce il numero di item monitorati nella coda che sono in ritardo sul server o proxy Zabbix. Se ip e port sono specificati, le metriche vengono recuperate dall'istanza remota; altrimenti, dall'istanza locale.
Valore restituito: stringa JSON.
Vedere piattaforme supportate.

Parametri:

  • ip - l'elenco di IP/DNS/maschere di rete di server/proxy da interrogare in remoto (il valore predefinito è 127.0.0.1);
  • port - la porta del server/proxy da interrogare in remoto (il valore predefinito è 10051)
  • queue - costante (da usare così com'è)
  • from - in ritardo di almeno (il valore predefinito è 6 secondi)
  • to - in ritardo di al massimo (il valore predefinito è infinito)

Si noti che la richiesta di statistiche sarà accettata solo dagli indirizzi elencati nel parametro 'StatsAllowedIP' del server/proxy nell'istanza di destinazione.

Note a piè di pagina

1Nota specifica per Linux. Zabbix agent deve avere accesso in sola lettura al filesystem /proc. Le patch del kernel da www.grsecurity.org limitano i diritti di accesso degli utenti non privilegiati.

2 vfs.dev.read[], vfs.dev.write[]: Zabbix agent terminerà le connessioni ai dispositivi "obsolete" se i valori degli item non vengono consultati per più di 3 ore. Ciò può accadere se un sistema ha dispositivi con percorsi che cambiano dinamicamente o se un dispositivo viene rimosso manualmente. Si noti inoltre che questi item, se utilizzano un intervallo di aggiornamento di 3 ore o superiore, restituiranno sempre '0'.

3 vfs.dev.read[], vfs.dev.write[]: Se per il primo parametro viene utilizzato il valore predefinito all, la chiave restituirà statistiche riepilogative, incluse tutte le periferiche a blocchi come sda, sdb e le relative partizioni (sda1, sda2, sdb3...) e i dispositivi multipli (MD raid) basati su tali periferiche/partizioni a blocchi e i volumi logici (LVM) basati su tali periferiche/partizioni a blocchi. In tali casi i valori restituiti devono essere considerati solo come valori relativi (dinamici nel tempo) e non come valori assoluti.

4 SSL (HTTPS) è supportato solo se agent è compilato con il supporto cURL. Altrimenti l'item diventerà non supportato.

5 I valori bytes ed errors non sono supportati per le interfacce loopback sui sistemi Solaris fino a Solaris 10 6/06 incluso, poiché le statistiche relative a byte, errori e utilizzo non vengono memorizzate e/o riportate dal kernel. Tuttavia, se si monitora un sistema Solaris tramite net-snmp, i valori possono essere restituiti poiché net-snmp include codice legacy di cmu-snmp risalente addirittura al 1997 che, quando non riesce a leggere i valori dei byte dalle statistiche dell'interfaccia, restituisce il contatore dei pacchetti (che esiste sulle interfacce loopback) moltiplicato per un valore arbitrario di 308. Questo presuppone che la lunghezza media di un pacchetto sia di 308 ottetti, il che è una stima molto approssimativa, poiché il limite MTU sui sistemi Solaris per le interfacce loopback è di 8892 byte. Non si deve presumere che questi valori siano corretti o anche solo approssimativamente accurati. Sono stime approssimative. Zabbix agent non effettua alcuna stima, ma net-snmp restituirà un valore per questi campi.

6 La riga di comando su Solaris, ottenuta da /proc/pid/psinfo, è limitata a 80 byte e contiene la riga di comando così come era al momento dell'avvio del processo.

7 Gli item vfs.file.contents[], vfs.file.regexp[], vfs.file.regmatch[] possono essere utilizzati per recuperare il contenuto dei file. Se si desidera limitare l'accesso a file specifici contenenti informazioni sensibili, eseguire Zabbix agent con un utente che non abbia i permessi di accesso per visualizzare tali file.

Utilizzo con le utility da riga di comando

Si noti che, quando si testano o si utilizzano chiavi di item con zabbix_agentd o zabbix_get dalla riga di comando, è necessario considerare anche la sintassi della shell.

Ad esempio, se un determinato parametro della chiave deve essere racchiuso tra virgolette doppie, è necessario eseguire esplicitamente l'escape delle virgolette doppie; in caso contrario, la shell le eliminerà in quanto caratteri speciali e non verranno passate all'utility Zabbix.

Esempi:

zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'

zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]

Impostazioni di codifica

Per assicurarsi che i dati acquisiti non vengano danneggiati, è possibile specificare la codifica corretta per l'elaborazione del controllo (ad esempio, 'vfs.file.contents') nel parametro encoding. L'elenco delle codifiche supportate (identificatori delle pagine di codice) è disponibile nella documentazione di libiconv (GNU Project) o nella documentazione di Microsoft Windows SDK per "Code Page Identifiers". Si noti che Microsoft a volte contrassegna alcune pagine di codice come "disponibili solo per le applicazioni gestite", il che significa che sono esposte solo tramite il runtime .NET e non sono disponibili attraverso le API native Win32. Zabbix agent implementa una propria logica di conversione della codifica; pertanto, tali pagine di codice sono supportate da Zabbix agent anche quando le funzioni native di Windows non le forniscono.

Se nel parametro encoding non viene specificata alcuna codifica, vengono applicate le seguenti strategie di risoluzione:

  • Se la codifica non è specificata (o è una stringa vuota), si presume che sia UTF-8 e i dati vengono elaborati "così come sono";
  • Analisi del BOM - applicabile agli item 'vfs.file.contents', 'vfs.file.regexp', 'vfs.file.regmatch'. Si tenta di determinare la codifica corretta utilizzando il byte order mark (BOM) all'inizio del file. Se il BOM non è presente, viene applicata la risoluzione standard (vedere sopra).

Risoluzione dei problemi relativi agli item dell'agent

In caso di controlli passivi, per evitare che l'item non riceva alcun valore perché la richiesta del server all'agent scade prima, è necessario tenere presente quanto segue: