Este documento descreve como visualizar e ler entradas de log de alterações do estado de integridade de uma VM em um grupo gerenciado de instâncias (MIG) e fornece casos de uso específicos para ajudar você a monitorar as VMs no grupo.
Se você configurou a verificação de integridade baseada em aplicativo para MIG, o Compute Engine grava uma entrada de registro sempre que o estado de integridade de uma instância gerenciada muda, por exemplo, quando a instância passa do estado HEALTHY
para UNHEALTHY
. Essas entradas de log ajudam você a monitorar e depurar o estado de integridade de cada instância gerenciada, bem como a integridade geral do MIG.
Antes de começar
- Revise Configurando a verificação de integridade e a recuperação automática .
- Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Acesse o Logs Explorer no console do Google Cloud.
Defina os seguintes parâmetros de consulta:
- Recurso : Gerenciador de grupos de instâncias do GCE
- Nome do log -
instance_group_manager_events
Como alternativa, você pode copiar a consulta a seguir no construtor de consultas .
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Você pode restringir sua pesquisa a um grupo de instâncias gerenciadas específico usando a consulta a seguir.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Clique em Executar consulta . Os resultados da consulta exibirão os logs.
-
PROJECT_ID
: o ID do seu projeto . -
MIG_NAME
: o MIG para o qual você deseja visualizar os logs de alterações do estado de integridade. -
OAUTH2_TOKEN
: token de acesso da sua aplicação. Para testes locais, você pode usar o comandogcloud auth print-access-token
para gerar um token. -
PROJECT_ID
: o ID do seu projeto . -
MIG_NAME
: o MIG para o qual você deseja visualizar os logs de alterações do estado de integridade. Acesse o Logs Explorer no console do Google Cloud.
Copie a consulta a seguir no construtor de consultas .
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Clique em Executar consulta .
-
PROJECT_ID
: o ID do seu projeto . -
INSTANCE_NAME
: a instância gerenciada para a qual você deseja visualizar os logs de alterações do estado de integridade. -
OAUTH2_TOKEN
: token de acesso da sua aplicação. Para testes locais, você pode usar o comandogcloud auth print-access-token
para gerar um token. -
PROJECT_ID
: o ID do seu projeto . -
INSTANCE_NAME
: a instância gerenciada para a qual você deseja visualizar os logs de alterações do estado de integridade. - Informações gerais mostradas na maioria dos logs, como gravidade, ID do projeto, nome e ID do MIG, número do projeto, carimbo de data/hora e assim por diante.
- Campos específicos do estado de integridade da instância.
- Descubra com que frequência uma determinada instância de VM alterou os estados de integridade ao longo do tempo.
- Avalie com que frequência um MIG sofreu alterações no estado de saúde de suas instâncias.
- Identifique instâncias de VM problemáticas que frequentemente ficam
UNHEALTHY
. - Descubra o que causou uma tentativa de recuperação automática.
- Descubra se uma tentativa de recuperação automática foi bem-sucedida para uma instância de VM específica.
- Ajuste a configuração da verificação de integridade de um aplicativo determinando um atraso inicial apropriado para a recuperação automática.
Acesse o Logs Explorer no console do Google Cloud.
Insira a seguinte consulta no construtor de consultas , usando o ID do projeto e o nome da instância.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Na seção Resultados da consulta , clique em Ações e em Criar métrica .
Na página Criar métrica de logs , faça o seguinte:
- Defina o tipo de métrica como Counter .
Insira um nome de métrica de log , por exemplo
health-mig-xyzq
.A seção Criar filtro exibe a consulta de log do Logs Explorer . Você também pode configurar o filtro da métrica para considerar apenas estados perturbadores, como
UNHEALTHY
eTIMEOUT
, adicionandoseverity>=WARNING
ao filtro.Em Rótulos , clique em Adicionar rótulo .
Insira um nome de rótulo , por exemplo
health_state
.Defina o tipo de rótulo como
STRING
.Configure o nome do campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Isso permitirá distinguir entre diferentes alterações no estado de saúde.Clique em Concluído para adicionar o rótulo.
Clique em Criar métrica .
Acesse a página Métricas baseadas em registros e encontre a métrica recém-criada.
Clique no menu more_vert na linha da métrica e selecione Visualizar no Metrics Explorer . O Metrics Explorer abre e exibe o gráfico que representa as alterações do estado de integridade da instância de VM que você especificou na consulta.
Acesse o Logs Explorer no console do Google Cloud.
Insira a consulta a seguir no construtor de consultas usando o ID do projeto e o nome do grupo de instâncias gerenciadas.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Na seção Resultados da consulta , clique em Ações e em Criar métrica .
Na página Criar métrica de logs , faça o seguinte:
- Defina o tipo de métrica como Counter .
- Insira um nome de métrica de log , por exemplo
health-mig-xyzq
. - Em Rótulos , clique em Adicionar rótulo .
- Insira um nome de rótulo , por exemplo
health_state
. - Defina o tipo de rótulo como
STRING
. - Configure o nome do campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Isso permitirá distinguir entre diferentes alterações no estado de saúde. - Clique em Concluído para adicionar o rótulo.
- Clique em Criar métrica .
Acesse a página Métricas baseadas em registros e encontre a métrica recém-criada.
Clique no menu more_vert na linha da métrica e selecione Visualizar no Metrics Explorer . O Metrics Explorer abre e exibe o gráfico que representa as alterações no estado de integridade de todas as instâncias de VM no grupo de instâncias gerenciadas que você especificou na consulta.
Acesse o Logs Explorer no console do Google Cloud.
Insira a consulta a seguir no construtor de consultas usando o ID do projeto e o nome do grupo de instâncias gerenciadas.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Na seção Resultados da consulta , clique em Ações e em Criar métrica .
Na página Criar métrica de logs , faça o seguinte:
- Defina o tipo de métrica como Counter .
- Insira um nome de métrica de log , por exemplo
health-mig-xyzq
. - Em Rótulos , clique em Adicionar rótulo .
- Insira um nome de rótulo , por exemplo
health_state
. - Defina o tipo de rótulo como
STRING
. - Configure o nome do campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Isso permitirá distinguir entre diferentes alterações no estado de saúde. - Clique em Concluído para adicionar o rótulo.
- Da mesma forma, adicione um segundo rótulo, por exemplo
instance
, com o nome do campo definido comojsonPayload.instanceHealthStateChange.instance
. - Clique em Criar métrica .
Acesse a página Métricas baseadas em registros e encontre a métrica recém-criada.
Clique no menu more_vert na linha da métrica e selecione Visualizar no Metrics Explorer . O Metrics Explorer abre e exibe o gráfico que representa as alterações no estado de integridade de todas as instâncias de VM no grupo de instâncias gerenciadas que você especificou na consulta.
Defina Agrupar por como
instance
para ver o número agregado de alterações no estado de integridade de cada instância.Acesse o Logs Explorer no console do Google Cloud.
Insira a seguinte consulta no construtor de consultas , usando o ID do projeto e o nome da instância.
resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$"
Clique em Executar consulta . Os resultados da consulta mostrarão todas as tentativas de recuperação automática na VM com o motivo da recuperação automática em
protoPayload.status.message
.Acesse o Logs Explorer no console do Google Cloud.
Insira a seguinte consulta no construtor de consultas , usando o ID do projeto e o nome da instância.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
A primeira parte da consulta exibe as operações de reparo da instância, que indicam que a recriação foi acionada pela recuperação automática do MIG para tornar a instância íntegra novamente. A segunda parte da consulta exibe todas as alterações do estado de integridade da instância de VM.
Nos resultados da consulta , o evento de alteração do estado de integridade com
detailedHealthState
definido comoHEALTHY
logo após uma operação de reparo mostra que a tentativa de recuperação automática foi bem-sucedida.Acesse o Logs Explorer no console do Google Cloud.
Insira a seguinte consulta no construtor de consultas , usando o ID do projeto e o nome da instância.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.request.@type="type.googleapis.com/compute.instances.insert" AND operation.last="true" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
A primeira parte da consulta mostra a conclusão da operação de inserção da VM. A segunda parte mostra todas as alterações do estado de saúde da VM.
Nos resultados da consulta , o carimbo de data/hora do evento de alteração do estado de integridade com
detailedHealthState
definido comoHEALTHY
logo após a operação de inserção revela o tempo necessário para a inicialização desta VM.Repita as etapas para mais algumas VMs para obter um valor aproximado melhor do parâmetro de atraso inicial.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Preços
O Compute Engine usa o Cloud Logging para gerar entradas de registro para alterações no estado de integridade das instâncias gerenciadas. O Cloud Logging oferece uma cota gratuita por mês, após a qual as entradas de registro são cobradas por volume de dados. Para mais informações, consulte o resumo de preços do Cloud Logging .
Para evitar os custos de registo, pode desativar os registos de alterações do estado de funcionamento.
Visualizando logs de alterações do estado de integridade
Desde que os registros de alteração do estado de integridade permaneçam ativados , o Compute Engine grava uma entrada nos registros da plataforma sempre que o estado de integridade de uma instância gerenciada muda. Você pode visualizar esses logs de um projeto, de um MIG específico ou de uma instância gerenciada específica.
Visualizando logs de um projeto ou MIG
Para visualizar entradas de registro de um projeto ou de um MIG específico, use o console do Google Cloud, a CLI gcloud ou REST.
Console
gcloud
Use o comando
gcloud logging read
para visualizar e ler as entradas de registro.Para visualizar todos os logs de alterações do estado de integridade do seu projeto, use o seguinte comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*'\ --limit 10
Para visualizar todos os logs de alterações do estado de integridade de um grupo de instâncias gerenciadas específico, use o seguinte comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"' \ --limit 10
Substitua o seguinte:
DESCANSAR
Para visualizar os logs de alterações do estado de integridade, faça uma solicitação
POST
para o métodoentries.list
.Para visualizar todos os logs de alterações do estado de integridade do seu projeto, use o seguinte comando:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:*", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Para visualizar os logs de alterações do estado de integridade de um grupo de instâncias gerenciadas específico, use o seguinte comando:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name=MIG_NAME", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Substitua o seguinte:
Para obter mais informações sobre cada entrada de log, consulte Formato de entradas de log .
Dependendo se você deseja arquivar os registros, usá-los para análise, transmiti-los para outros aplicativos ou acionar uma função do Cloud, é possível exportá-los para destinos como Cloud Storage, BigQuery ou Pub/Sub. Para obter mais informações sobre a exportação de logs, consulte Visão geral das exportações de logs .
Visualizando logs de alterações do estado de integridade de uma VM específica
Para visualizar entradas de registro de uma instância gerenciada específica, use o console do Google Cloud, a CLI gcloud ou REST.
Console
gcloud
Use o comando
gcloud logging read
para visualizar e ler as entradas de registro.Para visualizar os logs de alterações do estado de integridade de uma instância gerenciada, use o seguinte comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"' \ --limit 10
Substitua o seguinte:
DESCANSAR
Para visualizar os logs de alterações do estado de integridade de uma instância gerenciada, faça uma solicitação
POST
para o métodoentries.list
.curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND labels.\"compute.googleapis.com/instance_name\"=\"INSTANCE_NAME\"", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Substitua o seguinte:
Formato das entradas de log
As entradas do log de alterações do estado de integridade da instância contêm informações úteis para monitorar e depurar o estado de suas instâncias gerenciadas.
Os logs são gravados em logs de plataforma com o nome de log
instance_group_manager_events
. Os logs da plataforma ajudam você a depurar e solucionar problemas.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events"
As entradas do log de alterações do estado de integridade contêm os seguintes tipos de informações:
Em cada entrada do log de alterações do estado de integridade, o campo
jsonPayload.instanceHealthStateChange
contém as seguintes informações:Campo Descrição instance
URL da instância, com base no ID do projeto e no nome da instância. instanceWithId
URL da instância, com base no ID numérico do projeto e no ID da instância. ipAddress
Endereço IP da instância, conforme testado pela verificação de integridade. network
URL do recurso de rede para esta instância, com base no ID do projeto de string e no nome da rede. networkWithId
URL do recurso de rede para esta instância, com base no ID numérico do projeto e no ID da rede. healthCheck
URL da verificação de integridade configurada para o grupo gerenciado de instâncias. previousDetailedHealthState
Estado de saúde anterior da instância. Para a lista de estados possíveis, consulte estados de saúde . detailedHealthState
Estado de saúde atual da instância. Para a lista de estados possíveis, consulte estados de saúde . notificationTime
Carimbo de data e hora de quando ocorreu a alteração do estado de saúde. Os campos de log do tipo boolean normalmente só aparecem se tiverem um valor
true
. Se um campo booleano tiver um valorfalse
, esse campo será omitido do log.A codificação UTF-8 é aplicada aos campos de log. Caracteres que não são caracteres UTF-8 são substituídos por pontos de interrogação.
Exemplo de entrada de log
O exemplo a seguir mostra a mudança do estado de integridade de uma instância de VM de
HEALTHY
paraUNHEALTHY
:{ "logName": "projects/my-project/logs/compute.googleapis.com%2Finstance_group_manager_events", "resource": { "type": "gce_instance_group_manager", "labels": { "instance_group_manager_id": "3138236342290985981", "instance_group_manager_name": "my-mig", "project_id": "my-project", "location": "europe-west3" } }, "labels": { "compute.googleapis.com/instance_id": "6498902454451155884", "compute.googleapis.com/instance_location": "europe-west3-a", "compute.googleapis.com/instance_name": "my-mig-a" }, "timestamp": "2019-11-19T15:47:57.127Z", "severity": "INFO", "jsonPayload": { "@type": "type.googleapis.com/compute.InstanceGroupManagerEvent", "instanceHealthStateChange": { "instance": "projects/my-project/zones/europe-west3-a/instances/my-mig-a", "instanceWithId": "projects/123456/zones/europe-west3-a/instances/6498902454451155884", "ipAddress": "10.0.0.4", "network": "projects/my-project/global/networks/net-1", "networkWithId": "projects/123456/global/networks/456", "healthCheck": "projects/my-project/global/healthChecks/my-mig-health-check", "previousDetailedHealthState": "HEALTHY", "detailedHealthState": "UNHEALTHY", "notificationTime": "2019-11-19T15:47:56.444Z" } }, "receiveTimestamp": "2019-11-19T15:47:57.296439184Z" }
Casos de uso
Você pode usar os logs de alterações do estado de integridade nos seguintes cenários de monitoramento ou depuração:
Monitorando alterações no estado de integridade de uma VM
Você pode monitorar a frequência com que o estado de integridade de uma instância de VM muda criando uma métrica que rastreia as alterações no estado de integridade dessa VM específica.
Para criar a métrica e monitorar as alterações, faça o seguinte:
Monitorando mudanças no estado de integridade de todas as VMs em um MIG
Você pode monitorar as alterações do estado de integridade de todas as instâncias gerenciadas criando uma métrica que rastreia as alterações do estado de integridade das instâncias gerenciadas.
Para criar a métrica e monitorar as alterações, faça o seguinte:
Identificando VMs que frequentemente não apresentam integridade
Você pode identificar VMs problemáticas que frequentemente ficam
UNHEALTHY
criando uma métrica que rastreia as mudanças no estado de integridade de todas as instâncias de VM em seu MIG e agrupando a métrica por instâncias.Para criar a métrica e agrupar por instâncias, faça o seguinte:
As instâncias com o maior número de alterações no estado de saúde no total são as que mais frequentemente ficam insalubres.
Verificando o que causou uma tentativa de recuperação automática
Você pode descobrir o que causou uma tentativa de recuperação automática filtrando logs para operações
repair
para determinada instância de VM.Para filtrar as operações de reparo, faça o seguinte:
Verificando se a recuperação automática foi bem-sucedida em uma VM
Você pode descobrir se uma tentativa de recuperação automática foi bem-sucedida para uma instância de VM filtrando logs de operações
repair
e alterações de integridade por nome de instância de VM. Se o estado de integridade da instância for alterado paraHEALTHY
após uma operação de reparo, você verá um log de alterações do estado de integridade correspondente. Siga as etapas:Determinando o valor do atraso inicial de um MIG
Determinar um valor de atraso inicial apropriado para a recuperação automática do MIG é mais fácil com o registro do estado de integridade da instância de VM. Você pode usar logs para observar o tempo entre o término da operação
instances.insert
e o recebimento do primeiro sinal íntegro para um conjunto de instâncias em um grupo. Esse intervalo de tempo revela quanto tempo as instâncias levam para inicializar completamente. Como algumas VMs podem inicializar mais lentamente do que outras, o Google recomenda adicionar alguma margem ao tempo de inicialização observado (da operação de inserção ao estado íntegro) ao especificar o atraso inicial na política de recuperação automática.Para medir o tempo entre a operação de inserção da instância e a instância se tornar íntegra, execute uma consulta para operações
insert
e logs de alterações de integridade por nome da instância de VM. Use carimbos de data/hora de ambas as operações para calcular o tempo de inicialização da instância. Siga as etapas: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 2025-04-21 UTC.
-