Quando você cria um grupo gerenciado de instâncias (MIG) regional ou aumenta o tamanho de destino dele, o Compute Engine avalia a disponibilidade de recursos em tempo real para distribuir novas instâncias de computação entre zonas e tipos de máquina. Durante esse processo, o Compute Engine registra uma entrada de registro de distribuição de instâncias no Cloud Logging.
Neste documento, descrevemos como visualizar e interpretar esses registros de distribuição de instâncias. Também explicamos como usar esses registros para investigar alocações pendentes e configurar alertas.
Para conferir a distribuição real das instâncias em execução, consulte Monitorar a distribuição de instâncias em MIGs.
Sobre os registros de distribuição de instâncias
Os registros de distribuição de instâncias fornecem um snapshot único das alocações planejadas do MIG para instâncias de computação. Nesses registros, uma instância alocada significa que o MIG encontrou capacidade e planeja criar a instância de computação nesse tipo de máquina e nessa zona. Um tamanho alocado não significa que as instâncias de computação já foram criadas.
Como os registros fornecem um snapshot, o Compute Engine não os atualiza quando o MIG cria as instâncias de computação restantes posteriormente. A entrada de registro permite visualizar os seguintes detalhes:
Distribuição de tipos de máquina: o número de instâncias de computação que o MIG alocou por tipo de máquina. Essas informações estão presentes apenas para MIGs regionais que usam flexibilidade de instâncias.
Distribuição por zona: o número de instâncias de computação que o MIG alocou por zona.
Instâncias aguardando capacidade: o número de instâncias para as quais o MIG não conseguiu alocar capacidade imediatamente e está buscando capacidade ativamente.
Limitações
Os registros de distribuição de instâncias estão disponíveis apenas para MIGs regionais.
Para MIGs regionais que usam o formato de distribuição de destino
EVENsem escalonamento automático, a entrada de registro inclui apenas os camposoldSize,newSize,deltaSizeetargetShape, sem detalhes de distribuição de instâncias.O Compute Engine registra os detalhes de distribuição de instâncias somente quando você cria um MIG ou aumenta o tamanho de destino dele. O Compute Engine não registra esses detalhes quando o tamanho de destino diminui ou durante as operações de reparo, recriação e atualização de instâncias.
Ver registros de distribuição de instâncias de um MIG específico
Para ver os registros de distribuição de instâncias de um MIG específico, use uma das seguintes opções:
Console
É possível ver os registros de um MIG específico diretamente na página de detalhes do grupo de instâncias.
No console, do Google Cloud , acesse a página Grupos de instâncias.
Clique no nome do MIG que você quer visualizar.
Clique na guia Monitoramento.
No painel à esquerda, selecione Registros.
No filtro de resultados de registro, digite
instanceDistributione pressione Enter.Para ver os dados de distribuição de instâncias, expanda uma entrada de registro e, em seguida, expanda
protoPayload.metadata.details.
gcloud
Para ver os registros de distribuição de instâncias de um MIG específico, use o
comando gcloud logging read:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \ protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \ resource.labels.instance_group_manager_name=\"MIG_NAME\""
Substitua:
PROJECT_ID: ID do projeto.MIG_NAME: o nome do MIG;
REST
Para ver os registros de distribuição de instâncias de um MIG específico, faça uma solicitação POST
ao método entries.list.
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND resource.labels.instance_group_manager_name=\"MIG_NAME\""
}
Substitua:
PROJECT_ID: ID do projeto.MIG_NAME: o nome do MIG;
Para mais informações sobre cada campo em um registro, consulte Entrada de registro de distribuição de instâncias.
Ver todos os registros de distribuição de instâncias em um projeto
Para ver todos os registros de distribuição de instâncias em um projeto, selecione uma das seguintes opções:
Console
No console do Google Cloud , acesse a página Análise de registros.
Insira uma consulta. Confira alguns exemplos:
Para ver todos os registros de distribuição de instâncias no projeto:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution"
Para ver os registros de distribuição de instâncias em que parte do redimensionamento ainda está aguardando capacidade:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution" protoPayload.metadata.details.data.activeSeekDeltaSize > 0
Substitua
PROJECT_IDpelo ID do seu projeto.Clique em Executar consulta.
Nos resultados, expanda uma entrada de registro.
- Para ver o resumo e os dados, abra
protoPayload.metadata.details. - Para ver o resumo em cada linha, clique em
messagee selecione Adicionar campo à linha de resumo.
- Para ver o resumo e os dados, abra
gcloud
Para conferir os registros de distribuição de instâncias, use o
comando gcloud logging read.
- Para ver todos os registros de distribuição de instâncias no projeto:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \ protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
- Para ver todos os registros do projeto do último dia, especifique a
flag
--freshness=1dda seguinte maneira:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\"" \
--freshness=1d
- Para ver os registros de distribuição de instâncias em que parte do redimensionamento ainda está aguardando capacidade:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \
protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
Substitua PROJECT_ID pelo ID do seu projeto.
REST
Para visualizar os registros de distribuição de instâncias, faça uma solicitação POST para o
método entries.list.
- Para ver todos os registros de distribuição de instâncias no projeto:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
}
- Para ver todos os registros do projeto do último dia, adicione uma condição
timestampao filtro:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND timestamp >= \"YYYY-MM-DDThh:mm:ssZ\""
}
- Para ver os registros de distribuição de instâncias em que parte do redimensionamento ainda está aguardando capacidade:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
}
Substitua:
PROJECT_ID: ID do projeto.YYYY-MM-DDThh:mm:ssZ: o carimbo de data/hora RFC 3339 para o horário de início. Por exemplo,2024-10-22T00:00:00Z.
Para mais informações sobre cada campo em um registro, consulte Entrada de registro de distribuição de instâncias.
Entrada de registro de distribuição de instâncias
Veja a seguir um exemplo de entrada de registro (protoPayload.metadata.details). Como
esse evento é um snapshot único, a entrada de registro não é atualizada quando as
instâncias restantes são criadas posteriormente. A entrada de registro permite que você veja os detalhes
da seguinte maneira:
details.data: mostra os detalhes estruturados sobre a distribuição da instância.details.message: mostra o resumo da distribuição de instâncias.
Neste exemplo, um MIG regional com flexibilidade de instâncias está sendo escalonado horizontalmente de
0 para 100. O MIG aloca imediatamente 80 das 100 novas instâncias
em duas seleções de instâncias classificadas (20 instâncias de c2-standard-4 na
seleção rank2-c2 e 60 instâncias de n2d-standard-4 na seleção
rank3-n2d). A entrada também mostra que as instâncias de computação 40 estão alocadas em
us-central1-b e us-central1-c cada. Para as 20 instâncias restantes
(activeSeekDeltaSize), o MIG continua buscando capacidade em todas as
seleções e zonas de instâncias configuradas. Para MIGs regionais sem flexibilidade de instâncias, a entrada de registro omite o campo instanceSelections e mostra apenas a distribuição zonal.
"metadata": {
"details": {
"data": {
"oldSize": 0,
"newSize": 100,
"deltaSize": 100,
"targetShape": "BALANCED",
"activeSeekDeltaSize": 20,
"instanceSelections": {
"rank1-n2": {
"rank": 1,
"machineSelections": [
{
"machineType": "n2-standard-4",
"allocatedSize": 0
}
]
},
"rank2-c2": {
"rank": 2,
"machineSelections": [
{
"machineType": "c2-standard-4",
"allocatedSize": 20
}
]
},
"rank3-n2d": {
"rank": 3,
"machineSelections": [
{
"machineType": "n2d-standard-4",
"allocatedSize": 60
}
]
}
},
"zonalDistribution": {
"us-central1-a": {
"allocatedSize": 0
},
"us-central1-b": {
"allocatedSize": 40
},
"us-central1-c": {
"allocatedSize": 40
}
}
},
"message": "Increasing MIG target size from 0 to 100 instances (+100).
Allocated 80 of 100 new instances. Allocated instances across instance
selections: rank2-c2 (rank 2; c2-standard-4: 20); rank3-n2d (rank 3;
n2d-standard-4: 60). Allocated instances across zones based on target
distribution shape BALANCED: us-central1-a: 0, us-central1-b: 40,
us-central1-c: 40. MIG continues to allocate the remaining 20 new instances
across all instance selections and zones. The final distribution across zones
and machine types may differ as instances are created. View the group's
instances for the current distribution."
}
}
A tabela a seguir descreve cada campo em uma entrada de registro.
| Campo | Descrição |
|---|---|
details.data.oldSize |
O tamanho de destino do MIG regional antes da operação de redimensionamento. |
details.data.newSize |
O tamanho de destino solicitado do MIG regional. |
details.data.deltaSize |
A mudança no tamanho desejado (newSize - oldSize).
|
details.data.targetShape |
O formato de distribuição de destino do MIG regional. |
details.data.activeSeekDeltaSize |
O número de novas instâncias para as quais o MIG ainda está buscando capacidade
nas seleções e zonas de instâncias configuradas. Esse campo é omitido
quando o valor é 0.
|
details.data.instanceSelections |
As seleções de instâncias configuradas avaliadas durante a alocação. Esse campo está presente apenas para MIGs que usam a flexibilidade de instâncias. Cada chave é o nome de uma seleção de instância, e o valor dela contém os seguintes campos:
|
details.data.zonalDistribution |
As zonas configuradas e a distribuição de instâncias alocadas. Cada chave
é um nome de zona, e o valor dela contém o número de instâncias de computação
alocadas nessa zona (allocatedSize).
|
details.message |
Uma mensagem de resumo que descreve a distribuição da instância, incluindo as contagens alocadas e os detalhes da capacidade de busca. |
Interpretar registros de distribuição de instâncias
O registro de distribuição de instâncias fornece um snapshot do plano do MIG para a criação de instâncias de computação. Como o registro indica que o MIG aloca instâncias de computação antes de serem criadas, use os dados de registro com o status da instância de computação e as mensagens de erro para entender o comportamento real do MIG.
Use a tabela a seguir para interpretar saídas de registro comuns e determinar se você precisa realizar alguma ação:
| Saída de registro | Explicação | Ação recomendada |
|---|---|---|
activeSeekDeltaSize é maior que
0 |
O MIG não encontrou capacidade suficiente para atender a toda a solicitação de redimensionamento imediatamente. O MIG continua tentando criar as instâncias restantes em todas as opções configuradas. | Verifique os erros de instância do MIG para saber por que a criação da instância falhou. Considere adicionar tipos de máquina de outras famílias de máquinas, adicionar zonas ou verificar suas cotas. |
Uma seleção de preferência mais alta (número de classificação mais baixo) tem um
allocatedSize de 0 |
No momento da decisão, o MIG verificou os tipos de máquina de sua preferência, mas não encontrou capacidade suficiente. Em vez disso, o MIG usou uma seleção de menor preferência (número de classificação mais alto). O Compute Engine não registra erros de instância para seleções ignoradas. | Se o MIG pular sua seleção preferida com frequência, considere adicionar mais tipos de máquina à sua seleção preferida ou aceitar opções de menor preferência. |
Uma zona configurada tem um allocatedSize de
0 |
O MIG não alocou novas instâncias nessa zona. | Se o formato de destino for ANY ou
ANY_SINGLE_ZONE, essa distribuição desigual é normal.
Caso contrário, revise sua cota, reservas e suporte de zona para o
modelo de instância. |
Um tipo de máquina está ausente do resumo de
message |
O MIG não usou esse tipo de máquina para alocação. | Verifique o bloco estruturado details.data. A mensagem de resumo
não inclui seleções e tipos de máquina que receberam 0 novas
instâncias, mas os dados estruturados listam todas as opções avaliadas. |
Verificar alocações de instâncias pendentes
Se o MIG ainda estiver aguardando capacidade (activeSeekDeltaSize > 0), verifique o seguinte para entender os motivos das alocações
pendentes:
Verifique os erros de criação de instâncias. Para conferir se a criação da instância falhou depois que o MIG alocou capacidade ou se as instâncias de computação ainda estão aguardando capacidade, verifique os erros da instância. Para mais informações, consulte Erros de instância de lista.
Verifique o status da instância. Para ver o status e a ação atual de cada instância, liste as instâncias no MIG e verifique o campo
instanceStatus. Para mais informações, consulte Verificar o status de instâncias gerenciadas.Revise a configuração. Se você configurou uma política de flexibilidade de instâncias no MIG, revise as cotas regionais das famílias de máquinas na política. Além disso, verifique se as zonas selecionadas são compatíveis com os tipos de máquina solicitados. Para mais informações, consulte Visualizar e gerenciar cotas e Regiões e zonas disponíveis.
Criar políticas de alertas com base em registros
Para receber notificações quando as operações de redimensionamento do MIG aguardarem capacidade, crie uma
política de alertas com base em registros na Análise de registros. Por exemplo, é possível acionar um alerta quando activeSeekDeltaSize for maior que 0.
Para criar esse alerta, faça o seguinte:
No console do Google Cloud , acesse a página Análise de registros.
Digite a seguinte consulta:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution" protoPayload.metadata.details.data.activeSeekDeltaSize > 0
Substitua
PROJECT_IDpelo ID do seu projeto.Clique em Executar consulta para validar a consulta.
Crie a política de alertas seguindo as instruções na seção criar uma política de alertas com base em registros da documentação do Cloud Logging.