Cada instância de máquina virtual (VM) ou bare metal usa uma política de manutenção do host para determinar o comportamento da instância durante uma operação de manutenção. Algumas instâncias oferecem a opção extra de visualizar a programação de manutenção com antecedência.
Nesta página, explicamos como monitorar e planejar um evento de manutenção do host em instâncias do Compute Engine.
Antes de começar
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine selecionando uma das seguintes opções:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
-
Administrador da instância da computação (v1) (
roles/compute.instanceAdmin.v1
) -
Para acesso somente leitura aos registros de auditoria de eventos do sistema:
Visualizador de registros (
roles/logging.viewer
) -
Para receber informações sobre uma instância, incluindo metadados:
compute.instances.get
Famílias de máquinas com otimização de acelerador:
Famílias de máquinas de uso geral:
Famílias de máquinas com otimização de memória:
Famílias de máquinas com otimização de armazenamento:
- Menos eventos de manutenção: em geral, as instâncias com intervalos de manutenção recorrentes precisam ter menos eventos de manutenção.
- Notificação de manutenção mais longa: receba notificações sobre eventos de manutenção com bastante antecedência para fins de planejamento.
- Monitoramento e planejamento: use o Cloud Logging para acompanhar sua programação de manutenção. Use incidentes e alertas para ficar por dentro.
- Controle de manutenção sob demanda: inicie a manutenção durante o período de notificação para atualizar as instâncias quando for adequado ao seu planejamento.
- canReschedule: se a manutenção pode ser iniciada manualmente durante o
período de notificação dessa instância.
TRUE
: a manutenção acionada pelo cliente pode ser realizada durante o período de notificação.FALSE
: não é possível realizar a manutenção acionada pelo cliente nessa instância. Isso geralmente ocorre durante o período em que a instância está em manutenção ou se o tipo de instância não oferece suporte à manutenção sob demanda.
- latestWindowStartTime: o horário mais recente para o qual a janela de manutenção pode ser movida.
- maintenanceStatus: o status atual do evento de manutenção.
ONGOING
: a operação de manutenção está em andamento.PENDING
: a operação de manutenção está programada, mas ainda não começou.
- type: o tipo de manutenção a ser realizado.
NONE
: nenhuma manutenção está programada para essa instância.SCHEDULED
: para manutenção com interrupção, o Compute Engine envia um aviso de 7 dias para a maioria das instâncias. As instâncias X4 recebem um aviso com aproximadamente 60 dias de antecedência.UNSCHEDULED
: como a manutenção representa atualizações críticas, o Compute Engine tenta fornecer o maior aviso possível, mas geralmente é muito menor do que para eventos de manutenção programados.
- windowEndTime: o fim da janela de tempo em que a manutenção ocorre.
- windowStartTime: o início da janela de tempo em que a manutenção ocorre.
canReschedule=True
emaintenanceStatus=Pending
: é possível iniciar manualmente o evento de manutenção da instância antes do horário de início programado.canReschedule=False
emaintenanceStatus=Ongoing
: a manutenção está em andamento e não pode ser reprogramada.canReschedule=False
emaintenanceStatus=Pending
: a instância não oferece suporte a eventos de manutenção acionados manualmente.INSTANCE_NAME
: o nome da instância de computação.ZONE_NAME
: a zona em que a instância está localizada.- A manutenção está programada para a data e a hora mostradas em
windowStartTime
. canReschedule
é definida comoTrue
emaintenanceStatus
comoPENDING
. Essas configurações indicam que é possível iniciar manualmente o evento de manutenção programado antes da data mostrada emlatestWindowStartTime
.PROJECT_NAME
: o nome do projeto que contém a instância de computação.ZONE
: a zona em que a instância está localizada.INSTANCE_NAME
: o nome da instância- A manutenção está programada para a data e a hora mostradas em
windowStartTime
. canReschedule
é definida comoTrue
emaintenanceStatus
comoPENDING
. Essas configurações indicam que é possível iniciar manualmente o evento de manutenção programado antes da data mostrada emlatestWindowStartTime
.Acesse a página Instâncias da VM.
Clique no Nome da instância em que você quer ver as notificações de manutenção.
A página Detalhes da instância é aberta.
Na seção Registros, clique no link Logging.
A página Editor de consultas do Logs Explorer é aberta. No painel Query,
resource.type
e o ID da instância já estão preenchidos para sua instância.No painel Consulta, adicione a seguinte linha à consulta:
operation.producer="compute.instances.upcomingMaintenance" OR "compute.instances.terminateOnHostMaintenance" OR "compute.instances.migrateOnHostMaintenance"
Clique em Executar consulta. Os eventos de notificação de manutenção correspondentes são exibidos no painel de resultados da consulta.
No painel de resultados da consulta, clique em Editar hora para expandir o período de pesquisa ou restringir os resultados a datas ou horas específicas.
Clique em uma entrada de registro para conferir os detalhes da notificação de manutenção.
- Para notificações de manutenção futura, abra o título
metadata
para conferir informações como o status atual, o tipo e os horários de início e término da janela de manutenção programada. - Abra o cabeçalho
status
para conferir a mensagem descritiva da notificação.
- Para notificações de manutenção futura, abra o título
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"PENDING"
windowStartTime
:"2024-07-23T20:00:00Z"
methodName
:"compute.instances.upcomingMaintenance"
metadata
:maintenanceStatus
:"ONGOING"
windowStartTime
:"2024-07-23T20:00:00Z"
- Para instâncias configuradas para usar a migração em tempo real durante eventos de manutenção,
um evento do sistema com
methodName: "compute.instances.migrateOnHostMaintenance"
. - Para instâncias configuradas para encerrar durante eventos de manutenção,
um evento do sistema com
methodName: "compute.instances.terminateOnHostMaintenance"
. methodName
:"compute.instances.upcomingMaintenance"
status: {
message: "Maintenance window has completed for this instance. All
maintenance notifications on the instance have been removed."
}
Acesse a página Instâncias da VM.
Clique no Nome da instância para a qual você quer criar um alerta de evento de manutenção.
A página Detalhes da instância é aberta.
Na seção Registros, clique no link Logging.
A página Editor de consultas do Logs Explorer é aberta. No painel Query,
resource.type
e o ID da instância já estão preenchidos para sua instância.No painel Consulta, adicione a seguinte linha à consulta:
operation.producer="compute.instances.upcomingMaintenance"
Clique em Executar consulta. Os eventos de notificação de manutenção correspondentes são exibidos no painel de resultados da consulta.
No painel de resultados da consulta, clique em Editar hora.
- No lado esquerdo da janela de edição, no campo Tempo relativo, digite
1d
para conferir as entradas de registro da semana anterior. - Clique em Aplicar.
- No lado esquerdo da janela de edição, no campo Tempo relativo, digite
No cabeçalho do painel Resultados da consulta, clique em add_alert Criar alerta. Se a janela de visualização for estreita, a opção Criar alerta poderá aparecer no menu Ações.
No painel Criar política de alertas com base em registros, na seção Detalhes do alerta, faça o seguinte:
- Insira um nome para a política de alertas, por exemplo,
Upcoming maintenance for my-c3d-vm@us-central1-b
. No menu Nível de gravidade da política, selecione Nenhuma gravidade.
No campo Documentação, você pode inserir uma descrição para sua política de alertas. Você também pode incluir informações que possam ajudar o destinatário de uma notificação a diagnosticar o problema. A string a seguir resume o motivo da notificação:
Log-based alerting policy in project ${project} to monitor upcoming maintenance notifications. See also "Host maintenance alerts" and "onHostMaintenance actions" alerting policies.
Para informações sobre como formatar e adaptar o conteúdo desse campo, consulte Como usar o Markdown e variáveis em modelos de documentação.
Para avançar para a próxima etapa, clique em Próxima.
- Insira um nome para a política de alertas, por exemplo,
Na seção Escolher registros a serem incluídos no alerta, verifique a consulta e os resultados clicando em Visualizar registros.
A consulta que você criou no painel Consulta também é exibida nesse painel. Recomendamos criar a consulta no painel Consulta do Explorador de registros.
É possível editar a consulta neste painel, se necessário. Se você editar a consulta, verifique os resultados clicando em Visualizar registros.
Clique em Próxima.
No painel Definir frequência de notificação e duração do fechamento automático, faça o seguinte:
Selecione o tempo mínimo entre as notificações. Esse valor permite controlar o número de notificações recebidas do Monitoramento se essa condição for atendida várias vezes. Neste exemplo, selecione 1 dia nas opções.
Para a Duração do fechamento automático do incidente, use o valor máximo de 7 dias.
Clique em Próxima.
Se você já tiver um canal de notificação por e-mail configurado, selecione-o na lista. Caso contrário, clique em Gerenciar canais de notificação e adicione um canal de e-mail. Para saber mais sobre como criar canais de notificação, consulte Criar e gerenciar canais de notificação.
Clique em Salvar.
Sua política de alertas com base em registros está pronta para ser testada, conforme descrito em Testar o exemplo de política de alertas com base em registros.
- Saiba como definir uma política de manutenção do host.
- Saiba como receber avisos de migração em tempo real.
- Saiba como acionar um evento de manutenção do host manualmente.
- Saiba como gerenciar políticas de alertas com base em registros usando o console do Google Cloud para monitoramento ou a API Monitoring.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Funções exigidas
Para receber as permissões necessárias para criar instâncias e gerenciar a manutenção delas, peça ao administrador para conceder a você os seguintes papéis do IAM no projeto:
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Esses papéis predefinidos contêm as permissões necessárias para criar instâncias e gerenciar a manutenção delas. Para conferir as permissões exatas necessárias, expanda a seção Permissões necessárias:
Permissões necessárias
As seguintes permissões são necessárias para criar instâncias e gerenciar a manutenção delas:
Essas permissões também podem ser concedidas com funções personalizadas ou outros papéis predefinidos.
Limitações
Você só poderá conferir as notificações do próximo evento de manutenção de uma instância se ela usar um tipo de máquina de uma das seguintes famílias:
Visão geral das notificações de manutenção
O Google envia notificações sobre a próxima manutenção do host usando vários métodos. Quando a janela de manutenção é aberta, o Google Cloud realiza a manutenção automaticamente na sua instância. Ao monitorar as próximas janelas de manutenção da sua instância, é possível preparar proativamente suas cargas de trabalho para lidar com a manutenção futura com o mínimo de interrupção.
As instâncias de computação que oferecem suporte a notificações de eventos de manutenção têm as seguintes características:
As informações sobre um evento de notificação futuro são apresentadas de forma semelhante a esta:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Se não houver um evento de manutenção, você verá uma mensagem semelhante a esta:
{ "error": "no notifications have been received yet, try again later" }
Definições do status de manutenção
As definições de status a seguir explicam as respostas a consultas sobre a manutenção do host de uma instância. Elas contêm informações relacionadas ao evento de manutenção. A CLI do Google Cloud, a REST e o servidor de metadados usam essas mesmas respostas:
Comportamentos do status de manutenção
Ao gerenciar eventos de manutenção, confira os valores de
canReschedule
emaintenanceStatus
. Quando combinados, esses campos indicam quais ações você pode ou não realizar em relação à reprogramação de um evento de manutenção:Conferir notificações de manutenção
Para encontrar notificações de manutenção, consulte suas instâncias de computação, o servidor de metadados ou use o Cloud Logging.
Verificar se há notificações de evento de manutenção nas instâncias
Use a Google Cloud CLI, a REST ou consulte o servidor de metadados para saber se há um evento de manutenção de host para a instância.
gcloud
Para conferir a próxima janela de manutenção de uma instância, use o comando
gcloud compute instances describe
.gcloud compute instances describe INSTANCE_NAME \ --zone=ZONE_NAME --format="yaml(upcomingMaintenance)"
Substitua:
Se houver um evento de manutenção iminente, a resposta conterá uma seção semelhante a esta:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2024-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2024-12-01T22:00:00Z" "windowStartTime": "2024-12-01T19:00:00Z" }
Nesta resposta:
REST
Para saber se há manutenção futura em uma instância, crie uma solicitação
GET
usando o métodoinstances.get
:GET https://compute.googleapis.com/compute/v1/projects/PROJECT_NAME/zones/ZONE/instances/INSTANCE_NAME
Substitua:
Se houver um evento de manutenção iminente, a resposta conterá uma seção semelhante a esta:
upcomingMaintenance:{ "canReschedule":True "latestWindowStartTime": "2023-12-01T19:00:01Z" "maintenanceStatus":"PENDING" "type":"SCHEDULED" "windowEndTime": "2023-12-01T22:00:00Z" "windowStartTime": "2023-12-01T19:00:00Z" }
Nesta resposta:
Servidor de metadados
No SO convidado, consulte o servidor de metadados para ver o próximo evento de manutenção.
$ curl http://metadata.google.internal/computeMetadata/v1/instance/upcoming-maintenance?alt=json -H "Metadata-Flavor: Google"
Verificar se há notificações de evento de manutenção no Cloud Logging
O Compute Engine cria eventos do sistema nos Registros de auditoria do Cloud para uma instância para eventos de manutenção. É possível conferir esses eventos antes, durante e depois de um evento de manutenção usando o Cloud Logging e o Explorador de registros.
Console
Para consultar os registros de auditoria em busca de notificações de manutenção de uma instância, siga estas etapas:
Exemplos de notificações de manutenção
Uma notificação de evento de manutenção para uma instância aparece no Explorador de registros com valores semelhantes a estes:
Quando o evento de manutenção começa, um novo evento informativo aparece nos registros com valores semelhantes a este:
Durante o evento de manutenção, dependendo da configuração da política de manutenção do host da instância, um dos seguintes eventos do sistema é registrado nos registros de auditoria:
Quando o evento de manutenção termina, um novo evento informativo aparece nos registros de auditoria com valores semelhantes a este:
Configurar alertas para notificações de manutenção do host
É possível configurar uma política de alertas baseada em registros para pesquisar eventos específicos de notificação de manutenção e enviar alertas usando um canal de notificação.
Console
Para criar um alerta para um evento de manutenção da sua instância, siga estas etapas:
Para saber mais, leia Configurar alertas com base em registros e Criar e gerenciar canais de notificação.
A seguir
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-12-22 UTC.
-