És possible transmetre valors i esdeveniments d'elements des de Zabbix a sistemes externs mitjançant HTTP (veieu detalls del protocol).
:::avís de nota Aquesta funció actualment té un estat experimental. :::
El filtre d'etiquetes es pot emprar per transmetre subconjunts de valors d'elements o esdeveniments.
Dos processos del servidor Zabbix són els responsables de la transmissió de dades: 'administrador de connectors' i 'treballador de connectors'. Un element intern de Zabbix zabbix[connector_queue]
permet monitorar el recompte de valors posats en cua a la cua de connectors.
Cal seguir les passes següents per configurar la transmissió de dades a un sistema extern:
1. Teniu un sistema remot configurat per rebre dades de Zabbix.
Consulteu la documentació d'un receptor senzill. Actualment, el receptor registra la informació rebuda als fitxers events.ndjson i history.ndjson.
2. Establiu el nombre necessari de treballadors del connector a Zabbix ajustant el paràmetre StartConnectors
a zabbix_server.conf
. El nombre de treballadors dels connectors ha de coincidir (o sobrepassar, si el nombre de sessions concurrents és superior a 1) el recompte de connectors configurats a la interfície de Zabbix. Després, reinicieu el servidor Zabbix.
3. Configureu un connector nou a la interfície de Zabbix (Administració → General → Connectors) i torneu a carregar la memòria cau del servidor amb la comanda zabbix_server -R config_cache_reload
.
Els camps obligatoris són marcats amb asterisc.
Paràmetre | Descripció |
---|---|
Nom | Introduïu el nom del connector. |
Tipus de dades | Seleccioneu el tipus de dades: Valors d'element o Esdeveniments. |
URL | Introduïu l'URL del receptor. Les macros d'usuari són compatibles. |
Filtre d'etiquetes | Exporta només valors o esdeveniments que coincideixin amb el filtre d'etiquetes. Si no s'estableix, exporteu-ho tot. És possible incloure i excloure etiquetes i valors d'etiquetes específics. Es poden establir diverses condicions. La concordança de noms d'etiqueta sempre distingeix entre majúscules i minúscules. Hi ha diversos operadors disponibles per a cada condició: Hi és - inclou els noms d'etiquetes especificats Igual - inclou els noms d'etiquetes especificats i valors (distingeix entre majúscules i minúscules) Conté - inclou els noms d'etiquetes especificats on els valors de l'etiqueta contenen la cadena introduïda (coincidència de subcadenes, no distingeix entre majúscules i minúscules) No hi és - exclou l'especificat noms d'etiquetes No és igual - exclou els noms i valors d'etiquetes especificats (distingeix entre majúscules i minúscules) No conté - exclou els noms d'etiquetes especificats on els valors de l'etiqueta continguin la cadena introduïda ( coincidència de subcadenes, no distingeix entre majúscules i minúscules) Hi ha dos tipus de càlcul per a les condicions: I/O - s'han de complir totes les condicions, les condicions que tinguin el mateix nom d'etiqueta s'agruparan per la condició O<br >O - prou si es compleix una condició |
Autenticació HTTP | Trieu l'opció d'autenticació: Cap - no s'empra cap autenticació; Bàsica - s'empra l'autenticació bàsica; NTLM - NTLM (Windows NT LAN Manager) s'empra l'autenticació; Kerberos - Autenticació Kerberos; Digest - Autenticació Digest; Portador - Autenticació del portador. |
Nom d'usuari | Introduïu el nom d'usuari. Aquest camp és disponible si Autenticació HTTP és establerta a Bàsica, NTLM, Kerberos o Digest. Les macros d'usuari són compatibles. |
Mot de pas | Introduïu el mot de pas de l'usuari. Aquest camp és disponible si Autenticació HTTP és establerta a Bàsica, NTLM, Kerberos o Digest. Les macros d'usuari són compatibles. |
Token de portador | Introduïu el token de portador. Aquest camp és disponible i és obligatori si l'Autenticació HTTP és establerta a Portador. Les macros d'usuari són compatibles. |
Configuració avançada | Marqueu aquesta casella de selecció per mostrar les opcions de configuració avançades. |
Registres màxims per missatge | Especifiqueu el nombre màxim de valors o esdeveniments que es poden enviar dins d'un missatge. |
Sessions concurrents | Seleccioneu el nombre de processos del remitent que s'executaran per a aquest connector. Es poden especificar fins a 100 sessions; el valor per defecte és '1'. |
Intents | Nombre d'intents per intentar enviar les dades. Es poden especificar fins a 5 intents; el valor per defecte és '1'. |
Temps d'espera | Especifiqueu el temps d'espera del missatge (1-60 segons, 5 segons per defecte). S'admeten sufixos de temps, p. 30 anys, 1 m. Les macros d'usuari són compatibles. |
Proxy HTTP | Podeu especificar un proxy HTTP per emprar, emprant el format [protocol://][nom d'usuari[:mot de pas]@]proxy.exemple.cat[:port] .El prefix protocol opcional:// es pot emprar per especificar protocols alternatius de proxy (el suport de prefix de protocol es va afegir a cURL 7.21.7). Sense cap protocol especificat, el proxy es tractarà com un proxy HTTP.De manera predeterminada, s'emprarà el port 1080. Si s'especifica, el proxy sobreescriurà variables d'entorn relacionades amb el proxy, com ara http_proxy, HTTPS_PROXY. Si no s'especifica, el proxy no sobreescriurà les variables d'entorn relacionades amb el proxy. El valor introduït es transmet "tal com és", no es fa cap comprovació de seny. També podeu introduir una adreça intermediaria SOCKS. Si especifiqueu un protocol incorrecte, la connexió fallarà i l'element no s'admetrà. Tingueu en compte que només s'admet l'autenticació simple amb el proxy HTTP. S'admeten macros d'usuari. |
SSL verifica peer | Marqueu la casella de selecció per verificar el certificat SSL del servidor web. El certificat del servidor s'agafarà automàticament de la ubicació de l'autoritat de certificació (CA) de tot el sistema. Podeu substituir la ubicació dels fitxers CA mitjançant el paràmetre de configuració del servidor Zabbix o del proxy SSLCALocation. |
SSL verifica host | Marqueu la casella de selecció per verificar que el camp Common Name o el camp Subject Alternate Name del certificat del servidor web coincideix. Això estableix el CURLOPT_SSL_VERIFYHOST opció cURL. |
Fitxer de certificat SSL | Nom del fitxer de certificat SSL emprat per a l'autenticació del client. El fitxer del certificat ha d'estar en format PEM1. Si el fitxer de certificat també conté la clau privada, deixeu el camp Fitxer de clau SSL buit. Si la clau està xifrada, especifiqueu el mot de pas al camp Mot de pas de la clau SSL. El directori que conté aquest fitxer l'especifica el servidor Zabbix o el paràmetre de configuració del proxy SSLCertLocation. Les macros d'usuari són compatibles. |
Fitxer de clau SSL | Nom del fitxer de clau privada SSL emprat per a l'autenticació del client. El fitxer de clau privada ha d'estar en format PEM1. El directori que conté aquest fitxer l'especifica el servidor Zabbix o el paràmetre de configuració del proxy SSLKeyLocation. Les macros d'usuari són compatibles. |
Mot de pas de clau SSL | Mot de pas del fitxer de clau privada SSL. Les macros d'usuari són compatibles. |
Descripció | Introduïu la descripció del connector. |
Activat | Marqueu la casella de selecció per habilitar el connector. |
La comunicació entre el servidor i el receptor es fa via HTTP amb l'API REST, NDJSON, "Tipus de contingut: aplicació/x-ndjson".
Per obtindre més informació, consulteu protocol d'exportació JSON delimitat per una línia nova.
Exemple d'enviament de valors d'elements:
POST /v1/history HTTP/1.1
Host: localhost:8080
Accept: */*
Accept-Encoding: deflate, gzip, br, zstd
Content-Length: 628
Content-Type: application/x-ndjson
{"host":{"host":"Zabbix server","name":"Zabbix server"},"groups":["Zabbix servers"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":44457,"name":"foo","clock":1673454303,"ns":800155804,"value":0,"type":3}
{"host":{"host":"Zabbix server","name":"Zabbix server"},"groups":["Zabbix servers"],"item_tags":[{"tag":"foo","value":"test"}],"itemid":44457,"name":"foo","clock":1673454303,"ns":832290669,"value":1,"type":3}
{"host":{"host":"Zabbix server","name":"Zabbix server"},"groups":["Zabbix servers"],"item_tags":[{"tag":"bar","value":"test"}],"itemid":44458,"name":"bar","clock":1673454303,"ns":867770366,"value":123,"type":3}
Exemple d'enviament d'esdeveniments:
POST /v1/events HTTP/1.1
Host: localhost:8080
Accept: */*
Accept-Encoding: deflate, gzip, br, zstd
Content-Length: 333
Content-Type: application/x-ndjson
{"clock":1673454303,"ns":800155804,"value":1,"eventid":5,"name":"trigger for foo being 0","severity":0,"hosts":[{"host":"Zabbix server","name":"Zabbix server"}],"groups":["Zabbix servers"],"tags":[{"tag":"foo_trig","value":"test"},{"tag":"foo","value":"test"}]}
{"clock":1673454303,"ns":832290669,"value":0,"eventid":6,"p_eventid":5}
La resposta consisteix en el codi d'estat de resposta HTTP i la càrrega útil JSON. El codi d'estat de la resposta HTTP ha de ser "200" per a les peticions que s'han gestionat correctament, una altra per a les peticions fallides.
Exemple d'èxit:
Exemple amb errors: