3 Individuazione di basso livello
Panoramica
Low-level discovery (LLD) fornisce un modo per creare automaticamente item, trigger e grafici per diverse entità su un host. Ad esempio, Zabbix può iniziare automaticamente a monitorare file system o interfacce di rete sulla tua macchina, senza la necessità di creare manualmente item per ogni file system o interfaccia di rete. LLD può anche creare host, ad esempio per popolare macchine virtuali rilevate su un hypervisor, e regole di discovery annidate, abilitando una discovery multilivello. Inoltre, è possibile configurare Zabbix per rimuovere automaticamente le entità non necessarie in base ai risultati effettivi della discovery eseguita periodicamente.
Un utente può definire i propri tipi di discovery, a condizione che seguano un particolare protocollo JSON.
L'architettura generale del processo di discovery è la seguente.
Per prima cosa, un utente crea una regola di discovery in Data collection > Templates, nella colonna Discovery. Una regola di discovery consiste in (1) un item che rileva le entità necessarie (ad esempio file system o interfacce di rete) e (2) prototipi di item, trigger e grafici che devono essere creati in base al valore di quell'item.
Un item che rileva le entità necessarie è simile a un normale item visibile altrove: il server chiede a uno Zabbix agent (o a qualunque tipo sia impostato per l'item) il valore di quell'item, l'agent risponde con un valore testuale. La differenza è che il valore restituito dall'agent deve contenere un elenco di entità rilevate in formato JSON. Sebbene i dettagli di questo formato siano importanti solo per gli implementatori di controlli di discovery personalizzati, è necessario sapere che il valore restituito contiene un elenco di coppie macro → valore. Ad esempio, l'item "net.if.discovery" potrebbe restituire due coppie: "{#IFNAME}" → "lo" e "{#IFNAME}" → "eth0".
Queste macro vengono utilizzate nei nomi, nelle key e in altri campi dei prototipi, dove vengono poi sostituite con i valori ricevuti per creare item, trigger, grafici o persino host reali per ogni entità rilevata. Vedi l'elenco completo delle opzioni per l'utilizzo delle macro LLD.
Quando il server riceve un valore per un item di discovery, esamina le coppie macro → valore e per ciascuna coppia genera item, trigger e grafici reali, in base ai rispettivi prototipi. Nell'esempio con "net.if.discovery" sopra, il server genererebbe un insieme di item, trigger e grafici per l'interfaccia loopback "lo" e un altro insieme per l'interfaccia "eth0".
Si noti che a partire da Zabbix 4.2, il formato del JSON restituito dalle regole di low-level discovery è stato modificato. Non è più previsto che il JSON contenga l'oggetto "data". Low-level discovery ora accetta un normale JSON contenente un array, per supportare nuove funzionalità come il preprocessing del valore dell'item e percorsi personalizzati verso i valori delle macro di low-level discovery in un documento JSON.
Le key di discovery integrate sono state aggiornate per restituire un array di righe LLD alla radice del documento JSON.
Zabbix estrarrà automaticamente una macro e un valore se un campo dell'array usa la sintassi {#MACRO} come key.
Qualsiasi nuovo controllo di discovery nativo utilizzerà la nuova sintassi senza gli elementi "data".
Durante l'elaborazione di un valore di low-level discovery, viene prima individuata la radice (array in $. o $.data).
Sebbene l'elemento "data" sia stato rimosso da tutti gli item nativi relativi alla discovery, per compatibilità con le versioni precedenti Zabbix continuerà ad accettare la notazione JSON con un elemento "data", anche se il suo utilizzo è sconsigliato.
Se il JSON contiene un oggetto con un solo elemento array "data", il contenuto dell'elemento verrà estratto automaticamente usando JSONPath $.data.
Low-level discovery ora accetta macro LLD opzionali definite dall'utente con un percorso personalizzato specificato nella sintassi JSONPath.
Come risultato delle modifiche sopra indicate, gli agent più recenti non saranno più in grado di funzionare con un server Zabbix meno recente.
Vedi anche: Entità rilevate
Configurazione del low-level discovery
Illustreremo il low-level discovery con un esempio di individuazione dei file system.
Per configurare l'individuazione, procedere come segue:
- Andare in: Data collection > Templates oppure Hosts.
- Fare clic su Discovery nella riga del template/host appropriato.

- Fare clic su Create discovery rule nell'angolo superiore destro dello schermo.
- Compilare il modulo della regola di individuazione con i dettagli richiesti.
Regola di individuazione
Il modulo della regola di individuazione contiene cinque schede, che rappresentano, da sinistra a destra, il flusso dei dati durante l'individuazione:
- Regola di individuazione - specifica, soprattutto, l'item integrato o lo script personalizzato per recuperare i dati di individuazione.
- Preprocessing - applica un certo preprocessing ai dati individuati.
- Macro LLD - consente di estrarre alcuni valori di macro da utilizzare negli item, trigger, ecc. individuati.
- Filtri - consente di filtrare i valori individuati.
- Override - consente di modificare item, trigger, grafici o prototipi di host quando vengono applicati a specifici oggetti individuati.
La scheda Regola di individuazione contiene la chiave item da utilizzare per l'individuazione (oltre ad alcuni attributi generali della regola di individuazione):

Tutti i campi di input obbligatori sono contrassegnati con un asterisco rosso.
| Parameter | Description |
|---|---|
| Name | Nome della regola di individuazione. |
| Type | Il tipo di controllo per eseguire l'individuazione. In questo esempio stiamo utilizzando un tipo di item Zabbix agent. La regola di individuazione può anche essere un item dipendente, in dipendenza da un item normale. Non può dipendere da un'altra regola di individuazione. Per un item dipendente, selezionare il tipo corrispondente (Item dipendente) e specificare l'item principale nel campo 'Master item'. L'item principale deve esistere. |
| Key | Inserire la chiave item di individuazione (fino a 2048 caratteri). Ad esempio, è possibile utilizzare la chiave item integrata "vfs.fs.discovery" per restituire una stringa JSON con l'elenco dei file system presenti nel computer, i relativi tipi e le opzioni di montaggio. Si noti che un'altra opzione per l'individuazione del file system consiste nell'utilizzare i risultati di individuazione tramite la chiave agent "vfs.fs.get" (vedere esempio). |
| Update interval | Questo campo specifica con quale frequenza Zabbix esegue l'individuazione. All'inizio, quando si sta appena configurando l'individuazione del file system, si potrebbe voler impostare un intervallo ridotto, ma una volta verificato che funziona è possibile impostarlo a 30 minuti o più, poiché i file system di solito non cambiano molto spesso. Sono supportati i suffissi temporali, ad esempio 30s, 1m, 2h, 1d. Sono supportate le macro utente. 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. Le nuove regole di individuazione verranno controllate entro 60 secondi dalla loro creazione, a meno che non abbiano Scheduling o Flexible update interval e che Update interval sia impostato su 0. Nota che per una regola di individuazione esistente l'individuazione può essere eseguita immediatamente 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. |
| Timeout | Impostare il timeout del controllo di individuazione. 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 esempio 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 frontend Administration > General o Administration > Proxies. |
| Delete lost resources | Specificare dopo quanto tempo l'entità individuata verrà eliminata una volta che il suo stato di individuazione diventa "Non più individuata": Never - non verrà eliminata; Immediately - verrà eliminata immediatamente; After - verrà eliminata dopo il periodo di tempo specificato. Il valore deve essere maggiore del valore di Disable lost resources. Sono supportati i suffissi temporali, ad esempio 2h, 1d. Sono supportate le macro utente. Nota: l'uso di "Immediately" non è consigliato, poiché una modifica errata del filtro potrebbe comportare l'eliminazione dell'entità insieme a tutti i dati storici. Si noti che le risorse disabilitate manualmente non verranno eliminate dal low-level discovery. |
| Disable lost resources | Specificare dopo quanto tempo l'entità individuata verrà disabilitata una volta che il suo stato di individuazione diventa "Non più individuata": Never - non verrà disabilitata; Immediately - verrà disabilitata immediatamente; After - verrà disabilitata dopo il periodo di tempo specificato. Il valore deve essere maggiore dell'intervallo di aggiornamento della regola di individuazione. Si noti che le risorse disabilitate automaticamente verranno nuovamente abilitate se vengono individuate di nuovo dal low-level discovery. Le risorse disabilitate manualmente non verranno nuovamente abilitate se vengono individuate di nuovo. Questo campo non viene visualizzato se Delete lost resources è impostato su "Immediately". Sono supportati i suffissi temporali, ad esempio 2h, 1d. Sono supportate le macro utente. |
| Description | Inserire una descrizione. |
| Enabled | Se selezionato, la regola verrà elaborata. |
La cronologia della regola di individuazione non viene conservata.
Pre-elaborazione
La scheda Pre-elaborazione consente di definire regole di trasformazione da applicare al risultato del discovery. In questo passaggio è possibile usare una o più trasformazioni. Le trasformazioni vengono eseguite nell'ordine in cui sono definite. Tutta la pre-elaborazione viene eseguita da Zabbix server.
Vedi anche:

| Tipo | ||
|---|---|---|
| Trasformazione | Descrizione | |
| Testo | ||
| Espressione regolare | Confronta il valore ricevuto con l'espressione regolare <pattern> e sostituisce il valore con l'<output> estratto. L'espressione regolare supporta l'estrazione di un massimo di 10 gruppi catturati con la sequenza \N. Parametri: pattern - espressione regolare output - 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. Se selezioni 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. |
|
| Sostituisci | Trova la stringa di ricerca e la sostituisce con un'altra stringa (o con nulla). Tutte le occorrenze della stringa di ricerca verranno sostituite. Parametri: search string - la stringa da trovare e sostituire, con distinzione tra maiuscole e minuscole (obbligatorio) replacement - 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. È possibile usare sequenze di escape per cercare o sostituire interruzioni di riga, ritorni 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, ritorni a capo e tabulazioni viene eseguito automaticamente durante il low-level discovery. |
|
| Dati strutturati | ||
| JSONPath | Estrae un valore o un frammento da dati JSON usando la funzionalità JSONPath. Se selezioni 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. |
|
| XML XPath | Estrae un valore o un frammento da dati XML usando la funzionalità XPath. Affinché questa opzione funzioni, Zabbix server deve essere compilato con supporto libxml. 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>Nota che i namespace non sono supportati. Se selezioni 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. |
|
| CSV to JSON | Converte i dati di un file CSV in formato JSON. Per maggiori informazioni, vedi: Pre-elaborazione CSV to JSON. |
|
| XML to JSON | Converte dati in formato XML in JSON. Per maggiori informazioni, vedi: Regole di serializzazione. Se selezioni 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. |
|
| SNMP | ||
| SNMP walk value | Estrae il valore tramite il nome OID/MIB specificato e applica opzioni di formattazione: Unchanged - restituisce Hex-STRING come stringa esadecimale senza escape (nota che gli hint di visualizzazione vengono comunque applicati); UTF-8 from Hex-STRING - converte Hex-STRING in una stringa UTF-8; MAC from Hex-STRING - converte Hex-STRING in una stringa di indirizzo MAC (in cui ' ' verrà sostituito da ':');Integer from BITS - converte i primi 8 byte di una stringa di bit espressa come sequenza di caratteri esadecimali (ad es. "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 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. |
|
| SNMP walk to JSON | Converte i valori SNMP in JSON. Specifica 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. Puoi usare questo passaggio di pre-elaborazione per il discovery OID SNMP. Sono disponibili opzioni di formattazione dei valori simili a quelle del passaggio SNMP walk value. Se selezioni 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. |
|
| SNMP get value | Applica opzioni di formattazione al valore ottenuto con SNMP get: UTF-8 from Hex-STRING - converte Hex-STRING in una stringa UTF-8; MAC from Hex-STRING - converte Hex-STRING in una stringa di indirizzo MAC (in cui ' ' verrà sostituito da ':');Integer from BITS - converte i primi 8 byte di una stringa di bit espressa come sequenza di caratteri esadecimali (ad es. "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 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. |
|
| Script personalizzati | ||
| JavaScript | Inserisci il codice JavaScript nell'editor modale che si apre facendo clic nel campo del parametro o sull'icona della matita accanto ad esso. Nota che la lunghezza disponibile per JavaScript dipende dal database utilizzato. Per maggiori informazioni, vedi: Pre-elaborazione Javascript |
|
| Validazione | ||
| Non corrisponde all'espressione regolare | Specifica un'espressione regolare a cui un valore non deve corrispondere. Ad es. Error:(.*?)\.Se selezioni 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. |
|
| Controlla errore in JSON | Controlla un messaggio di errore a livello applicativo situato in JSONPath. Interrompe l'elaborazione se il controllo ha esito positivo e il messaggio non è vuoto; altrimenti continua l'elaborazione con il valore presente prima di questo passaggio di pre-elaborazione. Nota che questi errori di servizi esterni vengono riportati all'utente così come sono, senza aggiungere informazioni sul passaggio di pre-elaborazione. Ad es. $.errors. Se viene ricevuto un JSON come {"errors":"e1"}, il passaggio successivo di pre-elaborazione non verrà eseguito.Se selezioni 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. |
|
| Controlla errore in XML | Controlla un messaggio di errore a livello applicativo situato in XPath. Interrompe l'elaborazione se il controllo ha esito positivo e il messaggio non è vuoto; altrimenti continua l'elaborazione con il valore presente prima di questo passaggio di pre-elaborazione. Nota che questi errori di servizi esterni vengono riportati all'utente così come sono, senza aggiungere informazioni sul passaggio di pre-elaborazione. Non verrà segnalato alcun errore in caso di mancata analisi di XML non valido. Se selezioni 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. |
|
| Corrisponde all'espressione regolare | Specifica un'espressione regolare a cui un valore deve corrispondere. Se selezioni 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. |
|
| Limitazione | ||
| Scarta invariato con heartbeat | Scarta un valore se non è cambiato entro il periodo di tempo definito (in secondi). Per specificare i secondi sono supportati valori interi positivi (minimo - 1 secondo). In questo campo possono essere usati suffissi temporali (ad es. 30s, 1m, 2h, 1d). In questo campo possono essere usate macro utente e macro di low-level discovery. Per un item di discovery può essere specificata una sola opzione di limitazione. Ad es. 1m. Se un testo identico viene passato a questa regola due volte entro 60 secondi, verrà scartato.Nota: la modifica dei prototipi di item non reimposta la limitazione. La limitazione viene reimpostata solo quando vengono modificati i passaggi di pre-elaborazione. |
|
| Prometheus | ||
| Prometheus to JSON | Converte le metriche Prometheus richieste in JSON. Per maggiori dettagli, vedi Controlli Prometheus. |
|
Nota che se la regola di discovery è stata applicata al host tramite template, il contenuto di questa scheda è di sola lettura.
Macro personalizzate
La scheda Macro LLD consente di specificare macro personalizzate per il low-level discovery.
Le macro personalizzate sono utili nei casi in cui il JSON restituito non abbia già definite le macro richieste. Quindi, ad esempio:
- La chiave nativa
vfs.fs.discoveryper il rilevamento dei filesystem restituisce un JSON con alcune macro LLD predefinite come {#FSNAME}, {#FSTYPE}. Queste macro possono essere utilizzate direttamente nei prototipi di item e trigger (vedere le sezioni successive della pagina); non è necessario definire macro personalizzate; - Anche l'item agent
vfs.fs.getrestituisce un JSON con i dati del filesystem, ma senza alcuna macro LLD predefinita. In questo caso è possibile definire personalmente le macro e associarle ai valori nel JSON utilizzando JSONPath:

I valori estratti possono essere utilizzati negli item rilevati, nei trigger, ecc. Si noti che i valori verranno estratti dal risultato del rilevamento e da tutti i passaggi di preprocessing eseguiti fino a quel momento.
| Parameter | Description |
|---|---|
| LLD macro | Nome della macro di low-level discovery, utilizzando la seguente sintassi: {#MACRO}. |
| JSONPath | Percorso utilizzato per estrarre il valore della macro LLD da una riga LLD, usando la sintassi JSONPath. I valori estratti dal JSON restituito vengono utilizzati per sostituire le macro LLD nei campi dei prototipi di item, trigger, ecc. JSONPath può essere specificato utilizzando la notazione con punto oppure la notazione con parentesi. La notazione con parentesi deve essere utilizzata in presenza di caratteri speciali e Unicode, come $['unicode + special chars #1']['unicode + special chars #2'].Ad esempio, $.foo estrarrà "bar" e "baz" da questo JSON: [{"foo":"bar"}, {"foo":"baz"}]Si noti che $.foo estrarrà "bar" e "baz" anche da questo JSON: {"data":[{"foo":"bar"}, {"foo":"baz"}]} perché un singolo oggetto "data" viene elaborato automaticamente (per retrocompatibilità con l'implementazione del low-level discovery nelle versioni di Zabbix precedenti alla 4.2). |
Filtro
Un filtro può essere utilizzato per generare item, trigger e grafici reali solo per le entità che corrispondono ai criteri. La scheda Filtri contiene le definizioni dei filtri della regola di discovery che consentono di filtrare i valori di discovery:

| Parametro | Descrizione |
|---|---|
| Tipo di calcolo | Sono disponibili le seguenti opzioni per il calcolo dei filtri: And - tutti i filtri devono essere soddisfatti; Or - è sufficiente che un filtro sia soddisfatto; And/Or - utilizza And con nomi macro diversi e Or con lo stesso nome macro; Espressione personalizzata - offre la possibilità di definire un calcolo personalizzato dei filtri. La formula deve includere tutti i filtri nell'elenco. Limitata a 255 simboli. |
| Filtri | Sono disponibili i seguenti operatori di condizione del filtro: matches, does not match, exists, does not exist. Gli operatori matches e does not match richiedono una Perl Compatible Regular Expression (PCRE). Ad esempio, se si è interessati solo ai file system C:, D: ed E:, è possibile inserire {#FSNAME} in "Macro" e l'espressione regolare "\C|\D|\E" nei campi di testo "Regular expression". Il filtraggio è possibile anche in base ai tipi di file system utilizzando la macro {#FSTYPE} (ad esempio, "\ext|\reiserfs") e ai tipi di unità (supportato solo da agent Windows) utilizzando la macro {#FSDRIVETYPE} (ad esempio, "fixed"). È possibile inserire un'espressione regolare oppure fare riferimento a una espressione regolare globale nel campo "Regular expression". Per testare un'espressione regolare è possibile usare "grep -E", ad esempio: ````for f in ext2 nfs reiserfs smbfs; do echo $f | grep -E 'ext|^reiserfs' || echo "SKIP: $f"; done```` Gli operatori exists e does not exist consentono di filtrare le entità in base alla presenza o all'assenza della macro LLD specificata nella risposta. Si noti che se una macro del filtro è assente nella risposta, l'entità trovata verrà ignorata, a meno che per questa macro non sia specificata una condizione "does not exist". Verrà visualizzato un avviso se l'assenza di una macro influisce sul risultato dell'espressione. Ad esempio, se {#B} è assente in: {#A} matches 1 and {#B} matches 2 - verrà mostrato un avviso {#A} matches 1 or {#B} matches 2 - nessun avviso |
Un errore o un refuso nell'espressione regolare utilizzata nella regola LLD (ad esempio, un'espressione regolare "File systems for discovery" non corretta) può causare l'eliminazione di migliaia di elementi di configurazione, valori storici ed eventi per molti host.
Il database Zabbix in MySQL deve essere creato come case-sensitive affinché i nomi dei file system che differiscono solo per maiuscole/minuscole vengano rilevati correttamente.
Override
La scheda Overrides consente di impostare regole per modificare l'elenco dei prototipi di item, trigger, grafico, host e discovery oppure i loro attributi per gli oggetti rilevati che soddisfano determinati criteri.

Gli override (se presenti) sono visualizzati in un elenco riordinabile tramite trascinamento e vengono eseguiti nell'ordine in cui sono definiti. Per configurare i dettagli di un nuovo override, fare clic su
nel blocco Overrides.
Per modificare un override esistente, fare clic sul nome dell'override.
Si aprirà una finestra popup che consentirà di modificare i dettagli della regola di override.

Tutti i parametri obbligatori sono contrassegnati con asterischi rossi.
| Parameter | Description |
|---|---|
| Name | Un nome di override univoco (per regola LLD). |
| If filter matches | Definisce se gli override successivi devono essere elaborati quando le condizioni del filtro sono soddisfatte: Continue overrides - gli override successivi verranno elaborati. Stop processing - le operazioni degli override precedenti (se presenti) e di questo override verranno eseguite; gli override successivi verranno ignorati per le righe LLD corrispondenti. |
| Filters | Determina a quali entità rilevate deve essere applicato l'override. I filtri di override vengono elaborati dopo i filtri della regola di discovery e hanno la stessa funzionalità. |
| Operations | Le operazioni di override sono visualizzate con questi dettagli: Condition - un tipo di oggetto e una condizione che deve essere soddisfatta per il nome dell'oggetto; ad esempio: il prototipo di trigger non è uguale a Disk space is low (used > 50%). Actions - vengono visualizzati i collegamenti per modificare e rimuovere un'operazione. |
Configurazione di un'operazione
Per configurare i dettagli di una nuova operazione, fare clic su
nel blocco Operations.
Per modificare un'operazione esistente, fare clic su
accanto all'operazione.
Si aprirà una finestra popup in cui sarà possibile modificare i dettagli dell'operazione.

| Parameter | Description | ||
|---|---|---|---|
| Object | Sono disponibili cinque tipi di oggetti: Prototipo di item Prototipo di trigger Prototipo di grafico Prototipo di host Prototipo di discovery |
||
| Condition | Consente di filtrare le entità a cui deve essere applicata l'operazione. | ||
| Operator | Operatori supportati: equals - applica a questo prototipo does not equal - applica a tutti i prototipi, tranne questo contains - applica se il nome del prototipo contiene questa stringa does not contain - applica se il nome del prototipo non contiene questa stringa matches - applica se il nome del prototipo corrisponde all'espressione regolare does not match - applica se il nome del prototipo non corrisponde all'espressione regolare |
||
| Pattern | Una espressione regolare o una stringa da cercare. | ||
| Object: Item prototype | |||
| Create enabled | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di item: Yes - l'item verrà aggiunto in stato abilitato. No - l'item verrà aggiunto a un'entità rilevata ma in stato disabilitato. |
||
| Discover | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di item: Yes - l'item verrà aggiunto. No - l'item non verrà aggiunto. |
||
| Update interval | Quando la casella di controllo è selezionata, verranno visualizzate due opzioni che consentono di impostare un intervallo diverso per l'item: Delay - intervallo di aggiornamento dell'item. Sono supportate le macro utente e i suffissi temporali (ad esempio 30s, 1m, 2h, 1d). Deve essere impostato su 0 se viene utilizzato Custom interval. Custom interval - fare clic su per specificare intervalli flessibili/di pianificazione. Per informazioni dettagliate, vedere Intervalli personalizzati. |
||
| History | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di impostare per l'item un periodo di archiviazione dello storico diverso: Do not store - se selezionato, lo storico non verrà archiviato. Store up to - se selezionato, a destra verrà visualizzato un campo di input per specificare il periodo di archiviazione. Sono supportate le macro utente e le macro LLD. |
||
| Trends | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di impostare per l'item un periodo di archiviazione dei trend diverso: Do not store - se selezionato, i trend non verranno archiviati. Store up to - se selezionato, a destra verrà visualizzato un campo di input per specificare il periodo di archiviazione. Sono supportate le macro utente e le macro LLD. |
||
| Tags | Quando la casella di controllo è selezionata, verrà visualizzato un nuovo blocco che consente di specificare coppie tag-valore. Questi tag verranno aggiunti ai tag specificati nel prototipo di item, anche se i nomi dei tag corrispondono. |
||
| Object: Trigger prototype | |||
| Create enabled | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di trigger: Yes - il trigger verrà aggiunto in stato abilitato. No - il trigger verrà aggiunto a un'entità rilevata, ma in stato disabilitato. |
||
| Discover | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di trigger: Yes - il trigger verrà aggiunto. No - il trigger non verrà aggiunto. |
||
| Severity | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti di gravità del trigger, che consentono di modificare la gravità del trigger. | ||
| Tags | Quando la casella di controllo è selezionata, verrà visualizzato un nuovo blocco che consente di specificare coppie tag-valore. Questi tag verranno aggiunti ai tag specificati nel prototipo di trigger, anche se i nomi dei tag corrispondono. |
||
| Object: Graph prototype | |||
| Discover | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di grafico: Yes - il grafico verrà aggiunto. No - il grafico non verrà aggiunto. |
||
| Object: Host prototype | |||
| Create enabled | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di host: Yes - l'host verrà creato in stato abilitato. No - l'host verrà creato in stato disabilitato. |
||
| Discover | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di sovrascrivere le impostazioni originali del prototipo di host: Yes - l'host verrà rilevato. No - l'host non verrà rilevato. |
||
| Link templates | Quando la casella di controllo è selezionata, verrà visualizzato un campo di input per specificare i template. Iniziare a digitare il nome del template oppure fare clic su Select accanto al campo e selezionare i template dall'elenco in una finestra popup. I template di questo override vengono aggiunti a tutti i template già collegati al prototipo di host. |
||
| Tags | Quando la casella di controllo è selezionata, verrà visualizzato un nuovo blocco che consente di specificare coppie tag-valore. Questi tag verranno aggiunti ai tag specificati nel prototipo di host, anche se i nomi dei tag corrispondono. |
||
| Host inventory | Quando la casella di controllo è selezionata, verranno visualizzati i pulsanti che consentono di selezionare una diversa modalità di inventario per il prototipo di host: Disabled - non compilare l'inventario dell'host Manual - fornire i dettagli manualmente Automated - compilare automaticamente i dati dell'inventario dell'host in base alle metriche raccolte. |
||
Pulsanti del modulo
I pulsanti nella parte inferiore del modulo consentono di eseguire diverse operazioni.
![]() |
Aggiungi una regola di individuazione. Questo pulsante è disponibile solo per le nuove regole di individuazione. |
![]() |
Aggiorna le proprietà di una regola di individuazione. Questo pulsante è disponibile solo per le regole di individuazione esistenti. |
![]() |
Crea un'altra regola di individuazione basata sulle proprietà della regola di individuazione corrente. |
![]() |
Esegui immediatamente l'individuazione in base alla regola di individuazione. La regola di individuazione deve già esistere. Vedi maggiori dettagli. Nota: quando si esegue immediatamente l'individuazione, la cache di configurazione non viene aggiornata, pertanto il risultato non rifletterà modifiche molto recenti alla configurazione della regola di individuazione. |
![]() |
Verifica la configurazione della regola di individuazione. Usa questo pulsante per verificare le impostazioni di configurazione (come la connettività e la correttezza dei parametri) senza applicare permanentemente alcuna modifica. |
![]() |
Elimina la regola di individuazione. |
![]() |
Annulla la modifica delle proprietà della regola di individuazione. |
Entità rilevate
Le schermate seguenti illustrano come appaiono item, trigger e grafici rilevati nella configurazione dell'host. Le entità rilevate sono precedute da un collegamento arancione alla regola di discovery da cui provengono.

Si noti che le entità rilevate non verranno create nel caso in cui esistano già entità con gli stessi criteri di unicità, ad esempio un item con la stessa chiave o un grafico con lo stesso nome. In questo caso, nel frontend viene visualizzato un messaggio di errore che indica che la regola di low-level discovery non ha potuto creare determinate entità. La regola di discovery stessa, tuttavia, non diventerà unsupported perché alcune entità non hanno potuto essere create e hanno dovuto essere saltate. La regola di discovery continuerà a creare/aggiornare altre entità.
Se un'entità rilevata (host, file system, interfaccia, ecc.) smette di essere rilevata (o non supera più il filtro), le entità create sulla sua base possono essere automaticamente disabilitate ed eventualmente eliminate.
Le risorse perse possono essere automaticamente disabilitate in base al valore del parametro Disable lost resources. Questo riguarda host, item e trigger persi.
Le risorse perse possono essere automaticamente eliminate in base al valore del parametro Delete lost resources. Questo riguarda host, gruppi di host, item, trigger e grafici persi.
Quando le entità rilevate diventano 'Not discovered anymore', nell'elenco delle entità viene visualizzato un indicatore di durata. Spostando il puntatore del mouse su di esso, verrà visualizzato un messaggio che ne indica i dettagli di stato.

Se le entità sono state contrassegnate per l'eliminazione, ma non sono state eliminate nel momento previsto (regola di discovery o host dell'item disabilitati), verranno eliminate la volta successiva in cui la regola di discovery verrà elaborata.
Le entità che contengono altre entità contrassegnate per l'eliminazione non verranno aggiornate se modificate a livello di regola di discovery. Ad esempio, i trigger basati su LLD non verranno aggiornati se contengono item contrassegnati per l'eliminazione.


Altri tipi di discovery
Maggiori dettagli e istruzioni su altri tipi di discovery pronti all'uso sono disponibili nelle sezioni seguenti:
- discovery di interfacce di rete
- discovery di CPU e core della CPU
- discovery di OID SNMP
- discovery di oggetti JMX;
- discovery tramite query SQL ODBC
- discovery di servizi Windows
- discovery di interfacce host in Zabbix
Per maggiori dettagli sul formato JSON per gli item di discovery e un esempio su come implementare il proprio rilevatore di file system come script Perl, vedere creazione di regole LLD personalizzate.






