Les libellés définis par l'utilisateur dans les règles d'alerte de Cloud Monitoring vous permettent de organiser et de hiérarchiser vos alertes. Lorsque vous configurez ces libellés, Monitoring les affiche dans les règles d'alerte et les alertes, et peut les inclure dans les notifications.
À propos des libellés
Les libellés, qui sont des paires clé/valeur, permettent d'associer des informations à une série temporelle, une règle d'alerte, une alerte ou une notification. Par exemple, les libellés d'une série temporelle peuvent identifier l'instance de machine virtuelle (VM) spécifique à partir de laquelle les données ont été collectées. Les libellés peuvent être définis par l'utilisateur ou prédéfinis.
Libellés définis par l'utilisateur
Les libellés définis par l'utilisateur contiennent des informations que vous spécifiez. Ces libellés peuvent avoir des valeurs statiques ou dynamiques :
Les libellés statiques définis par l'utilisateur ont des valeurs qui ne peuvent pas être modifiées. Vous pouvez créer des libellés statiques définis par l'utilisateur lorsque vous configurez une règle d'alerte à l'aide de la Google Cloud console ou de l'API Cloud Monitoring. Pour en savoir plus, consultez les documents suivants :
Les libellés dynamiques définis par l'utilisateur ont des valeurs qui peuvent changer en fonction des valeurs des données de séries temporelles. Vous pouvez créer des libellés dynamiques définis par l'utilisateur lorsque vous configurez la condition d'une règle d'alerte avec PromQL. Pour obtenir un exemple, consultez Exemple : Ajouter des libellés définis par l'utilisateur avec des valeurs dynamiques.
Les libellés doivent commencer par une lettre minuscule. Les libellés et leurs valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets.
Libellés prédéfinis
Les libellés prédéfinis sont inclus dans les descripteurs de ressources. Ils doivent être renseignés lorsque des données de séries temporelles sont écrites. Ces libellés affichent des informations sur la métrique collectée ou la ressource par rapport à laquelle la métrique est écrite. Par exemple, les libellés d'une série temporelle peuvent identifier une machine virtuelle (VM), une zone, un Google Cloud projet et un type d'appareil. Lorsque Monitoring crée une alerte basée sur cette série temporelle, l'alerte hérite de ces libellés.
Libellés App Hub
App Hub associe des libellés aux données de journaux, de métriques et de traces générées par une application, ses services et ses charges de travail. Ces libellés permettent à l' Google Cloud infrastructure de créer des tableaux de bord d' application, de service et de charge de travail qui affichent des données de métriques et de journaux. Pour en savoir plus, consultez l'un des documents suivants :
- Google Cloud console : Associer une règle d'alerte à une application App Hub.
- API Cloud Monitoring : Associer une règle d'alerte à une application App Hub.
Afficher les libellés
Vous pouvez afficher les libellés d'une règle d'alerte ou d'une alerte sur la page d'informations d'une alerte, sur la page d'informations d'une règle d'alerte, et dans certaines notifications.
- Règles d'alerte : les libellés statiques définis par l'utilisateur sont listés dans la section Libellés utilisateur. Les libellés dynamiques définis par l'utilisateur et les libellés prédéfinis ne sont pas visibles.
- Alertes : les libellés statiques définis par l'utilisateur sont listés dans la section Libellés de règles, et les libellés dynamiques définis par l'utilisateur sont listés dans la section Libellés de métriques. Les libellés prédéfinis sont listés dans les sections Libellés de ressources surveillées et Libellés de métriques.
Notifications : les libellés prédéfinis et les libellés définis par l'utilisateur sont listés dans les types de notifications suivants :
- Google Chat
- PagerDuty
- Pub/Sub
- Webhook
Exemple : Ajouter des libellés définis par l'utilisateur avec des valeurs dynamiques
Vous pouvez utiliser PromQL pour configurer un libellé afin que sa valeur change de manière dynamique en fonction des données de séries temporelles. Par exemple, vous souhaitez que vos alertes aient un libellé criticality dont la valeur change en fonction de la valeur de la métrique d'utilisation du processeur surveillée :
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.9,
"criticality", "CRITICAL", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.8,
"criticality", "WARNING", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]) >= 0.7,
"criticality", "INFO", "", ""
)
or ignoring (criticality)
label_replace(
avg_over_time({"compute.googleapis.com/instance/cpu/utilization", monitored_resource="gce_instance"}[5m]),
"criticality", "GOOD", "", ""
)
La figure suivante illustre comment les règles d'alerte qui utilisent des requêtes PromQL traitent les données de séries temporelles qu'elles surveillent :
Le gestionnaire de règles traite les données d'utilisation du processeur et génère une série temporelle indiquant quand la condition est remplie. Dans l'exemple précédent, la condition est remplie lorsque l'utilisation du processeur est d'au moins 70%. Pour chaque série temporelle d'entrée, le gestionnaire de règles peut générer l'une des quatre séries temporelles suivantes :
| Nom de la série temporelle de sortie | Condition remplie | Description |
|---|---|---|
| "GOOD" | Non | Cette série temporelle comporte les mêmes libellés que la série temporelle d'entrée. Elle n'a pas de libellé de gravité. |
| "CRITICAL" | Oui | L'utilisation du processeur est d'au moins 90%. La série temporelle de sortie comporte les mêmes libellés que la série temporelle "GOOD", plus un libellé de gravité avec la valeur "CRITICAL". |
| "WARNING" | Oui | L'utilisation du processeur est d'au moins 80 %, mais inférieure à 90%. La série temporelle de sortie comporte les mêmes libellés que la série temporelle "GOOD", plus un libellé de gravité avec la valeur "WARNING". |
| "INFO" | Oui | L'utilisation du processeur est d'au moins 70 %, mais inférieure à 80%. La série temporelle de sortie comporte les mêmes libellés que la série temporelle "GOOD", plus un libellé de gravité avec la valeur "INFO". |
Les données de séries temporelles générées par le gestionnaire de règles sont l'entrée du
gestionnaire d'alertes, qui détermine quand les alertes sont créées et
fermées. Pour déterminer quand fermer une alerte, le gestionnaire d'alertes utilise les valeurs des champs duration, evaluationMissingData et autoClose.
Bonnes pratiques
Pour vérifier qu'au maximum une alerte est ouverte à la fois lorsque vous créez des libellés dont les valeurs sont définies de manière dynamique, procédez comme suit :
Dans l'objet
MetricThreshold, remplacez les valeurs par défaut des champs suivants :- Champ
duration: définissez une valeur différente de zéro. - Champ
evaluationMissingData: définissez-le de sorte que les alertes soient fermées lorsque les données cessent d'arriver. Lorsque vous utilisez l'API Cloud Monitoring, définissez ce champ surEVALUATION_MISSING_DATA_INACTIVE. Lorsque vous utilisez la Google Cloud console, définissez le champ sur "Les points de données manquants sont traités comme des valeurs qui n'enfreignent pas la condition de la règle".
- Champ
Dans l'objet
AlertStrategy, définissez le champautoClosesur sa valeur minimale de 30 minutes. Lorsque vous utilisez l'API Cloud Monitoring, définissez ce champ sur30m.
Pour en savoir plus, consultez Données de métriques partielles.
Flux d'alertes
Supposons que les mesures d'utilisation du processeur soient inférieures à 70% lors de la création de la règle d'alerte. La séquence suivante illustre l'ouverture et la fermeture des alertes :
Étant donné que les mesures d'utilisation du processeur sont inférieures à 70%, le gestionnaire de règles génère la série temporelle "GOOD" et aucune alerte n'est ouverte.
Supposons ensuite que l'utilisation du processeur passe à 93%. Le gestionnaire de règles cesse de générer les données de séries temporelles "GOOD" et commence à générer des données pour la série temporelle "CRITICAL".
Le gestionnaire d'alertes voit une nouvelle série temporelle "CRITICAL" qui remplit la condition, puis ouvre une alerte. La notification inclut le libellé de gravité avec la valeur
CRITICAL.Supposons que l'utilisation du processeur passe à 75%. Le gestionnaire de règles cesse de générer la série temporelle "CRITICAL" et commence à générer la série temporelle "INFO".
Le gestionnaire d'alertes voit une nouvelle série temporelle "INFO" qui remplit la condition, puis ouvre une alerte. La notification inclut le libellé de gravité avec la valeur
INFO.Le gestionnaire d'alertes constate qu'aucune donnée n'arrive pour la série temporelle "CRITICAL" et qu'une alerte est ouverte pour cette série temporelle. Étant donné que la règle est configurée pour fermer les alertes lorsque les données cessent d'arriver, le gestionnaire d'alertes ferme l'alerte associée à la série temporelle "CRITICAL". Par conséquent, seule l'alerte dont le libellé de gravité a la valeur
INFOreste ouverte.Enfin, supposons que l'utilisation du processeur passe à 45%. Cette valeur est inférieure à tous les seuils. Le gestionnaire de règles cesse donc de générer la série temporelle "INFO" et commence à générer la série temporelle "GOOD".
Le gestionnaire d'alertes constate qu'aucune donnée n'arrive pour la série temporelle "INFO" et qu'une alerte est ouverte pour cette série temporelle. Étant donné que la règle utilise les paramètres recommandés, l'alerte est fermée.
Si vous n'utilisez pas la valeur recommandée pour le champ evaluationMissingData, lorsque les données cessent d'arriver, les alertes ouvertes ne sont pas fermées immédiatement.
Par conséquent, vous pouvez voir plusieurs alertes ouvertes pour la même série temporelle d'entrée. Pour en savoir plus, consultez
Données de métriques partielles.
Étape suivante
- Créer des règles d'alerte à l'aide de l'API Monitoring
- Créer des règles d'alerte à l'aide de PromQL
- Gérer les données de métriques partielles