Áú»¢¶Ä²©

This is the documentation page for an unsupported version of Áú»¢¶Ä²©.
Is this not what you were looking for? Switch to the current version or choose one from the drop-down menu.

17 V¨¦rifications Prometheus

Aper?u

Áú»¢¶Ä²© peut interroger les m¨¦triques expos¨¦es dans le format de ligne Prometheus.

Deux ¨¦tapes sont n¨¦cessaires pour commencer ¨¤ collecter les donn¨¦es Prometheus?:

  • un ¨¦l¨¦ment principal HTTP pointant vers le point de terminaison de donn¨¦es appropri¨¦, par ex. https://<prometheus host>/metrics
  • des ¨¦l¨¦ments d¨¦pendants utilisant une option de pr¨¦traitement Prometheus pour interroger les donn¨¦es requises ¨¤ partir des m¨¦triques recueillies par l'¨¦l¨¦ment principal

Il existe deux options de pr¨¦traitement des donn¨¦es Prometheus?:

  • Motif Prometheus - utilis¨¦ dans les ¨¦l¨¦ments normaux pour interroger les donn¨¦es Prometheus
    • Prometheus vers JSON * - utilis¨¦ dans les ¨¦l¨¦ments normaux et pour la d¨¦couverte de bas niveau. Dans ce cas, les donn¨¦es Prometheus interrog¨¦es sont renvoy¨¦es au format JSON.
Traitement de masse

Le traitement de masse est pris en charge pour les ¨¦l¨¦ments d¨¦pendants. Pour activer la mise en cache et l'indexation, le pr¨¦traitement Motif Prometheus doit ¨ºtre la ±è°ù±ð³¾¾±¨¨°ù±ð ¨¦tape de pr¨¦traitement. Lorsque Motif Prometheus est la ±è°ù±ð³¾¾±¨¨°ù±ð ¨¦tape de pr¨¦traitement, les donn¨¦es Prometheus analys¨¦es sont mises en cache et index¨¦es par la ±è°ù±ð³¾¾±¨¨°ù±ð condition <label>==<value> dans l'¨¦tape de pr¨¦traitement Motif Prometheus. Ce cache est r¨¦utilis¨¦ lors du traitement d'autres ¨¦l¨¦ments d¨¦pendants dans ce lot. Pour des performances optimales, la ±è°ù±ð³¾¾±¨¨°ù±ð ¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð doit ¨ºtre celle avec les valeurs les plus diff¨¦rentes.

S'il y a un autre pr¨¦traitement ¨¤ effectuer avant la ±è°ù±ð³¾¾±¨¨°ù±ð ¨¦tape, il doit ¨ºtre d¨¦plac¨¦ soit vers l'¨¦l¨¦ment principal, soit vers un nouvel ¨¦l¨¦ment d¨¦pendant qui serait utilis¨¦ comme ¨¦l¨¦ment principal pour les ¨¦l¨¦ments d¨¦pendants.

Configuration

Si l'¨¦l¨¦ment ma?tre HTTP est configur¨¦, vous devez cr¨¦er un ¨¦l¨¦ment d¨¦pendant qui utilise une ¨¦tape de pr¨¦traitement Prometheus :

  • Saisissez les param¨¨tres g¨¦n¨¦raux de l'¨¦l¨¦ment d¨¦pendant dans le formulaire de configuration
  • Acc¨¦dez ¨¤ l'onglet Pr¨¦traitement
  • S¨¦lectionnez une option de pr¨¦traitement Prometheus (Motif Prometheus ou Prometheus vers JSON)

Les param¨¨tres suivants sont sp¨¦cifiques ¨¤ l'option de pr¨¦traitement Motif Prometheus :

±Ê²¹°ù²¹³¾¨¨³Ù°ù±ð Description Exemples
Motif Pour d¨¦finir le mod¨¨le de donn¨¦es requis, vous pouvez utiliser un langage de requ¨ºte similaire au langage de requ¨ºte Prometheus (voir la table de comparaison), par exemple :
<nom m¨¦trique> - s¨¦lectionner par nom de m¨¦trique
{__name__="<nom m¨¦trique>"} - s¨¦lectionner par nom de m¨¦trique
{__name__=~"<regex>"} - s¨¦lectionner par nom de m¨¦trique correspondant ¨¤ une expression r¨¦guli¨¨re
{<nom ¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>="<¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>",...} - s¨¦lectionner par nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð
{<nom ¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>=~"<regex>",...} - s¨¦lectionner par nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð correspondant ¨¤ une expression r¨¦guli¨¨re
{__name__=~".*"}==<valeur> - s¨¦lectionner par valeur de m¨¦trique
Ou une combinaison des ¨¦l¨¦ments ci-dessus :
<nom m¨¦trique>{<nom ¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð1>="<valeur ¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð1>",<nom ¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð2>=~"<regex>",...}==<valeur>

La valeur de l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð peut ¨ºtre n'importe quelle s¨¦quence de caract¨¨res UTF-8, mais les caract¨¨res de barre oblique inverse, de guillemet double et de saut de ligne doivent ¨ºtre ¨¦chapp¨¦s sous la forme \\, \" et \n respectivement ; les autres caract¨¨res ne doivent pas ¨ºtre ¨¦chapp¨¦s .
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
Traitement du r¨¦sultat Indiquez s'il faut renvoyer la valeur, l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð ou appliquer la fonction appropri¨¦e (si le mod¨¨le correspond ¨¤ plusieurs lignes et que le r¨¦sultat doit ¨ºtre agr¨¦g¨¦) :
valeur - renvoie la valeur de la m¨¦trique (erreur si plusieurs lignes correspondent)
¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð - renvoie la valeur du libell¨¦ sp¨¦cifi¨¦ dans le champ ?tiquette (erreur si plusieurs m¨¦triques correspondent)
sum - renvoie la somme des valeurs<br >min - renvoie la valeur minimale
max - renvoie la valeur maximale
avg - renvoie la valeur moyenne
count - renvoie le nombre de valeurs
Ce champ n'est disponible que pour l'option Motif Prometheus.
Voir aussi des exemples d'utilisation de param¨¨tres ci-dessous.
Sortie D¨¦finir le nom de l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð (optionnel). Dans ce cas, la valeur correspondant au nom de l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð est renvoy¨¦e.
Ce champ n'est disponible que pour l'option Motif Prometheus, si '?tiquette' est s¨¦lectionn¨¦ dans le champ Traitement du r¨¦sultat.

Exemples d'utilisation de param¨¨tres

  1. Le cas d'usage le plus courant consiste ¨¤ renvoyer la valeur. Pour renvoyer la valeur de /var/db ¨¤ partir 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

utilisez les param¨¨tres suivants :

  • Motif - node_disk_usage_bytes{path="/var/db"}
  • Traitement du r¨¦sultat - s¨¦lectionnez 'valeur'
  1. Vous pouvez ¨¦galement ¨ºtre int¨¦ress¨¦ par la valeur moyenne de tous les param¨¨tres node_disk_usage_bytes :
  • Motif - node_disk_usage_bytes
  • Traitement du r¨¦sultat - s¨¦lectionnez 'avg'
  1. Alors que Prometheus ne prend en charge que les donn¨¦es num¨¦riques, il est courant d'utiliser une solution de contournement qui permet ¨¦galement de renvoyer la description textuelle pertinente. Cela peut ¨ºtre accompli avec un filtre et en sp¨¦cifiant l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð. Ainsi, pour renvoyer la valeur de l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð '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

utilisez les param¨¨tres suivants :

  • Motif - elasticsearch_cluster_health_status {cluster="elasticsearch"} == 1
  • Traitement du r¨¦sultat - s¨¦lectionnez '¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð'
  • ?tiquette - sp¨¦cifiez 'color'

Le filtre (bas¨¦ sur la valeur num¨¦rique '1') correspondra ¨¤ la ligne appropri¨¦e, tandis que l'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð renverra la description de l'¨¦tat de sant¨¦ (actuellement 'green' ; mais potentiellement aussi 'red' ou 'yellow').

Prometheus vers JSON

Les donn¨¦es de Prometheus peuvent ¨ºtre utilis¨¦es pour la d¨¦couverte de bas niveau. Dans ce cas, des donn¨¦es au format JSON sont n¨¦cessaires et l'option de pr¨¦traitement Prometheus vers JSON renverra exactement cela.

Pour plus de d¨¦tails, voir D¨¦couverte ¨¤ l'aide des donn¨¦es Prometheus.

Comparaison des langages de requ¨ºte

Le tableau suivant r¨¦pertorie les diff¨¦rences et les similitudes entre le langage de requ¨ºte de pr¨¦traitement PromQL et Áú»¢¶Ä²© Prometheus.

Pr¨¦traitement Áú»¢¶Ä²© Prometheus
¶Ù¾±´Ú´Ú¨¦°ù±ð²Ô³¦±ð²õ
Cible de la requ¨ºte Serveur Prometheus Texte brut au format d'exposition Prometheus
Renvois Vecteur instantan¨¦ Valeur de m¨¦trique ou d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð (mod¨¨le Prometheus)
Tableau de m¨¦triques pour une valeur unique dans JSON (Prometheus vers JSON)
Op¨¦rateurs de correspondance d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ðs =, !=, =~, !~ =, !=, =~, !~
Expression r¨¦guli¨¨re utilis¨¦e dans la correspondance de libell¨¦ ou de nom de m¨¦trique RE2 PCRE
Op¨¦rateurs de comparaison Voir la Seulement == (¨¦gal) est pris en charge pour le filtrage de valeur
Similitudes
S¨¦lection par nom de m¨¦trique ¨¦gal ¨¤ cha?ne <nom de m¨¦trique> or {__nom__="<nom de m¨¦trique>"} <nom de m¨¦trique> or {__nom__="<nom de m¨¦trique>"}
S¨¦lection par nom de m¨¦trique qui correspond ¨¤ l'expression r¨¦guli¨¨re {__nom__=~"<regex>"} {__nom__=~"<regex>"}
S¨¦lection par <nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð> valeur ¨¦gale ¨¤ string {<nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>="<valeur d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>",...} {<nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>="<valeur d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>",...}
S¨¦lection par la valeur <nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð> qui correspond ¨¤ l'expression r¨¦guli¨¨re {<nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>=~"<regex>",...} {<nom d'¨¦³Ù¾±±ç³Ü±ð³Ù³Ù±ð>=~"<regex>",...}
S¨¦lection par valeur ¨¦gale ¨¤ cha?ne {__nom__=~".*"} == <valeur> {__nom__=~".*"} == <valeur>