Créer et gérer des mises en attente

Ce document explique comment créer et gérer vos mises en attente. Une mise en pause empêche Cloud Monitoring de créer des incidents et d'émettre des notifications pendant une période donnée. Chaque mise en pause spécifie les ressources auxquelles elle s'applique.

Pour obtenir une présentation des concepts, consultez la section Suspendre les notifications et les alertes.

Pour créer et gérer vos mises en attente, vous devez utiliser la console Google Cloud ou l'API Cloud Monitoring.

Avant de commencer

  1. Assurez-vous de disposer des autorisations requises:

    • Pour obtenir les autorisations dont vous avez besoin pour afficher et modifier les mises en attente à l'aide de la console Google Cloud, demandez à votre administrateur de vous attribuer le rôle IAM Éditeur Monitoring (roles/monitoring.editor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

      Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

    • Pour obtenir les autorisations dont vous avez besoin pour afficher et modifier les mises en attente à l'aide de l'API Cloud Monitoring, demandez à votre administrateur de vous attribuer le rôle IAM Éditeur de mise en attente Monitoring (roles/monitoring.snoozeEditor) sur votre projet. Pour en savoir plus sur l'attribution de rôles, consultez la section Gérer les accès.

      Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

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

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

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

      PROJECT_ID=PROJECT_ID
      
    2. Authentifiez-vous auprès de 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 attente.

Vous pouvez créer une mise en attente à l'aide de la console Google Cloud, de gcloud CLI ou de l'API Cloud Monitoring.

Console

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  2. Pour créer une mise en attente à partir d'un incident ouvert, procédez comme suit :
    1. Dans le volet Incidents de la page "Alertes", recherchez l'incident, puis cliquez sur son Récapitulatif des incidents.
    2. Sur la page Détails de l'incident, cliquez sur Mettre en attente, puis sélectionnez la durée de mise en pause. Vous ne pouvez pas configurer d'autres champs.
  3. Sinon, procédez comme suit :

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

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

      Une fois que vous avez rempli la section Critères de mise en attente, le volet Créer une mise en pause liste les incidents passés qui correspondent aux critères.

    6. Cliquez sur Créer.

API Cloud Monitoring

Pour créer une mise en pause, 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 mise en pause généré par Monitoring, constitue 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"
}

gcloud CLI

Pour créer une mise en attente, 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, end-time doit être postérieur d'au moins une minute à start-time. Vous devez suivre les règles de mise en forme ISO 8601, mais vous pouvez spécifier des heures absolues ou relatives. L'exemple suivant spécifie des heures absolues. Pour lancer une mise en pause à 30 minutes à partir de l'heure actuelle, utilisez --start-time="+PTM30M".

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

Par exemple, la commande suivante crée une mise en pause dont le nom à afficher est "Semaine de maintenance". La mise en pause s'applique à deux règles d'alerte et s'étend du 1er 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 la mise en pause suivante 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 la commande est bien exécutée, la réponse à cette commande est semblable à celle-ci:

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

Le nom d'une règle d'alerte ne s'affiche pas dans la console Google Cloud. Pour déterminer le nom d'une règle d'alerte, effectuez l'une des opérations suivantes:

  • 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.
  • Affichez 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 de la page Détails des règles.

Créer des mises en attente récurrentes

Pour créer des mises en attente à intervalles récurrents, vous pouvez écrire un script qui crée une mise en pause pour une règle d'alerte. Utilisez ensuite un planificateur de tâches tel que cron ou Cloud Scheduler pour exécuter le script selon le calendrier requis.

Répertorier les mises en attente

Lorsque vous créez une mise en attente, elle est ajoutée à l'historique des mises en attente pour votre projet. Cet enregistrement affiche les mises en attente expirées, actives et à venir. Vous ne pouvez pas supprimer des entrées de cet enregistrement, c'est-à-dire que vous ne pouvez pas supprimer une mise en pause. Toutefois, à partir de cette vue, vous pouvez afficher les détails d'une mise en pause et effectuer des actions telles que la modifier ou la copier.

Console

Pour afficher la liste des mises en attente, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  2. Cliquez sur Afficher toutes les mises en attente dans le volet Mettre en attente.

    La page Mise en attente affiche la liste des mises en attente, ainsi qu'une chronologie affichant de manière graphique vos mises en attente passées, à venir et actives.

    • Pour modifier, copier, annuler ou arrêter une mise en pause, utilisez le menu Autres options . L'état de mise en attente détermine les options disponibles.
    • Pour afficher toutes les mises en attente, activez l'option Afficher les mises en attente passées. Par défaut, seules les mises en attente actives et à venir sont répertoriées.
    • Pour modifier la période d'affichage du tableau Timeline, 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 mises en attente expirées sont conservées pendant 13 mois.
    • Pour afficher les détails d'une mise en attente spécifique, cliquez sur Afficher les détails.
    • Pour afficher un résumé des mises en attente actives, placez le pointeur sur la zone ombrée de la ligne Actives dans le tableau Chronologie. L'info-bulle affiche les informations récapitulatives.
    • Pour afficher une représentation graphique des mises en attente actives, développez la ligne Active (Actif) du tableau Timeline.

