Áú»¢¶Ä²© 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?:
https://<prometheus host>/metrics
Il existe deux options de pr¨¦traitement des donn¨¦es Prometheus?:
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.
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 :
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
/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 :
node_disk_usage_bytes{path="/var/db"}
node_disk_usage_bytes
:node_disk_usage_bytes
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 :
elasticsearch_cluster_health_status {cluster="elasticsearch"} == 1
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').
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.
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> |