Criar e gerenciar adiamentos

Este documento descreve como criar e gerenciar os adiamentos. Um adiamento impede que o Cloud Monitoring crie incidentes e emita notificações durante um período específico. Cada adiamento especifica os recursos a que se aplica.

Para uma visão geral conceitual, consulte Adiar notificações e incidentes.

Para criar e gerenciar suas pausas, use o console do Google Cloud ou a API Cloud Monitoring.

Antes de começar

  1. Verifique se você tem as permissões necessárias:

    Para mais informações sobre os papéis do Cloud Monitoring, consulte Controlar o acesso com o Identity and Access Management.

  2. Se você quiser usar os exemplos da API Cloud Monitoring neste documento, faça o seguinte:

    1. Crie uma variável de ambiente, PROJECT_ID, para armazenar o ID do seu projeto do Google Cloud:

      PROJECT_ID=PROJECT_ID
    2. Faça a autenticação na Google Cloud CLI:

      gcloud auth login
    3. Defina o projeto padrão do Google Cloud:

      gcloud config set project ${PROJECT_ID}
    4. Crie um token de autorização:

      ACCESS_TOKEN=`gcloud auth print-access-token`

      É necessário atualizar o token de acesso periodicamente. Se os comandos que funcionaram informarem de repente que você não está autenticado, reenvie este comando.

Criar um adiamento

Para impedir que as políticas de alerta criem incidentes e enviem notificações, crie um adiamento.

É possível criar uma suspensão usando o console do Google Cloud, a CLI gcloud ou a API Cloud Monitoring.

Console

  1. No console do Google Cloud, acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Para criar um adiamento de um incidente aberto, faça o seguinte:
    1. No painel Incidentes da página "Alertas", encontre o incidente e clique no Resumo do incidente.
    2. Na página Detalhes do incidente, clique em Adiamento e selecione a duração. Não é possível configurar outros campos.
  3. Caso contrário, faça o seguinte:

    1. Na página Alertas, clique em Criar suspensão.
    2. Digite um nome descritivo para a suspensão. Esse nome aparece na página Alertas.
    3. Selecione um Horário de início. Você pode inserir um horário específico ou iniciar o adiamento quando ele for criado.
    4. Insira a Duração. O valor desse campo determina a duração do soneca.
    5. Preencha a seção Critérios de adiamento. Use o menu Políticas de alertas para selecionar as políticas de alertas às quais o adiamento se aplica.

      É possível adicionar até 16 políticas de alerta a um adiamento.

      Depois de concluir a seção Critérios de adiamento, o painel Criar adiamento lista os incidentes anteriores que correspondem aos critérios.

    6. Clique em Criar.

API Cloud Monitoring

Para criar um adiamento, invoque o método snoozes.create e emita uma solicitação POST para o endpoint Snooze. É preciso fornecer um objeto 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

O método retorna um objeto snooze. O campo "name", que inclui o ID de suspensão gerado pelo monitoramento, é a única diferença entre o objeto retornado e o conteúdo 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 da gcloud

Para criar uma suspensão, execute o comando 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

No comando anterior, o end-time precisa ser pelo menos um minuto mais recente do que o start-time. Você precisa seguir as regras de formatação ISO 8601. No entanto, é possível especificar horários absolutos ou relativos. O exemplo a seguir especifica tempos absolutos. Para iniciar uma suspensão de 30 minutos a partir do horário atual, use --start-time="+PTM30M".

Se você especificar vários projetos, separe-os por vírgula.

Por exemplo, o comando a seguir cria um adiamento com o nome de exibição "Semana de manutenção". A suspensão se aplica a duas políticas de alerta e abrange o intervalo de 1º a 7 de março:

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"

O exemplo anterior cria o seguinte adiamento em 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",
   ]
 }
}

Se for bem-sucedido, a resposta para esse comando será semelhante a esta:

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

