MCP Tools Reference: monitoring.googleapis.com

Outil : get_alert_policy

Utilisez-le comme outil principal pour obtenir des informations sur une règle d'alerte spécifique. Les règles d'alerte définissent les conditions dans lesquelles vous souhaitez être averti des problèmes liés à vos services. Cela permet de comprendre les détails d'une configuration d'alerte spécifique.

L'exemple suivant montre comment utiliser curl pour appeler l'outil MCP get_alert_policy.

Requête curl
                  
curl --location 'https://monitoring.googleapis.com/mcp' \
--header 'content-type: application/json' \
--header 'accept: application/json, text/event-stream' \
--data '{
  "method": "tools/call",
  "params": {
    "name": "get_alert_policy",
    "arguments": {
      // provide these details according to the tool's MCP specification
    }
  },
  "jsonrpc": "2.0",
  "id": 1
}'
                

Schéma d'entrée

Protocole de la requête GetAlertPolicy.

GetAlertPolicyRequest

Représentation JSON
{
  "name": string
}
Champs
name

string

Obligatoire. Règle d'alerte à récupérer. Il a le format suivant :

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]

Schéma de sortie

Description des conditions dans lesquelles certains aspects de votre système sont considérés comme "non opérationnels" et des moyens d'envoyer une notification à ce sujet à des personnes ou à des services. Pour obtenir une présentation des règles d'alerte, consultez Présentation des alertes.

AlertPolicy

Représentation JSON
{
  "name": string,
  "displayName": string,
  "documentation": {
    object (Documentation)
  },
  "userLabels": {
    string: string,
    ...
  },
  "conditions": [
    {
      object (Condition)
    }
  ],
  "combiner": enum (ConditionCombinerType),
  "enabled": boolean,
  "validity": {
    object (Status)
  },
  "notificationChannels": [
    string
  ],
  "creationRecord": {
    object (MutationRecord)
  },
  "mutationRecord": {
    object (MutationRecord)
  },
  "alertStrategy": {
    object (AlertStrategy)
  },
  "severity": enum (Severity)
}
Champs
name

string

Identifiant. Obligatoire si la règle existe. Nom de ressource de cette règle. Il a le format suivant :

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[ALERT_POLICY_ID]

[ALERT_POLICY_ID] est attribué par Cloud Monitoring lors de la création de la règle. Lorsque vous appelez la méthode alertPolicies.create, n'incluez pas le champ name dans la règle d'alerte transmise dans la requête.

displayName

string

Nom ou expression courts utilisés pour identifier la règle dans les tableaux de bord, les notifications et les incidents. Pour éviter toute confusion, n'utilisez pas le même nom à afficher pour plusieurs règles dans le même projet. Le nom ne peut pas comporter plus de 512 caractères Unicode.

La convention pour le display_name d'une PrometheusQueryLanguageCondition est "{nom du groupe de règles}/{nom de l'alerte}", où {nom du groupe de règles} et {nom de l'alerte} doivent être extraits du fichier de configuration Prometheus correspondant. Cette convention n'est pas appliquée. Dans tous les cas, display_name n'est pas une clé unique pour AlertPolicy.

documentation

object (Documentation)

Documentation incluse dans les notifications et les incidents liés à cette règle. Il est recommandé que la documentation inclue des informations permettant aux personnes recevant la notification de comprendre, d'atténuer, d'escalader et de corriger les problèmes sous-jacents détectés par la règle d'alerte. Il est possible que cette documentation ne s'affiche pas pour les canaux de notification dont la capacité est limitée.

userLabels

map (key: string, value: string)

Données clé/valeur fournies par l'utilisateur à utiliser pour organiser et identifier les objets AlertPolicy.

Le champ peut contenir jusqu'à 64 entrées. Chaque clé et valeur est limitée à 63 caractères Unicode ou 128 octets, selon la limite la plus petite. Les libellés et les valeurs ne peuvent contenir que des lettres minuscules, des chiffres, des traits de soulignement et des tirets. Les clés doivent commencer par une lettre.

Notez que Prometheus {alert name} est un nom de libellé Prometheus valide, tandis que Prometheus {rule group} est une chaîne UTF-8 non limitée. Cela signifie qu'elles ne peuvent pas être stockées telles quelles dans les libellés utilisateur, car elles peuvent contenir des caractères non autorisés dans les valeurs de libellé utilisateur.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

conditions[]

object (Condition)

Liste des conditions de la règle. Les conditions sont combinées par ET ou OU en fonction du champ combiner. Si les conditions combinées prennent la valeur "true", un incident est créé. Une règle peut comporter entre une et six conditions. Si condition_time_series_query_language est présent, il doit être le seul condition. Si condition_monitoring_query_language est présent, il doit être le seul condition.

combiner

enum (ConditionCombinerType)

Comment combiner les résultats de plusieurs conditions pour déterminer si un incident doit être ouvert. Si condition_time_series_query_language est présent, la valeur doit être COMBINE_UNSPECIFIED.

enabled

boolean

Indique si la règle est activée ou non. Lors de l'écriture, l'interprétation par défaut si elle n'est pas définie est que la règle est activée. Lors de la lecture, les clients ne doivent faire aucune hypothèse sur l'état s'il n'a pas été renseigné. Le champ doit toujours être renseigné dans les opérations List et Get, sauf si une projection de champ a été spécifiée pour le supprimer.

validity

object (Status)

Description en lecture seule de la raison pour laquelle la règle d'alerte n'est pas valide. Ce champ n'est défini que lorsque la règle d'alerte n'est pas valide. Une règle d'alerte non valide ne générera pas d'incidents.

notificationChannels[]

string

Identifie les canaux de notification auxquels les notifications doivent être envoyées lorsque des incidents sont ouverts ou fermés, ou lorsque de nouveaux cas de non-respect se produisent dans un incident déjà ouvert. Chaque élément de ce tableau correspond au champ name de chacun des objets NotificationChannel renvoyés par la méthode ListNotificationChannels. Le format des entrées dans ce champ est le suivant :

projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
creationRecord

object (MutationRecord)

Enregistrement en lecture seule de la création de la règle d'alerte. Si ce champ est fourni dans un appel de création ou de mise à jour, il sera ignoré.

mutationRecord

object (MutationRecord)

Enregistrement en lecture seule de la dernière modification apportée à la règle d'alerte. Si ce champ est fourni dans un appel de création ou de mise à jour, il sera ignoré.

alertStrategy

object (AlertStrategy)

Contrôle de la façon dont les canaux de notification de cette règle d'alerte sont avertis.

severity

enum (Severity)

Facultatif. La gravité d'une règle d'alerte indique l'importance des incidents générés par cette règle. Le niveau de gravité s'affiche sur la page d'informations sur l'incident et dans les notifications.

Documentation

Représentation JSON
{
  "content": string,
  "mimeType": string,
  "subject": string,
  "links": [
    {
      object (Link)
    }
  ]
}
Champs
content

