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'envoyer des notifications pendant une période spécifique. Chaque mise en pause spécifie les ressources auxquelles elle s'applique.

Pour obtenir une présentation du concept, consultez la page Mettre en attente les notifications et les incidents.

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

Avant de commencer

  1. Assurez-vous de disposer des autorisations requises:

    • Pour obtenir les autorisations nécessaires pour afficher et modifier les mises en attente à l'aide de la console Google Cloud, demandez à votre administrateur de vous accorder 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 nécessaires 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 mises 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, destinée à contenir l'ID de votre projet Google Cloud:

      PROJECT_ID=PROJECT_ID
      
    2. Authentifiez-vous dans la 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 pause.

Vous pouvez créer une mise en pause à 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 Surveillance.

  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 votre incident et cliquez sur son Résumé de l'incident.
    2. Sur la page Détails de l'incident, cliquez sur Mettre en attente, puis sélectionnez la durée de la mise en attente. 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 attente.
    2. Saisissez un nom descriptif pour la mise en attente. 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 attente lorsqu'elle 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 répertorie les incidents antérieurs 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 attente généré par Monitoring, 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"
}

gcloud CLI

Pour créer une mise en pause, 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, la date de end-time doit être postérieure d'au moins une minute à celle de start-time. Vous devez suivre les règles de mise en forme ISO 8601. Toutefois, vous pouvez spécifier des durées absolues ou relatives. L'exemple suivant spécifie des heures absolues. Pour lancer une mise en pause de 30 minutes à partir de 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 une mise en attente avec le nom à afficher "Semaine de maintenance". La mise en attente s'applique à deux règles d'alerte et s'étend sur l'intervalle de temps 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 attente 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 l'opération réussit, 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 disponible sur la page Détails de la stratégie.

Créer des mises en attente récurrentes

Pour créer des mises en attente sur des intervalles récurrents, vous pouvez écrire un script qui crée une mise en pause 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 la planification requise.

Répertorier les mises en attente

Lorsque vous créez une mise en pause, elle est ajoutée à l'historique des mises en attente de votre projet. Cet enregistrement indique 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 attente. Toutefois, cette vue vous permet d'afficher les détails d'une mise en attente et d'effectuer des actions telles que la modification ou la copie de la mise en attente.

Console

Pour afficher la liste des mises en attente, 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 Surveillance.

  2. Cliquez sur Voir toutes les mises en attente dans le volet En attente.

    La page Mettre en attente affiche la liste des mises en attente et une chronologie qui affiche sous forme graphique les mises en attente passées, à venir et actives.

    • Pour modifier, copier, annuler une mise en attente ou y mettre fin, utilisez le menu Plus d'options . L'état de mise en attente détermine les options disponibles.
    • Pour répertorier toutes les mises en attente, activez l'option Afficher les mises en attente précédentes. 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 Time range (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écapitulatif des mises en attente actives, placez le pointeur sur la zone ombrée de la ligne Active dans le tableau Timeline. L'info-bulle affiche les informations récapitulatives.
    • Pour afficher une représentation graphique des mises en attente actives, développez la ligne Active de la table 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 attente, 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 attente. Dans la réponse précédente, l'ID de mise en attente 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 dans 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 de noms de mises en attente dans le projet, au format YAML. Par exemple, la réponse à cette commande pour le projet Google Cloud portant 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'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 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 mise en attente

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

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

Console

Pour modifier une mise en attente, 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 Surveillance.

  2. Cliquez sur Voir toutes les mises en attente dans le volet En attente.
  3. Dans la liste des mises en attente, recherchez celle que vous souhaitez modifier, puis sélectionnez Modifier la mise en attente dans le menu Plus d'options .
  4. Cliquez sur Enregistrer une fois les modifications effectuées.

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 la durée des règles. Vous pouvez modifier le nom et l'heure de fin des mises en attente actives. Vous ne pouvez pas modifier les mises en attente précédentes.

Pour mettre à jour l'objet 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, les heures de début et 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 mise en pause par projects/my-project/snoozes/98765, exécutez la commande suivante:

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

Mettre fin à une mise en pause ou l'annuler

Si vous souhaitez recevoir des notifications pour les ressources qui correspondent 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 se termine plus rapidement que prévu, vous pouvez mettre fin à une mise en pause.

Si vous souhaitez désactiver une mise en attente à venir, vous pouvez l'annuler. L'opération d'annulation définit la durée sur zéro et entraîne le passage de la mise en attente à l'état Past.

Console

Pour mettre fin à une mise en pause active ou annuler une mise en pause à 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 Surveillance.

  2. Cliquez sur Voir toutes les mises en attente dans le volet 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 pause à venir, sélectionnez Annuler la mise en pause dans le menu Autres 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 l'article Modifier une mise en attente.

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 l'article Modifier une mise en attente.

gcloud CLI

Pour mettre fin à une mise en pause active ou 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 attente

Si vous souhaitez utiliser une mise en attente existante comme modèle pour une autre, faites-en une copie. Lorsque vous copiez une mise en attente, l'éditeur de mise en attente s'ouvre avec tous les champs, à l'exception de l'heure de début définie sur les valeurs de la mise en attente 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 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 Surveillance.

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

Étapes suivantes