O nome de uma política de alerta não é exibido no console do Google Cloud. Para determinar o nome de uma política de alertas, siga um destes procedimentos:

  • Execute o comando gcloud alpha monitoring policies list. Os dados de resposta deste comando incluem o nome das políticas de alertas.
  • Confira a representação JSON de uma política de alertas. É possível fazer o download da representação JSON no sistema local usando uma opção na página Detalhes da política.

Criar sonecas recorrentes

Para criar adiamentos que acontecem em intervalos recorrentes, você pode escrever um script que cria um adiamento para uma política de alertas. Em seguida, use um programador de jobs, como cron ou Cloud Scheduler, para executar o script na programação necessária.

Listar adiamentos

Quando você cria uma suspensão, ela é adicionada ao registro histórico de suspensões do seu projeto. Esse registro mostra os adiamentos expirados, ativos e futuros. Não é possível remover entradas desse registro, ou seja, não é possível excluir uma suspensão. No entanto, nessa visualização, você pode mostrar os detalhes de um adiamento e realizar ações como editar ou copiar o adiamento.

Console

Para conferir uma lista de adiamentos, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Clique em Ver todos os adiamentos no painel Adiamento.

    A página Atrasar mostra uma lista de adiamentos e uma linha do tempo que mostra graficamente os adiamentos anteriores, futuros e ativos.

    • Para editar, copiar, cancelar ou encerrar um adiamento, use o menu Mais opções para o adiamento. O estado de suspensão determina quais opções estão disponíveis.
    • Para listar todas as sonecas, ative Mostrar sonecas anteriores. Por padrão, apenas as ativações e as próximas ativações são listadas.
    • Para mudar o período de exibição da tabela Linha do tempo, use o menu Intervalo de tempo. Por padrão, a tabela mostra dados para a próxima hora. No entanto, você pode modificar esse campo para especificar períodos passados ou futuros. As ativações adiadas vencidas são mantidas por 13 meses.
    • Para conferir detalhes sobre um adiamento específico, clique em Ver detalhes.
    • Para conferir um resumo das ativações adiadas, coloque o cursor na área sombreada da linha Ativa na tabela Linha do tempo. A dica mostra as informações resumidas.
    • Para conferir uma representação gráfica das ativações de suspensão, abra a linha Ativo da tabela Linha do tempo.

API Cloud Monitoring

Para listar todas as ativações adiadas que pertencem a um projeto do Google Cloud, invoque o método snoozes.list:

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

O método retorna uma lista de objetos snooze. Por exemplo, quando um projeto tem uma suspensão, a resposta ao comando snoozes.list é semelhante a esta:

{
  "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"
    }
  ]
}

Para receber informações sobre um adiamento específico, invoque o método snoozes.get e especifique o ID do projeto e do adiamento. Na resposta anterior, o ID de suspensão é 2986663705844383744:

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

O método retorna um único objeto 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 da gcloud

Para listar as ativações no projeto atual, execute o comando gcloud monitoring snoozes list:

gcloud monitoring snoozes list OPTIONAL_FLAGS

Para saber mais sobre as flags opcionais, consulte a página de referência gcloud monitoring snoozes list.

A resposta a esse comando é uma lista de nomes de adiamentos no projeto, formatada como YAML. Por exemplo, a resposta a este comando para o projeto do Google Cloud com o ID my-project é uma única entrada:

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

Para listar detalhes sobre um adiamento específico, execute o comando gcloud monitoring snoozes describe:

gcloud monitoring snoozes describe NAME

Por exemplo, para mostrar os detalhes sobre a suspensão com o nome projects/my-project/snoozes/98765, execute o seguinte comando:

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

Se você fornecer um NAME inválido para um comando describe, a resposta conterá um código de erro 500 e a seguinte mensagem:

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

Editar uma soneca

É possível editar o nome e o período de uma suspensão futura e o nome e o horário de término de uma suspensão ativa. Por exemplo, quando uma janela de manutenção é reprogramada, talvez seja necessário editar um adiamento.