string

Corps de la documentation, interprété selon mime_type. Le contenu ne doit pas dépasser 8 192 caractères Unicode ni 10 240 octets lorsqu'il est encodé au format UTF-8, selon la limite la plus petite. Ce texte peut être personnalisé à l'aide de variables.

mimeType

string

Format du champ content. Actuellement, seule la valeur "text/markdown" est acceptée. Pour en savoir plus, consultez Markdown.

subject

string

Facultatif. Objet de la notification. L'objet ne doit pas dépasser 10 240 octets. Dans les notifications générées par cette règle, le contenu de la ligne d'objet après l'expansion des variables sera tronqué à 255 octets ou moins à la dernière limite de caractères UTF-8. La limite de 255 octets est recommandée dans ce fil de discussion. Il s'agit à la fois de la limite imposée par certains produits de billetterie tiers et il est courant de définir les champs de texte dans les bases de données comme VARCHAR(255).

Le contenu de la ligne d'objet peut être personnalisé à l'aide de variables. Si ce champ est manquant ou vide, une ligne d'objet par défaut sera générée.

links[]

object (Link)

Facultatif. Liens vers des contenus tels que des playbooks, des dépôts et d'autres ressources. Ce champ peut contenir jusqu'à trois entrées.

Représentation JSON
{
  "displayName": string,
  "url": string
}
Champs
displayName

string

Nom à afficher court pour l'association. Le nom à afficher ne doit pas être vide ni dépasser 63 caractères. Exemple : "playbook".

url

string

URL d'une page Web. Une URL peut être modélisée à l'aide de variables dans le chemin d'accès ou les paramètres de requête. La longueur totale d'une URL ne doit pas dépasser 2 083 caractères avant et après l'expansion des variables. Exemple : "https://my_domain.com/playbook?name=${resource.name}"

UserLabelsEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

Condition

Représentation JSON
{
  "name": string,
  "displayName": string,

  // Union field condition can be only one of the following:
  "conditionThreshold": {
    object (MetricThreshold)
  },
  "conditionAbsent": {
    object (MetricAbsence)
  },
  "conditionMatchedLog": {
    object (LogMatch)
  },
  "conditionMonitoringQueryLanguage": {
    object (MonitoringQueryLanguageCondition)
  },
  "conditionPrometheusQueryLanguage": {
    object (PrometheusQueryLanguageCondition)
  },
  "conditionSql": {
    object (SqlCondition)
  }
  // End of list of possible types for union field condition.
}
Champs
name

string

Obligatoire si la condition existe. Nom de ressource unique pour cette condition. Son format est le suivant :

projects/[PROJECT_ID_OR_NUMBER]/alertPolicies/[POLICY_ID]/conditions/[CONDITION_ID]

[CONDITION_ID] est attribué par Cloud Monitoring lorsque la condition est créée dans une règle d'alerte nouvelle ou modifiée.

Lorsque vous appelez la méthode alertPolicies.create, n'incluez pas le champ name dans les conditions de la règle d'alerte demandée. Cloud Monitoring crée les identifiants de condition et les inclut dans la nouvelle règle.

Lorsque vous appelez la méthode alertPolicies.update pour mettre à jour une stratégie, l'inclusion d'une condition name entraîne la mise à jour de la condition existante. Les conditions sans nom sont ajoutées à la règle mise à jour. Les conditions existantes sont supprimées si elles ne sont pas mises à jour.

Il est recommandé de conserver [CONDITION_ID] si vous n'apportez que de petites modifications, par exemple aux seuils, aux durées ou aux valeurs de déclenchement des conditions. Sinon, traitez la modification comme une nouvelle condition et laissez la condition existante être supprimée.

displayName

string

Nom ou expression courte utilisée pour identifier la condition dans les tableaux de bord, les notifications et les incidents. Pour éviter toute confusion, n'utilisez pas le même nom à afficher pour plusieurs conditions dans la même règle.

Champ d'union condition. Un seul des types de conditions suivants sera spécifié. condition ne peut être qu'un des éléments suivants :
conditionThreshold

object (MetricThreshold)

Condition qui compare une série temporelle à un seuil.

conditionAbsent

object (MetricAbsence)

Condition qui vérifie qu'une série temporelle continue de recevoir de nouveaux points de données.

conditionMatchedLog

object (LogMatch)

Condition qui recherche les messages de journaux correspondant aux contraintes données. Si cette option est définie, aucune autre condition ne peut être présente.

conditionMonitoringQueryLanguage

object (MonitoringQueryLanguageCondition)

Condition qui utilise le langage MQL (Monitoring Query Language) pour définir des alertes.

conditionPrometheusQueryLanguage

object (PrometheusQueryLanguageCondition)

Condition qui utilise le langage de requête Prometheus pour définir des alertes.

conditionSql

object (SqlCondition)

Condition qui évalue périodiquement le résultat d'une requête SQL.

MetricThreshold

Représentation JSON
{
  "filter": string,
  "aggregations": [
    {
      object (Aggregation)
    }
  ],
  "denominatorFilter": string,
  "denominatorAggregations": [
    {
      object (Aggregation)
    }
  ],
  "forecastOptions": {
    object (ForecastOptions)
  },
  "comparison": enum (ComparisonType),
  "thresholdValue": number,
  "duration": string,
  "trigger": {
    object (Trigger)
  },
  "evaluationMissingData": enum (EvaluationMissingData)
}
Champs
filter

string

Obligatoire. Un filtre qui identifie la série temporelle à comparer au seuil.

Le filtre est semblable à celui spécifié dans la requête ListTimeSeries (cet appel est utile pour vérifier les séries temporelles qui seront récupérées / traitées). Le filtre doit spécifier le type de métrique et le type de ressource. Il peut également spécifier des libellés de ressources et de métriques. La longueur de ce champ ne doit pas dépasser 2 048 caractères Unicode.

aggregations[]

object (Aggregation)

Spécifie l'alignement des points de données dans les séries temporelles individuelles, ainsi que la manière de combiner les séries temporelles récupérées (par exemple, lors de l'agrégation de plusieurs flux sur chaque ressource en un seul flux pour chaque ressource ou lors de l'agrégation de flux sur tous les membres d'un groupe de ressources). Plusieurs agrégations sont appliquées dans l'ordre spécifié.

Ce champ est semblable à celui de la requête ListTimeSeries. Il est conseillé d'utiliser la méthode ListTimeSeries pour déboguer ce champ.

denominatorFilter

string

Un filtre qui identifie une série temporelle à utiliser comme dénominateur d'un ratio qui sera comparé au seuil. Si un denominator_filter est spécifié, la série temporelle spécifiée par le champ filter sera utilisée comme numérateur.

