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 aos quais ele se aplica.

Para uma visão geral conceitual, consulte Suspender 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. Autentique-se 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 alertas criem incidentes e enviem notificações, criar um adiamento.

É possível criar um adiamento 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 a partir de um incidente aberto, faça o seguinte:
    1. No painel Incidentes da página "Alertas", encontre seu incidente. e clique em 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 adiamento.
    2. Digite um nome descritivo para o adiamento. Esse nome é exibido Alertas.
    3. Selecione um Horário de início. Você pode inserir um horário específico ou iniciar o adiar quando o adiamento 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. Você pode usar o Políticas de alertas para selecionar as políticas de alertas a que o adiamento aplicado.

      É 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 snoozes.create emitindo uma solicitação POST para o endpoint Snooze. Forneça 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. É necessário 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 pausa de 30 minutos a partir do horário atual, use --start-time="+PTM30M".

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

Por exemplo, o comando a seguir cria uma suspensão com o nome de exibição "Maintenance Week". 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.
  • Visualize 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 ocorrem 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 o Cloud Scheduler para executar o script nas instâncias cronograma.

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 deste registro, ou seja, não é possível excluir um soneca. No entanto, nesta visualização, você pode mostrar os detalhes de um adiamento e você pode 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 Adiar exibe uma lista de adiamentos e uma linha do tempo que exibe graficamente suas sonecas anteriores, futuras e ativas.

    • Para editar, copiar, cancelar ou encerrar um adiamento, use o menu Mais opções para o adiamento. O estado de adiamento 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 alterar 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, é possível modificar esse campo para especificar períodos passados ou futuros. Os adiamentos expirados são retidos por 13 meses.
    • Para saber mais sobre um adiamento específico, clique em Ver detalhes.
    • Para ver um resumo dos adiamentos ativos, coloque o ponteiro no área sombreada da linha Ativas na tabela Cronograma. 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 todos os adiamentos 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 do adiamento é 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 os adiamentos no seu projeto atual, execute o Comando gcloud monitoring snoozes list:

gcloud monitoring snoozes list OPTIONAL_FLAGS

Para informações sobre as sinalizações opcionais, consulte a 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 esse comando para o O projeto do Google Cloud com o ID my-project é uma entrada única:

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 do próximo adiamento, bem como editar nome e horário de término de um adiamento ativo. Por exemplo, quando uma janela de manutenção é reprogramada, talvez seja necessário editar um adiamento.

Não é possível editar um adiamento anterior nem os critérios dele. No entanto, se quiser para programar um adiamento passado para um período futuro, copie o adiamento e aplicar as alterações à 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 Adiar.
  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. Você precisa fornecer o objeto snooze revisado e incluir 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.

É possível modificar o nome e o período dos próximos adiamentos. Para ativos adiamentos, você poderá modificar o nome e o horário 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 alterar o nome de exibição do adiamento 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 sobre os recursos que correspondem aos critérios especificado em um adiamento ativo e, em seguida, encerrá-lo. Por exemplo, quando planejado seja concluída mais rapidamente do que o previsto, convém encerrar uma soneca.

Se você tiver um adiamento futuro e não quiser mais usá-lo, cancele-o. 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 um adiamento ativo ou cancelar um próximo, 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. Em seguida, siga um destes procedimentos:

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

API Cloud Monitoring

Para encerrar uma suspensão ativa, edite-a 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 da soneca. O horário de início precisa ser no futuro. Para mais informações, consulte Editar um adiamento.

CLI da gcloud

Para encerrar um adiamento ativo ou cancelar um próximo, execute o Comando gcloud monitoring snoozes cancel:

gcloud monitoring snoozes cancel NAME

Por exemplo, para cancelar o adiamento 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 adiamento existente como um modelo para outro adiamento, 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 um adiamento 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 as modificações à cópia e clique em Criar.

A seguir