2 Preelaborazione del valore dell'articolo

Panoramica

Il preprocessing consente di applicare trasformazioni ai valori degli item ricevuti prima di salvarli nel database. Queste trasformazioni/fasi di preprocessing vengono eseguite da Zabbix server o proxy (se gli item sono monitorati dal proxy).

Questa funzionalità supporta una varietà di casi d'uso, ad esempio:

  • conversione dei byte in bit (ad esempio, moltiplicando i valori del traffico di rete per "8");
  • calcolo di statistiche al secondo per valori incrementali;
  • applicazione di espressioni regolari per estrarre o modificare i valori;
  • esecuzione di script personalizzati sui valori;
  • scarto dei valori invariati per ottimizzare lo spazio di archiviazione nel database.

Per un item è possibile configurare una o più fasi di preprocessing. Queste fasi vengono eseguite nell'ordine in cui sono configurate.

Se una fase di preprocessing non riesce, un item diventa unsupported. Questo può essere evitato tramite la gestione degli errori Custom on fail (disponibile per la maggior parte delle trasformazioni), che consente di scartare i valori o impostare valori personalizzati.

Per gli item di log, i metadati del log (senza valore) reimposteranno sempre lo stato unsupported dell'item, rendendolo nuovamente supportato. Ciò avviene anche se l'errore iniziale si è verificato dopo aver ricevuto un valore di log da agent.

Tutti i valori passati al preprocessing vengono inizialmente trattati come stringhe. La conversione nel tipo di valore desiderato (come definito nella configurazione dell'item) viene eseguita alla fine della pipeline di preprocessing. Tuttavia, specifiche fasi di preprocessing possono attivare conversioni anticipate, se necessario. Per informazioni tecniche dettagliate, vedere Dettagli sul preprocessing.

Per assicurarti che la configurazione del preprocessing funzioni come previsto, puoi testarla.

Vedi anche: Esempi di preprocessing

Configurazione

I passaggi di preprocessing sono definiti nella scheda Preprocessing del modulo di configurazione dell'item.

Fare clic su Aggiungi per selezionare una trasformazione supportata.

Il campo Tipo di informazione viene visualizzato nella parte inferiore della scheda quando è definito almeno un passaggio di preprocessing. Se necessario, è possibile modificare il tipo di informazione senza uscire dalla scheda Preprocessing. Per una descrizione dettagliata dei parametri, vedere Creazione di un item.

Trasformazioni supportate

Tutte le trasformazioni supportate sono elencate di seguito. Fare clic sul nome della trasformazione per visualizzarne tutti i dettagli.

Nome Descrizione Tipo
Espressione regolare Confronta il valore con l'espressione regolare e lo sostituisce con l'output richiesto. Testo
Sostituisci Trova la stringa di ricerca e la sostituisce con un'altra (o con nulla).
Taglia Rimuove i caratteri specificati dall'inizio e dalla fine del valore.
Taglia a destra Rimuove i caratteri specificati dalla fine del valore.
Taglia a sinistra Rimuove i caratteri specificati dall'inizio del valore.
XML XPath Estrae un valore o un frammento dai dati XML utilizzando la funzionalità XPath. Dati strutturati
JSON Path Estrae un valore o un frammento dai dati JSON utilizzando la funzionalità JSONPath.
CSV in JSON Converte i dati di un file CSV nel formato JSON.
XML in JSON Converte i dati in formato XML in JSON.
Valore SNMP walk Estrae il valore in base al nome OID/MIB specificato e applica le opzioni di formattazione. SNMP
SNMP walk in JSON Converte i valori SNMP in JSON.
Valore SNMP get Applica le opzioni di formattazione al valore ottenuto con SNMP get.
Moltiplicatore personalizzato Moltiplica il valore per il valore intero o in virgola mobile specificato. Aritmetica
Variazione semplice Calcola la differenza tra il valore corrente e quello precedente. Variazione
Variazione al secondo Calcola al secondo la velocità di variazione del valore (differenza tra il valore corrente e quello precedente).
Booleano in decimale Converte il valore dal formato booleano a quello decimale. Sistemi numerici
Ottale in decimale Converte il valore dal formato ottale a quello decimale.
Esadecimale in decimale Converte il valore dal formato esadecimale a quello decimale.
JavaScript Inserire codice JavaScript. Script personalizzati
Nell'intervallo Definisce un intervallo entro cui un valore deve rientrare. Convalida
Corrisponde all'espressione regolare Specifica un'espressione regolare a cui un valore deve corrispondere.
Non corrisponde all'espressione regolare Specifica un'espressione regolare a cui un valore non deve corrispondere.
Controlla errore in JSON Controlla un messaggio di errore a livello applicativo individuato in JSONPath.
Controlla errore in XML Controlla un messaggio di errore a livello applicativo individuato in XPath.
Controlla errore usando un'espressione regolare Controlla un messaggio di errore a livello applicativo utilizzando un'espressione regolare.
Controlla valore non supportato Controlla se non è stato possibile recuperare alcun valore dell'item.
Scarta se invariato Scarta un valore se non è cambiato. Limitazione della frequenza
Scarta se invariato con heartbeat Scarta un valore se non è cambiato entro il periodo di tempo definito.
Pattern Prometheus Utilizza la seguente query per estrarre i dati richiesti dalle metriche Prometheus. Prometheus
Prometheus in JSON Converte le metriche Prometheus richieste in JSON.

Si noti che per i passaggi di preprocessing Variazione e Limitazione della frequenza, Zabbix deve ricordare l'ultimo valore per calcolare/confrontare il nuovo valore come richiesto. Questi valori precedenti sono gestiti dal gestore del preprocessing. Se Zabbix server o proxy viene riavviato oppure viene apportata qualsiasi modifica ai passaggi di preprocessing, l'ultimo valore dell'item corrispondente viene reimpostato, con il seguente risultato:

  • per i passaggi Variazione semplice, Variazione al secondo - il valore successivo verrà ignorato perché non esiste alcun valore precedente da cui calcolare la variazione;
  • per i passaggi Scarta se invariato, Scarta se invariato con heartbeat - il valore successivo non verrà mai scartato, anche se avrebbe dovuto esserlo in base alle regole di scarto.
Espressione regolare

Confronta il valore con l'espressione regolare e sostituiscilo con l'output richiesto.

Parametri:

  • pattern - l'espressione regolare;
  • output - il template di formattazione dell'output. Una sequenza di escape \N (dove N=1…9) viene sostituita con l'N-esimo gruppo corrispondente. Una sequenza di escape \0 viene sostituita con il testo corrispondente.

Commenti:

  • Se il valore di input non corrisponde, l'item diventerà non supportato;
  • L'espressione regolare supporta l'estrazione di un massimo di 10 gruppi catturati con la sequenza \N;
  • Se si seleziona la casella Custom on fail, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore nel passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
  • Fare riferimento alla sezione regular expressions per alcuni esempi esistenti.
Sostituisci

Trova la stringa di ricerca e sostituiscila con un'altra (oppure con nulla).

Parametri:

  • stringa di ricerca - la stringa da trovare e sostituire, con distinzione tra maiuscole e minuscole (obbligatorio);
  • sostituzione - la stringa con cui sostituire la stringa di ricerca. La stringa di sostituzione può anche essere vuota, consentendo di fatto di eliminare la stringa di ricerca quando viene trovata.

Commenti:

  • Tutte le occorrenze della stringa di ricerca verranno sostituite;
  • È possibile usare sequenze di escape per cercare o sostituire interruzioni di riga, ritorno a capo, tabulazioni e spazi "\n \r \t \s"; il backslash può essere sottoposto a escape come "\\" e le sequenze di escape possono essere sottoposte a escape come "\\n";
  • L'escape di interruzioni di riga, ritorno a capo e tabulazioni viene eseguito automaticamente durante il low-level discovery.
Trim

Rimuove i caratteri specificati dall'inizio e dalla fine del valore.

Eliminazione a destra

Rimuove i caratteri specificati dalla fine del valore.

Left trim

Rimuove i caratteri specificati dall'inizio del valore.

XML XPath

Estrae un valore o un frammento da dati XML utilizzando la funzionalità XPath.

Commenti:

  • Affinché questa opzione funzioni, Zabbix server (o Zabbix proxy) deve essere compilato con il supporto libxml;
  • I namespace non sono supportati;
  • Se si seleziona la casella di controllo Personalizza in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in una fase di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Esempi:

number(/document/item/value) #estrarrà '10' da <document><item><value>10</value></item></document>
number(/document/item/@attribute) #estrarrà '10' da <document><item attribute="10"></item></document>
/document/item #estrarrà '<item><value>10</value></item>' da <document><item><value>10</value></item></document>
JSON Path

Estrae un valore o un frammento dai dati JSON utilizzando la funzionalità JSONPath.

Se si seleziona la casella Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Da CSV a JSON

Converte i dati di un file CSV nel formato JSON.

Per ulteriori informazioni, vedere: Preprocessing da CSV a JSON.

Da XML a JSON

Converti i dati in formato XML in JSON.

Per ulteriori informazioni, vedere: Regole di serializzazione.

Se si seleziona la casella di controllo Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in una fase di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Valore SNMP walk

Estrae il valore in base al nome OID/MIB specificato e applica le opzioni di formattazione:

  • Invariato - restituisce la stringa esadecimale come stringa esadecimale non escape-ata (nota che gli hint di visualizzazione vengono comunque applicati);
  • UTF-8 da hex-STRING - converte la stringa esadecimale in una stringa UTF-8;
  • MAC da hex-STRING - valida la stringa esadecimale come indirizzo MAC e restituisce una stringa di indirizzo MAC corretta (dove ' ' viene sostituito con ':');
  • Intero da BITS - converte i primi 8 byte di una stringa di bit espressa come sequenza di caratteri esadecimali (ad esempio, "1A 2B 3C 4D") in un intero senza segno a 64 bit. Nelle stringhe di bit più lunghe di 8 byte, i byte successivi verranno ignorati.

Se si seleziona la casella di controllo Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Conversione di SNMP walk in JSON

Converte i valori SNMP in JSON.

Specificare un nome di campo nel JSON e il corrispondente percorso OID SNMP. I valori dei campi verranno popolati con i valori presenti nel percorso OID SNMP specificato.

Commenti:

  • Sono disponibili opzioni di formattazione dei valori simili a quelle del passaggio Valore SNMP walk;
  • È possibile utilizzare questo passaggio di preprocessing per SNMP OID discovery;
  • Se si seleziona la casella di controllo Custom on fail, è possibile specificare opzioni personalizzate di gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore nel passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Valore ottenuto con SNMP

Applica le opzioni di formattazione al valore ottenuto con SNMP:

  • UTF-8 da Hex-STRING - converte una stringa esadecimale in una stringa UTF-8;
  • MAC da Hex-STRING - valida una stringa esadecimale come indirizzo MAC e restituisce una stringa MAC corretta (dove ' ' viene sostituito con ':');
  • Intero da BITS - converte i primi 8 byte di una stringa di bit espressa come sequenza di caratteri esadecimali (ad esempio, "1A 2B 3C 4D") in un intero senza segno a 64 bit. Nelle stringhe di bit più lunghe di 8 byte, i byte successivi verranno ignorati.

Se selezioni la casella di controllo Custom on fail, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Moltiplicatore personalizzato

Moltiplica il valore per il valore intero o in virgola mobile specificato.

Commenti:

  • Utilizzare questa opzione per convertire i valori ricevuti in KB, MBps, ecc. in B, Bps. Altrimenti, Zabbix non può impostare correttamente i prefissi (K, M, G, ecc.).
  • Si noti che se il tipo di informazione dell'item è Numeric (unsigned), i valori in ingresso con una parte frazionaria verranno troncati (cioè, '0.9' diventerà '0') prima che venga applicato il moltiplicatore personalizzato;
  • Se si utilizza un moltiplicatore personalizzato o si memorizza il valore come Change per second per item con il tipo di informazione impostato su Numeric (unsigned) e il valore calcolato risultante è effettivamente un numero float, il valore calcolato viene comunque accettato come corretto troncando la parte decimale e memorizzando il valore come intero;
  • Supportato: notazione scientifica, ad esempio 1e+70; macro utente e macro LLD; stringhe che includono macro, ad esempio {#MACRO}e+10, {$MACRO1}e+{$MACRO2}. Le macro devono risolversi in un numero intero o in virgola mobile.
  • Se si seleziona la casella Custom on fail, è possibile specificare opzioni personalizzate di gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Variazione semplice

Calcola la differenza tra il valore corrente e quello precedente.

Commenti:

  • Questo passaggio può essere utile per misurare un valore in costante crescita;
  • Valutato come value-prev_value, dove value è il valore corrente; prev_value è il valore ricevuto in precedenza;
  • È consentita una sola operazione di variazione per item ("Simple change" oppure "Change per second");
  • Se il valore corrente è inferiore al valore precedente, Zabbix scarta tale differenza (non memorizza nulla) e attende un altro valore;
  • Se selezioni la casella Custom on fail, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Variazione al secondo

Calcola la velocità di variazione del valore (differenza tra il valore corrente e quello precedente) al secondo.

Commenti:

  • Questo passaggio è utile per calcolare la velocità al secondo di un valore in costante crescita;
  • Poiché questo calcolo può produrre numeri in virgola mobile, si consiglia di impostare 'Type of information' su Numeric (float), anche se i valori grezzi in ingresso sono interi. Questo è particolarmente rilevante per i numeri piccoli, dove la parte decimale è importante. Se i valori in virgola mobile sono grandi e possono superare la lunghezza del campo 'float', nel qual caso l'intero valore potrebbe andare perso, si consiglia invece di usare Numeric (unsigned) e quindi troncare solo la parte decimale.
  • Valutato come (value-prev_value)/(time-prev_time), dove value è il valore corrente; prev_value è il valore ricevuto in precedenza; time è il timestamp corrente; prev_time è il timestamp del valore precedente;
  • È consentita una sola operazione di variazione per item ("Simple change" o "Change per second");
  • Se il valore corrente è inferiore a quello precedente, Zabbix scarta tale differenza (non memorizza nulla) e attende un altro valore. Questo aiuta a gestire correttamente, per esempio, il wrapping (overflow) dei contatori SNMP a 32 bit.
  • Se si seleziona la casella Custom on fail, è possibile specificare opzioni personalizzate di gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Booleano in decimale

Converte il valore dal formato booleano a quello decimale.

Commenti:

  • La rappresentazione testuale viene tradotta in 0 oppure 1. Pertanto, 'TRUE' viene memorizzato come 1 e 'FALSE' viene memorizzato come 0. Tutti i valori vengono confrontati senza distinzione tra maiuscole e minuscole. I valori attualmente riconosciuti sono, per TRUE - true, t, yes, y, on, up, running, enabled, available, ok, master; per FALSE - false, f, no, n, off, down, unused, disabled, unavailable, err, slave. Inoltre, qualsiasi valore numerico diverso da zero è considerato TRUE e zero è considerato FALSE.
  • Se si seleziona la casella Custom on fail, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore nel passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Da ottale a decimale

Converte il valore dal formato ottale a quello decimale.

Se si seleziona la casella di controllo Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Da esadecimale a decimale

Converte il valore dal formato esadecimale a quello decimale.

Se si seleziona la casella Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

JavaScript

Inserire il codice JavaScript nell'editor modale che si apre facendo clic nel campo del parametro o sull'icona della matita accanto ad esso.

Non utilizzare assegnazioni non dichiarate nel JavaScript di preprocessing. Usare var per dichiarare le variabili locali.

Commenti:

Nell'intervallo

Definire un intervallo entro il quale un valore deve rientrare specificando i valori minimo/massimo (inclusi).

Commenti:

  • Sono accettati valori numerici (incluso qualsiasi numero di cifre, parte decimale facoltativa e parte esponenziale facoltativa, valori negativi);
  • Il valore minimo deve essere inferiore al valore massimo;
  • Deve essere presente almeno un valore;
  • È possibile utilizzare macro utente e macro di low-level discovery;
  • Se si seleziona la casella Personalizzato in caso di errore, è possibile specificare opzioni personalizzate di gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Corrisponde all'espressione regolare

Specificare un'espressione regolare a cui un valore deve corrispondere.

Se si seleziona la casella di controllo Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Non corrisponde all'espressione regolare

Specificare un'espressione regolare a cui un valore non deve corrispondere.

Se si seleziona la casella di controllo Personalizzato in caso di errore, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.

Controlla la presenza di errori in JSON

Controlla la presenza di un messaggio di errore a livello di applicazione situato in JSONPath. Interrompe l'elaborazione se l'operazione ha esito positivo e il messaggio non è vuoto; altrimenti, continua l'elaborazione con il valore presente prima di questo passaggio di preprocessing.

Commenti:

  • Questi errori dei servizi esterni vengono riportati all'utente così come sono, senza aggiungere informazioni sul passaggio di preprocessing;
  • Non verrà segnalato alcun errore in caso di mancata analisi di JSON non valido;
  • Se selezioni la casella di controllo Custom on fail, è possibile specificare opzioni personalizzate di gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Controllo di errori in XML

Controlla la presenza di un messaggio di errore a livello di applicazione situato in XPath. Interrompe l'elaborazione se l'operazione ha esito positivo e il messaggio non è vuoto; altrimenti, continua l'elaborazione con il valore precedente a questo passaggio di preprocessing.

Commenti:

  • Questi errori dei servizi esterni vengono riportati all'utente così come sono, senza aggiungere informazioni sul passaggio di preprocessing;
  • Non verrà segnalato alcun errore in caso di mancata analisi di XML non valido;
  • Se si seleziona la casella di controllo Custom on fail, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore in un passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Controllo degli errori tramite un'espressione regolare

Controlla la presenza di un messaggio di errore a livello di applicazione utilizzando un'espressione regolare. Interrompe l'elaborazione se l'operazione ha esito positivo e il messaggio non è vuoto; in caso contrario, continua l'elaborazione con il valore precedente a questo passaggio di preprocessing.

Parametri:

  • pattern - l'espressione regolare;
  • output - il modello di formattazione dell'output. Una sequenza di escape \N (dove N=1…9) viene sostituita con l'N-esimo gruppo corrispondente. Una sequenza di escape \0 viene sostituita con il testo corrispondente.

Commenti:

  • Questi errori dei servizi esterni vengono segnalati all'utente così come sono, senza aggiungere informazioni sul passaggio di preprocessing;
  • Se si seleziona la casella di controllo Custom on fail, è possibile specificare opzioni personalizzate per la gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore nel passaggio di preprocessing, l'item non diventerà unsupported se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
Controlla il valore non supportato

Verifica se non è stato possibile recuperare alcun valore dell'item. Specifica come deve essere gestito l'errore, in base all'ispezione del messaggio di errore restituito.

Parametri:

  • scope - seleziona l'ambito di elaborazione dell'errore:
    qualsiasi errore - qualsiasi errore;
    errore corrisponde - solo l'errore che corrisponde all'espressione regolare specificata in pattern;
    errore non corrisponde - solo l'errore che non corrisponde all'espressione regolare specificata in pattern
  • pattern - l'espressione regolare con cui confrontare l'errore. Se nel parametro scope è selezionato qualsiasi errore, questo campo non viene visualizzato. Se visualizzato, questo campo è obbligatorio.

Commenti:

  • Normalmente, l'assenza/impossibilità di recuperare un valore comporterebbe che l'item diventi non supportato. Questo passaggio di preprocessing consente di modificare questo comportamento. Se selezioni la casella Custom on fail (sempre selezionata e disattivata per questo passaggio di preprocessing), è possibile specificare opzioni personalizzate di gestione degli errori: scartare il valore, impostare un valore specificato oppure impostare un messaggio di errore specificato. In caso di errore nel passaggio di preprocessing, l'item non diventerà non supportato se è selezionata l'opzione per scartare il valore o impostare un valore specificato.
  • Questo passaggio di preprocessing verifica solo se non è stato possibile recuperare alcun valore dell'item. Non verifica, ad esempio, se il tipo del valore recuperato (ad esempio, stringa) corrisponde al tipo di informazione dell'item (ad esempio, numerico); per i dettagli, vedi Esempi di preprocessing. Se c'è una mancata corrispondenza di tipo, l'item potrebbe comunque diventare non supportato dopo l'esecuzione di tutti i passaggi di preprocessing. Per verificare una mancata corrispondenza di tipo, puoi usare, ad esempio, il passaggio di preprocessing Custom multiplier; vedi Esempi di preprocessing.
  • È supportata l'acquisizione dei gruppi dell'espressione regolare nei campi Set value to o Set error to. Usa \N (dove N=1…9) per recuperare l'N-esimo gruppo corrispondente; usa \0 per recuperare il testo corrispondente;
  • Questi passaggi vengono sempre eseguiti come primi passaggi di preprocessing e, dopo il salvataggio delle modifiche all'item, vengono posizionati sopra tutti gli altri;
  • Sono supportati più passaggi Check for not supported value, nell'ordine specificato. Un passaggio per qualsiasi errore verrà automaticamente posizionato come ultimo passaggio in questo gruppo.
Scarta invariato

Scarta un valore se non è cambiato.

Commenti:

  • Se un valore viene scartato, non viene salvato nel database e Zabbix server non ha alcuna conoscenza del fatto che questo valore sia stato ricevuto. Non verrà valutata alcuna espressione di trigger e, di conseguenza, non verranno creati/risolti problemi per i trigger correlati. Le funzioni funzioneranno solo in base ai dati effettivamente salvati nel database. Poiché i trend vengono costruiti in base ai dati nel database, se per un'ora non viene salvato alcun valore, non ci saranno dati di trend nemmeno per quell'ora.
  • È possibile specificare una sola opzione di limitazione per item.
Scarta invariato con heartbeat

Scarta un valore se non è cambiato entro il periodo di tempo definito (in secondi).

Commenti:

  • Sono supportati valori interi positivi per specificare i secondi (minimo: 1 secondo);
  • È possibile utilizzare suffissi di tempo (ad esempio, 30s, 1m, 2h, 1d);
  • È possibile utilizzare macro utente e macro di low-level discovery;
  • Se un valore viene scartato, non viene salvato nel database e Zabbix server non ha alcuna conoscenza del fatto che questo valore sia stato ricevuto. Non verrà valutata alcuna espressione di trigger e, di conseguenza, non verranno creati/risolti problemi per i trigger correlati. Le funzioni funzioneranno solo in base ai dati effettivamente salvati nel database. Poiché i trend vengono costruiti in base ai dati presenti nel database, se per un'ora non viene salvato alcun valore, non ci saranno dati di trend nemmeno per quell'ora.
  • È possibile specificare una sola opzione di throttling per item.
Pattern Prometheus

Utilizzare la seguente query per estrarre i dati richiesti dalle metriche Prometheus.

Per maggiori dettagli, vedere controlli Prometheus.

Da Prometheus a JSON

Converte le metriche Prometheus richieste in JSON.

Per maggiori dettagli, vedere controlli Prometheus.

Supporto delle macro

Le macro utente e le macro utente con contesto sono supportate in:

  • parametri dei passaggi di preprocessing, incluso il codice JavaScript;
  • parametri personalizzati di gestione degli errori (campi Imposta valore a e Imposta errore a).

Il contesto della macro viene ignorato quando una macro viene sostituita con il suo valore. Il valore della macro viene inserito nel codice così com'è; non è possibile aggiungere un escaping aggiuntivo prima di inserire il valore nel codice JavaScript. Si noti che in alcuni casi ciò può causare errori JavaScript.

Test

Vedere test di preprocessing.