Neste documento, descrevemos como ver e ler entradas de registro de alterações de estado de integridade de uma VM em um grupo gerenciado de instâncias (MIG) e fornecemos casos de uso específicos para ajudar você a monitorar as VMs no grupo
Se você configurou a verificação de integridade baseada em aplicativos para MIG, o Compute Engine grava uma entrada de registro sempre que o estado de integridade de uma instância gerenciada é alterado. Por exemplo, quando a instância vai do estado HEALTHY
para UNHEALTHY
. Essas entradas de registro 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
- Consulte Como configurar a verificação de integridade e a recuperação automática
-
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 da seguinte maneira.
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.
Acesse o Explorador de registros no Console do Google Cloud:
Defina os seguintes parâmetros de consulta:
- Recurso: gerenciador de grupos de instâncias do GCE
- Nome de registro:
instance_group_manager_events
Como alternativa, você pode copiar a seguinte consulta no builder Query.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Restrinja sua pesquisa a um grupo de instâncias gerenciadas específico usando a seguinte consulta.
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 Run query. Os resultados da consulta exibirão os registros.
PROJECT_ID
: o ID do projeto;MIG_NAME
: o MIG com os registros de alterações do estado de integridade que você quer visualizar.OAUTH2_TOKEN
: o token de acesso do seu aplicativo. Para realizar testes locais, use o comandogcloud auth print-access-token
para gerar um token.PROJECT_ID
: o ID do projeto;MIG_NAME
: o MIG com os registros de alterações do estado de integridade que você quer visualizar.Acesse o Explorador de registros no Console do Google Cloud:
Copie a seguinte consulta no builder do Query.
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 Run query.
PROJECT_ID
: o ID do projeto;INSTANCE_NAME
: a instância gerenciada em que você quer ver os registros de alteração do estado de integridade.OAUTH2_TOKEN
: o token de acesso do seu aplicativo. Para realizar testes locais, use o comandogcloud auth print-access-token
para gerar um token.PROJECT_ID
: o ID do projeto;INSTANCE_NAME
: a instância gerenciada em que você quer ver os registros de alteração do estado de integridade.- informações gerais mostradas na maioria dos registros, 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 para o estado de integridade da instância.
- Descubra com que frequência uma instância de VM específica mudou os estados de integridade ao longo do tempo.
- Avalie a frequência com que um MIG teve alterações de estado de integridade nas instâncias.
- Identifique instâncias de VM com problemas que costumam ficar em
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 recuperação automática.
Acesse o Explorador de registros no Console do Google Cloud:
Digite a seguinte consulta no builder do Query 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 seguida, em Criar métrica.
Na página Criar métrica de registros, faça o seguinte:
- Defina o Tipo de métrica como Contador.
Insira um nome de métrica de registro, por exemplo,
health-mig-xyzq
.A seção Filtro de versão exibe a consulta do registro do Explorador de registros. Também é possível configurar o filtro da métrica para considerar apenas os estados de interrupção, como
UNHEALTHY
eTIMEOUT
, adicionandoseverity>=WARNING
ao filtro.Em Rótulos, clique em Adicionar rótulo.
Digite um Nome de rótulo, por exemplo:
health_state
.Defina o Tipo de rótulo como
STRING
.Defina o Nome do campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Isso permitirá distinguir entre diferentes mudanças de estado de integridade.Clique em Concluído para adicionar o rótulo.
Clique em Criar métrica.
Acesse a página Métricas com base 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 é aberto e exibe o gráfico que representa as alterações no estado de integridade da instância de VM especificada na consulta.
Acesse o Explorador de registros no Console do Google Cloud:
Digite a seguinte consulta no builder do Query, 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 seguida, em Criar métrica.
Na página Criar métrica de registros, faça o seguinte:
- Defina o Tipo de métrica como Contador.
- Insira um nome de métrica de registro, por exemplo,
health-mig-xyzq
. - Em Rótulos, clique em Adicionar rótulo.
- Digite um Nome de rótulo, por exemplo:
health_state
. - Defina o Tipo de rótulo como
STRING
. - Defina o Nome do campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Isso permitirá distinguir entre diferentes mudanças de estado de integridade. - Clique em Concluído para adicionar o rótulo.
- Clique em Criar métrica.
Acesse a página Métricas com base 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 é aberto 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 especificado na consulta.
Acesse o Explorador de registros no Console do Google Cloud:
Digite a seguinte consulta no builder do Query, 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 seguida, em Criar métrica.
Na página Criar métrica de registros, faça o seguinte:
- Defina o Tipo de métrica como Contador.
- Insira um nome de métrica de registro, por exemplo,
health-mig-xyzq
. - Em Rótulos, clique em Adicionar rótulo.
- Digite um Nome de rótulo, por exemplo:
health_state
. - Defina o Tipo de rótulo como
STRING
. - Defina o Nome do campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Isso permitirá distinguir entre diferentes mudanças de estado de integridade. - 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 com base 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 é aberto 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 especificado na consulta.
Defina a opção Agrupar por como
instance
para ver o número agregado de alterações de estado de integridade em cada instância.Acesse o Explorador de registros no Console do Google Cloud:
Insira a seguinte consulta no builder do Query 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 Run query. Os Resultados da consulta mostrarão todas as tentativas de recuperação automática na VM com o motivo em
protoPayload.status.message
.Acesse o Explorador de registros no Console do Google Cloud:
Insira a seguinte consulta no builder do Query 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 de estado de integridade da instância da 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 Explorador de registros no Console do Google Cloud:
Insira a seguinte consulta no builder do Query 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 de VM. A segunda parte mostra todas as alterações de estado de integridade 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 mostra o tempo necessário para que essa VM tenha: inicializar.Repita as etapas para mais algumas VMs para ter 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.
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.
Preços
O Compute Engine usa o Cloud Logging para gerar entradas de registro de alterações de estado de integridade da instância gerenciada. O Cloud Logging oferece uma cota gratuita por mês após a qual as entradas de registro são cobradas pelo volume de dados. Para mais informações, consulte o resumo de preços do Cloud Logging.
Para evitar os custos de geração de registros, é possível desativar os registros de alteração do estado de integridade.
Como visualizar registros de alterações do estado de integridade
Desde que os registros de alterações de estado de integridade permaneçam ativados, o Compute Engine gravará uma entrada de registro nos registros de plataforma sempre que o estado de integridade de uma instância gerenciada for alterado. É possível ver esses registros para um projeto, para um MIG específico ou para uma instância gerenciada específica.
Como visualizar registros de um projeto ou um MIG
Para ver as entradas de registro de um projeto ou de um MIG específico, use o console do Google Cloud, a gcloud CLI ou a REST.
Console
gcloud
Use o comando
gcloud logging read
para visualizar e ler as entradas de registro.Para ver todos os registros de alterações do estado de integridade no 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 ver todos os registros 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:
REST
Para visualizar os registros de alterações do estado de integridade, faça uma solicitação
POST
para o métodoentries.list
.Para ver todos os registros de alterações do estado de integridade no 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 ver os registros de alteração de 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:
Para mais informações sobre cada entrada de registro, consulte Formato de entradas de registro.
Dependendo se você quer arquivar os registros, usar os registros para análise, transmitir os registros para outros aplicativos ou acionar uma função do Cloud, você pode exportar os registros para destinos como Cloud Storage, BigQuery ou Pub/Sub. Para mais informações sobre como exportar registros, consulte Visão geral das exportações de registros.
Como ver registros de alterações de estado de integridade de uma VM específica
Para ver as entradas de registro de uma instância gerenciada específica, use o console do Google Cloud, a gcloud CLI ou a REST.
Console
gcloud
Use o comando
gcloud logging read
para visualizar e ler as entradas de registro.Para ver os registros de alteração 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:
REST
Para ver os registros de alteração 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:
Formato das entradas de registro
As entradas do registro de alterações de estado da integridade da instância contêm informações úteis para monitorar e depurar o estado das instâncias gerenciadas.
Os registros são gravados nos registros da plataforma com o nome
instance_group_manager_events
. Os registros da plataforma ajudam a depurar e resolver problemas.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events"
As entradas de registro de alterações de estado de integridade contêm os seguintes tipos de informações:
Em cada entrada de registro de alteração de 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 da string 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 verificado pela verificação de integridade. network
URL do recurso de rede para esta instância, com base no ID do projeto da string e no nome da rede. networkWithId
URL do recurso de rede para esta instância, com base no ID do projeto numérico e no ID da rede. healthCheck
URL da verificação de integridade configurada para o grupo de instâncias gerenciadas. previousDetailedHealthState
Estado de integridade anterior da instância. Para ver a lista dos estados possíveis, consulte estados de integridade. detailedHealthState
Estado de integridade atual da instância. Para ver a lista dos estados possíveis, consulte estados de integridade. notificationTime
Carimbo de data/hora de quando a mudança do estado de integridade ocorreu. Os campos de registro do tipo
true
booleano normalmente só aparecem se tiverem um valor . Se um campo booleano tem um valorfalse
, esse campo é omitido do registro.A codificação UTF-8 é aplicada aos campos de registro. Os caracteres que não forem UTF-8 serão substituídos por pontos de interrogação.
Exemplo de entrada de registro
O exemplo a seguir mostra a alteração de 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
Use os registros de alterações de estado de integridade nos seguintes cenários de monitoramento ou depuração:
Como monitorar alterações de estado de integridade de uma VM
É possível monitorar a frequência com que o estado de integridade de uma instância de VM é alterado criando uma métrica que rastreia as alterações de estado de integridade dessa VM específica.
Para criar a métrica e monitorar as alterações, faça o seguinte:
Como monitorar alterações de estado de integridade de todas as VMs em um MIG
É possível monitorar as alterações de estado de integridade de todas as instâncias gerenciadas criando uma métrica que rastreia as alterações de estado de integridade das instâncias gerenciadas.
Para criar a métrica e monitorar as alterações, faça o seguinte:
Como identificar VMs que não costumam ser íntegras
Para identificar VMs com problemas que costumam ficar no
UNHEALTHY
, crie uma métrica que rastreie as alterações de estado de integridade de todas as instâncias de VM no MIG e agrupe 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 de estado de integridade agregadas são aquelas que não são íntegras com mais frequência.
Como verificar o que causou uma tentativa de recuperação automática
Para descobrir o que causou uma tentativa de recuperação automática, filtre os registros para operações
repair
em uma determinada instância de VM.Para filtrar as operações de conserto, faça o seguinte:
Como verificar se a recuperação automática foi bem-sucedida para uma VM
Para descobrir se uma tentativa de recuperação automática foi bem-sucedida para uma instância de VM, filtre os registros de operações
repair
e as alterações de integridade por nome da 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 registro de alteração de estado de integridade correspondente. Siga estas etapas:Como determinar o valor de atraso inicial de um MIG
Determinar um valor de atraso inicial apropriado para recuperação automática de MIG é mais fácil com a geração de registros de estado de integridade da instância de VM. É possível usar registros para observar o tempo entre o término da operação
instances.insert
e o momento em que o primeiro sinal íntegro foi recebido para um conjunto de instâncias em um grupo. Esse intervalo de tempo revela quanto tempo as instâncias levam para inicializar. Como algumas VMs podem ser inicializadas mais lentamente do que outras, o Google recomenda adicionar alguma margem ao tempo de inicialização observado (da operação de inserção para o 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 que se torna íntegra, execute uma consulta para operações
insert
e registros de alterações de integridade por nome da instância de VM. Use os carimbos de data/hora das duas operações para calcular o tempo de inicialização da instância. Siga estas 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 2024-11-21 UTC.
-