Áú»¢¶Ä²©

17 Verificacions Prometheus

Vista general

Áú»¢¶Ä²© pot consultar les m¨¨triques exposades en format de l¨ªnia Prometheus.

Calen dues passes per comen?ar a recollir dades de Prometheus:

  • un element principal HTTP apuntant al punt de dades adequat, per exemple https://<prometheus host>/metrics
  • elements dependents emprant una opci¨® de preprocessat Prometheus per consultar les dades requerides a partir de les m¨¨triques recollides per l'element principal

Hi ha dues opcions de preprocessament de les dades de Prometheus:

  • Motiu Prometheus - emprat per elements normals per consultar dades Prometheus
  • Prometheus envers JSON - emprat per elements normals i per la descoberta de baix nivell. En aquest cas, les dades Prometeus consultades tornen en format JSON.
Tractament massiu

El processament massiu ¨¦s compatible amb els elements dependents. Per habilitar la mem¨°ria cau i la indexaci¨®, el preprocessament ±Ê²¹³Ù°ù¨® Prometheus ha d'¨¦sser la primera passa de preprocessament. Quan el ±Ê²¹³Ù°ù¨® Prometheus ¨¦s la primera passa de preprocessament, les dades de Prometheus analitzades s'emmagatzemen a la mem¨°ria cau i s'indexen mitjan?ant la primera condici¨® <etiqueta>==<valor> a la passa de preprocessament del ±Ê²¹³Ù°ù¨® Prometheus. Aquesta mem¨°ria cau es reutilitza quan es processen altres elements dependents d'aquest lot. Per a un rendiment ¨°ptim, la primera etiqueta hauria d'¨¦sser la que tingui m¨¦s valors diferents.

Si s'ha de fer un altre preprocessament abans de la primera passa, s'hauria de moure a l'element principal o a un nou element dependent que s'empraria com a element principal per als elements dependents.

°ä´Ç²Ô´Ú¾±²µ³Ü°ù²¹³¦¾±¨®

Si l'element principal HTTP ¨¦s configurat, heu de crear un element dependent que empri una passa de preprocessament de Prometheus:

  • Introdu?u els par¨¤metres generals de l'element dependent al formulari de configuraci¨®
  • Accediu a la pestanya Preprocessament
  • Trieu una opci¨® de preprocessament de Prometheus (±Ê²¹³Ù°ù¨® Prometheus o Prometheus a JSON)

Els par¨¤metres seg¨¹ents s¨®n espec¨ªfics de l'opci¨® de preprocessament ±Ê²¹³Ù°ù¨® Prometheus:

±Ê²¹°ù¨¤³¾±ð³Ù°ù±ð ¶Ù±ð²õ³¦°ù¾±±è³¦¾±¨® Exemples
±Ê²¹³Ù°ù¨® Per definir el model de dades requerit, podeu emprar un llenguatge de consulta similar al llenguatge de consulta de Prometheus (veieu la taula de comparaci¨®), per exemple:
<metric nom>: seleccioneu pel nom de la m¨¨trica
{__name__="<nom de la m¨¨trica>"}: seleccioneu pel nom de la m¨¨trica
{__name_ _=~ "<regex>"}: seleccioneu pel nom de la m¨¨trica que coincideixi amb una expressi¨® regular
{<tag name>="<value>",...}: seleccioneu pel nom de l'etiqueta
{ <nom de l'etiqueta>=~"<regex>",...}: seleccioneu el nom de l'etiqueta que coincideixi amb una expressi¨® regular
{__name __=~".*" }==<valor>: seleccioneu per valor de m¨¨trica
O una combinaci¨® de les anteriors:
<nom de la m¨¨trica>{< tag de nom1>="<etiqueta de valor1>",?<name tag2>=~"<regex>",...}==<valor>

L'etiqueta de valor pot ¨¦sser qualsevol seq¨¹¨¨ncia de car¨¤cters UTF-8, per¨° barra invertida, cometes dobles i els car¨¤cters de nova l¨ªnia s'han de fer escapar com a \\, \" i \n respectivament; els altres car¨¤cters no s'han de fer escapar .
wmi_os_physical_memory_free_bytes
cpu_usage_system{cpu="cpu-total"}
*cpu_usage?_system{ cpu=~".*"}
cpu_usage_system{cpu="cpu-total",host=~".*"}
wmi_service?_state{ name="dhcp"}==1
wmi_os_timezone{timezone=~".*"}==1*
Processat de resultats Indiqueu si voleu retornar el valor, l'etiqueta o aplicar la funci¨® adequada (si el patr¨® coincideix amb diverses fileres i el resultat s'ha d'afegir):
valor - retorna el valor de la m¨¨trica (error si coincideixen diverses files)
etiqueta - retorna el valor de l'etiqueta especificat al camp Etiqueta (error si coincideixen diverses m¨¨triques)
suma - retorna la suma de valors
min - retorna el valor m¨ªnim
max - retorna el valor m¨¤xim
mitjana - retorna el valor mitj¨¤
count - retorna el nombre de valors
Aquest camp ¨¦s nom¨¦s disponible per a l'opci¨® ±Ê²¹³Ù°ù¨® Prometheus.
Veieu tamb¨¦ exemples d'¨²s de par¨¤metres a continuaci¨®.
Sortida Estableix el nom de l'etiqueta (opcional). En aquest cas, es retorna el valor corresponent al nom de l'etiqueta.
Aquest camp nom¨¦s ¨¦s disponible per a l'opci¨® ±Ê²¹³Ù°ù¨® Prometheus, si es selecciona "Etiqueta" al camp Processat de resultats.

Exemples d'¨²s de par¨¤metres

  1. El cas d'¨²s m¨¦s com¨² ¨¦s retornar el valor. Per retornar el valor de /var/db de:

node_disk_usage_bytes{path="/var/cache"} 2.1766144e+09
node_disk_usage_bytes{path="/var/db"} 20480
node_disk_usage_bytes{path="/var/dpkg"} 8192
node_disk_usage_bytes{path="/var/empty"} 4096

empreu la configuraci¨® seg¨¹ent:

  • ±Ê²¹³Ù°ù¨® - node_disk_usage_bytes{path="/var/db"}
  • Processat de resultats - trieu "valor"
  1. Tamb¨¦ us pot interessar el valor mitjana de tots els par¨¤metres node_disk_usage_bytes:
  • ±Ê²¹³Ù°ù¨® - node_disk_usage_bytes
  • Processat dels resultats - trieu "mitjana"
  1. Tot i que Prometheus nom¨¦s admet dades num¨¨riques, ¨¦s habitual emprar una soluci¨® alternativa que tamb¨¦ retorni la descripci¨® textual rellevant. Aix¨° es pot aconseguir amb un filtre i especificant l'etiqueta. Per tant, per retornar el valor de l'etiqueta "color" de

elasticsearch_cluster_health_status{cluster="elasticsearch",color="green"} 1
elasticsearch_cluster_health_status{cluster="elasticsearch",color="red"} 0
elasticsearch_cluster_health_status{cluster="elasticsearch",color="yellow"} 0

empreu la configuraci¨® seg¨¹ent:

  • ±Ê²¹³Ù°ù¨® - elasticsearch_cluster_health_status {cluster="elasticsearch"} == 1
  • Processat dels resultats - seleccioneu "etiqueta"
  • Etiqueta: especifiqueu "color"

El filtre (basat en el valor num¨¨ric "1") coincidir¨¤ amb la filera adequada, mentre que l'etiqueta retornar¨¤ la descripci¨® de l'estat de salut (actualment "verd"; per¨° potencialment tamb¨¦ "vermell" o "groc").

Prometheus a JSON

Les dades de Prometheus es poden emprar per la descoberta de baix nivell. En aquest cas, calen dades en format JSON i l'opci¨® de preprocessat Prometheus to JSON retornar¨¤ exactament aix¨°.

Per obtindre m¨¦s informaci¨®, consulteu descoberta emprant informaci¨® Prometheus.

Comparativa dels llenguatges de consultes

La taula seg¨¹ent llista les difer¨¨ncies i semblances entre el llenguatge de consulta de preprocessat PromQL i el Áú»¢¶Ä²© Prometheus.

Preprocessat de Áú»¢¶Ä²© Prometheus
¶Ù¾±´Ú±ð°ù¨¨²Ô³¦¾±±ð²õ
Dest¨ª de la petici¨® Servidor Prometheus Text sense format en format d'exposici¨® de Prometheus
Retorns Vector d'instant¨¤nia Valor de m¨¨trica o etiqueta (plantilla Prometheus)
Matriu de m¨¨triques per a un valor ¨²nic en JSON (Prometheus a JSON)
Etiqueta operadors de concordan?a =, !=, =~, !~ =, !=, = ~, !~
Expressi¨® regular emprada a la concordan?a de noms d'etiquetes o m¨¨triques RE2 PCRE
Operadors de comparaci¨® Veieu ±·´Ç³¾¨¦²õ == (igual) ¨¦s compatible amb la c¨¤rrega de valor filtrada
Semblances
Trieu per nom m¨¨tric equival a cadena <nom m¨¨tric> o {__nom__="<nom m¨¨tric>"} <nom m¨¨tric> o {__nom__ ="<nom m¨¨tric> >>"}
Trieu pel nom de m¨¨trica que coincideixi amb l'expressi¨® regular {__name__=~"<regex>"} {__name__=~"< regex>" }
Trieu per <nom de l'etiqueta> el valor ¨¦s igual a la cadena {<nom de l'etiqueta>="<valor de l'etiqueta>",...} {<nom de l'etiqueta>= "<valor de l'etiqueta>", ...}
Trieu el valor <nom de l'etiqueta> que coincideixi amb l'expressi¨® regular {<nom de l'etiqueta>=~"<regex>",...} {<etiqueta de nom>=~"<regex >",...}
Trieu per valor ¨¦s igual a cadena {__nom__=~".*"} == <valor> {__nom__=~".* " } == <valor>