3 Esempi di preprocessing

Panoramica

Questa sezione presenta esempi di utilizzo dei passaggi di preprocessing per svolgere alcune attività pratiche.

Filtraggio dei record del log eventi VMware

Questo esempio utilizza il passaggio di preprocessing Matches regular expression per filtrare gli eventi non necessari dal log eventi VMware.

1. Su un host VMware Hypervisor funzionante, verificare che l'item vmware.eventlog sia presente e funzioni correttamente. Si noti che l'item del log eventi potrebbe essere già presente sull'hypervisor se durante la creazione dell'host è stato collegato un template VMware.

2. Sull'host VMware Hypervisor, creare un item dipendente di tipo Log e impostare l'item del log eventi come item principale.

3. Nella scheda Preprocessing dell'item dipendente, fare clic su Add per creare un passaggio di preprocessing e selezionare Matches regular expression dal menu a discesa. Quindi, specificare uno dei seguenti pattern:

  • Per filtrare tutti gli eventi del log:
.* logged in .*
  • Per filtrare le righe che contengono nomi utente dopo "User":
\bUser\s+\K\S+

Se l'espressione regolare non trova corrispondenza, l'item dipendente diventa non supportato con un messaggio di errore corrispondente. Per evitare questo comportamento, selezionare la casella Custom on fail e scegliere un'opzione, ad esempio scartare il valore o impostarne uno personalizzato. Si noti che i valori scartati non vengono memorizzati nel database; di conseguenza, i trigger non vengono valutati e i dati di trend non vengono generati.

In alternativa, è possibile utilizzare il passaggio di preprocessing Regular expression per estrarre i gruppi corrispondenti e controllare l'output:

  • Per estrarre e visualizzare l'intero evento del log contenente "logged in", specificare i seguenti parametri:
Pattern: .*logged in.*
Output: \0
  • Per estrarre e visualizzare i nomi utente che seguono "User":
Pattern: User (.*?)(?=\ )
Output: \1

Verifica del tipo di valore recuperato

Questo esempio utilizza il passaggio di preprocessing Moltiplicatore personalizzato per verificare se il tipo di valore dell'item recuperato è numerico.

Nella scheda Preprocessing di un item, seleziona il passaggio di preprocessing Moltiplicatore personalizzato e specifica il seguente parametro (moltiplica il valore recuperato per 1):

1

Se il preprocessing fallisce (ad esempio, l'input non è numerico), l'item diventa non supportato con un messaggio di errore corrispondente. Per evitarlo, seleziona la casella Personalizzato in caso di errore e scegli un'opzione, ad esempio scartare il valore o impostarne uno personalizzato. Tieni presente che i valori scartati non vengono memorizzati nel database; di conseguenza, i trigger non vengono valutati e i dati di trend non vengono generati.

Verifica del valore non supportato

Questo esempio utilizza il passaggio di preprocessing Check for not supported value per verificare se il valore dell'item non può essere recuperato.

Quando un processo poller di Zabbix server/proxy tenta di raccogliere il valore di un item, può:

  • Restituire un risultato valido.
  • Restituire un risultato che inizialmente sembra valido ma che potrebbe diventare non supportato in seguito (ad esempio, a causa di una mancata corrispondenza del tipo di valore dopo il preprocessing).
  • Restituire un errore durante la raccolta del valore, causando il passaggio dell'item a non supportato. Le cause comuni includono:
    • Chiave item sconosciuta (per Zabbix agent, Simple check o item interni di Zabbix)
    • OID sconosciuto (SNMP agent), sensore sconosciuto (IPMI agent) o nessuna metrica JMX (JMX agent)
    • Impossibile leggere il file trap (SNMP trap)
    • Script non trovato (External check)
    • URL inesistente (HTTP agent, Browser)
    • Accesso non riuscito (SSH agent, TELNET agent)
    • Sintassi della formula non valida (Calculated), errore di sintassi JavaScript (Script) o SQL non valido (Database monitor)

Per rilevare e gestire gli errori nella raccolta dei valori degli item, è possibile utilizzare il passaggio di preprocessing Check for not supported value. Si noti che questo passaggio viene sempre eseguito per primo e rileva solo gli errori che si verificano prima dell'inizio del preprocessing.

Nella scheda Preprocessing di un item, selezionare il passaggio di preprocessing Check for not supported value e specificare uno dei seguenti parametri:

  • Per qualsiasi errore:
Parameter: any error
  • Per errori contenenti "cannot connect":
Parameter: error matches
Pattern: (?i)cannot connect

Quindi, utilizzare l'opzione Custom on fail per scartare il valore (in questo caso, l'errore), impostare un valore personalizzato o restituire un messaggio di errore personalizzato. Si noti che i valori discarded non vengono memorizzati nel database; di conseguenza, i trigger non vengono valutati e i dati di trend non vengono generati.