Le filtre doit spécifier le type de métrique et peut éventuellement contenir des restrictions sur le type de ressource, les libellés de ressource et les libellés de métrique. Ce champ ne peut pas dépasser 2 048 caractères Unicode.

denominatorAggregations[]

object (Aggregation)

Spécifie l'alignement des points de données dans les séries temporelles individuelles sélectionnées par denominatorFilter, ainsi que la manière de combiner les séries temporelles récupérées (par exemple, lors de l'agrégation de plusieurs flux sur chaque ressource en un seul flux pour chaque ressource ou lors de l'agrégation de flux sur tous les membres d'un groupe de ressources).

Lorsque vous calculez des ratios, les champs aggregations et denominator_aggregations doivent utiliser la même période d'alignement et générer des séries temporelles ayant la même périodicité et les mêmes libellés.

forecastOptions

object (ForecastOptions)

Lorsque ce champ est présent, la condition MetricThreshold prévoit si la série temporelle devrait dépasser le seuil au cours de la période forecast_horizon. Si ce champ n'est pas défini, MetricThreshold compare la valeur actuelle de la série temporelle au seuil.

comparison

enum (ComparisonType)

Comparaison à appliquer entre les séries temporelles (indiquées par filter et aggregation) et le seuil (indiqué par threshold_value). La comparaison est appliquée à chaque série temporelle, avec la série temporelle à gauche et le seuil à droite.

Seuls COMPARISON_LT et COMPARISON_GT sont actuellement acceptés.

thresholdValue

number

Valeur à laquelle comparer la série temporelle.

duration

string (Duration format)

Obligatoire. Durée pendant laquelle une série temporelle doit dépasser le seuil pour être considérée comme en échec. Actuellement, seules les valeurs qui sont un multiple d'une minute (par exemple, 0, 60, 120 ou 300 secondes) sont acceptées. Si une valeur non valide est fournie, une erreur est renvoyée. Lorsque vous choisissez une durée, il est utile de garder à l'esprit la fréquence des données de série temporelle sous-jacentes (qui peut également être affectée par les alignements spécifiés dans le champ aggregations). Une bonne durée est suffisamment longue pour qu'une seule valeur aberrante ne génère pas d'alertes erronées, mais suffisamment courte pour que les états anormaux soient détectés et signalés rapidement.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

trigger

object (Trigger)

Nombre ou pourcentage de séries temporelles pour lesquelles la comparaison doit être vraie pour que la condition soit déclenchée. Si aucune valeur n'est spécifiée, la condition se déclenche si la comparaison est "true" pour l'une des séries temporelles identifiées par filter et aggregations, ou par le ratio, si denominator_filter et denominator_aggregations sont spécifiés.

evaluationMissingData

enum (EvaluationMissingData)

Contrôle de condition qui détermine comment les conditions de seuil de métrique sont évaluées lorsque les données cessent d'arriver. Pour utiliser cette commande, la valeur du champ duration doit être supérieure ou égale à 60 secondes.

Agrégation

Représentation JSON
{
  "alignmentPeriod": string,
  "perSeriesAligner": enum (Aligner),
  "crossSeriesReducer": enum (Reducer),
  "groupByFields": [
    string
  ]
}
Champs
alignmentPeriod

string (Duration format)

alignment_period spécifie un intervalle de temps, en secondes, utilisé pour diviser les données de tous les time series en blocs de temps cohérents. Cette opération sera effectuée avant que l'aligneur par série puisse être appliqué aux données.

La valeur doit être d'au moins 60 secondes. Si un aligneur par série autre que ALIGN_NONE est spécifié, ce champ est obligatoire ou une erreur est renvoyée. Si aucun aligneur par série n'est spécifié ou si l'aligneur ALIGN_NONE est spécifié, ce champ est ignoré.

La valeur maximale de alignment_period est de 104 semaines (2 ans) pour les graphiques et de 90 000 secondes (25 heures) pour les règles d'alerte.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

perSeriesAligner

enum (Aligner)

Un Aligner décrit comment aligner temporellement les points de données d'une même série temporelle. À l'exception de ALIGN_NONE, tous les alignements regroupent mathématiquement tous les points de données d'un alignment_period, ce qui donne un seul point de données pour chaque alignment_period avec un code temporel de fin à la fin de la période.

Toutes les opérations d'alignement ne peuvent pas être appliquées à toutes les séries temporelles. Les choix valides dépendent des valeurs metric_kind et value_type de la série temporelle d'origine. L'alignement peut modifier le metric_kind ou le value_type de la série temporelle.

Les données de séries temporelles doivent être alignées pour pouvoir effectuer une réduction de séries temporelles croisées. Si cross_series_reducer est spécifié, per_series_aligner doit l'être également et ne doit pas être égal à ALIGN_NONE. alignment_period doit également être spécifié. Sinon, une erreur est renvoyée.

crossSeriesReducer

enum (Reducer)

Opération de réduction à utiliser pour combiner des séries temporelles en une seule série temporelle, où la valeur de chaque point de données de la série résultante est fonction de toutes les valeurs déjà alignées dans les séries temporelles d'entrée.

Toutes les opérations de réduction ne peuvent pas être appliquées à toutes les séries temporelles. Les choix valides dépendent de la metric_kind et de la value_type de la série temporelle d'origine. La réduction peut générer une série temporelle avec un metric_kind ou un value_type différents de ceux de la série temporelle d'entrée.

Les données de séries temporelles doivent d'abord être alignées (voir per_series_aligner) pour pouvoir effectuer une réduction des séries temporelles croisées. Si cross_series_reducer est spécifié, per_series_aligner doit l'être également et ne doit pas être ALIGN_NONE. Un alignment_period doit également être spécifié. Dans le cas contraire, une erreur est renvoyée.

groupByFields[]

string

Ensemble de champs à conserver lorsque cross_series_reducer est spécifié. group_by_fields détermine la manière dont les séries temporelles sont divisées en sous-ensembles avant l'application de l'opération d'agrégation. Chaque sous-ensemble contient des séries temporelles qui ont la même valeur pour chacun des champs de regroupement. Chaque série temporelle individuelle appartient à un seul sous-ensemble. Le cross_series_reducer est appliqué à chaque sous-ensemble de séries temporelles. Il n'est pas possible de réduire les ressources de différents types. Ce champ contient donc implicitement resource.type. Les champs non spécifiés dans group_by_fields sont agrégés. Si group_by_fields n'est pas spécifié et que toutes les séries temporelles ont le même type de ressource, elles sont agrégées en une seule série temporelle de sortie. Si cross_series_reducer n'est pas défini, ce champ est ignoré.

Durée

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Secondes signées de la durée. La valeur doit être comprise entre -315 576 000 000 et +315 576 000 000 (inclus). Remarque : Ces limites sont calculées à partir de : 60 s/min * 60 min/h * 24 h/jour * 365,25 jours/an * 10 000 ans

nanos

integer