Não é possível editar um adiamento anterior ou os critérios de nenhum deles. No entanto, se você quiser programar uma suspensão para um período futuro, copie a suspensão e aplique as mudanças à cópia antes de selecionar Criar.

Console

Para editar uma suspensão, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Clique em Ver todos os adiamentos no painel Adiamento.
  3. Na lista de adiamentos, encontre o que você quer editar e selecione Editar adiamento no menu Mais opções.
  4. Clique em Salvar depois de concluir as alterações.

API Cloud Monitoring

Para modificar um adiamento, invoque o método snoozes.patch e emita uma solicitação PATCH para o endpoint Snooze. Forneça o objeto snooze revisado e inclua parâmetros de consulta que identifiquem quais campos são modificados. Ao usar o curl, os parâmetros de consulta precisam ser codificados em URL.

Para as próximas remoções, você pode modificar o nome e o período. Para sonecas ativas, é possível modificar o nome e a hora de término. Não é possível modificar as sonecas anteriores.

Para atualizar o displayName de um adiamento, crie um arquivo JSON, my-updated-snooze.json, que descreve o objeto de adiamento e atualiza o nome de exibição. Em seguida, execute o comando:

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

O método retorna um objeto snooze idêntico ao conteúdo do arquivo 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 da gcloud

Para editar um adiamento, execute o comando gcloud monitoring snoozes update. É possível atualizar o nome de exibição, a hora de início e a hora de término:

gcloud monitoring snoozes update NAME OPTIONAL_FLAGS

Para conferir uma lista de opções do comando update, consulte a página de referência gcloud monitoring snoozes update.

Por exemplo, para mudar o nome de exibição da suspensão com o nome projects/my-project/snoozes/98765, execute o seguinte comando:

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

Encerrar ou cancelar uma soneca

Se você quiser receber notificações para recursos que correspondem aos critérios especificados em uma suspensão ativa, encerre a suspensão. Por exemplo, quando a manutenção programada for concluída mais rapidamente do que o previsto, você poderá encerrar uma prorrogação.

Se você tiver uma suspensão iminente que não quer mais, cancele-a. A operação de cancelamento define a duração como zero e faz com que a suspensão seja transferida para o estado Passado.

Console

Para encerrar uma suspensão ativa ou cancelar uma suspensão futura, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Clique em Ver todos os adiamentos no painel Adiamento.
  3. Na lista de adiamentos, encontre o que você quer encerrar ou cancelar e siga um destes procedimentos:

    • Para encerrar um adiamento ativo, selecione Encerrar agora no menu Mais opções.
    • Para cancelar um adiamento, selecione Cancelar adiamento no menu Mais opções.

API Cloud Monitoring

Para encerrar um adiamento ativo, edite-o e defina o horário de término como o atual. Para mais informações, consulte Editar um adiamento.

Para cancelar um adiamento futuro, edite-o e defina o horário de término como o horário de início do adiamento. O horário de início precisa estar no futuro. Para mais informações, consulte Editar um adiamento.

CLI da gcloud

Para encerrar uma suspensão ativa ou cancelar uma suspensão futura, execute o comando gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME

Por exemplo, para cancelar a suspensão com o nome projects/my-project/snoozes/98765, execute o seguinte comando:

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

Copiar um adiamento

Quando você quiser usar um aviso de suspensão atual como modelo para outro, faça uma cópia. Quando você copia uma suspensão, o editor de suspensão é aberto com todos os campos, exceto o horário de início definido com os valores da suspensão original. Você pode modificar todos os campos antes de clicar em Criar.

Para copiar uma suspensão usando o console, faça o seguinte:

  1. No console do Google Cloud, acesse a página  Alertas:

    Acessar Alertas

    Se você usar a barra de pesquisa para encontrar essa página, selecione o resultado com o subtítulo Monitoramento.

  2. Clique em Ver todos os adiamentos no painel Adiamento.
  3. Na lista de adiamentos, encontre o que você quer editar e selecione Copiar adiamento no menu Mais opções.
  4. Aplique suas modificações ao texto e clique em Criar.

A seguir