1 Creare un oggetto

Panoramica

Per creare un item nel frontend di Zabbix, procedi come segue:

  • Vai a: Raccolta dati > Host
  • Fai clic su Item nella riga dell'host
  • Fai clic su Crea item nell'angolo superiore destro dello schermo
  • Inserisci i parametri dell'item nel modulo

Puoi anche creare un item aprendone uno esistente, premendo il pulsante Clona e quindi salvandolo con un nome diverso.

Configurazione

La scheda Item contiene gli attributi generali dell'item.

Tutti i campi di input obbligatori sono contrassegnati con un asterisco rosso.

Parametro Descrizione
Name Nome dell'item.
Sono supportate le macro utente.
Type Tipo di item. Vedere le singole sezioni dei tipi di item.
Key Chiave dell'item (fino a 2048 caratteri).
Le chiavi di item supportate sono disponibili nelle singole sezioni dei tipi di item.
La chiave deve essere univoca all'interno di un singolo host.
Se il tipo di chiave è 'Zabbix agent', 'Zabbix agent (active)' o 'Simple check', il valore della chiave deve essere supportato da Zabbix agent o Zabbix server.
Vedere anche: il corretto formato della chiave.
Type of information Il tipo di dato utilizzato per validare il valore dell'item e memorizzarlo nel database, entrambi dopo eventuali conversioni:
Numeric (unsigned) - intero senza segno a 64 bit;
Numeric (float) - numero in virgola mobile a 64 bit;
Character - testo breve;
Log - testo lungo con o senza proprietà di log (timestamp, origine, gravità, ID evento log);
Text - testo lungo;
Binary - numero binario (supportato solo per item dipendenti);
JSON - dati JSON strutturati, memorizzati nativamente nel database (non supportati per gli item calcolati).
Gli item che restituiscono valori con tipo di dato binario o JSON non sono supportati nelle formule degli item calcolati o nelle espressioni dei trigger.
Vedere limiti dei dati dell'item per i limiti di archiviazione per tipo di dato e backend del database.
Per gli item che restituiscono dati in un unico formato specifico, viene selezionato automaticamente un tipo di dato corrispondente; ad esempio, system.cpu.load e system.cpu.util restituiscono entrambi un numero in virgola mobile a 64 bit, quindi Numeric (float) viene selezionato automaticamente.
Host interface Selezionare l'interfaccia host. Questo campo è disponibile quando si modifica un item a livello host.
Units Se viene impostato un simbolo di unità, Zabbix applica una post-elaborazione al valore dell'item ricevuto e lo visualizza con il suffisso di unità specificato.
Simboli di unità supportati con formattazione speciale (ed esempi di valore dell'item ricevuto → valore visualizzato):
B - byte (1024 → 1 KB)
Bps - byte al secondo (1024 → 1 KBps)
s - secondi, visualizzati usando fino a tre delle più grandi unità di tempo non nulle (881764 → 10d 4h 56m)
uptime - tempo trascorso in hh:mm:ss oppure N giorni, hh:mm:ss (881764 → 10 giorni, 04:56:04)
unixtime - timestamp Unix, formattato come yyyy.mm.dd hh:mm:ss (881764 → 1970-01-11 04:56:04 AM); per una formattazione corretta, il valore dell'item ricevuto deve essere Numeric (unsigned).
Per altre unità (come Hz, W, ecc.), se il valore ricevuto supera 1000, viene diviso per 1000 e visualizzato con un prefisso corrispondente (5000 → 5 KHz, 881764 → 881.76 KW).
Se il simbolo di unità è preceduto da !, la conversione dell'unità e l'aggiunta del prefisso vengono disabilitate (1024 !B → 1024 B, 61 !s → 61 s).
Per ulteriori esempi e dettagli sui simboli di unità e sulla conversione delle unità, vedere Suffissi dei valori degli item.
Update interval Recupera un nuovo valore per questo item ogni N secondi. L'intervallo massimo di aggiornamento consentito è 86400 secondi (1 giorno).
Sono supportati i suffissi temporali, ad esempio 30s, 1m, 2h, 1d.
Sono supportate le macro utente.
Una singola macro deve occupare l'intero campo. Più macro in un campo o macro mescolate con testo non sono supportate.
Nota: l'intervallo di aggiornamento può essere impostato su '0' solo se esistono intervalli personalizzati con un valore diverso da zero. Se impostato su '0' e se esiste un intervallo personalizzato (flessibile o pianificato) con un valore diverso da zero, l'item verrà interrogato durante la durata dell'intervallo personalizzato.
Nota che il primo controllo dell'item dopo che l'item è diventato attivo o dopo una modifica dell'intervallo di aggiornamento potrebbe avvenire prima del valore configurato.
I nuovi item verranno controllati entro 60 secondi dalla loro creazione, a meno che non abbiano un intervallo di aggiornamento pianificato o flessibile e che Update interval sia impostato su 0.
Un item passivo esistente può essere interrogato immediatamente per ottenere un valore premendo il pulsante Execute now.
Custom intervals È possibile creare regole personalizzate per il controllo dell'item:
Flexible - crea un'eccezione a Update interval (intervallo con frequenza diversa).
Scheduling - crea una pianificazione di polling personalizzata.
Per informazioni dettagliate vedere Intervalli personalizzati.
Sono supportati i suffissi temporali nel campo Interval, ad esempio 30s, 1m, 2h, 1d.
Sono supportate le macro utente.
Una singola macro deve occupare l'intero campo. Più macro in un campo o macro mescolate con testo non sono supportate.
Timeout Imposta il timeout del controllo dell'item (disponibile per i tipi di item supportati). Selezionare l'opzione di timeout:
Global - viene utilizzato il timeout globale/del proxy (visualizzato nel campo Timeout disattivato).
Override - viene utilizzato un timeout personalizzato (impostato nel campo Timeout; intervallo consentito: 1 - 600s). Sono supportati i suffissi temporali, ad es. 30s, 1m, e le macro utente.
Facendo clic sul collegamento Timeouts è possibile configurare i timeout del proxy o i timeout globali (se non viene utilizzato un proxy). Si noti che il collegamento Timeouts è visibile solo agli utenti di tipo Super admin con autorizzazioni per le sezioni del frontend Administration > General o Administration > Proxies.
History Selezionare una delle seguenti opzioni:
Do not store - la cronologia dell'item non viene memorizzata. Utile per gli item master se solo gli item dipendenti devono mantenere la cronologia.
Questa impostazione non può essere sovrascritta dalle impostazioni globali dell'housekeeper.
Store up to - specifica la durata di conservazione della cronologia dettagliata nel database (da 1 ora a 25 anni). I dati più vecchi verranno rimossi dall'housekeeper. Memorizzato in secondi.
Sono supportati i suffissi temporali, ad esempio 2h, 1d. Sono supportate le macro utente.
Il valore Store up to può essere sovrascritto globalmente in Administration > Housekeeping.
Se esiste un'impostazione globale di sovrascrittura, viene visualizzata un'icona informativa arancione . Posizionando il mouse su di essa, viene visualizzato un messaggio di avviso, ad es. Overridden by global housekeeper settings (1d).
Si consiglia di mantenere i valori registrati per il minor tempo possibile per ridurre la dimensione della cronologia dei valori nel database. Invece di memorizzare una lunga cronologia di valori, è possibile conservare più a lungo i dati di trend.
Vedere anche Cronologia e trend.
Trends Selezionare una delle seguenti opzioni:
Do not store - i trend non vengono memorizzati.
Questa impostazione non può essere sovrascritta dalle impostazioni globali dell'housekeeper.
Store up to - specifica la durata di conservazione della cronologia aggregata (min, max, media, conteggio orari) nel database (da 1 giorno a 25 anni). I dati più vecchi verranno rimossi dall'housekeeper. Memorizzato in secondi.
Sono supportati i suffissi temporali, ad esempio 24h, 1d. Sono supportate le macro utente.
Il valore Store up to può essere sovrascritto globalmente in Administration > Housekeeping.
Se esiste un'impostazione globale di sovrascrittura, viene visualizzata un'icona informativa arancione info. Posizionando il mouse su di essa, viene visualizzato un messaggio di avviso, ad es. Overridden by global housekeeper settings (7d).
Nota: la conservazione dei trend non è disponibile per dati non numerici - character, log e text.
Vedere anche Cronologia e trend.
Value mapping Applica una mappatura dei valori a questo item. La mappatura dei valori non modifica i valori ricevuti, serve solo per la visualizzazione dei dati.
Funziona con item Numeric(unsigned), Numeric(float) e Character.
Ad esempio, "Windows service states".
Log time format Disponibile solo per item di tipo Log. Segnaposto supportati:
y: Anno (1970-2038).
M: Mese (01-12).
d: Giorno (01-31).
h: Ora (00-23).
m: Minuto (00-59).
s: Secondo (00-59).
Se lasciato vuoto, il timestamp verrà impostato a 0 nel tempo Unix, corrispondente al 1 gennaio 1970.
Ad esempio, si consideri la seguente riga del file di log di Zabbix agent:
" 23480:20100328:154718.045 Zabbix agent started. Zabbix 1.8.2 (revision 11211)."
Inizia con sei posizioni di carattere per il PID, seguite da data, ora e dal resto del messaggio.
Il formato dell'ora del log per questa riga sarebbe "pppppp:yyyyMMdd:hhmmss".
Si noti che i caratteri "p" e ":" sono segnaposto e possono essere qualsiasi carattere eccetto "yMdhms".
Populates host inventory field È possibile selezionare un campo dell'inventario host che verrà popolato dal valore dell'item. Questo funzionerà se la compilazione automatica dell'inventario è abilitata per l'host e con item Numeric(unsigned), Numeric(float), Character e Text.
Description Inserire una descrizione dell'item. Sono supportate le macro utente.
Enabled Selezionare la casella per abilitare l'item in modo che venga elaborato.
Quando si disabilita l'item, esso viene immediatamente rimosso dalla cache della cronologia (tranne il suo ultimo valore, che viene mantenuto per i log).
Latest data Fare clic sul collegamento per visualizzare gli ultimi dati dell'item.
Questo collegamento è disponibile solo quando si modifica un item già esistente.

I campi specifici del tipo di item sono descritti nelle pagine corrispondenti.

Quando si modifica a livello host un item esistente a livello di template, un certo numero di campi è di sola lettura. È possibile utilizzare il collegamento nell'intestazione del modulo per passare al livello template e modificarli lì, tenendo presente che le modifiche a livello di template cambieranno l'item per tutti gli host a cui il template è collegato.

La scheda Tags consente di definire tag a livello di item.

Pre-elaborazione dei valori degli item

La scheda Preprocessing consente di definire regole di trasformazione per i valori ricevuti.

Test degli item

Per eseguire il test degli item, assicurarsi che l'ora di sistema sul server e sul proxy sia sincronizzata. Nel caso in cui l'ora del server sia indietro, il test degli item potrebbe restituire il messaggio di errore "The task has been expired." L'impostazione di fusi orari diversi sul server e sul proxy, tuttavia, non influirà sul risultato del test.

È possibile testare un item e, se configurato correttamente, ottenere in risposta un valore reale. Il test può essere eseguito anche prima che un item venga salvato.

Il test è disponibile per gli item di host e template, i prototipi di item e le regole di low-level discovery. Il test non è disponibile per gli item attivi.

Il test degli item è disponibile per i seguenti tipi di item passivi:

  • Zabbix agent
  • agent SNMP (v1, v2, v3)
  • agent IPMI
  • controlli SSH
  • controlli Telnet
  • agent JMX
  • controlli semplici (eccetto gli item icmpping*, vmware.*)
  • Zabbix internal
  • item calcolati
  • controlli esterni
  • monitor database
  • agent HTTP
  • script
  • browser

Per testare un item, fare clic sul pulsante Test nella parte inferiore del modulo di configurazione dell'item. Si noti che il pulsante Test sarà disabilitato per gli item che non possono essere testati (come i controlli attivi e i controlli semplici esclusi).

Il modulo di test dell'item contiene campi per i parametri host richiesti (indirizzo host, porta, test con server/proxy (nome proxy)) e dettagli specifici dell'item (come la community SNMPv2 o le credenziali di sicurezza SNMPv3). Questi campi sono sensibili al contesto:

  • I valori vengono precompilati quando possibile, ad esempio per gli item che richiedono un agent, prendendo le informazioni dall'interfaccia agent selezionata dell'host.
  • I valori devono essere compilati manualmente per gli item di template.
  • I valori delle macro in testo semplice vengono risolti.
  • I campi in cui il valore (o parte del valore) è una macro segreta o Vault sono vuoti e devono essere inseriti manualmente. Se un parametro dell'item contiene un valore di macro segreta, viene visualizzato il seguente messaggio di avviso: "Item contains user-defined macros with secret values. Values of these macros should be entered manually."
  • I campi sono disabilitati quando non necessari nel contesto del tipo di item (ad esempio, il campo indirizzo host e il campo proxy sono disabilitati per gli item calcolati)

Per testare l'item, fare clic su Get value. Se il valore viene recuperato correttamente, riempirà il campo Value, spostando il valore corrente (se presente) nel campo Previous value, calcolando anche il campo Prev. time, cioè la differenza di tempo tra i due valori (clic), e tentando di rilevare una sequenza EOL e passare a CRLF se viene rilevato "\n\r" nel valore recuperato.

Fare clic su Get value and test per testare il preprocessing.

I valori recuperati da un host e i risultati del test vengono troncati a una dimensione massima di 512KB quando vengono inviati al frontend. Se un risultato del test viene troncato, viene visualizzata un'icona di avviso; passarvi sopra con il puntatore per i dettagli. Se un valore viene troncato, potrebbe non superare la convalida del tipo di dato nei test consecutivi che confrontano valori grandi (ad esempio JSON); in tali casi viene visualizzato un messaggio di errore. Si noti che i dati superiori a 512KB vengono comunque elaborati completamente da Zabbix server.

Se la configurazione non è corretta, viene visualizzato un messaggio di errore che descrive la possibile causa.

Un valore recuperato correttamente da un host può essere utilizzato anche per testare i passaggi di preprocessing.

Pulsanti del modulo

I pulsanti nella parte inferiore del modulo consentono di eseguire diverse operazioni.

Aggiungi un item. Questo pulsante è disponibile solo per i nuovi item.
Aggiorna le proprietà di un item.
Crea un altro item basato sulle proprietà dell'item corrente.
Esegui immediatamente un controllo per un nuovo valore dell'item. Supportato solo per i controlli passivi (vedi maggiori dettagli).
Nota: quando si esegue immediatamente il controllo di un valore, la cache di configurazione non viene aggiornata, pertanto il valore non rifletterà modifiche molto recenti alla configurazione dell'item.
Verifica se la configurazione dell'item è corretta ottenendo un valore.
Elimina la cronologia e i trend dell'item.
Elimina l'item.
Annulla la modifica delle proprietà dell'item.

Limiti dei dati degli item

I limiti dei dati degli item dipendono dal tipo di dato dell'item e dal backend del database.

I valori numerici (unsigned) vengono memorizzati così come sono. Se viene ricevuto un valore in virgola mobile, viene memorizzata solo la parte intera (ad esempio, 1.23 → 1).

I valori numerici (float) vengono memorizzati così come sono e supportano approssimativamente da 15 a 17 cifre di precisione, con un intervallo approssimativo da -1.79E+308 a 1.79E+308. Sono supportati anche i valori in notazione scientifica (ad esempio, 1.23E+7, 1e308, 1.1E-4).

I valori di testo vengono troncati prima di essere memorizzati per corrispondere al limite del tipo di valore del database:

Database Tipo di informazione
Carattere Log Testo
MySQL 255 caratteri 65536 byte 65536 byte
PostgreSQL 255 caratteri 65536 caratteri 65536 caratteri
SQLite (solo Zabbix proxy) 255 caratteri 65536 caratteri 65536 caratteri

I valori binari sono limitati a 16MiB (16777216 byte). I valori che superano questo limite vengono scartati e nel frontend viene visualizzato un errore corrispondente.

I valori con tipo di dato JSON sono limitati a 128MiB (134217728 byte). I valori che superano questo limite vengono scartati e nel frontend viene visualizzato un errore corrispondente. Per MySQL/MariaDB, valutare la configurazione di partizioni giornaliere per la tabella history_json (utilizzata per memorizzare i valori JSON), poiché può crescere rapidamente e bloccare housekeeper per un periodo prolungato. Se il proprio caso d'uso prevede valori JSON di grandi dimensioni (1MiB o più), vedere come configurare il sistema per il supporto di valori JSON di grandi dimensioni.

Quando Zabbix scrive qualsiasi dato di item nel database, utilizza query INSERT e le registra nei log (se DebugLevel è impostato su 4 o 5). Le voci di log di grandi dimensioni vengono troncate a 64KB.

Limite degli script personalizzati

La lunghezza disponibile degli script personalizzati dipende dal database utilizzato:

Database Limite in caratteri Limite in byte
MySQL 65535 65535
PostgreSQL 65535 non limitato
SQLite (solo Zabbix proxy) 65535 non limitato

Timeout dell'item

Il timeout dell'item specifica per quanto tempo Zabbix deve attendere prima di interrompere il controllo e considerarlo non riuscito.

Quando viene raggiunto il timeout, il controllo viene interrotto anche se il recupero dei dati non è ancora terminato. Se i dati vengono ricevuti solo parzialmente, l'item diventa non supportato e viene registrato un messaggio di errore (ad esempio, se i dati vengono raccolti correttamente solo per uno dei molteplici OID in un controllo SNMP).

Per molti tipi di item, è possibile impostare timeout degli item flessibili:

  • per singolo item
  • per tipo di item (a livello di proxy)
  • per tipo di item (a livello globale)

Un timeout personalizzato per singolo item è utile se si desidera specificare un timeout più lungo per un item specifico, mantenendo al contempo bassi i timeout per gli altri item.

Precedenza dei timeout

  1. Il timeout del singolo item ha la precedenza su qualsiasi altro timeout.
  2. I timeout a livello di proxy hanno la precedenza sui timeout globali.

Il timeout della configurazione di Zabbix server o proxy non ha alcun ruolo nei controlli per i quali sono impostati timeout flessibili.

Supporto per timeout flessibili

I timeout flessibili degli item sono supportati per questi tipi di item:

Item non supportati

Gli item non supportati vengono segnalati con stato Non supportato e continuano a essere ricontrollati secondo il loro Intervallo di aggiornamento standard.

Un item diventa non supportato se il suo valore non può essere recuperato per qualche motivo (ad esempio, errore di connessione, nessun poller configurato per elaborare l'item). Inoltre, gli item che non ricevono dati storici rimangono nello stato Non supportato. Si tratta di un comportamento previsto: un item passa allo stato Normale solo quando riceve nuovi dati storici validi.

Come i problemi, gli item non supportati vengono rivalutati solo quando vengono ricevuti nuovi dati, anche se per quell'item non sono più disponibili dati storici. In altre parole, item e trigger cambiano stato esclusivamente alla ricezione di nuovi dati. Tuttavia, se un'espressione di trigger include una funzione date and time e/o nodata(), il trigger verrà ricalcolato ogni 30 secondi (per i dettagli, vedere tempo di calcolo dei trigger).