Crie uma política de rastreamento de destino usando métricas de alta resolução para uma resposta mais rápida
O rastreamento de destino oferece suporte a métricas de alta resolução do CloudWatch com pontos de dados de segundo nível que são publicados em intervalos menores que um minuto. Configure políticas de rastreamento de destino para monitorar a utilização por meio de métricas de alta resolução do CloudWatch para aplicações que tenham padrões de demanda voláteis, como APIs de atendimento ao cliente, serviços de streaming ao vivo, sites de comércio eletrônico e processamento de dados sob demanda. Para obter maior precisão na correspondência entre capacidade e demanda, o rastreamento de destino usa esse monitoramento refinado para detectar e responder às mudanças na demanda e na utilização de suas instâncias do EC2 com mais rapidez.
Para obter mais informações sobre como publicar suas métricas em alta resolução, consulte Publicação de métricas personalizadas no Guia do usuário do Amazon CloudWatch. Para acessar e publicar métricas do EC2, como a utilização da CPU em alta resolução, talvez você queira usar o agente do CloudWatch.
Regiões da AWS
O rastreamento de destino usando métricas de alta resolução está disponível em todas as Regiões da AWS, exceto em AWS GovCloud (US) Regions.
Como funciona a política de rastreamento de destino com métricas de alta resolução
Você cria políticas de rastreamento de destino definindo a métrica que deseja rastrear e o valor de destino que deseja manter para a métrica. Para escalar uma métrica de alta resolução, especifique o nome da métrica e defina o período métrico no qual o rastreamento de destino observa essa métrica a um valor inferior a 60 segundos. Atualmente, o intervalo mais baixo com suporte é de 10 segundos. É possível publicar sua métrica em intervalos menores do que isso.
nota
Não há suporte para um período métrico maior que 60.
É possível configurar o rastreamento de destino em uma única métrica do CloudWatch ou consultar várias métricas do CloudWatch e usar expressões matemáticas para criar novas séries temporais únicas com base nessas métricas. Ambas as opções permitem que você defina o período métrico.
Exemplos
Exemplo 1
O exemplo a seguir cria uma política de rastreamento de destino com base em uma métrica de alta resolução do CloudWatch. A métrica é publicada com resolução de 10 segundos. Ao definir o período, é possível ativar o rastreamento de metas para monitorar essa métrica com uma granularidade de 10 segundos. Substitua cada espaço reservado para entrada do usuário por suas próprias informações.
$ cat ~/config.json { "TargetValue":100.0, "CustomizedMetricSpecification": { "MetricName": "MyHighResolutionMetric", "Namespace": "MyNamespace", "Dimensions": [ { "Name": "MyOptionalDimensionName", "Value": "MyOptionalMetricDimensionValue" } ], "Statistic": "Average", "Unit": "None" "Period": "10} }
Exemplo 2
É possível usar expressões matemáticas métricas para combinar várias métricas em uma única série temporal para escalabilidade. A matemática métrica é particularmente útil para converter métricas existentes em média por instância. A conversão de métricas é essencial porque o rastreamento de destino pressupõe que a métrica seja inversamente proporcional à capacidade do grupo do Auto Scaling. Portanto, quando a capacidade aumenta, a métrica deve diminuir quase na mesma proporção.
Por exemplo, suponha que você tenha uma métrica que represente os trabalhos pendentes a serem processados pela aplicação. É possível usar matemática métrica para dividir os trabalhos pendentes pela capacidade de execução do grupo do Auto Scaling. O Auto Scaling publica a métrica de capacidade com granularidade de 1 minuto. Portanto, não haverá nenhum valor para essa métrica em intervalos de menos de um minuto. Se você quiser usar uma resolução mais alta para escalar, isso pode levar a uma incompatibilidade de período entre a capacidade e a métrica de trabalho pendente. Para evitar essa incompatibilidade, recomendamos que você use a expressão FILL para preencher os valores ausentes com o número da capacidade registrado no carimbo de data/hora do minuto anterior.
O exemplo a seguir usa matemática métrica para dividir a métrica de trabalhos pendentes pela capacidade. Por um período, estamos definindo as duas métricas em 10 segundos. Como a métrica é publicada em intervalos de 1 minuto, estamos usando a operação FILL na métrica de capacidade.
Para usar matemática métrica para modificar várias métricas
{ "CustomizedMetricSpecification": { "Metrics": [ { "Label": "Pending jobs to be processed", "Id": "m1", "MetricStat": { "Metric": { "MetricName": "MyPendingJobsMetric", "Namespace": "Custom", }, "Stat": "Sum" "Period": 10 }, "ReturnData": false }, { "Label": "Get the running instance capacity (matching the period to that of the m1)", "Id": "m2", "MetricStat": { "Metric": { "MetricName": "GroupInServiceInstances", "Namespace": "AWS/AutoScaling", "Dimensions": [ { "Name": "AutoScalingGroupName", "Value": "my-asg" } ] }, "Stat": "Average" "Period": 10 }, "ReturnData": false }, { "Label": "Calculate the pending job per capacity (note the use of the FILL expression)", "Id": "e1", "Expression": "m1 / FILL(m2,REPEAT)", "ReturnData": true } ] }, "TargetValue":100}
Considerações
Considere os fatores a seguir ao usar rastreamento de destino e métricas de alta resolução.
-
Para garantir que você não tenha pontos de dados ausentes que possam levar a resultados indesejados de escalabilidade automática, sua métrica do CloudWatch deve ser publicada com resolução igual a ou maior que o período especificado.
-
Defina o valor de destino como o valor métrico por instância por minuto que você deseja manter para seu grupo do Auto Scaling. Definir um valor de destino apropriado é crucial se você usar uma métrica cujo valor pode se multiplicar com base no período da métrica. Por exemplo, qualquer métrica baseada em contagem, como contagens de solicitações ou trabalhos pendentes que usem a estatística SUM, terá um valor métrico diferente dependendo do período escolhido. Você ainda deve presumir que está estabelecendo uma meta em relação à média por minuto.
-
Embora não haja taxas adicionais para usar o Amazon EC2 Auto Scaling, é necessário pagar pelos recursos, como instâncias do Amazon EC2, métricas do CloudWatch e alarmes do CloudWatch. Os alarmes de alta resolução criados no exemplo anterior têm preços diferentes dos alarmes padrão do CloudWatch. Para obter mais informações sobre os preços do CloudWatch, consulte Preço do Amazon CloudWatch
. -
O rastreamento de destino exige que as métricas representem a utilização média por instância de suas instâncias do EC2. Para conseguir isso, é possível usar operações matemáticas métricas como parte da configuração da política de rastreamento de destino. Divida sua métrica pela capacidade de execução do seu grupo do Auto Scaling. Certifique-se de que o mesmo período métrico seja definido para cada uma das métricas que você usar para criar uma única série temporal. Se essas métricas forem publicadas em intervalos diferentes, use a operação FILL na métrica com o intervalo mais alto para preencher os pontos de dados ausentes.