Fractions de secondes signées avec une précision de l'ordre de la nanoseconde pour la durée. Les durées inférieures à une seconde sont représentées par un champ seconds égal à 0 et un champ nanos positif ou négatif. Pour les durées d'une seconde ou plus, une valeur non nulle pour le champ nanos doit avoir le même signe que le champ seconds. La valeur doit être comprise entre -999 999 999 et +999 999 999 inclus.

ForecastOptions

Représentation JSON
{
  "forecastHorizon": string
}
Champs
forecastHorizon

string (Duration format)

Obligatoire. Période future pour laquelle il faut prévoir si une série temporelle dépassera le seuil. Si la valeur prédite ne respecte pas le seuil et que le non-respect est observé dans toutes les prévisions effectuées pour le duration configuré, la série temporelle est considérée comme défaillante. L'horizon de prévision peut aller de 1 à 60 heures.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

Déclencheur

Représentation JSON
{

  // Union field type can be only one of the following:
  "count": integer,
  "percent": number
  // End of list of possible types for union field type.
}
Champs
Champ d'union type. Type de déclencheur. type ne peut être qu'un des éléments suivants :
count

integer

Nombre absolu de séries temporelles qui doivent ne pas respecter le prédicat pour que la condition soit déclenchée.

percent

number

Pourcentage de séries temporelles qui doivent ne pas respecter le prédicat pour que la condition soit déclenchée.

MetricAbsence

Représentation JSON
{
  "filter": string,
  "aggregations": [
    {
      object (Aggregation)
    }
  ],
  "duration": string,
  "trigger": {
    object (Trigger)
  }
}
Champs
filter

string

Obligatoire. Un filtre qui identifie la série temporelle à comparer au seuil.

Le filtre est semblable à celui spécifié dans la requête ListTimeSeries (cet appel est utile pour vérifier les séries temporelles qui seront récupérées / traitées). Le filtre doit spécifier le type de métrique et le type de ressource. Il peut également spécifier des libellés de ressources et de métriques. La longueur de ce champ ne doit pas dépasser 2 048 caractères Unicode.

aggregations[]

object (Aggregation)

Spécifie l'alignement des points de données dans les séries temporelles individuelles, ainsi que la manière de combiner les séries temporelles récupérées (par exemple, lors de l'agrégation de plusieurs flux sur chaque ressource en un seul flux pour chaque ressource ou lors de l'agrégation de flux sur tous les membres d'un groupe de ressources). Plusieurs agrégations sont appliquées dans l'ordre spécifié.

Ce champ est semblable à celui de la requête ListTimeSeries. Il est conseillé d'utiliser la méthode ListTimeSeries pour déboguer ce champ.

duration

string (Duration format)

Obligatoire. Durée pendant laquelle une série temporelle doit ne pas signaler de nouvelles données pour être considérée comme défaillante. La valeur minimale de ce champ est de 120 secondes. Les valeurs plus élevées qui sont un multiple d'une minute (par exemple, 240 ou 300 secondes) sont acceptées. Si une valeur non valide est fournie, une erreur est renvoyée.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

trigger

object (Trigger)

Nombre ou pourcentage de séries temporelles pour lesquelles la comparaison doit être vraie pour que la condition soit déclenchée. Si aucune valeur n'est spécifiée, la condition se déclenche si la comparaison est vraie pour l'une des séries temporelles identifiées par filter et aggregations.

LogMatch

Représentation JSON
{
  "filter": string,
  "labelExtractors": {
    string: string,
    ...
  }
}
Champs
filter

string

Obligatoire. Filtre basé sur les journaux. Pour savoir comment créer ce filtre, consultez Requêtes de journaux avancées.

labelExtractors

map (key: string, value: string)

Facultatif. Mappage d'une clé d'étiquette à une expression d'extracteur, qui est utilisée pour extraire la valeur de cette clé d'étiquette. Chaque entrée de cette carte est une spécification indiquant comment les données doivent être extraites des entrées de journaux correspondant à filter. Chaque combinaison de valeurs extraites est traitée comme une règle distincte pour le déclenchement des notifications. Les clés de libellé et les valeurs correspondantes peuvent être utilisées dans les notifications générées par cette condition.

Pour connaître la syntaxe et obtenir des exemples, veuillez consulter la documentation sur les métrique basée sur les journaux valueExtractor.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

LabelExtractorsEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

MonitoringQueryLanguageCondition

Représentation JSON
{
  "query": string,
  "duration": string,
  "trigger": {
    object (Trigger)
  },
  "evaluationMissingData": enum (EvaluationMissingData)
}
Champs
query

string

Requête Monitoring Query Language qui génère un flux booléen.

duration

string (Duration format)

Facultatif. Durée pendant laquelle une série temporelle doit dépasser le seuil pour être considérée comme en échec. Actuellement, seules les valeurs qui sont un multiple d'une minute (par exemple, 0, 60, 120 ou 300 secondes) sont acceptées. Si une valeur non valide est fournie, une erreur est renvoyée. Lorsque vous choisissez une durée, il est utile de garder à l'esprit la fréquence des données de série temporelle sous-jacentes (qui peut également être affectée par les alignements spécifiés dans le champ aggregations). Une bonne durée est suffisamment longue pour qu'une seule valeur aberrante ne génère pas d'alertes erronées, mais suffisamment courte pour que les états anormaux soient détectés et signalés rapidement. La valeur par défaut est zéro.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

trigger

object (Trigger)

Nombre ou pourcentage de séries temporelles pour lesquelles la comparaison doit être vraie pour que la condition soit déclenchée. Si aucune valeur n'est spécifiée, la condition se déclenche si la comparaison est "true" pour l'une des séries temporelles identifiées par filter et aggregations, ou par le ratio, si denominator_filter et denominator_aggregations sont spécifiés.

evaluationMissingData

enum (EvaluationMissingData)

Contrôle de condition qui détermine comment les conditions de seuil de métrique sont évaluées lorsque les données cessent d'arriver.

PrometheusQueryLanguageCondition

Représentation JSON
{
  "query": string,
  "duration": string,
  "evaluationInterval": string,
  "labels": {
    string: string,
    ...
  },
  "ruleGroup": string,
  "alertRule": string,
  "disableMetricValidation": boolean
}
Champs
query

string

Obligatoire. Expression PromQL à évaluer. À chaque cycle d'évaluation, cette expression est évaluée à l'heure actuelle, et toutes les séries temporelles résultantes deviennent des alertes en attente/déclenchées. Ce champ ne doit pas être vide.

duration

string (Duration format)

Facultatif. Les alertes sont considérées comme déclenchées une fois que leur expression PromQL a été évaluée comme étant "vraie" pendant cette période. Les alertes dont l'expression PromQL n'a pas été évaluée comme étant "vraie" pendant une durée suffisante sont considérées comme en attente. La valeur doit être une durée non négative ou être manquante. Ce champ est facultatif. Sa valeur par défaut est zéro.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

evaluationInterval

string (Duration format)

Facultatif. Fréquence d'évaluation de cette règle. Doit être un multiple positif de 30 secondes ou être absent. Ce champ est facultatif. Sa valeur par défaut est de 30 secondes. Si cette PrometheusQueryLanguageCondition a été générée à partir d'une règle d'alerte Prometheus, cette valeur doit être extraite du groupe de règles englobant.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

labels

map (key: string, value: string)

Facultatif. Libellés à ajouter ou à remplacer dans le résultat de la requête PromQL. Les noms des étiquettes doivent être valides. Les valeurs de libellé peuvent être modélisées à l'aide de variables. Les seuls noms de variables disponibles sont les noms des libellés dans le résultat PromQL, y compris "__name__" et "value". "labels" peut être vide.

Objet contenant une liste de paires "key": value. Exemple : { "name": "wrench", "mass": "1.3kg", "count": "3" }.

ruleGroup

string

Facultatif. Nom du groupe de règles de cette alerte dans le fichier de configuration Prometheus correspondant.

Certains outils externes peuvent nécessiter que ce champ soit correctement renseigné pour faire référence au fichier de configuration Prometheus d'origine. Le nom du groupe de règles et le nom de l'alerte sont nécessaires pour mettre à jour les AlertPolicies concernées si la définition du groupe de règles change à l'avenir.

Ce champ est facultatif. Si ce champ n'est pas vide, il doit contenir une chaîne UTF-8 valide. Ce champ ne peut pas dépasser 2 048 caractères Unicode.

alertRule

string

Facultatif. Nom de la règle d'alerte de cette alerte dans le fichier de configuration Prometheus correspondant.

Certains outils externes peuvent nécessiter que ce champ soit correctement renseigné pour faire référence au fichier de configuration Prometheus d'origine. Le nom du groupe de règles et le nom de l'alerte sont nécessaires pour mettre à jour les AlertPolicies concernées si la définition du groupe de règles change à l'avenir.

Ce champ est facultatif. Si ce champ n'est pas vide, il doit s'agir d'un nom de libellé Prometheus valide. Ce champ ne peut pas dépasser 2 048 caractères Unicode.

disableMetricValidation

boolean

Facultatif. Indique s'il faut désactiver la validation de l'existence de la métrique pour cette condition.

Cela permet de définir des règles d'alerte sur des métriques qui n'existent pas encore, ce qui améliore les workflows client avancés tels que la configuration de règles d'alerte à l'aide de Terraform.

Les utilisateurs disposant du rôle monitoring.alertPolicyViewer peuvent voir le nom de la métrique inexistante dans la condition de la règle d'alerte.

LabelsEntry

Représentation JSON
{
  "key": string,
  "value": string
}
Champs
key

string

value

string

SqlCondition

Représentation JSON
{
  "query": string,

  // Union field schedule can be only one of the following:
  "minutes": {
    object (Minutes)
  },
  "hourly": {
    object (Hourly)
  },
  "daily": {
    object (Daily)
  }
  // End of list of possible types for union field schedule.

  // Union field evaluate can be only one of the following:
  "rowCountTest": {
    object (RowCountTest)
  },
  "booleanTest": {
    object (BooleanTest)
  }
  // End of list of possible types for union field evaluate.
}
Champs
query

string

Obligatoire. Requête SQL d'analyse de journaux à exécuter, sous forme de chaîne. La requête doit respecter la forme requise. Plus précisément, la requête ne doit pas essayer de filtrer l'entrée par heure. Un filtre est automatiquement appliqué à l'entrée pour que la requête reçoive toutes les lignes reçues depuis la dernière exécution de la requête.

Par exemple, la requête suivante extrait toutes les entrées de journal contenant une requête HTTP :

SELECT
  timestamp, log_name, severity, http_request, resource, labels
FROM
  my-project.global._Default._AllLogs
WHERE
  http_request IS NOT NULL
Champ d'union schedule. La programmation indique la fréquence d'exécution de la requête. schedule ne peut être qu'un des éléments suivants :
minutes

object (Minutes)

Planifiez l'exécution de la requête toutes les X minutes.

hourly

object (Hourly)

Planifiez l'exécution de la requête toutes les X heures.

daily

object (Daily)

Planifiez l'exécution de la requête tous les X jours.

Champ d'union evaluate. Test à exécuter sur l'ensemble de résultats SQL. evaluate ne peut être qu'un des éléments suivants :
rowCountTest

object (RowCountTest)

Testez le nombre de lignes par rapport à un seuil.

booleanTest

object (BooleanTest)

Testez la valeur booléenne dans la colonne indiquée.

Minutes

Représentation JSON
{
  "periodicity": integer
}
Champs
periodicity

integer

Obligatoire. Nombre de minutes entre les exécutions. L'intervalle doit être supérieur ou égal à 5 minutes et inférieur ou égal à 1 440 minutes.

Toutes les heures

Représentation JSON
{
  "periodicity": integer,

  // Union field _minute_offset can be only one of the following:
  "minuteOffset": integer
  // End of list of possible types for union field _minute_offset.
}
Champs
periodicity

integer

Obligatoire. Nombre d'heures entre les exécutions. La valeur doit être supérieure ou égale à 1 heure et inférieure ou égale à 48 heures.

Champ d'union _minute_offset.

_minute_offset ne peut être qu'un des éléments suivants :

minuteOffset

integer

Facultatif. Nombre de minutes après l'heure (en UTC) pour exécuter la requête. Doit être supérieur ou égal à 0 minute et inférieur ou égal à 59 minutes. Si aucune valeur n'est spécifiée, un décalage arbitraire est utilisé.

Tous les jours

Représentation JSON
{
  "periodicity": integer,
  "executionTime": {
    object (TimeOfDay)
  }
}
Champs
periodicity

integer

Obligatoire. Nombre de jours entre les exécutions. Doit être supérieur ou égal à 1 jour et inférieur ou égal à 31 jours.

executionTime

object (TimeOfDay)

Facultatif. Heure de la journée (en UTC) à laquelle la requête doit être exécutée. Si aucune heure n'est spécifiée, le serveur en choisit une arbitrairement et exécute la requête à la même heure chaque jour.

TimeOfDay

Représentation JSON
{
  "hours": integer,
  "minutes": integer,
  "seconds": integer,
  "nanos": integer
}
Champs
hours

integer

Heures de la journée au format 24 heures. Doit être supérieur ou égal à 0 et généralement inférieur ou égal à 23. Une API peut choisir d'autoriser la valeur "24:00:00" pour des cas tels que l'heure de fermeture des bureaux.

minutes

integer

Minutes d'une heure. Doit être supérieur ou égal à 0 et inférieur ou égal à 59.

seconds

integer

Secondes d'une minute. Doit être supérieur ou égal à 0 et généralement inférieur ou égal à 59. Une API peut autoriser la valeur 60 si elle autorise les secondes intercalaires.

