Créer et gérer des rappels

Ce document explique comment créer et gérer vos rappels. Une mise en attente empêche Cloud Monitoring de créer des incidents et d'envoyer des notifications pendant une période spécifique. Chaque rappel indique les ressources auxquelles il s'applique.

Pour obtenir une présentation conceptuelle, consultez la section Mettre en veille les notifications et les incidents.

Pour créer et gérer vos rappels, utilisez la console Google Cloud ou l'API Cloud Monitoring.

Avant de commencer

  1. Assurez-vous de disposer des autorisations requises:

    Pour en savoir plus sur les rôles Cloud Monitoring, consultez Contrôler les accès avec Identity and Access Management.

  2. Si vous souhaitez utiliser les exemples d'API Cloud Monitoring de ce document, procédez comme suit:

    1. Créez une variable d'environnement, PROJECT_ID, pour contenir l'ID de votre projet Google Cloud:

      PROJECT_ID=PROJECT_ID
    2. Authentifiez-vous sur Google Cloud CLI:

      gcloud auth login
    3. Définissez le projet Google Cloud par défaut:

      gcloud config set project ${PROJECT_ID}
    4. Créez un jeton d'autorisation:

      ACCESS_TOKEN=`gcloud auth print-access-token`

      Vous devez actualiser régulièrement le jeton d'accès. Si des commandes auparavant fonctionnelles indiquent soudainement que vous n'êtes pas authentifié, exécutez à nouveau cette commande.

Créer une mise en attente

Pour empêcher les règles d'alerte de créer des incidents et d'envoyer des notifications, créez une mise en veille.

Vous pouvez créer un rappel à l'aide de la console Google Cloud, de gcloud CLI ou de l'API Cloud Monitoring.

Console

  1. Dans la console Google Cloud, accédez à la page Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Pour créer un rappel à partir d'un incident ouvert, procédez comme suit :
    1. Dans le volet Incidents de la page "Alertes", recherchez votre incident, puis cliquez sur son Résumé de l'incident.
    2. Sur la page Détails de l'incident, cliquez sur Répéter, puis sélectionnez la durée de la répétition. Vous ne pouvez pas configurer d'autres champs.
  3. Sinon, procédez comme suit :

    1. Sur la page Alertes, cliquez sur Créer un rappel.
    2. Saisissez un nom descriptif pour le rappel. Ce nom s'affiche sur la page Alertes.
    3. Sélectionnez une heure de début. Vous pouvez saisir une heure spécifique ou démarrer le rappel lorsque celui-ci est créé.
    4. Saisissez la durée. La valeur de ce champ détermine la durée de la répétition.
    5. Remplissez la section Critères de mise en pause. Vous pouvez utiliser le menu Règles d'alerte pour sélectionner les règles d'alerte auxquelles la mise en veille s'applique.

      Vous pouvez ajouter jusqu'à 16 règles d'alerte à une mise en veille.

      Une fois que vous avez terminé la section Critères de mise en pause, le volet Créer une mise en pause affiche les incidents passés correspondant aux critères.

    6. Cliquez sur Créer.

API Cloud Monitoring

Pour créer un rappel, appelez la méthode snoozes.create en envoyant une requête POST au point de terminaison Snooze. Vous devez fournir un objet snooze:

curl -d @my-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X POST https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

La méthode renvoie un objet snooze. Le champ "name", qui inclut l'ID de répétition généré par la surveillance, est la seule différence entre l'objet renvoyé et le contenu de my-snooze.json:

{
  "name": "projects/my-project/snoozes/2986666341878464512",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-12T19:00:20Z",
    "endTime": "2022-11-12T19:05:20Z"
  },
  "displayName": "Snooze2"
}

CLI gcloud

Pour créer un rappel, exécutez la commande gcloud monitoring snoozes create:

gcloud monitoring snoozes create --criteria-policies=LIST_OF_POLICIES --display-name=DISPLAY_NAME --start-time=START_TIME --end-time=END_TIME

