Esta página aborda as operações de auto-scaling: análise da atividade de auto-scaling, configuração de alertas de auto-scaling, aprimoramento do auto-scaling com campos efetivos e obtenção de suporte para o auto-scaling.
Revise o feed de atividades de dimensionamento automático
Você pode visualizar o feed de atividades para revisar os eventos de cada projeto do Atlas. Quando ocorre qualquer evento de dimensionamento automático, o Atlas registra o evento no projeto Activity Feed.
O Atlas usa os seguintes eventos de dimensionamento automático de auditoria.
Cada evento de dimensionamento automático no Feed de atividades inclui informações detalhadas sobre o que acionou a ação de dimensionamento, incluindo:
A métrica específica que acionou o evento de dimensionamento automático (como utilização da CPU, uso de memória ou espaço em disco).
O valor limite que foi excedido.
Se o dimensionamento foi acionado por dimensionamento automático reativo (em resposta ao uso atual de recursos) ou dimensionamento automático preditivo (em antecipação à demanda projetada).
Para visualizar ou baixar somente eventos de dimensionamento automático:
No Atlas, acesse a página Project Activity Feed.
Se ainda não tiver sido exibido, selecione a organização que contém seu projeto no menu Organizations na barra de navegação.
Se ainda não estiver exibido, selecione o projeto desejado no menu Projects na barra de navegação.
Na barra lateral, clique em Activity Feed abaixo do cabeçalho Security.
A página Feed de atividades do projeto é exibida.
Pesquise eventos de dimensionamento automático.
Na caixa de pesquisa acima da lista, comece a inserir auto-scaling.
No lado direito do menu, todos os eventos de dimensionamento automático são exibidos. Desmarque as opções que você não deseja ver. A lista de feeds é atualizada automaticamente com cada alteração que você faz.
Configurar alertas para eventos de dimensionamento automático
Importante
No início de agosto 2024, o Atlas substituiu e-mails de notificação de dimensionamento automático legados por eventos de dimensionamento automático configuráveis. Por padrão, o Atlas continua a enviar todas as notificações de alerta aos proprietários do projeto. Você pode personalizar sua distribuição de alertas com dimensionamento automático para alterar os destinatários do alerta ou um método de distribuição.
As atividades de auto-scaling são um subconjunto de alertas do Atlas . Cada vez que o Atlas aciona qualquer um dos eventos de dimensionamento automático, você recebe alertas padrão do Atlas .
Você pode desativar ou alterar a configuração do alerta para alguns ou todos os eventos de escalonamento automático no nível do projeto.
Importante
Os alertas de dimensionamento automático são válidos para todos os clusters de um projeto. Você não pode definir o escopo de alertas para clusters específicos. As notificações de alerta identificam qual cluster acionou o evento por nome e ID do cluster.
Para modificar uma configuração de alerta, na seção Category, selecione Atlas Auto Scaling e, em seguida, selecione Condition/Metric na lista. Você pode então modificar as funções dos destinatários dos alertas, alterar um método de notificação, como e-mail ou SMS, e adicionar um notificador, como o Slack. Para saber mais, consulte Configurar um alerta de escalonamento automático.
Aprimore o dimensionamento automático com campos efetivos no Terraform
Observação
Este recurso só se aplica a clusters dedicados no nível M10 e superiores, e não é suportado para clusters Flex.
Quando o dimensionamento automático é ativado em um cluster, o Atlas ajusta automaticamente os tamanhos das instâncias e a capacidade de armazenamento com base na carga de trabalho.
Se você usar MongoDB e HashiCorp Terraform para o dimensionamento da instância do cluster e as configurações de armazenamento, poderá especificar campos efetivos para um subconjunto de valores de dimensionamento do cluster. Recomendamos essa abordagem, desta forma:
Os atributos de especificação permanecem exatamente como você definiu na configuração do Terraform.
Os valores padrão e auto-scaled estão disponíveis separadamente em especificações efetivas (por exemplo,
effectiveElectableSpecs), e nenhum desvio de recursos ocorre quando o Atlas dimensiona automaticamente seu cluster.Sua configuração permanece limpa e representa sua intenção, enquanto especificações eficazes mostram a Realidade do que o Atlas provisionou.
Os campos efetivos ignoram apenas as alterações em campos gerenciados por tipos específicos de dimensionamento automático. A tabela a seguir detalha os campos ignorados quando os campos efetivos e tipos específicos de dimensionamento automático estão habilitados:
Tipo de dimensionamento automático habilitado | especificações | Campos ignorados | Tipo de nó |
|---|---|---|---|
Computação ou armazenamento |
|
| |
Computação ou armazenamento |
|
| |
Análise |
|
|
Você não pode usar campos efetivos para nós de pesquisa.
Habilitar campos eficazes
Para ativar campos efetivos, inclua o seguinte cabeçalho na solicitação de API:
--header "Use-Effective-Instance-Fields: true"
Defina o argumento use_effective_fields como true em sua definição de recurso para o cluster, conforme mostrado no exemplo a seguir:
resource "mongodbatlas_advanced_cluster" "this" { project_id = mongodbatlas_project.this.id name = var.cluster_name cluster_type = var.cluster_type use_effective_fields = true replication_specs = var.replication_specs tags = var.tags }
Para aprender mais, consulte Exemplo de módulo de campos eficazes.
Importante
Se você não habilitar campos efetivos, deverá configurar manualmente um bloco lifecycle.ignore_changes para evitar o desvio de recursos quando o dimensionamento automático ocorrer. Não recomendamos esta abordagem . Para aprender mais, consulte dimensionamento automático na documentação do Terraform.
Comportamento dos campos efetivos
No geral, o comportamento dos campos efetivos se enquadra em um dos três cenários:
Observação
Recomendamos ativar campos efetivos como uma prática recomendada.
{ "replicationSpecs": [ { "regionConfigs": [ { "analyticsAutoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "autoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "effectiveAnalyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "effectiveElectableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "effectiveReadOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "electableSpecs": { "instanceSize": "M20", "diskSizeGB": 50.0, "nodeCount": 3 }, "priority": 7, "providerName": "AWS", "regionName": "US_EAST_1" } ], "zoneId": "6924a70c67695449ba5625ce", "zoneName": "Zone 1" } ] }
Observação
Recomendamos ativar campos efetivos como uma prática recomendada.
{ "replicationSpecs": [ { "regionConfigs": [ { "effectiveAnalyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "effectiveElectableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "effectiveReadOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "electableSpecs": { "instanceSize": "M30", "diskSizeGB": 100.0, "nodeCount": 3 }, "priority": 7, "providerName": "AWS", "regionName": "US_EAST_1" } ], "zoneId": "6924a70c67695449ba5625ce", "zoneName": "Zone 1" } ] }
Importante
Se você não habilitar campos efetivos, deverá configurar manualmente um bloco lifecycle.ignore_changes para evitar o desvio de recursos quando o dimensionamento automático ocorrer. Não recomendamos esta abordagem . Para aprender mais, consulte dimensionamento automático na documentação do Terraform.
{ "replicationSpecs": [ { "regionConfigs": [ { "analyticsAutoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "autoScaling": { "compute": { "maxInstanceSize": "M30", "minInstanceSize": "M10", "enabled": true, "scaleDownEnabled": true }, "diskGB": { "enabled": true } }, "effectiveAnalyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "effectiveElectableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "effectiveReadOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "analyticsSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "electableSpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 3 }, "readOnlySpecs": { "instanceSize": "M30", "diskIOPS": 3000, "diskSizeGB": 100.0, "ebsVolumeType": "STANDARD", "nodeCount": 0 }, "priority": 7, "providerName": "AWS", "regionName": "US_EAST_1" } ], "zoneId": "6924a70c67695449ba5625ce", "zoneName": "Zone 1" } ] }
Ajuste a faixa de dimensionamento automático com campos efetivos
Se você ativar campos efetivos, o Atlas validará qualquer nova faixa de auto-scaling em relação ao tamanho atual da instância efetiva do cluster. O Atlas rejeita uma solicitação que define uma faixa que não contém o tamanho da instância efetiva atual. Esse comportamento se aplica a nós operacionais e nós de analítica que usam o auto-scaling.
A solicitação falha com um erro de validação em qualquer um desses casos:
O novo tamanho mínimo da instância é maior do que o tamanho efetivo da instância.
O novo tamanho máximo da instância é menor que o tamanho efetivo da instância.
Se a nova faixa ainda contiver o tamanho efetivo atual da instância, você poderá alterar os limites em uma única solicitação.
Se o tamanho efetivo atual da instância estiver fora da nova faixa, use o procedimento a seguir para movê-lo para a nova faixa antes de alterar os limites. Se você atualizar o tamanho da instância na mesma solicitação que a alteração da faixa, o Atlas não aplicará o novo tamanho da instância enquanto o dimensionamento automático estiver habilitado com campos efetivos, portanto, a solicitação ainda falha.
Para ajustar o intervalo de auto-scaling com Terraform, consulte Ajustar o intervalo de auto-scaling com use_quality_fields na documentação do provedor de Terraform.
Suporte do MongoDB para dimensionamento automático do Atlas
Se você tiver alguma dúvida, entre em contato com o suporte.