nanos

integer

Fractions de secondes, en nanosecondes. La valeur doit être supérieure ou égale à 0 et inférieure ou égale à 999 999 999.

RowCountTest

Représentation JSON
{
  "comparison": enum (ComparisonType),
  "threshold": string
}
Champs
comparison

enum (ComparisonType)

Obligatoire. Comparaison à appliquer entre le nombre de lignes renvoyées par la requête et le seuil.

threshold

string (int64 format)

Obligatoire. Valeur à laquelle comparer le nombre de lignes.

BooleanTest

Représentation JSON
{
  "column": string
}
Champs
column

string

Obligatoire. Nom de la colonne contenant la valeur booléenne. Si la valeur d'une ligne est NULL, cette ligne est ignorée.

BoolValue

Représentation JSON
{
  "value": boolean
}
Champs
value

boolean

Valeur booléenne.

État

Représentation JSON
{
  "code": integer,
  "message": string,
  "details": [
    {
      "@type": string,
      field1: ...,
      ...
    }
  ]
}
Champs
code

integer

Code d'état, qui doit être une valeur d'énumération de google.rpc.Code.

message

string

Message d'erreur destiné au développeur, qui doit être en anglais. Tout message d'erreur destiné aux utilisateurs doit être localisé et envoyé dans le champ google.rpc.Status.details, ou localisé par le client.

details[]

object

Liste de messages comportant les détails de l'erreur. Il existe un ensemble commun de types de message utilisable par les API.

Objet contenant des champs d'un type arbitraire. Un champ supplémentaire "@type" contient un URI identifiant le type. Exemple : { "id": 1234, "@type": "types.example.com/standard/id" }.

Tous

Représentation JSON
{
  "typeUrl": string,
  "value": string
}
Champs
typeUrl

string

Identifie le type du message Protobuf sérialisé avec une référence URI composée d'un préfixe se terminant par une barre oblique et du nom de type complet.

Exemple : type.googleapis.com/google.protobuf.StringValue

Cette chaîne doit contenir au moins un caractère /. Le contenu après le dernier / doit être le nom complet du type sous forme canonique, sans point au début. N'écrivez pas de schéma sur ces références URI afin que les clients ne tentent pas de les contacter.

Le préfixe est arbitraire et les implémentations Protobuf sont censées supprimer tout ce qui précède le dernier / (inclus) pour identifier le type. type.googleapis.com/ est un préfixe par défaut courant que certaines anciennes implémentations requièrent. Ce préfixe n'indique pas l'origine du type, et les URI qui le contiennent ne sont pas censés répondre aux requêtes.

Toutes les chaînes d'URL de type doivent être des références URI légales avec la restriction supplémentaire (pour le format texte) que le contenu de la référence ne doit être composé que de caractères alphanumériques, d'échappements encodés en pourcentage et de caractères de l'ensemble suivant (sans les accents graves extérieurs) : /-.~_!$&()*+,;=. Bien que nous autorisions les encodages en pourcentage, les implémentations ne doivent pas les décoder pour éviter toute confusion avec les analyseurs existants. Par exemple, type.googleapis.com%2FFoo doit être rejeté.

Dans la conception d'origine de Any, la possibilité de lancer un service de résolution de type à ces URL de type a été envisagée, mais Protobuf n'en a jamais implémenté et considère que la prise de contact avec ces URL est problématique et constitue un risque potentiel pour la sécurité. N'essayez pas de contacter les URL de type.

value

string (bytes format)

Contient une sérialisation Protobuf du type décrit par type_url.

Chaîne encodée en base64.

MutationRecord

Représentation JSON
{
  "mutateTime": string,
  "mutatedBy": string
}
Champs
mutateTime

string (Timestamp format)

La date et l'heure auxquelles la modification a été apportée.

Utilise la norme RFC 3339, où la sortie générée utilise toujours le format UTC (indiqué par "Z" pour le temps universel coordonné) avec des secondes fractionnaires de 0, 3, 6 ou 9 chiffres décimaux. Des décalages horaires autres que "Z" (UTC) sont également acceptés. Exemples : "2014-10-02T15:01:23Z", "2014-10-02T15:01:23.045123456Z" ou "2014-10-02T15:01:23+05:30".

mutatedBy

string

Adresse e-mail de l'utilisateur qui effectue la modification.

Horodatage

Représentation JSON
{
  "seconds": string,
  "nanos": integer
}
Champs
seconds

string (int64 format)

Représente les secondes de l'heure UTC à partir de l'epoch Unix 1970-01-01T00:00:00Z. La valeur doit être comprise entre -62135596800 et 253402300799 inclus (ce qui correspond à 0001-01-01T00:00:00Z et 9999-12-31T23:59:59Z).

nanos

integer

Fractions de secondes non négatives avec une précision de l'ordre de la nanoseconde. Ce champ correspond à la partie en nanosecondes de la durée, et non à une alternative aux secondes. Les valeurs de secondes négatives avec des fractions doivent toujours comporter des valeurs de nanosecondes non négatives comptabilisées dans le temps. La valeur doit être comprise entre 0 et 999 999 999 inclus.

AlertStrategy

Représentation JSON
{
  "notificationRateLimit": {
    object (NotificationRateLimit)
  },
  "notificationPrompts": [
    enum (NotificationPrompt)
  ],
  "autoClose": string,
  "notificationChannelStrategy": [
    {
      object (NotificationChannelStrategy)
    }
  ]
}
Champs
notificationRateLimit

object (NotificationRateLimit)

Obligatoire pour les règles d'alerte basées sur les journaux, c'est-à-dire les règles avec une condition LogMatch.

Cette limite ne s'applique pas aux règles d'alerte qui ne comportent pas de condition LogMatch.

notificationPrompts[]

enum (NotificationPrompt)

Pour les règles d'alerte basées sur les journaux, l'invite de notification est toujours [OUVERTE]. Pour les règles d'alerte non basées sur les journaux, les invites de notification peuvent être [OUVERT] ou [OUVERT, FERMÉ].

autoClose

string (Duration format)

Si une règle d'alerte active n'a pas de données pendant cette période, tous les incidents ouverts seront fermés.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

notificationChannelStrategy[]

object (NotificationChannelStrategy)

Contrôlez la façon dont les notifications seront envoyées, canal par canal.

NotificationRateLimit

Représentation JSON
{
  "period": string
}
Champs
period

string (Duration format)

Pas plus d'une notification par period.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

NotificationChannelStrategy

Représentation JSON
{
  "notificationChannelNames": [
    string
  ],
  "renotifyInterval": string
}
Champs
notificationChannelNames[]

string

Nom complet de la ressource REST pour les canaux de notification auxquels ces paramètres s'appliquent. Chacun d'eux correspond au champ "name" de l'un des objets NotificationChannel référencés dans le champ "notification_channels" de cette AlertPolicy. Il a le format suivant :