Dans la commande précédente, le end-time doit être d'au moins une minute plus tard que le start-time. Vous devez suivre les règles de mise en forme ISO 8601. Toutefois, vous pouvez spécifier des heures absolues ou relatives. L'exemple suivant spécifie des heures absolues. Pour démarrer un rappel 30 minutes après l'heure actuelle, utilisez --start-time="+PTM30M".

Si vous spécifiez plusieurs projets, séparez-les par une virgule.

Par exemple, la commande suivante crée un rappel avec le nom à afficher "Semaine de maintenance". La répétition s'applique à deux règles d'alerte et s'étend du 1er mars au 7 mars:

gcloud monitoring snoozes create --display-name="Maintenance Week" \
    --criteria-policies="projects/my-project/alertPolicies/12345,projects/my-project/alertPolicies/23451" \
    --start-time="2023-03-01T03:00:00.0-0500" \
    --end-time="2023-03-07T23:59:59.5-0500"

L'exemple précédent crée le rappel suivant dans my-project:

{
 "name": "projects/my-project/snoozes/98765",
 "displayName": "Maintenance Week",
 "interval": {
   "startTime": "2023-03-01T08:00:00Z",
   "endTime": "2023-03-08T04:59:59Z"
 },
 "criteria": {
   "policies": [
     "projects/my-project/alertPolicies/12345",
     "projects/my-project/alertPolicies/23451",
   ]
 }
}

Si l'opération réussit, la réponse à cette commande se présente comme suit:

Created snooze [projects/my-project/snoozes/98765]

Le nom d'une stratégie d'alerte n'est pas affiché dans la console Google Cloud. Pour déterminer le nom d'une règle d'alerte, procédez comme suit:

  • Exécutez la commande gcloud alpha monitoring policies list. Les données de réponse de cette commande incluent le nom de vos règles d'alerte.
  • Afficher la représentation JSON d'une règle d'alerte Vous pouvez télécharger la représentation JSON sur votre système local à l'aide d'une option sur la page Détails de la règle.

Créer des rappels récurrents

Pour créer des rappels qui se produisent à des intervalles récurrents, vous pouvez écrire un script qui crée un rappel pour une règle d'alerte. Ensuite, utilisez un planificateur de tâches tel que cron ou Cloud Scheduler pour exécuter le script selon le calendrier souhaité.

Lister les mises en pause

Lorsque vous créez un rappel, il est ajouté à l'historique des rappels de votre projet. Cet enregistrement affiche les snoozes expirés, actifs et à venir. Vous ne pouvez pas supprimer d'entrées de cet enregistrement, c'est-à-dire que vous ne pouvez pas supprimer un rappel. Toutefois, depuis cette vue, vous pouvez afficher les détails d'un rappel différé et effectuer des actions telles que le modifier ou le copier.

Console

Pour afficher la liste des rappels différés, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Cliquez sur Afficher tous les rappels dans le panneau Rappel.

    La page Répéter affiche une liste de rappels différés et une chronologie qui affiche graphiquement vos rappels différés passés, à venir et actifs.

    • Pour modifier, copier, annuler ou mettre fin à un rappel, utilisez le menu Plus d'options pour le rappel. L'état de la répétition détermine les options disponibles.
    • Pour afficher toutes les répétitions, activez l'option Afficher les répétitions passées. Par défaut, seuls les rappels actifs et à venir sont listés.
    • Pour modifier la période d'affichage du tableau Chronologie, utilisez le menu Période. Par défaut, le tableau affiche les données de l'heure suivante. Toutefois, vous pouvez modifier ce champ pour spécifier des périodes passées ou futures. Les rappels expirés sont conservés pendant 13 mois.
    • Pour afficher les détails d'un rappel différé spécifique, cliquez sur Afficher les détails.
    • Pour afficher un résumé des rappels actifs, placez le pointeur sur la zone ombragée de la ligne Actif du tableau Chronologie. L'info-bulle affiche les informations récapitulatives.
    • Pour afficher une représentation graphique des rappels actifs, développez la ligne Actifs du tableau Chronologie.

API Cloud Monitoring

Pour lister tous les rappels appartenant à un projet Google Cloud, appelez la méthode snoozes.list:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes

