És possible transmetre valors i esdeveniments d'elements des de Zabbix a sistemes externs mitjançant HTTP (veieu detalls del protocol).
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. Amb aquesta finalitat, teniu disponibles les següents eines:
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 - cadena de valors d'element de Zabbix cap a sistemes externs; Esdeveniments - cadena d'esdeveniments de Zabbix cap a sistemes externs. |
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ó. |
Tipus d'informació | Trieu el tipus d'informació (numèric (sense signe), numèric (flotant), caràcter, etc.), pel que filtrar els valors d'element que el connector ha de tractar. Aquest camp és disponible si Tipus de dades es defineix a "Valors d'element". |
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 - S'empra l'autenticació Kerberos (veieu també: Configurar Kerberos amb Zabbix); 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". |
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". |
Token de portador | Introduïu el token de portador. Aquest camp és disponible i és obligatori si l'Autenticació HTTP és establerta a "Portador". |
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". |
Interval d'intents | Especifiqueu quant de temps hauria d'esperar el connector després d'un intent fallit de transmetre dades. Es poden especificar fins a 10 segons; el valor predeterminat és "5s". Aquest camp està disponible si Intents s'estableix a "2" o més. Els intents infructuosos són aquells en què s'ha produït un error en establir una connexió o en què el codi de resposta HTTP no ho és. 200, 201, 202, 203, 204. Els reintents s'activaran en cas d'errors de comunicació o quan el codi de resposta HTTP no és 200, 201, 202, 203, 204, 400, 401, 403, 404, 405, 415, 422. Se segueixen les redireccions, de manera que 302 -> 200 és una resposta positiva; mentre que 302 -> 503 activarà un nou intent. |
Temps d'espera | Especifiqueu el temps d'espera del missatge (1-60 segons, 5 segons per defecte). S'admeten sufixos de temps, com ara 30s, 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. |
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 equip | 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 . |
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", "201", "202", "203" o "204" per a les peticions que s'han gestionat correctament, una altra per a les peticions fallides.
Exemple d'èxit:
Exemple amb errors: