5 Controlli semplici
Panoramica
I controlli semplici vengono normalmente utilizzati per controlli remoti senza agent dei servizi.
Si noti che Zabbix agent non è necessario per i controlli semplici. Zabbix server/proxy è responsabile dell'elaborazione dei controlli semplici (effettuando connessioni esterne, ecc.).
Esempi di utilizzo dei controlli semplici:
net.tcp.service[ftp,,155]
net.tcp.service[http]
net.tcp.service.perf[http,,8080]
net.udp.service.perf[ntp]
I campi User name e Password (limitati a 255 caratteri) nella configurazione degli item di controllo semplice sono utilizzati per gli item di monitoraggio VMware; altrimenti vengono ignorati.
Controlli supportati
Le chiavi degli item sono elencate senza parametri opzionali e informazioni aggiuntive. Fare clic sulla chiave dell'item per visualizzare tutti i dettagli.
Vedere anche chiavi degli item di monitoraggio VMware.
| Chiave item | Descrizione |
|---|---|
| icmpping | L'accessibilità dell'host tramite ping ICMP. |
| icmppingloss | La percentuale di pacchetti persi. |
| icmppingretry | L'accessibilità dell'host tramite ping ICMP con tentativi ripetuti. |
| icmppingsec | Il tempo di risposta del ping ICMP. |
| net.tcp.service | Verifica se un servizio è in esecuzione e accetta connessioni TCP. |
| net.tcp.service.perf | Verifica le prestazioni di un servizio TCP. |
| net.udp.service | Verifica se un servizio è in esecuzione e risponde alle richieste UDP. |
| net.udp.service.perf | Verifica le prestazioni di un servizio UDP. |
Dettagli della chiave item
I parametri senza parentesi angolari sono obbligatori. I parametri contrassegnati con parentesi angolari < > sono facoltativi.
icmpping[<target>,<packets>,<interval>,<size>,<timeout>,<options>]
L'accessibilità dell'host tramite ping ICMP.
Valore restituito: 0 - ping ICMP non riuscito; 1 - ping ICMP riuscito.
Parametri:
- target - l'IP dell'host o il nome DNS;
- packets - il numero di pacchetti;
- interval - il tempo tra pacchetti successivi in millisecondi;
- size - la dimensione del pacchetto in byte;
- timeout - il timeout in millisecondi;
- options - usato per consentire il reindirizzamento: se vuoto (valore predefinito), le risposte reindirizzate vengono considerate come host di destinazione non disponibile; se impostato su allow_redirect, le risposte reindirizzate vengono considerate come host di destinazione disponibile.
Vedere anche la tabella dei valori predefiniti.
Esempio:
icmpping[,4] #Se viene restituito almeno un pacchetto dei quattro, l'item restituirà 1.
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>,<options>]
La percentuale di pacchetti persi.
Valore restituito: Float.
Parametri:
- target - l'IP del host o il nome DNS;
- packets - il numero di pacchetti;
- interval - il tempo tra pacchetti successivi in millisecondi;
- size - la dimensione del pacchetto in byte;
- timeout - il timeout in millisecondi;
- options - utilizzato per consentire il reindirizzamento: se vuoto (valore predefinito), le risposte reindirizzate vengono trattate come host di destinazione non disponibile; se impostato su allow_redirect, le risposte reindirizzate vengono trattate come host di destinazione disponibile.
Vedere anche la tabella dei valori predefiniti.
icmppingretry[<target>,<retries>,<backoff>,<size>,<timeout>,<options>]
L'accessibilità del host tramite ping ICMP con tentativi ripetuti. Se il primo pacchetto ha esito positivo, l'operazione si interrompe; se il pacchetto fallisce, il tentativo viene ripetuto fino al raggiungimento del numero massimo di tentativi definito nel parametro retries. Questo item è utile per ridurre il numero di pacchetti inviati sulla rete.
Valore restituito: 0 - ping ICMP non riuscito; 1 - ping ICMP riuscito.
Parametri:
- target - l'IP del host o il nome DNS;
- retries - il numero di volte in cui verrà effettuato un tentativo di ping verso una destinazione, escluso il primo tentativo (0 o maggiore; predefinito 1);
- backoff - il numero per cui il tempo di attesa viene moltiplicato a ogni richiesta successiva (intervallo 1.0-5.0; predefinito 1.0);
- size - la dimensione del pacchetto in byte;
- timeout - il timeout in millisecondi;
- options - usato per consentire il reindirizzamento: se vuoto (valore predefinito), le risposte reindirizzate vengono trattate come host di destinazione non disponibile; se impostato su allow_redirect, le risposte reindirizzate vengono trattate come host di destinazione disponibile.
Vedere anche la tabella dei valori predefiniti.
icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>,<options>]
Il tempo di risposta del ping ICMP (in secondi).
Valore restituito: Float.
Parametri:
- target - l'IP del host o il nome DNS;
- packets - il numero di pacchetti;
- interval - il tempo tra pacchetti successivi in millisecondi;
- size - la dimensione del pacchetto in byte;
- timeout - il timeout in millisecondi;
- mode - valori possibili: min, max oppure avg (predefinito);
- options - usato per consentire il reindirizzamento: se vuoto (valore predefinito), le risposte reindirizzate sono trattate come host di destinazione non disponibile; se impostato su allow_redirect, le risposte reindirizzate sono trattate come host di destinazione disponibile.
Commenti:
- I pacchetti persi o scaduti per timeout non vengono utilizzati nel calcolo;
- Se il host non è disponibile (timeout raggiunto), l'item restituirà 0;
- Se il valore restituito è inferiore a 0.0001 secondi, il valore verrà impostato a 0.0001 secondi;
- Vedere anche la tabella dei valori predefiniti.
net.tcp.service[service,<ip>,<port>]
Verifica se un servizio è in esecuzione e accetta connessioni TCP.
Valore restituito: 0 - il servizio non è disponibile; 1 - il servizio è in esecuzione.
Parametri:
- service - valori possibili: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (vedere i dettagli);
- ip - l'indirizzo IP o il nome DNS (per impostazione predefinita viene utilizzato l'IP/DNS del host);
- port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).
Commenti:
- Si noti che con il servizio tcp è obbligatorio indicare la porta;
- 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.service[tcp,<ip>,port]per controlli di questo tipo.
Esempio:
net.tcp.service[ftp,,45] #Questo item può essere utilizzato per testare la disponibilità del server FTP sulla porta TCP 45.
Se SELinux è in esecuzione in modalità enforced, i controlli semplici TCP/UDP personalizzati potrebbero essere bloccati dalla policy. Per verificare e consentire la nuova connessione in uscita, esaminare i rifiuti di audit: con grep denied /var/log/audit/audit.log
net.tcp.service.perf[service,<ip>,<port>]
Controlla le prestazioni di un servizio TCP.
Valore restituito: Float: 0.000000 - il servizio non è disponibile; secondi - il numero di secondi impiegati per connettersi al servizio.
Parametri:
- service - valori possibili: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (vedere i dettagli);
- ip - l'indirizzo IP o il nome DNS (per impostazione predefinita viene utilizzato l'IP/DNS del host);
- port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).
Commenti:
- Si noti che con il servizio tcp è obbligatorio indicare la porta;
- Il controllo dei protocolli cifrati (come IMAP sulla porta 993 o POP sulla porta 995) al momento non è supportato. Come soluzione alternativa, utilizzare
net.tcp.service[tcp,<ip>,port]per controlli di questo tipo.
Esempio:
net.tcp.service.perf[ssh] #Questo item può essere utilizzato per testare la velocità della risposta iniziale del server SSH.
net.udp.service[service,<ip>,<port>]
Controlla se un servizio è in esecuzione e risponde alle richieste UDP.
Valore restituito: 0 - il servizio non è disponibile; 1 - il servizio è in esecuzione.
Parametri:
- service - valori possibili: ntp (vedere i dettagli);
- ip - l'indirizzo IP o il nome DNS (per impostazione predefinita viene utilizzato l'IP/DNS dell'host);
- port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).
Esempio:
net.udp.service[ntp,,45] #Questo item può essere utilizzato per testare la disponibilità del servizio NTP sulla porta UDP 45.
net.udp.service.perf[service,<ip>,<port>]
Controlla le prestazioni di un servizio UDP.
Valore restituito: Float: 0.000000 - il servizio non è disponibile; secondi - il numero di secondi trascorsi in attesa della risposta dal servizio.
Parametri:
- service - valori possibili: ntp (vedere i dettagli);
- ip - l'indirizzo IP o il nome DNS (per impostazione predefinita viene utilizzato l'IP/DNS del host);
- port - il numero di porta (per impostazione predefinita viene utilizzato il numero di porta standard del servizio).
Esempio:
net.udp.service.perf[ntp] #Questo item può essere utilizzato per testare il tempo di risposta del servizio NTP.
Per il supporto di SourceIP nei controlli semplici LDAP (ad es. net.tcp.service[ldap]), è richiesta la versione 2.6.1 o successiva di OpenLDAP.
Elaborazione del timeout
I timeout flessibili degli item, sebbene siano supportati per i controlli semplici, non si applicano agli item icmpping* e VMware. Vedere Supporto per timeout flessibili.
Ping ICMP
Zabbix utilizza un'utility esterna, fping, per elaborare i ping ICMP (icmpping, icmppingloss, icmppingretry, icmppingsec).
Installazione
fping non è incluso con Zabbix e deve essere installato separatamente:
-
Diverse piattaforme basate su Unix includono il pacchetto fping nei rispettivi repository predefiniti, ma non è preinstallato. In questo caso, è possibile utilizzare il gestore di pacchetti per installare fping.
-
Zabbix fornisce pacchetti fping per RHEL e le sue derivate. Si noti che questi pacchetti sono forniti senza supporto ufficiale.
-
fping può anche essere compilato dal codice sorgente.
Configurazione
Specificare il percorso di fping nel parametro FpingLocation del file di configurazione di Zabbix server/proxy (o il parametro Fping6Location per l'utilizzo di indirizzi IPv6).
fping deve essere eseguibile dall'utente con cui viene eseguito Zabbix server/proxy e tale utente deve disporre di diritti sufficienti.
Vedi anche: Problemi noti per l'elaborazione dei simple check con versioni di fping inferiori alla 3.10.
Valori predefiniti
Valori predefiniti, limiti e descrizione dei valori per i parametri dei controlli ICMP:
| Parameter | Unit | Description | Fping's flag | Defaults set by | Allowed limits by Zabbix |
||
|---|---|---|---|---|---|---|---|
| fping | Zabbix | min | max | ||||
| packets | number | Numero di pacchetti di richiesta inviati a una destinazione | -C | 3 | 1 | 10000 | |
| interval | milliseconds | Tempo di attesa tra pacchetti successivi verso una singola destinazione | -p | 1000 | 20 | unlimited | |
| size | bytes | Dimensione del pacchetto in byte 56 byte su x86, 68 byte su x86_64 |
-b | 56 o 68 | 24 | 65507 | |
| timeout | milliseconds | fping v3.x - timeout di attesa dopo l'invio dell'ultimo pacchetto, influenzato dal flag -C fping v4.x - timeout individuale per ciascun pacchetto |
-t | fping v3.x - 500 fping v4.x e versioni successive - ereditato dal flag -p, ma non superiore a 2000 |
50 | unlimited | |
| retries | number | Numero di volte in cui verrà effettuato un tentativo di ping verso una destinazione, escluso il primo tentativo | -r | 3 | 1 | 0 | unlimited |
| backoff factor | number | Valore per cui viene moltiplicato il tempo di attesa a ogni richiesta successiva | -B | 1.5 | 1.0 | 1.0 | 5.0 |
I valori predefiniti possono differire leggermente a seconda della piattaforma e della versione.
Inoltre, Zabbix utilizza le opzioni di fping -i interval ms (da non confondere con il parametro item interval menzionato nella tabella sopra, che corrisponde all'opzione fping -p) e -S source IP address (oppure -I nelle versioni precedenti di fping). Queste opzioni vengono rilevate automaticamente eseguendo controlli con diverse combinazioni di opzioni. Zabbix tenta di rilevare il valore minimo in millisecondi che fping consente di usare con -i provando 3 valori: 0, 1 e 10. Il valore che ha successo per primo viene quindi utilizzato per i successivi controlli ICMP. Questo processo viene eseguito individualmente da ciascun processo ICMP pinger.
Le opzioni di fping rilevate automaticamente vengono invalidate ogni ora e rilevate nuovamente al successivo tentativo di eseguire un controllo ICMP. Impostare DebugLevel>=4 per visualizzare i dettagli di questo processo nel file di log del server o del proxy.
Zabbix scrive gli indirizzi IP da controllare con una qualsiasi delle chiavi icmpping* in un file temporaneo, che viene poi passato a fping. Se gli item hanno parametri della chiave diversi, solo quelli con parametri della chiave identici vengono scritti in un unico file. Tutti gli indirizzi IP scritti nello stesso file verranno controllati da fping in parallelo, quindi il processo ICMP pinger di Zabbix impiegherà una quantità di tempo fissa indipendentemente dal numero di indirizzi IP nel file.