La méthode renvoie une liste d'objets snooze. Par exemple, lorsqu'un projet comporte un rappel, la réponse à la commande snoozes.list est semblable à la suivante:

{
  "snoozes": [
    {
      "name": "projects/my-project/snoozes/2986663705844383744",
      "criteria": {
        "policies": [
          "projects/my-project/alertPolicies/787884840895011889"
        ]
      },
      "interval": {
        "startTime": "2022-11-08T19:00:20Z",
        "endTime": "2022-11-08T19:05:20Z"
      },
      "displayName": "Snooze1"
    }
  ]
}

Pour obtenir des informations sur une mise en veille spécifique, appelez la méthode snoozes.get et spécifiez l'ID du projet et l'ID de la mise en veille. Dans la réponse précédente, l'ID de répétition est 2986663705844383744:

curl -H "Authorization: Bearer $ACCESS_TOKEN" \
https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}

La méthode renvoie un seul objet snooze:

{
  "name": "projects/my-project/snoozes/2986663705844383744",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/787884840895011889"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T19:00:20Z",
    "endTime": "2022-11-08T19:05:20Z"
  },
  "displayName": "Snooze1"
}

CLI gcloud

Pour lister les rappels de votre projet actuel, exécutez la commande gcloud monitoring snoozes list:

gcloud monitoring snoozes list OPTIONAL_FLAGS

Pour en savoir plus sur les options facultatives, consultez la page de référence sur gcloud monitoring snoozes list.

La réponse à cette commande est une liste des noms des rappels du projet, au format YAML. Par exemple, la réponse à cette commande pour le projet Google Cloud avec l'ID my-project est une seule entrée:

criteria:
  policies:
  - projects/my-project/alertPolicies/12345
  - projects/my-project/alertPolicies/23451
displayName: Maintenance Week
interval:
  endTime: '2023-03-08T04:59:59Z'
  startTime: '2023-03-01T08:00:00Z'
name: projects/my-project/snoozes/98765

Pour afficher les détails d'un rappel spécifique, exécutez la commande gcloud monitoring snoozes describe:

gcloud monitoring snoozes describe NAME

Par exemple, pour afficher les détails de la répétition avec le nom projects/my-project/snoozes/98765, exécutez la commande suivante:

gcloud monitoring snoozes describe projects/my-project/snoozes/98765

Si vous fournissez un NAME non valide à une commande describe, la réponse contient un code d'erreur 500 et le message suivant:

Internal error encountered. Please retry after a few seconds. If internal errors persist, contact support at https://cloud.google.com/support/docs.

Modifier une répétition

Vous pouvez modifier le nom et la période d'une mise en veille à venir, ainsi que le nom et l'heure de fin d'une mise en veille active. Par exemple, lorsque vous replanifiez un intervalle de maintenance, vous devrez peut-être modifier un rappel.

Vous ne pouvez pas modifier une mise en pause passée ni les critères d'une mise en pause. Toutefois, si vous souhaitez planifier un rappel passé pour une période future, copiez le rappel et appliquez les modifications à la copie avant de sélectionner Créer.

Console

Pour modifier un rappel, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Cliquez sur Afficher tous les rappels dans le panneau Rappel.
  3. Dans la liste des rappels différés, recherchez celui que vous souhaitez modifier, puis sélectionnez Modifier le rappel différé dans le menu Autres options.
  4. Une fois les modifications effectuées, cliquez sur Enregistrer.

API Cloud Monitoring

Pour modifier une répétition existante, appelez la méthode snoozes.patch en envoyant une requête PATCH au point de terminaison Snooze. Vous devez fournir l'objet snooze révisé et inclure des paramètres de requête qui identifient les champs modifiés. Lorsque vous utilisez curl, les paramètres de requête doivent être encodés au format URL.

Pour les rappels à venir, vous pouvez modifier le nom et la durée. Pour les répétitions actives, vous pouvez modifier le nom et l'heure de fin. Vous ne pouvez pas modifier les rappels précédents.

Pour mettre à jour le displayName d'un rappel, créez un fichier JSON, my-updated-snooze.json, qui décrit l'objet de rappel et met à jour le nom à afficher. Exécutez ensuite la commande suivante :

