Aquest tipus d'element permet interrogar les dades emprant el protocol HTTP/HTTPS. El trap tamb¨¦ ¨¦s possible emprant Áú»¢¶Ä²© Sender o el protocol Áú»¢¶Ä²© Sender, o emprant el m¨¨tode API history.push
(per enviar informaci¨® al servidor Áú»¢¶Ä²©).
La verificaci¨® d'elements HTTP les executa el servidor Áú»¢¶Ä²©. De tota manera, quan els equips s¨®n monitorats per un proxy Áú»¢¶Ä²©, aquestes verificacions les fa el propi proxy.
Les verificacions d'elements HTTP es poden fer sense que l'equip monitorat executi l'agent Áú»¢¶Ä²©.
L'agent HTTP admet HTTP i HTTPS. Áú»¢¶Ä²© seguir¨¤ opcionalment les redireccions (veieu l'opci¨® Seguir les redireccions aqu¨ª sota). El nombre m¨¤xim de redirecions s'ha definit en 10 (emprant l'opci¨® cURL CURLOPT_MAXREDIRS).
El servidor/proxy Áú»¢¶Ä²© s'ha de configurar inicialment amb el suport de cURL (libcurl).
Les comprovacions HTTP s'executen de manera as¨ªncrona: no cal rebre la resposta a una petici¨® abans que s'inici?n altres comprovacions. La resoluci¨® de DNS tamb¨¦ ¨¦s as¨ªncrona.
La concurr¨¨ncia m¨¤xima de comprovacions as¨ªncrones ¨¦s 1000 (definida per MaxConcurrentChecksPerPoller).
El nombre d'enquestadors d'agent HTTP as¨ªncrons el defineix el par¨¤metre StartHTTPAgentPollers.
La funci¨® cURL de connexions persistents s'ha afegit a les comprovacions de l'agent HTTP des de Áú»¢¶Ä²© 7.0.
Per configurar un element HTTP:
Tots els camps d'entrada obligatoris s¨®n marcats amb un asterisc vermell.
Els camps que requereixen informaci¨® espec¨ªfica per als elements HTTP s¨®n:
±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð | ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® |
---|---|
Type | Trieu Agent HTTP ²¹±ç³Ü¨ª. |
Key | Introdu?u una clau d'element ¨²nica. |
URL | URL de connexi¨® i recuperaci¨® de dades. Per exemple: https://www.example.com http://www.example.com/download Els noms de domini es poden especificar en car¨¤cters Unicode. Es converteixen autom¨¤ticament de punycode a ASCII quan s'executa la comprovaci¨® HTTP. El bot¨® Analitzar es pot emprar per separar els camps de consulta opcionals (com ara ?name=Admin&password=mypassword) de l'URL, movent els atributs i els valors als camps de consulta per a la codificaci¨® autom¨¤tica d'URL. Limitat a 2048 car¨¤cters. Macros admeses: {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST . NOM}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix el . .se/libcurl/c/CURLOPT_URL.html) de cURL. |
Camps de consulta | Variables per a l'URL (veieu m¨¦s amunt). Especificat com a parells d'atribut i valor. Els valors es codifiquen autom¨¤ticament per URL. Els valors de macro es resolen i despr¨¦s es codifica autom¨¤ticament l'URL. Macros admeses: {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM .ID}, {ITEM.KEY}, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix el de cURL. |
Tipus de petici¨® | Trieu el tipus de m¨¨tode de petici¨®: GET, POST, PUT o HEAD |
Temps d'espera | Áú»¢¶Ä²© no gastar¨¤ m¨¦s del temps establert al processament d'URL (1-60 segons). De fet, aquest par¨¤metre defineix el temps m¨¤xim per establir una connexi¨® a l'URL i el temps m¨¤xim per fer una petici¨® HTTP. Per tant, Áú»¢¶Ä²© no dedicar¨¤ m¨¦s de 2 segons de temps d'espera en una comprovaci¨®. S'admeten sufixos de temps, p. 30 s, 1 min. Macros admeses: macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix el de cURL . |
Tipus de cos de la petici¨® | Trieu el tipus de cos de la petici¨®: Dades en brut: cos de petici¨® HTTP personalitzat, les macros es substitueixen per¨° no es fa cap codificaci¨® Dades JSON: cos de la petici¨® HTTP a Format JSON. Les macros es poden emprar com a cadena, nombre, vertader i fals; Les macros emprades com a cadenes s'han de lliurar entre cometes dobles. Els valors de macro es resolen i despr¨¦s s'escapa autom¨¤ticament. Si no s'especifica "Tipus de contingut" a les cap?aleres, ser¨¤ per defecte "Tipus de contingut: aplicaci¨®/json" Dades XML: cos de la petici¨® HTTP en format XML. Les macros es poden emprar com a node de text, atribut o secci¨® CDATA. Els valors de macro es resolen i despr¨¦s s'escapa autom¨¤ticament a un node i atribut de text. Si "Content-Type" no s'especifica a les cap?aleres, per defecte ser¨¤ "Content-Type: application/xml" Tingueu en compte que triar XML Data requereix libxml2. |
Cos de la petici¨® | Introdu?u el cos de la petici¨®. Macros admeses: {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, { ARTICLE. ID}, {ITEM.KEY}, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. |
Cap?aleres | Cap?aleres HTTP personalitzades que s'enviaran en executar una petici¨®. Especificada com a parells d'atributs i valors. Macros admeses: {HOST .IP}, {HOST.CONN}, {HOST.DNS} , {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix l'opci¨® de cURL. |
Codis d'estat obligatoris | Llista de codis d'estat HTTP esperats. Si Áú»¢¶Ä²© obt¨¦ un codi que no es troba a la llista, l'element ja no ser¨¤ compatible. Si ¨¦s buit, no es fa pas cap comprovaci¨®. Per exemple: 200,201,210-299 Macros admeses a la llista: macros d'usuari, macros de descoberta de baix nivell. Aix¨° empra l'opci¨® CURLINFO _RESPONSE_CODE de cURL. |
Seguir redireccions | Marqueu la casella per seguir les redireccions HTTP. Aix¨° estableix l'opci¨® cURL . |
Mode de recuperaci¨® | Trieu la part de la resposta que voleu recuperar: Cos - nom¨¦s el cos Cap?aleres - nom¨¦s les cap?aleres Cos i cap?aleres - cos i cap?aleres |
Convertir a JSON | Les cap?aleres es desen com a parells d'atributs i valors sota la clau "cap?alera". Si es troba "Tipus de contingut: aplicaci¨®/json", el cos es desa com a objecte, en cas contrari s'emmagatzema com a cadena, per exemple: ![]() |
Proxy HTTP | Podeu especificar un proxy HTTP per emprar, emprant el format [protocol://][nom d'usuari[:contrasenya]@]proxy.example.com[:port] .El prefix opcional protocol:// es pot emprar per especificar protocols de proxy alternatius (per exemple, https, socks4, socks5; veieu ; el suport del prefix de protocol era afegit a cURL 7.21.7. Sense un protocol especificat, el proxy es tractar¨¤ com un proxy HTTP. Si especifiqueu un protocol incorrecte, la connexi¨® fallar¨¤ i l'element ja no ser¨¤ compatible. br>Per defecte, s'emprar¨¤ el port 1080.Si s'especifica, el proxy substituir¨¤ les 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 passa "tal com ve", no es fa cap comprovaci¨® d'integritat. Tingueu en compte que nom¨¦s s'admet l'autenticaci¨® simple amb el proxy HTTP. Macros compatibles: {HOST.IP}, {HOST.CONN}, {HOST.DNS}, { HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY }, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix l'opci¨® cURL . |
´¡³Ü³Ù±ð²Ô³Ù¾±³¦²¹³¦¾±¨® HTTP | Tipus d'autenticaci¨®: Cap: no s'empra cap autenticaci¨®. µþ¨¤²õ¾±³¦²¹: s'empra l'autenticaci¨® b¨¤sica. NTLM - NTLM (). Kerberos: s'empra l'autenticaci¨® Kerberos. Veieu tamb¨¦: °ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨® de Kerberos amb Áú»¢¶Ä²©. Digest: s'empra l'autenticaci¨® de Digest. Seleccionar un m¨¨tode d'autenticaci¨® proporcionar¨¤ dos camps addicionals per introduir un nom d'usuari i mot de pas, on s'admeten macros d'usuari i macros de descoberta de baix nivell. Aix¨° estableix l'opci¨® cURL . |
Verifiqueu SSL peer | Marqueu la casella per verificar el certificat SSL del servidor web. El certificat del servidor es recuperar¨¤ autom¨¤ticament des 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 Áú»¢¶Ä²© o del proxy SSLCALocation. Aix¨° estableix l'opci¨® cURL . |
Verifica l'equip SSL | Marca la casella per verificar que el camp Nom com¨² o Nom alternatiu de l'assumpte del certificat del servidor web coincideix. Aix¨° estableix el de cURL. |
Fitxer de certificat SSL | Nom del fitxer de certificat SSL emprat per a l'autenticaci¨® del client. El fitxer del certificat ha d'¨¦sser en format PEM1. Si el fitxer del certificat tamb¨¦ cont¨¦ la clau privada, deixeu el camp Fitxer de clau SSL en blanc. Si la clau ¨¦s 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 Áú»¢¶Ä²© o el par¨¤metre de configuraci¨® del proxy SSLCertLocation. Macros admeses: {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST }, {HOST.NAME } , {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix l'opci¨® cURL . |
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'¨¦sser en format PEM1. El directori que cont¨¦ aquest fitxer l'especifica el servidor Áú»¢¶Ä²© o el par¨¤metre de configuraci¨® del proxy SSLKeyLocation. Macros admeses: {HOST.IP}, {HOST.CONN}, {HOST.DNS}, {HOST.HOST}, {HOST.NAME}, {ITEM.ID}, {ITEM.KEY}, {ITEM.KEY.ORIG}, macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix l'opci¨® cURL . |
Mot de pas de clau SSL | Mot de pas del fitxer de clau privada SSL. Macros admeses: macros d'usuari, macros de descoberta de baix nivell. Aix¨° estableix l'opci¨® cURL . |
Activa trampes | Amb aquesta casella marcada, l'element tamb¨¦ funcionar¨¤ com a element trapper i acceptar¨¤ les dades enviades al servidor o proxy Áú»¢¶Ä²© emprant la utilitat Áú»¢¶Ä²© sender o el protocol, o acceptar¨¤ les dades enviades al servidor Áú»¢¶Ä²© emprant el m¨¨tode API history.push . Per tindre m¨¦s informaci¨® sobre l'enviament d'informaci¨®, veieu: Elements trapper. |
Equips permesos | Visible nom¨¦s si la casella Activa trampes ¨¦s marcada. Llista d'adreces IP delimitades per comes, opcionalment en notaci¨® CIDR, o noms d'equips. Si s'especifica, les connexions nom¨¦s s'acceptaran de trucades entrants dels equips que s'indiquen ²¹±ç³Ü¨ª. Si el suport d'IPv6 ¨¦s habilitat, "127.0.0.1", "::127.0.0.1", "::ffff:127.0.0.1" es tracten de la mateixa manera i "::/0" permetr¨¤ qualsevol adre?a IPv4 o IPv6. '0.0.0.0/0' es pot emprar per permetre qualsevol adre?a IPv4. Tingueu en compte que les adreces IPv6 compatibles amb IPv4 (prefix 0000::/96) s¨®n compatibles, per¨° ¨¦s obsolet per . Exemple: Server=127.0.0.1, 192.168.1.0/24, 192.168.3.1-255, 192.168.1-10.1-255, ::1,2001:db8::/32, zabbix.domain Els espais i les macros d'usuari s¨®n permeses en aquest camp. Les macros d'equip: {HOST.HOST}, {HOST.NAME}, {HOST.IP}, {HOST.DNS}, {HOST.CONN} s¨®n permeses en aquest camp. |
Si el camp Proxy HTTP es deixa en blanc, una altra manera d'emprar un proxy HTTP ¨¦s establir variables d'entorn relacionades amb el proxy.
Per a HTTP: establiu la variable d'entorn "http_proxy" per a l'usuari del servidor Áú»¢¶Ä²©. Per exemple:
http_proxy=http://proxy_ip:proxy_port
.
Per a HTTPS: establiu la variable d'entorn HTTPS_PROXY
. Per exemple:
HTTPS_PROXY=http://proxy_ip:proxy_port
. Hi ha m¨¦s detalls disponibles executant l'ordre de shell: # man curl.
[1]Áú»¢¶Ä²© nom¨¦s admet fitxers de certificat i clau privada en format PEM. Si teniu el vostre certificat i les vostres dades de clau privada en un fitxer en format PKCS #12 (normalment amb l'extensi¨® *.p12 o *.pfx), podeu generar-ne el fitxer PEM amb les ordres seg¨¹ents:
Envieu peticions GET simples per extreure les dades de serveis com ara Elasticsearch:
localhost:9200/?pretty
{
"name" : "YQ2VAY-",
"cluster_name" : "elasticsearch",
"cluster_uuid" : "kH4CYqh5QfqgeTsjh2F9zg",
"version" : {
"number" : "6.1.3",
"build_hash" : "af51318",
"build_date" : "2018-01-26T18:22:55.523Z",
"build_snapshot" : false,
"lucene_version" : "7.1.0",
"minimum_wire_compatibility_version" : "5.6.0",
"minimum_index_compatibility_version" : "5.0.0"
},
"tagline" : "You know, for search"
}
$.version.number
Enviar les peticions POST simples per extreure les dades de serveis com ara Elasticsearch:
http://localhost:9200/str/values/_search?scroll=10s
{
"query": {
"bool": {
"must": [{
"match": {
"itemid": 28275
}
}],
"filter": [{
"range": {
"clock": {
"gt": 1517565836,
"lte": 1517566137
}
}
}]
}
}
}
{
"_scroll_id": "DnF1ZXJ5VGhlbkZldGNoBQAAAAAAAAAkFllRMlZBWS1UU1pxTmdEeGVwQjRBTFEAAAAAAAAAJRZZUTJWQVktVFNacU5nRHhlcEI0QUxRAAAAAAAAACYWWVEyVkFZLVRTWnFOZ0R4ZXBCNEFMUQAAAAAAAAAnFllRMlZBWS1UU1pxTmdEeGVwQjRBTFEAAAAAAAAAKBZZUTJWQVktVFNacU5nRHhlcEI0QUxR",
"took": 18,
"timed_out": false,
"_shards": {
"total": 5,
"successful": 5,
"skipped": 0,
"failed": 0
},
"hits": {
"total": 1,
"max_score": 1.0,
"hits": [{
"_index": "dbl",
"_type": "values",
"_id": "dqX9VWEBV6sEKSMyk6sw",
"_score": 1.0,
"_source": {
"itemid": 28275,
"value": "0.138750",
"clock": 1517566136,
"ns": 25388713,
"ttl": 604800
}
}]
}
}
$.hits.hits[0]._source.value
Verificar si l'API Áú»¢¶Ä²© ¨¦s viva, emprant apiinfo.version.
Veieu que l'¨²s del m¨¨tode POST amb les dades JSON, la definici¨® de les cap?aleres de petici¨® i l'enviament nom¨¦s de les cap?aleres:
Recuperaci¨® dels informes meteorol¨°gics connectant al servei p¨²blic Openweathermap.
Veieu que emprem macros als camps de petici¨®. Veieu l'API per sapiguer com omplir-les.
Exemple de codi JSON retornat en resposta a l'agent HTTP:
{
"body": {
"coord": {
"lon": 40.01,
"lat": 56.11
},
"weather": [{
"id": 801,
"main": "Clouds",
"description": "few clouds",
"icon": "02n"
}],
"base": "stations",
"main": {
"temp": 15.14,
"pressure": 1012.6,
"humidity": 66,
"temp_min": 15.14,
"temp_max": 15.14,
"sea_level": 1030.91,
"grnd_level": 1012.6
},
"wind": {
"speed": 1.86,
"deg": 246.001
},
"clouds": {
"all": 20
},
"dt": 1526509427,
"sys": {
"message": 0.0035,
"country": "RU",
"sunrise": 1526432608,
"sunset": 1526491828
},
"id": 487837,
"name": "Stavrovo",
"cod": 200
}
}
La seg¨¹ent tasca consisteix en configurar els elements dependents que extreuen les dades del JSON.
Altres m¨¨triques meteorol¨®giques com ara la 'Temperatura' s'afegeixen de la mateixa manera.
Connexi¨® a la p¨¤gina d'estat d'Nginx i obtindre les seves m¨¨triques de forma massiva.
Exemple de sortida d'estat de l'stub Nginx:
Active connections: 1 Active connections:
server accepts handled requests
52 52 52
Reading: 0 Writing: 1 Waiting: 0
La seg¨¹ent tasca consisteix en configurar els elements dependents que extreuen les dades.
el servidor accepta les peticions tractades\s+([0-9]+) ([0-9]+) ([0-9]+)
: