À propos des ratios de métriques

Ce document vous aide à choisir la meilleure approche pour représenter graphiquement ou surveiller un ratio de données de métriques. Il comprend également des liens vers des exemples, détermine quand calculer des ratios, et décrit les anomalies que vous pourriez rencontrer lors de la représentation d'un ratio de deux différentes métriques. Ces anomalies sont dues à des différences au niveau du taux d'échantillonnage ou les paramètres d'alignement.

Les ratios vous permettent de transformer vos données de métriques plus utile, le formulaire. Prenons l'exemple qui compte le nombre de réponses HTTP du code de réponse. Les données de métriques indiquent le nombre d'erreurs, mais pas la proportion de requêtes ayant échoué. Toutefois, les exigences de performances sont souvent spécifiées sous forme de pourcentage, par exemple "Le taux d'erreur doit être inférieur à 0,1 %". Pour déterminer le taux d'erreur à l'aide des données de métrique, vous calculez le ratio des requêtes ayant échoué par rapport au nombre total de requêtes.

Bonnes pratiques

Pour surveiller ou représenter graphiquement un ratio de données de métriques, nous vous recommandons d'utiliser PromQL : Vous pouvez utiliser PromQL avec l'API Cloud Monitoring et la console Google Cloud. La console Google Cloud inclut un éditeur de code fournit des suggestions, détecte les erreurs et vous aide à créer des Requêtes PromQL.

Pour créer une règle d'alerte qui surveille un ratio de métriques lorsque vous que vous ne connaissez pas PromQL, utilisez l'API Cloud Monitoring et incluez filtre de série temporelle. Pour voir un exemple, consultez Ratio de métriques :

Pour représenter un ratio de données de métriques dans un graphique lorsque vous ne connaissez pas PromQL, nous vous recommandons d'utiliser la console Google Cloud et que vous utilisez une interface pilotée par un menu. Pour obtenir des instructions détaillées, consultez les pages Afficher un ratio de métriques et Ajouter des graphiques et des tableaux à un tableau de bord personnalisé.

Restrictions avec les ratios

Lorsque vous configurez un ratio, les restrictions suivantes s'appliquent:

  • Après l'agrégation, les étiquettes de la série temporelle du dénominateur doivent être identiques ou appartenant à un sous-ensemble des étiquettes de la série temporelle du numérateur.

    Nous vous recommandons de sélectionner des options d'agrégation de sorte que, après l'agrégation, les séries temporelles du numérateur et du dénominateur aient les mêmes libellés.

    Prenons une configuration dans laquelle le numérateur de la série temporelle a method, quota_metric et project_id. Temps du dénominateur contient les étiquettes limit_name, quota_metric et project_id. Les options valides pour le regroupement du dénominateur dépendent des sélections pour le numérateur :

    • Numérateur regroupé selon le libellé method: Combinez les séries temporelles du dénominateur en une seule série temporelle. Aucun autre regroupement ne fait que les libellés de la série temporelle du dénominateur soient un sous-ensemble des libellés de la série temporelle du numérateur.
    • Numérateur regroupé par le libellé quota_metric : regroupez le dénominateur par ce libellé ou combinez toutes les séries temporelles du dénominateur en une seule série temporelle.
    • Numérateur regroupé par les étiquettes quota_metric et project_id: Regroupez le dénominateur par les deux étiquettes ou par une seule, ou combinez les une série temporelle du dénominateur en une série temporelle unique.

    Les options d'agrégation de dénominateur valides éliminent toujours le limit_name de la série temporelle groupée, le libellé n'est pas présent dans la série temporelle du numérateur.

  • La période d'alignement doit être la même pour le numérateur et le dénominateur lorsque vous configurez un graphique à l'aide de la console Google Cloud. Toutefois, ces champs peuvent être différents lorsque vous utilisez l'API Cloud Monitoring.

    Nous vous recommandons d'utiliser la même période d'alignement pour le numérateur et le dénominateur, quel que soit l'outil que vous utilisez pour créer le graphique.

  • Le numérateur et le dénominateur doivent avoir le même type de valeur. Par exemple, lorsque le numérateur est de type DOUBLE, le dénominateur doit également être de type DOUBLE.

    Les ratios nécessitent que les métriques du numérateur et du dénominateur aient une valeur Type : DOUBLE ou INT64.

  • Les séries temporelles alignées pour le numérateur et le dénominateur doivent avoir le même type de métrique. Lorsque les deux métriques ont genres différents, vous devez utiliser des aligneurs pour les convertir dans le même genre.

    Prenons l'exemple d'une configuration dans laquelle une métrique DELTA est sélectionnée pour le un numérateur et une métrique GAUGE est sélectionnée comme dénominateur. Dans ce cas, utilisez l'aligneur de taux, ALIGN_RATE, pour convertir la métrique DELTA en métrique GAUGE. Pour voir un exemple, consultez Rationaliser les règles d'alerte sur l'utilisation d'un quota de débit pour une limite.

  • Pour les ratios qui ne sont pas définis avec PromQL, le type de ressource surveillée doit être le même pour le numérateur et le dénominateur.

    Par exemple, si la ressource de la métrique du numérateur est des instances Compute Engine, la ressource de la métrique du dénominateur doit également être des instances Compute Engine.