curl -d @my-updated-snooze.json -H "Authorization: Bearer $ACCESS_TOKEN" \
-H 'Content-Type: application/json' \
-X PATCH https://monitoring.googleapis.com/v3/projects/${PROJECT_ID}/snoozes/${SNOOZE_ID}?updateMask=displayName

La méthode renvoie un objet snooze identique au contenu du fichier my-updated-snooze.json:

{
  "name": "projects/my-project/snoozes/2986665388391530496",
  "criteria": {
    "policies": [
      "projects/my-project/alertPolicies/7164333552684403347"
    ]
  },
  "interval": {
    "startTime": "2022-11-08T22:26:05Z",
    "endTime": "2022-11-08T22:31:05Z"
  },
  "displayName": "Updated snooze name"
}

CLI gcloud

Pour modifier un rappel, exécutez la commande gcloud monitoring snoozes update. Vous pouvez modifier le nom à afficher, l'heure de début et l'heure de fin:

gcloud monitoring snoozes update NAME OPTIONAL_FLAGS

Pour obtenir la liste des options de la commande update, consultez la page de référence gcloud monitoring snoozes update.

Par exemple, pour remplacer le nom à afficher de la répétition par le nom projects/my-project/snoozes/98765, exécutez la commande suivante:

gcloud monitoring snoozes update projects/my-project/snoozes/98765  --display-name="March Maintenance"

Arrêter ou annuler une répétition

Si vous souhaitez recevoir des notifications pour les ressources qui répondent aux critères spécifiés dans une mise en veille active, mettez fin à la mise en veille. Par exemple, lorsque la maintenance planifiée se termine plus rapidement que prévu, vous pouvez mettre fin à la mise en veille.

Si vous avez programmé un rappel que vous ne souhaitez plus, annulez-le. L'opération d'annulation définit la durée sur zéro et fait passer le rappel à l'état Passé.

Console

Pour mettre fin à une mise en veille active ou annuler une mise en veille à venir, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Cliquez sur Afficher tous les rappels dans le panneau Rappel.
  3. Dans la liste des rappels différés, recherchez celui que vous souhaitez mettre fin ou annuler, puis effectuez l'une des opérations suivantes:

    • Pour mettre fin à une mise en veille active, sélectionnez Mettre fin dans le menu Plus d'options ().
    • Pour annuler une mise en veille à venir, sélectionnez Annuler la mise en veille dans le menu Plus d'options.

API Cloud Monitoring

Pour mettre fin à une mise en veille active, modifiez-la et définissez l'heure de fin sur l'heure actuelle. Pour en savoir plus, consultez Modifier un rappel.

Pour annuler une mise en pause à venir, modifiez-la et définissez l'heure de fin sur l'heure de début de la mise en pause. L'heure de début doit être située dans le futur. Pour en savoir plus, consultez la section Modifier un rappel.

CLI gcloud

Pour mettre fin à une mise en veille active ou pour annuler une mise en veille à venir, exécutez la commande gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME

Par exemple, pour annuler le rappel nommé projects/my-project/snoozes/98765, exécutez la commande suivante:

gcloud monitoring snoozes cancel projects/my-project/snoozes/98765

Copier une mise en pause

Lorsque vous souhaitez utiliser un rappel existant comme modèle pour un autre rappel, créez-en une copie. Lorsque vous copiez une répétition, l'éditeur de répétition s'ouvre avec tous les champs, à l'exception de l'heure de début, qui est défini sur les valeurs de la répétition d'origine. Vous pouvez modifier tous les champs avant de cliquer sur Créer.

Pour copier un rappel à l'aide de la console, procédez comme suit:

  1. Dans la console Google Cloud, accédez à la page Alertes :

    Accéder à l'interface des alertes

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Cliquez sur Afficher tous les rappels dans le panneau Rappel.
  3. Dans la liste des rappels différés, recherchez celui que vous souhaitez modifier, puis sélectionnez Copier le rappel différé dans le menu Plus d'options.
  4. Appliquez vos modifications à la copie, puis cliquez sur Créer.

Étape suivante