Como usar as métricas do CloudWatch para calcular o throughput médio e o número médio de IOPS fornecido pelo meu volume do EBS?

5 minuto de leitura
0

Quero usar as métricas do Amazon CloudWatch para calcular o throughput médio e o número de operações de entrada e saída por segundo (IOPS) do meu volume do Amazon Elastic Block Store (Amazon EBS).

Breve descrição

Para calcular o throughput médio e o número de IOPS do seu volume, use as expressões matemáticas com as métricas do CloudWatch. Para monitorar os dados em seus volumes do EBS, crie alarmes do CloudWatch.

Ou use o documento de automação AWSSupport-CalculateEBSPerformanceMetrics. A automação usa métricas do CloudWatch para calcular o throughput agregado, o número de IOPS e o tamanho de E/S dos volumes do EBS. É possível calcular métricas para volumes individuais do EBS ou para todos os volumes do EBS conectados à sua instância do Amazon Elastic Compute Cloud (Amazon EC2).

Resolução

Calcular manualmente o throughput

Conclua as seguintes etapas:

  1. Abra o console do CloudWatch.
  2. Em Métricas, escolha Todas as métricas.
  3. Escolha o namespace do EBS e, em seguida, Métricas por volume.
  4. Selecione as seguintes métricas para o volume do EBS:
    Para calcular o IOPS médio, selecione VolumeReadOps, VolumeWriteOps e VolumeIdleTime.
    Para calcular o throughput médio, selecione VolumeReadBytes, VolumeWriteBytes e VolumeIdleTime.
  5. Escolha a guia Métricas representadas em gráfico.
  6. Em Estatística, escolha Soma.
  7. Em Período, escolha o período de tempo que você deseja visualizar.
  8. Observe os IDs de métrica na frente de cada métrica representada graficamente, como m1, m2, m3 e assim por diante.
  9. Em Adicionar matemática, escolha Começar com uma expressão vazia, e, em seguida, insira as seguintes expressões para calcular o valor médio esperado.
    Calcule a média de IOPS em operações por segundo:
    (m1+m2)/(PERIOD(m1))
    Observação: na expressão a seguir, m1 é VolumeReadOps e m2 é VolumeWriteOps.
    Calcule o throughput médio em bytes por segundo quando o volume está ativo:
    (m1+m2)/(PERIOD(m1)-(IF(m3>59, 59, m3)))
    Observação: na expressão anterior, m1 é VolumeReadBytes, m2 é VolumeWriteBytes e m3 é VolumeIdleTime.
    Calcule o throughput médio em bytes por segundo:
    (m1+m2)/(PERIOD(m1))
    Observação: na expressão anterior, m1 é VolumeReadBytes e m2 é VolumeWriteBytes.

O throughput e o IOPS são medidos por segundo. Portanto, quando VolumeIdleTime é maior que 59 segundos, os pontos de dados métricos baseados no cálculo do VolumeIdleTime X Period podem gerar valores maiores do que o esperado. Além disso, o valor médio do throughput e do IOPS pode diferir do valor médio real devido às microintermitências. O CloudWatch não agrega métricas de volume do EBS no intervalo por segundo. Para mais informações, consulte Como faço para identificar se meu volume do Amazon EBS está sofrendo microintermitência e, em seguida, garantir que isso não afete o desempenho?

Use a automação para calcular o throughput

Antes de começar, copie o ID do volume ou o ID da instância do recurso que você deseja analisar. Você precisa de um ID de recurso para executar o documento de automação.

(Opcional) Crie e especifique um perfil do AWS Identity and Access Management (AWS IAM) para a automação. Se você não escolher um perfil, a Automação usará as permissões do usuário que executa o documento.

Use o console do AWS Systems Manager ou a AWS CLI para executar a automação.

Console do Systems Manager

Conclua as seguintes etapas:

  1. No console do Systems Manager, abra o documento na região da AWS onde seus recursos estão localizados.
  2. Na seção Executar documento de automação, escolha Execução simples.
  3. Na seção Parâmetros de entrada, insira os seguintes parâmetros:
    Em ResourceId, insira o ID do volume do EBS ou da instância do EC2 que você deseja analisar.
    Em StartTime, insira uma hora no formato yyyy-mm-ddThh:mm:ss e em UTC. Por exemplo, insira 2021-06-09T13:30:10.
    Em EndTime, insira uma hora no formato yyyy-mm-ddThh:mm:ss e em UTC. Por exemplo, insira 2021-06-16T 13:30:10.
    (Opcional) Em AutomationAssumeRole, escolha seu perfil do IAM.
  4. Selecione Executar.

O resultado final é um URL para seu painel. Para ver o URL, expanda o campo Resultados. Use o painel para ver as métricas analisadas e suas cotas.

Observação: para excluir o painel, você precisa das permissões cloudwatch:DeleteDashboards do IAM.

AWS CLI

Observação: Se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solução de problemas da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.

Execute o comando start-automation-execution da AWS CLI:

aws ssm start-automation-execution --document-name "AWSSupport-CalculateEBSPerformanceMetrics" --document-version "\\$DEFAULT" --parameters '{"ResourceId":\["i-example12345"\], "StartTime":\["2021-06-09T13:30:10"\], "EndTime":\["2021-06-16T13:30:10"\], "Period":\["60"\], "AutomationAssumeRole":\[""\]}' --region us-east-1

Observação: no comando anterior, substitua ResourceId pelo ID do recurso que você deseja analisar. Substitua StartTime e EndTime pelo horário de início e término para visualizar os dados no CloudWatch. Substitua us-east-1 pela Região do seu recurso. Se você criou um perfil do IAM para executar a automação, substitua AutomationAssumeRole pelo seu perfil do IAM.