12 oggetti Trapper

Panoramica

Gli item trapper accettano dati in ingresso invece di interrogarli. Questo è utile per qualsiasi dato che si desidera inviare a Zabbix.

Configurazione

Per configurare un item trapper:

  1. Andare in Raccolta datiHost.
  2. Fare clic su Item nella riga dell'host.
  3. Fare clic su Crea item.
  4. Inserire i parametri dell'item nel modulo di configurazione.

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

I campi che richiedono informazioni specifiche per gli item trapper sono:

Type Selezionare "Zabbix trapper".
Key Inserire una chiave che verrà utilizzata per riconoscere l'item durante l'invio dei dati a Zabbix server.
Type of information Selezionare il tipo di informazione che corrisponderà al formato dei dati che verranno inviati.
Allowed hosts Elenco di indirizzi IP separati da virgole (facoltativamente in notazione CIDR) o nomi DNS.

Se specificato, le connessioni in ingresso saranno accettate solo dagli host elencati qui.
Se il supporto IPv6 è abilitato, allora '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' sono trattati allo stesso modo e '::/0' consentirà qualsiasi indirizzo IPv4 o IPv6. '0.0.0.0/0' può essere utilizzato per consentire qualsiasi indirizzo IPv4.

Si noti che gli "indirizzi IPv6 compatibili con IPv4" (prefisso 0000::/96) sono supportati ma deprecati da RFC4291.

Esempio: 127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, mysqlserver1, zabbix.example.com, {HOST.HOST}

Sono supportati spazi, macro utente e macro host {HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN}.

Prima di inviare i valori, potrebbe essere necessario attendere fino a 60 secondi dopo il salvataggio dell'item affinché Zabbix server recepisca le modifiche da un aggiornamento della cache di configurazione.

Invio dei dati

L'invio di dati al server o al proxy Zabbix è possibile utilizzando l'utilità Zabbix sender oppure il protocol di Zabbix sender. L'invio di dati al server Zabbix è possibile anche utilizzando il metodo API history.push.

Zabbix sender

Per inviare dati a Zabbix server o proxy utilizzando l'utilità Zabbix sender, è possibile eseguire il seguente comando per inviare il "valore di test":

zabbix_sender -z <server IP address> -p 10051 -s "New host" -k trap -o "test value"

Per inviare il "valore di test", vengono utilizzate le seguenti opzioni del comando:

  • -z per specificare l'indirizzo IP di Zabbix server
  • -p per specificare il numero di porta di Zabbix server (10051 per impostazione predefinita)
  • -s per specificare l'host (assicurarsi di utilizzare il nome host tecnico invece di quello visibile)
  • -k per specificare la chiave dell'item configurato nell'item trapper
  • -o per specificare il valore da inviare

Il processo Zabbix trapper non espande le macro utilizzate nella chiave dell'item per verificare l'esistenza della chiave dell'item corrispondente per l'host di destinazione.

Per ulteriori informazioni sulla comunicazione tra Zabbix sender e Zabbix server o proxy, vedere protocollo Zabbix sender.

history.push

Per inviare dati a Zabbix server utilizzando il metodo API history.push, è possibile effettuare la seguente richiesta HTTP POST contenente alcuni valori di test:

curl --request POST \
  --url 'https://example.com/zabbix/api_jsonrpc.php' \
  --header 'Authorization: Bearer 0424bd59b807674191e7d77572075f33' \
  --header 'Content-Type: application/json-rpc' \
  --data '{"jsonrpc":"2.0","method":"history.push","params":[{"itemid":10600,"value":"test value 1"},{"itemid":10601,"value":"test value 2"},{"itemid":99999,"value":"test value 3"}],"id":1}'

Se la richiesta è corretta, la risposta restituita dall'API potrebbe apparire come segue:

{
    "jsonrpc": "2.0",
    "result": {
        "response": "success",
        "data": [
            {
                "itemid": "10600"
            },
            {
                "itemid": "10601",
                "error": "Item is disabled."
            },
            {
                "error": "No permissions to referred object or it does not exist."
            }
        ]
    },
    "id": 1
}

Gli errori nei dati della risposta indicano che l'invio dei dati per specifici item non ha superato la validazione da parte di Zabbix server.
Ciò può accadere per i seguenti motivi:

  • l'utente che invia i dati non dispone del permesso di lettura per l'host dell'item;
  • l'host è disabilitato o in manutenzione senza raccolta dati;
  • l'item non esiste o non è ancora incluso nella cache di configurazione del server;
  • l'item è disabilitato oppure il suo tipo è diverso da Zabbix trapper o HTTP agent (con trapping abilitato);
  • l'IP o il DNS dell'utente non è impostato nell'elenco Allowed hosts dell'item;
  • un altro item ha un valore con un timestamp duplicato a livello di nanosecondi.

L'assenza di errori indica che i valori inviati sono stati accettati per l'elaborazione, che include il preprocessing (se presente), l'elaborazione dei trigger e il salvataggio nel database.
Si noti che anche l'elaborazione di un valore accettato può non riuscire (ad esempio, durante il preprocessing), con conseguente scarto del valore.

Per ulteriori informazioni su come lavorare con Zabbix API, vedere API.

Visualizzazione dei dati

Una volta inviati i dati, puoi andare in MonitoringLatest data per vedere il risultato:

Se viene inviato un singolo valore numerico, il graph dei dati mostrerà una linea orizzontale a sinistra e a destra del punto temporale del valore.