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.
Chiavi item supportate
Le chiavi item che è possibile utilizzare con Zabbix agent sono elencate di seguito.
Le chiavi item sono elencate senza parametri e informazioni aggiuntive. Fare clic sulla chiave item per visualizzare tutti i dettagli.
| Chiave item | Descrizione | Gruppo di 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. | Monitoraggio log |
| log.count | Il conteggio delle righe corrispondenti in un file di log monitorato. | |
| logrt | Il monitoraggio di un file di log sottoposto a rotazione. | |
| logrt.count | Il conteggio delle righe corrispondenti in un file di log monitorato sottoposto a rotazione. | |
| modbus.get | Legge dati Modbus. | Modbus |
| net.dns | Controlla lo stato di un servizio DNS. | Rete |
| 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 del processo. | Processi |
| 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 del sensore hardware. | Sensori |
| system.boottime | L'ora di avvio del sistema. | Sistema |
| system.cpu.discovery | L'elenco delle CPU/dei core CPU rilevati. | |
| system.cpu.intr | Gli interrupt del dispositivo. | |
| system.cpu.load | Il carico della CPU. | |
| system.cpu.num | Il numero di CPU. | |
| system.cpu.switches | Il conteggio dei cambi di contesto. | |
| system.cpu.util | La percentuale di utilizzo della CPU. | |
| system.hostname | Il nome del host del sistema. | |
| system.hw.chassis | Le informazioni sul telaio. | |
| 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 sul 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 del totale. | |
| system.uname | L'identificazione del sistema. | |
| system.uptime | Il tempo di attività del sistema in secondi. | |
| system.users.num | Il numero di utenti connessi. | |
| vfs.dev.discovery | L'elenco dei dispositivi a blocchi e del relativo tipo. | File system virtuali |
| 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 con l'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 relativo tipo e le opzioni di montaggio. | |
| vfs.fs.get | L'elenco dei filesystem montati con il relativo tipo, lo spazio disco disponibile, le statistiche inode e le opzioni di montaggio. | |
| vfs.fs.inode | Il numero o la percentuale di inode. | |
| vfs.fs.size | Lo spazio disco in byte o in percentuale del totale. | |
| vm.memory.size | La dimensione della memoria in byte o in percentuale del totale. | Memoria virtuale |
| web.page.get | Ottiene il contenuto di una pagina web. | Monitoraggio web |
| 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 del host dell'agent. | Zabbix |
| agent.hostname | Il nome del 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 sono specificati ip e port, le metriche vengono recuperate dall'istanza remota; altrimenti, dall'istanza locale. |
|
| zabbix.stats | Restituisce il numero di item monitorati nella coda che sono in ritardo su Zabbix server o proxy. Se sono specificati ip e port, 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à a Zabbix server o proxy.
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 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);
- 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.
- Se il file è mancante o i permessi non consentono l'accesso, l'item diventa non supportato.
- Se
outputviene lasciato vuoto, viene restituita l'intera riga contenente il testo corrispondente. Si noti che tutti i tipi di espressione regolare globale, tranne 'Result is TRUE', restituiscono sempre l'intera riga corrispondente e il parametrooutputviene ignorato. - L'estrazione del contenuto tramite il parametro
outputavviene 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] #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 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"] #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 the server.
log.count[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]
Il numero di righe corrispondenti in un file di log monitorato.
Valore restituito: Integer.
Vedi le piattaforme supportate.
Parametri:
- file - il percorso completo e il nome del file di 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 meno recenti (influisce solo sugli item appena creati).
- 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 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. Vedi 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.
- Se il file è mancante 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 sottoposto a rotazione.
Valore restituito: Log.
Vedi piattaforme supportate.
Parametri:
- file regexp - il percorso assoluto del file, con il nome del file specificato usando una espressione regolare.
Nota che l'espressione regolare si applica solo al nome del file e non deve necessariamente corrispondere all'intero nome (ad esempio, /path/to/agent corrisponderà a zabbix_agentd.log).
- regexp - una espressione regolare che descrive il modello di contenuto richiesto.
- encoding - l'identificatore della code page.
- maxlines - il numero massimo di nuove righe al secondo che l'agent invierà a Zabbix server o proxy.
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 modello facoltativo 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 catturati).
- 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 meno recenti per fare in modo che vengano analizzate le righe più recenti entro "maxdelay" secondi.
Leggi le note su maxdelay prima di usarlo!
- options - il tipo di rotazione del file di log e altre opzioni.
Valori possibili:
rotate (predefinito),
copytruncate - nota che copytruncate non può essere usato insieme a maxdelay. In questo caso maxdelay deve essere 0 oppure non specificato; vedi le note su copytruncate,
mtime-reread - record non univoci, rilettura se cambiano l'ora di modifica o la dimensione (usato per impostazione predefinita se nessuna opzionemtime-*è impostata esplicitamente),
mtime-noreread - record non univoci, rilettura solo se cambia la dimensione (ignora il cambiamento dell'ora di modifica). - 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. Vedi anche le note aggiuntive sui file persistenti.
Commenti:
- L'item deve essere configurato come controllo attivo.
- La rotazione dei log si basa sull'ora dell'ultima modifica dei file.
- Nota che logrt è progettato per funzionare con un solo file di log attualmente attivo, con diversi altri file inattivi corrispondenti già ruotati. Se, ad esempio, una directory contiene molti file di log attivi, dovrebbe essere creato un item logrt separato per ciascuno di essi. Altrimenti, se un item logrt rileva troppi file, ciò può portare all'esaurimento della memoria e al crash del monitoraggio.
- Se
outputviene lasciato vuoto, viene restituita l'intera riga contenente il testo corrispondente. Nota che tutti i tipi di espressione regolare globale, eccetto 'Result is TRUE', restituiscono sempre l'intera riga corrispondente e il parametrooutputviene ignorato. - L'estrazione del contenuto tramite il parametro
outputavviene sull'agent. - Nel parametro
file regexp, il percorso della directory dei log e l'espressione regolare del file di log devono essere separati dal separatore di directory corretto:- Su Windows, il separatore deve essere una barra rovesciata (\); le barre normali possono essere tollerate in altre posizioni, tranne in quella che separa il percorso della directory dei log e l'espressione regolare del file di log (vedi gli esempi sotto).
- Sugli altri sistemi, deve essere una barra normale (/).
Esempi per Windows:
logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #questo item raccoglierà dati dai file di log in "c:/dir1/dir2/dir3" in cui il nome del file inizia con "filename" e termina con qualsiasi estensione corrispondente a ".log".
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #questo item raccoglierà dati dai file di log nella condivisione di rete "//example.com/share/dir1/dir2/dir3" in cui il nome del file inizia con "filename" e termina con qualsiasi estensione corrispondente a ".log".
Esempi per altri sistemi:
logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #questo item corrisponderà a un file come "logfile1" (non corrisponderà a ".logfile1").
logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #questo item raccoglierà dati da file come "logfile_abc_1" oppure "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] #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 usato in grafici, trigger ecc.
Esempio di utilizzo del parametro output per riscrivere un record di log prima di inviarlo al 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"] #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".
logrt.count[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]
Il conteggio delle righe corrispondenti in un file di log monitorato soggetto a rotazione.
Valore restituito: Integer.
Vedere le piattaforme supportate.
Parametri:
- file regexp - il percorso assoluto del file, con il nome del file specificato usando un'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 - un'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 meno recenti (influisce solo sugli item appena creati).
- 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 - 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 oppure non specificato; vedere le note su copytruncate,
mtime-reread - record non univoci, rilettura se l'ora di modifica o la dimensione cambiano (predefinito),
mtime-noreread - record non univoci, rilettura solo se cambia la dimensione (ignora il cambiamento dell'ora di modifica). - 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.
- La rotazione del log si basa sull'ora dell'ultima modifica dei file.
- Nel parametro
file regexp, il percorso della directory del log e l'espressione regolare del file di log devono essere separati dal separatore di directory corretto:- Su Windows, il separatore deve essere una barra rovesciata (\); le barre normali possono essere tollerate in altre posizioni, tranne in quella che separa il percorso della directory del log e l'espressione regolare del file di log (vedere gli esempi sotto).
- Sugli altri sistemi, deve essere una barra normale (/).
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
typesono: 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
typesono:
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
0quando il server DNS risponde con un codice di errore (ad esempio,NXDOMAINoSERVFAIL).
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
typesono:
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 la 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.inchenet.if.outfunzionano 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
nameecmdline(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 parametrinameecmdline(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: Intero.
Piattaforme supportate: Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD, Windows.
Parametri:
- name - il nome del processo (il valore predefinito è tutti i processi);
- user - il nome utente (il valore predefinito è tutti gli utenti);
- state - valori possibili:
all (predefinito),
disk - sospensione non interrompibile,
run - in esecuzione,
sleep - sospensione interrompibile,
trace - arrestato,
zomb - zombie; - cmdline - filtro per 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
nameeuser. - 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 in più, poiché l'agent conterà anche sé stesso. - Impostando il parametro
zonesucurrent(o lasciando il 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. - Vedere le note sulla selezione dei processi con i parametri
nameecmdline(specifico per Linux).
Esempi:
proc.num[,mysql] #il numero di processi in esecuzione con l'utente mysql
proc.num[apache2,www-data] #il numero di processi apache2 in esecuzione con l'utente www-data
proc.num[,oracle,sleep,oracleZABBIX] #il numero di processi in stato sleep in esecuzione con l'utente Oracle che hanno oracleZABBIX nella riga di comando
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/cpuinfoe/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
interfacespecificata (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 quindi usarlo per visualizzare l'ora del host nel widget dashboard *Clock*.
system.run[command,<mode>]
Esegue il comando specificato sul 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 attende.
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 del tipo di dato
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-releasesui sistemi Linux che lo supportano oppure/etc/issue.net(name); - la chiave di registro
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersionsu 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>]
L'elenco dei pacchetti installati.
Valore restituito: Testo.
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 vengono 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 vengono raggruppati e sono elencati su una singola 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 dispositivo alla memoria).
Valore restituito: Intero.
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-in, predefinito sulle piattaforme non Linux), sectors (settori trasferiti in swap in ingresso) oppure pages (pagine trasferite in swap in ingresso, 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 il dispositivo non è stato specificato.
- 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 -sinclude una parte della memoria fisica e i dispositivi di swap (a differenza diswap -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>]
Le 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 oppure bps (sps, ops, bps indicano rispettivamente: settori, operazioni, byte al secondo);
- mode - valori possibili: avg1 (media di un minuto, predefinito), avg5 oppure avg15.
Questo parametro è supportato solo con
typein: 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 il prefisso opzionale/dev/(ad esempio/dev/sda). - I volumi logici LVM sono supportati.
- 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 individuali 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 indicano rispettivamente: settori, operazioni, byte al secondo);
- mode - valori possibili: avg1 (media di un minuto, predefinito), avg5 o avg15.
Questo parametro è supportato solo con
typein: 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 utilizzare nomi di dispositivo relativi (ad esempio,
sda) così come il prefisso opzionale/dev/(ad esempio,/dev/sda). - I volumi logici LVM sono supportati.
- 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 individuali 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 conteggio delle voci della directory.
Valore restituito: Integer.
Vedere le piattaforme supportate.
Parametri:
- dir - il percorso assoluto della directory;
- regex incl - una espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da includere; include tutto se vuoto (valore predefinito);
- regex excl - una 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 contare, valori possibili: file - file regolare, 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), cioè "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 contare. Se un tipo di voce è presente sia intypes inclsia intypes excl, le voci della directory di questo tipo NON vengono conteggiate. - max depth - la profondità massima delle sottodirectory da attraversare:
-1 (predefinito) - illimitata,
0 - nessuna discesa nelle sottodirectory. - min size - la dimensione minima (in byte) affinché un file venga conteggiato. I file più piccoli non verranno conteggiati. È possibile usare i suffissi di memoria.
- max size - la dimensione massima (in byte) affinché un file venga conteggiato. I file più grandi non verranno conteggiati. È possibile usare i suffissi di memoria.
- min age - l'età minima (in secondi) della voce della directory affinché venga conteggiata. Le voci più recenti non verranno conteggiate. È possibile usare i suffissi di tempo.
- max age - l'età massima (in secondi) della voce della directory affinché venga conteggiata. Le voci di questa età o più vecchie non verranno conteggiate (tempo di modifica). È possibile usare i suffissi di tempo.
- regex excl dir - una 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 conteggiate.
- I collegamenti simbolici non vengono mai seguiti durante l'attraversamento delle directory.
- Sia
regex inclsiaregex exclvengono applicati a file e directory durante il calcolo del conteggio delle voci, ma vengono ignorati nella selezione delle sottodirectory da attraversare (seregex inclè "(?i)\^.+\.zip$" emax depthnon è impostato, allora verranno attraversate tutte le sottodirectory, ma verranno conteggiati solo i file di tipo zip). - Il tempo di esecuzione è limitato dal valore di timeout nella configurazione dell'agent (3 sec). Poiché l'attraversamento di directory di grandi dimensioni può richiedere più tempo, non verrà restituito alcun dato e l'item diventerà unsupported. Non verrà restituito un conteggio parziale.
- Quando si filtra per dimensione, solo i file regolari hanno dimensioni significative.
In Linux e BSD, anche le directory hanno dimensioni diverse da zero (tipicamente alcuni KB).
I dispositivi hanno dimensione zero; ad esempio, la dimensione di /dev/sda1 non riflette la dimensione della rispettiva partizione.
Pertanto, quando si usano
<min_size>e<max_size>, si consiglia di specificare<types_incl>come "file", per evitare risultati inattesi.
Esempi:
vfs.dir.count[/dev] #monitors the number of devices in /dev (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #monitors the number of files in a temporary directory
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 - una espressione regolare che descrive il modello del nome dell'entità (file, directory, collegamento simbolico) da includere; include tutto se vuoto (valore predefinito);
- regex excl - una 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 di directory da elencare, valori possibili: file - file regolare, 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), cioè "file,dir,sym,sock,bdev,cdev,fifo". Più tipi devono essere separati da virgole e racchiusi tra virgolette.
- types excl - i tipi di voci di directory (vedere
types incl) da NON elencare. Se un tipo di voce è presente sia intypes inclche intypes excl, le voci di directory di questo tipo NON vengono elencate. - max depth - la profondità massima delle sottodirectory da attraversare:
-1 (predefinito) - illimitata,
0 - nessuna discesa nelle sottodirectory. - min size - la dimensione minima (in byte) affinché un file venga elencato. I file più piccoli non verranno elencati. È possibile usare i suffissi di memoria.
- max size - la dimensione massima (in byte) affinché un file venga elencato. I file più grandi non verranno elencati. È possibile usare i suffissi di memoria.
- min age - l'età minima (in secondi) della voce di directory da elencare. Le voci più recenti non verranno elencate. È possibile usare i suffissi di tempo.
- max age - l'età massima (in secondi) della voce di directory da elencare. Le voci così vecchie e più vecchie non verranno elencate (ora di modifica). È possibile usare i suffissi di tempo.
- regex excl dir - una 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 inclcheregex exclvengono applicati a file e directory durante la generazione dell'elenco delle voci, ma vengono ignorati nella selezione delle sottodirectory da attraversare (seregex inclè "(?i)\^.+\.zip$" emax depthnon è impostato, allora verranno attraversate tutte le sottodirectory, ma verranno conteggiati solo i file di tipo zip). - Il tempo di esecuzione è limitato dal valore di timeout nella configurazione dell'agent. Poiché l'attraversamento di directory di grandi dimensioni può richiedere più tempo, non verrà restituito alcun dato e l'item diventerà unsupported. Non verrà restituito un elenco parziale.
- Quando si filtra per dimensione, solo i file regolari hanno dimensioni significative.
In Linux e BSD, anche le directory hanno dimensioni diverse da zero (tipicamente alcuni KB).
I dispositivi hanno dimensione zero, ad esempio la dimensione di /dev/sda1 non riflette la dimensione della partizione corrispondente.
Pertanto, quando si usano
min sizeemax size, si consiglia di specificaretypes inclcome "file", per evitare risultati inattesi.
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 comedu -s -B1 dir). A differenza del comandodu, l'item vfs.dir.size considera i file nascosti nel calcolo della dimensione della directory (si comporta comedu -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:
- In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
- Il limite di dimensione del file dipende dal supporto per file di grandi dimensioni.
Esempio:
vfs.file.cksum[/etc/passwd]
Esempi di valori restituiti (crc32/md5/sha256 rispettivamente):
675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]
Recupera il contenuto di un file7.
Valore restituito: Testo.
Vedere le piattaforme supportate.
Parametri:
- file - il percorso completo del file;
- encoding - l'identificatore della code page.
Commenti:
- In Windows, questo item segue i percorsi UNC, il che può 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.
- Se il file è vuoto o contiene solo caratteri LF/CR, viene restituita una stringa vuota.
- 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:
- In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
- Il limite di dimensione del file dipende dal supporto per file di grandi dimensioni.
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:
- Su Windows, questo item segue i percorsi UNC, il che può comportare un rischio per la sicurezza.
- Il limite della dimensione del file dipende dal supporto per file di grandi dimensioni.
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 facoltativo output.
Vedi le piattaforme supportate.
Parametri:
- file - il percorso completo del file;
- regexp - una espressione regolare che descrive il pattern richiesto;
- encoding - l'identificatore della code page;
- start line - il numero della prima riga in cui effettuare la ricerca (per impostazione predefinita, la prima riga del file);
- end line - il numero dell'ultima riga in cui effettuare la ricerca (per impostazione predefinita, l'ultima riga del file);
- output - un template facoltativo 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 catturati).
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
outputavviene 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.
Vedi 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).
Commenti:
- In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
- Il limite di dimensione del file dipende dal supporto per file di grandi dimensioni.
- Il byte order mark (BOM) viene ignorato.
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:
- In Windows, questo item segue i percorsi UNC, che possono rappresentare un rischio per la sicurezza.
- Il file deve avere i permessi di lettura per l'utente zabbix.
- Il limite della dimensione del file dipende dal supporto per file di grandi dimensioni.
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:
- 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.
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 file system montati con il loro tipo, lo spazio su disco disponibile, le statistiche degli inode e le opzioni di montaggio.
Può essere utilizzato per il low-level discovery.
Valore restituito: stringa JSON.
Piattaforme supportate: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.
Commenti:
- Vengono riportati anche i file system con un numero di inode pari a zero, come può accadere per i file system con inode dinamici (ad esempio btrfs).
- Vedi anche: Discovery dei file system 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,patheportdevono 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
hostnon esiste o non è disponibile. hostpuò 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,patheportdevono 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
hostnon esiste o non è disponibile. hostpuò 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,patheportdevono 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
hostnon esiste o non è disponibile. hostpuò 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
outputavviene 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 di Zabbix server o proxy. 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 sullo Zabbix server o proxy. 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)
- 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 check (ad esempio, 'vfs.file.contents') nel parametro encoding.
L'elenco delle codifiche supportate (identificatori di code page) è disponibile nella documentazione di libiconv (GNU Project) oppure nella documentazione di Microsoft Windows SDK per "Code Page Identifiers".
Si noti che Microsoft talvolta contrassegna alcune code page come "available only to managed applications", cioè esposte solo tramite il runtime .NET e non disponibili tramite le API native Win32.
Zabbix agent implementa una propria logica di conversione della codifica; pertanto, tali code page 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 (oppure è 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'. Viene effettuato un tentativo di determinare la codifica corretta utilizzando il byte order mark (BOM) all'inizio del file. Se il BOM non è presente, viene invece applicata la risoluzione standard (vedere sopra).
Risoluzione dei problemi degli item agent
Nel caso dei controlli passivi, per evitare che un item non riceva alcun valore perché la richiesta del server all'agent va prima in timeout, è necessario tenere presente quanto segue:
- Se la versione dell'agent è precedente a quella del server, il valore di Timeout nella configurazione dell'item (o il timeout globale) potrebbe dover essere maggiore del valore
Timeoutnel file di configurazione dell'agent. - Se la versione dell'agent è successiva a quella del server, il valore
Timeoutnel file di configurazione del server potrebbe dover essere maggiore del valoreTimeoutnel file di configurazione dell'agent.