API Cloud Monitoring

Pour répertorier toutes les mises en attente 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 une mise en pause, 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 pause spécifique, appelez la méthode snoozes.get et spécifiez l'ID du projet et l'ID de la mise en pause. Dans la réponse précédente, l'ID de mise en pause 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"
}

gcloud CLI

Pour répertorier les mises en attente 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 de gcloud monitoring snoozes list.

La réponse à cette commande est une liste de noms de mises en attente dans le projet, au format YAML. Par exemple, la réponse à cette commande pour le projet Google Cloud ayant l'ID my-project est une entrée unique:

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 répertorier les détails d'une mise en pause spécifique, exécutez la commande gcloud monitoring snoozes describe:

gcloud monitoring snoozes describe NAME

Par exemple, pour afficher les détails de la mise en pause nommée 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 le 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 mise en pause

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

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 une mise en attente passée pour une période ultérieure, copiez la mise en pause et appliquez les modifications à la copie avant de sélectionner Créer.

Console

Pour modifier une mise en pause, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  2. Cliquez sur Afficher toutes les mises en attente dans le volet Mettre en attente.
  3. Dans la liste des mises en attente, recherchez celle que vous souhaitez modifier, puis sélectionnez Modifier la mise en pause dans le menu Autres options .
  4. Une fois les modifications effectuées, cliquez sur Enregistrer.

API Cloud Monitoring

Pour modifier une mise en pause 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 en URL.

Pour les mises en attente à venir, vous pouvez modifier le nom et le cycle. Pour les mises en attente actives, vous pouvez modifier le nom et l'heure de fin. Vous ne pouvez pas modifier les mises en attente passées.

Pour mettre à jour le displayName d'une mise en pause, créez un fichier JSON, my-updated-snooze.json, qui décrit l'objet de mise en pause 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"
}

gcloud CLI

Pour modifier une mise en pause, exécutez la commande gcloud monitoring snoozes update. Vous pouvez mettre à jour 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 de gcloud monitoring snoozes update.

Par exemple, pour modifier le nom à afficher de la mise en pause avec 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 mise en pause

Si vous souhaitez recevoir des notifications pour les ressources correspondant aux critères spécifiés dans une mise en pause active, mettez fin à la mise en pause. Par exemple, lorsque la maintenance planifiée s'achève plus rapidement que prévu, vous pouvez mettre fin à une mise en pause.

Si une mise en attente à venir ne vous intéresse plus, annulez-la. L'opération d'annulation définit la durée sur zéro et entraîne le passage de la mise en pause à l'état Past.

Console

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

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  2. Cliquez sur Afficher toutes les mises en attente dans le volet Mettre en attente.
  3. Dans la liste des mises en attente, recherchez celle que vous souhaitez arrêter ou annuler, puis effectuez l'une des opérations suivantes:

    • Pour mettre fin à une mise en pause active, sélectionnez Arrêter maintenant dans le menu Plus d'options de .
    • Pour annuler une mise en attente à venir, sélectionnez Annuler la mise en pause dans le menu Plus d'options .

API Cloud Monitoring

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

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

gcloud CLI

Pour arrêter une mise en pause active ou pour annuler une mise en pause à venir, exécutez la commande gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME

Par exemple, pour annuler la mise en pause nommée 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 une mise en pause existante comme modèle pour une autre mise en pause, créez-en une copie. Lorsque vous copiez une mise en pause, l'éditeur de mise en pause s'ouvre avec tous les champs, à l'exception de l'heure de début définie sur les valeurs de la mise en pause d'origine. Vous pouvez modifier tous les champs avant de cliquer sur Créer.

Pour copier une mise en pause à l'aide de la console, procédez comme suit:

  1. Dans le panneau de navigation de la console Google Cloud, sélectionnez Monitoring, puis  Alertes :

    Accéder à l'interface des alertes

  2. Cliquez sur Afficher toutes les mises en attente dans le volet Mettre en attente.
  3. Dans la liste des mises en attente, recherchez celle que vous souhaitez modifier, puis sélectionnez Copier la mise en pause dans le menu Autres options .
  4. Appliquez vos modifications à la copie, puis cliquez sur Créer.

Étapes suivantes