projects/[PROJECT_ID_OR_NUMBER]/notificationChannels/[CHANNEL_ID]
renotifyInterval

string (Duration format)

Fréquence d'envoi des notifications de rappel pour les incidents ouverts. La valeur doit être comprise entre 30 minutes et 24 heures.

Durée en secondes avec neuf chiffres au maximum après la virgule et se terminant par "s". Exemple : "3.5s"

Aligneur

Aligner spécifie l'opération qui sera appliquée aux points de données de chaque période d'alignement d'une série temporelle. À l'exception de ALIGN_NONE, qui spécifie qu'aucune opération ne doit être appliquée, chaque opération d'alignement remplace l'ensemble des valeurs de données de chaque période d'alignement par une seule valeur : le résultat de l'application de l'opération aux valeurs de données. Une série temporelle alignée comporte une seule valeur de données à la fin de chaque alignment_period.

Une opération d'alignement peut également modifier le type de données des valeurs. Par exemple, si vous appliquez une opération de comptage à des valeurs booléennes, les données value_type de la série temporelle d'origine sont BOOLEAN, mais les données value_type du résultat aligné sont INT64.

Enums
ALIGN_NONE Aucun alignement. Les données brutes sont renvoyées. Non valide si une réduction croisée est demandée. Le value_type du résultat est identique à celui de l'entrée.value_type
ALIGN_DELTA

Alignez et convertissez au format DELTA. Le résultat est delta = y1 - y0.

Cet alignement est valide pour les métriques CUMULATIVE et DELTA. Si la période d'alignement sélectionnée génère des périodes sans données, la valeur alignée pour une telle période est créée par interpolation. Le value_type du résultat aligné est identique au value_type de l'entrée.

ALIGN_RATE

Alignez et convertissez les données en taux. Le résultat est calculé sous la forme rate = (y1 - y0)/(t1 - t0), ou "delta au fil du temps". Considérez cet aligneur comme fournissant la pente de la ligne qui passe par la valeur au début et à la fin de alignment_period.

Cet aligneur est valide pour les métriques CUMULATIVE et DELTA avec des valeurs numériques. Si la période d'alignement sélectionnée génère des périodes sans données, la valeur alignée pour une telle période est créée par interpolation. Le résultat est une métrique GAUGE avec value_type DOUBLE.

Si, par "taux", vous entendez "variation en pourcentage", consultez plutôt l'outil d'alignement ALIGN_PERCENT_CHANGE.

ALIGN_INTERPOLATE Alignez les points de données en interpolant les points adjacents à la limite de la période d'alignement. Cet aligneur est valide pour les métriques GAUGE avec des valeurs numériques. Le value_type du résultat aligné est identique au value_type de l'entrée.
ALIGN_NEXT_OLDER Alignez les points de données en déplaçant le point de données le plus récent et antérieur à la fin de la période d'alignement vers la limite correspondant à la fin de la période d'alignement. Cet aligneur est valide pour les métriques GAUGE. Le value_type du résultat aligné est identique au value_type de l'entrée.
ALIGN_MIN Permet d'aligner les séries temporelles en renvoyant la valeur minimale pour chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques. Le value_type du résultat aligné est identique au value_type de l'entrée.
ALIGN_MAX Alignez les séries temporelles en renvoyant la valeur maximale de chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques. Le value_type du résultat aligné est identique au value_type de l'entrée.
ALIGN_MEAN Permet d'aligner les séries temporelles en renvoyant la valeur moyenne pour chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques. Le value_type du résultat aligné est DOUBLE.
ALIGN_COUNT Alignez la série temporelle en renvoyant le nombre de valeurs dans chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques ou booléennes. Le value_type du résultat aligné est INT64.
ALIGN_SUM Permet d'aligner les séries temporelles en renvoyant la somme des valeurs dans chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques et de distribution. Le value_type du résultat aligné est identique au value_type de l'entrée.
ALIGN_STDDEV Alignez la série temporelle en renvoyant l'écart type des valeurs pour chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques. Le value_type du résultat est DOUBLE.
ALIGN_COUNT_TRUE Alignez la série temporelle en renvoyant le nombre de valeurs True dans chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE avec des valeurs booléennes. Le value_type du résultat est INT64.
ALIGN_COUNT_FALSE Alignez la série temporelle en renvoyant le nombre de valeurs False dans chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE avec des valeurs booléennes. Le value_type du résultat est INT64.
ALIGN_FRACTION_TRUE Alignez les séries temporelles en renvoyant le ratio du nombre de valeurs True sur le nombre total de valeurs dans chaque période d'alignement. Cet aligneur est valide pour les métriques GAUGE avec des valeurs booléennes. La valeur de sortie est comprise dans la plage [0,0, 1,0] et comporte value_type DOUBLE.
ALIGN_PERCENTILE_99 Alignez les séries temporelles à l'aide de l'agrégation par centiles. Le point de données résultant dans chaque période d'alignement correspond au 99e centile de tous les points de données de la période. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs de distribution. Le résultat est une métrique GAUGE avec value_type DOUBLE.
ALIGN_PERCENTILE_95 Alignez les séries temporelles à l'aide de l'agrégation par centiles. Le point de données résultant de chaque période d'alignement correspond au 95e centile de tous les points de données de la période. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs de distribution. Le résultat est une métrique GAUGE avec value_type DOUBLE.
ALIGN_PERCENTILE_50 Alignez les séries temporelles à l'aide de l'agrégation par centiles. Le point de données résultant dans chaque période d'alignement correspond au 50e centile de tous les points de données de la période. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs de distribution. Le résultat est une métrique GAUGE avec value_type DOUBLE.
ALIGN_PERCENTILE_05 Alignez les séries temporelles à l'aide de l'agrégation par centiles. Le point de données résultant dans chaque période d'alignement correspond au 5e centile de tous les points de données de la période. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs de distribution. Le résultat est une métrique GAUGE avec value_type DOUBLE.
ALIGN_PERCENT_CHANGE

Alignez-les et convertissez-les en variation en pourcentage. Cet aligneur est valide pour les métriques GAUGE et DELTA avec des valeurs numériques. Cet alignement renvoie ((current - previous)/previous) * 100, où la valeur de previous est déterminée en fonction de alignment_period.

Si les valeurs de current et previous sont toutes les deux égales à 0, la valeur renvoyée est 0. Si seul previous est égal à 0, la valeur renvoyée est l'infini.

Une moyenne mobile de 10 minutes est calculée à chaque point de la période d'alignement avant le calcul ci-dessus afin de lisser la métrique et d'éviter les faux positifs dus à des pics de très courte durée. La moyenne mobile ne s'applique qu'aux données dont les valeurs sont >= 0. Toutes les valeurs < 0 sont traitées comme des points de données manquants et sont ignorées. Bien que les métriques DELTA soient acceptées par cet alignement, il convient de veiller tout particulièrement à ce que les valeurs de la métrique soient toujours positives. Le résultat est une métrique GAUGE avec value_type DOUBLE.