Anomalies dues à des incohérences d'échantillonnage et d'alignement

En général, il est préférable de calculer les ratios en fonction des séries temporelles collectées pour un type de métrique unique, à l'aide de valeurs de libellés. Un ratio calculé sur deux types de métriques est soumis à des anomalies en raison de périodes d'échantillonnage et de fenêtres d'alignement différentes.

Par exemple, supposons que vous disposiez de deux types de métriques différents (nombre de RPC total et nombre de RPC en erreur), et que vous souhaitiez calculer le ratio du nombre de RPC en erreur par rapport au nombre de RPC total. Les RPC ayant échoué sont comptabilisés dans la série temporelle des deux types de métriques. Par conséquent, lorsque vous alignez la série temporelle, il se peut qu'un RPC en échec n'apparaisse pas dans le même intervalle d'alignement pour les deux séries temporelles. Cette différence peut se produire pour plusieurs raisons :

  • Étant donné que deux séries temporelles enregistrent le même événement, deux valeurs de compteur sous-jacentes mettent en œuvre la collection et ne sont pas mises à jour de manière atomique.
  • Les taux d'échantillonnage peuvent varier. Lorsque les séries temporelles sont alignées sur une période commune, les décomptes d'un seul événement peuvent apparaître dans des intervalles d'alignement adjacents dans la série temporelle des différentes métriques.

La différence du nombre de valeurs dans les intervalles d'alignement correspondants peut générer des valeurs de ratio error/total insensées, telles que 1/0 ou 2/1.

Les ratios de nombres plus élevés sont moins susceptibles de donner des valeurs incompréhensibles. Vous pouvez obtenir des nombres plus grands par agrégation, soit en utilisant une fenêtre d'alignement qui est plus longue que la période d'échantillonnage, ou en regroupant les données étiquettes. Ces techniques réduisent l'effet de différences mineures du nombre de points dans un intervalle donné. En d'autres termes, une disparité de deux points est plus importante lorsque le nombre attendu de points dans un intervalle est de 3 par rapport au nombre attendu de 300.

Si vous utilisez des types de métriques intégrés, vous n'aurez peut-être pas d'autre choix que de calculer les ratios sur l'ensemble des types de métriques pour obtenir la valeur souhaitée.

Si vous concevez des métriques personnalisées pouvant comptabiliser la même chose (par exemple, des RPC qui renvoient des états d'erreur) dans deux métriques différentes, envisagez plutôt d'utiliser une seule métrique, qui inclut un décompte à la fois. Par exemple, supposons que vous comptabilisiez les RPC et que vous souhaitiez suivre le ratio entre les RPC ayant échoué et tous les RPC. Pour résoudre ce problème, créez un seul type de métrique pour comptabiliser les RPC et utilisez un libellé pour enregistrer l'état de l'appel, y compris l'état "OK". Chaque valeur d'état (erreur ou état "OK") est ensuite enregistrée en mettant à jour un seul compteur pour ce cas.

Étape suivante