Réducteur

Une opération de réducteur décrit comment agréger les points de données de plusieurs séries temporelles en une seule série temporelle, où la valeur de chaque point de données de la série résultante est une fonction de toutes les valeurs déjà alignées des séries temporelles d'entrée.

Enums
REDUCE_NONE Aucune réduction des séries temporelles croisées. Le résultat de Aligner est renvoyé.
REDUCE_MEAN Réduit le résultat en calculant la valeur moyenne des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE avec des valeurs numériques ou de distribution. Le value_type du résultat est DOUBLE.
REDUCE_MIN Réduit le résultat en calculant la valeur minimale des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE avec des valeurs numériques. Le value_type du résultat est identique au value_type de l'entrée.
REDUCE_MAX Réduit le résultat en calculant la valeur maximale des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE avec des valeurs numériques. Le value_type du résultat est identique au value_type de l'entrée.
REDUCE_SUM Réduit le résultat en calculant la somme des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE avec des valeurs numériques et de distribution. Le value_type du résultat est identique au value_type de l'entrée.
REDUCE_STDDEV Réduit le résultat en calculant l'écart type des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE avec des valeurs numériques ou de distribution. Le value_type du résultat est DOUBLE.
REDUCE_COUNT Réduit le résultat en calculant le nombre de points de données dans les séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE de value_type numériques, booléens, de distribution et de chaîne. Le value_type du résultat est INT64.
REDUCE_COUNT_TRUE Réduit le résultat en calculant le nombre de points de données avec la valeur True dans les séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE de value_type booléen. La value_type du résultat est INT64.
REDUCE_COUNT_FALSE Réduit le résultat en calculant le nombre de points de données avec la valeur False dans les séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE de value_type booléen. Le value_type du résultat est INT64.
REDUCE_FRACTION_TRUE Réduit le résultat en calculant le ratio du nombre de points de données avec une valeur True par rapport au nombre total de points de données pour chaque période d'alignement. Ce réducteur est valide pour les métriques DELTA et GAUGE de value_type booléen. La valeur de sortie est comprise dans la plage [0,0, 1,0] et comporte value_type DOUBLE.
REDUCE_PERCENTILE_99 Réduit le résultat en calculant le 99e centile des points de données des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques GAUGE et DELTA de type numérique et de distribution. La valeur de la sortie est DOUBLE.
REDUCE_PERCENTILE_95 Réduit le résultat en calculant le 95e centile des points de données dans les séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques GAUGE et DELTA de type numérique et de distribution. La valeur de la sortie est DOUBLE.
REDUCE_PERCENTILE_50 Réduit le résultat en calculant le 50e centile des points de données des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques GAUGE et DELTA de type numérique et de distribution. La valeur de la sortie est DOUBLE.
REDUCE_PERCENTILE_05 Réduit le résultat en calculant le 5e centile des points de données des séries temporelles pour chaque période d'alignement. Ce réducteur est valide pour les métriques GAUGE et DELTA de type numérique et de distribution. La valeur de la sortie est DOUBLE.

ComparisonType

Spécifie une relation d'ordre sur deux arguments, appelés left et right.

Enums
COMPARISON_UNSPECIFIED Aucune relation d'ordre n'est spécifiée.
COMPARISON_GT True si l'argument de gauche est supérieur à l'argument de droite.
COMPARISON_GE True si l'argument de gauche est supérieur ou égal à l'argument de droite.
COMPARISON_LT "True" si l'argument de gauche est inférieur à l'argument de droite.
COMPARISON_LE True si l'argument de gauche est inférieur ou égal à l'argument de droite.
COMPARISON_EQ Vrai si l'argument de gauche est égal à l'argument de droite.
COMPARISON_NE True si l'argument de gauche n'est pas égal à l'argument de droite.

EvaluationMissingData

Contrôle de condition qui détermine comment les conditions de seuil de métrique sont évaluées lorsque les données cessent d'arriver. Ce paramètre n'a aucune incidence sur les règles d'absence de métriques.

Enums
EVALUATION_MISSING_DATA_UNSPECIFIED Option de données manquantes pour l'évaluation non spécifiée. Équivaut à EVALUATION_MISSING_DATA_NO_OP.
EVALUATION_MISSING_DATA_INACTIVE S'il n'y a pas de données pour évaluer la condition, évaluez-la comme étant "false".
EVALUATION_MISSING_DATA_ACTIVE S'il n'y a pas de données pour évaluer la condition, considérez qu'elle est remplie.
EVALUATION_MISSING_DATA_NO_OP N'évaluez pas la condition à une valeur si aucune donnée n'est disponible.

ConditionCombinerType

Opérateurs permettant de combiner des conditions.

Enums
COMBINE_UNSPECIFIED Combinaison non spécifiée.
AND Combinez des conditions à l'aide de l'opérateur logique AND. Un incident n'est créé que si toutes les conditions sont remplies simultanément. Ce combinateur est satisfait si toutes les conditions sont remplies, même si elles le sont sur des ressources complètement différentes.
OR Combinez des conditions à l'aide de l'opérateur logique OR. Un incident est créé si l'une des conditions listées est remplie.
AND_WITH_MATCHING_RESOURCE Combinez les conditions à l'aide de l'opérateur logique AND. Toutefois, contrairement à l'option AND habituelle, un incident n'est créé que si toutes les conditions sont remplies simultanément sur au moins une ressource.

NotificationPrompt

Contrôlez le moment où les notifications seront envoyées.

Enums
NOTIFICATION_PROMPT_UNSPECIFIED Aucune stratégie spécifiée. Traitée comme une erreur.
OPENED Recevoir une notification en cas d'ouverture d'un incident.
CLOSED Recevoir une notification en cas de fermeture d'un incident.

Gravité

Énumération des niveaux de gravité possibles pour une règle d'alerte.

Enums
SEVERITY_UNSPECIFIED Aucun niveau de gravité n'est spécifié. Il s'agit de la valeur par défaut.
CRITICAL Il s'agit du niveau de gravité le plus élevé. Utilisez cette option si le problème peut entraîner des dommages ou une indisponibilité importants.
ERROR Il s'agit du niveau de gravité moyen. Utilisez cette option si le problème peut entraîner des dommages ou un temps d'arrêt mineurs.
WARNING Il s'agit du niveau de gravité le plus bas. Utilisez cette option si le problème ne cause aucun dommage ni temps d'arrêt, mais pourrait potentiellement en entraîner un à l'avenir.

Annotations d'outils

Indication destructive : ❌ | Indication idempotente : ✅ | Indication en lecture seule : ✅ | Indication Open World : ❌