Ir para o conteúdo

Como identifico o grupo de logs que está causando um aumento repentino na minha fatura do CloudWatch Logs?

5 minuto de leitura
0

Minha fatura do Amazon CloudWatch Logs está excepcionalmente alta. Quero identificar o grupo de logs que está aumentando meus custos com o CloudWatch Logs.

Breve descrição

Aumentos repentinos nas faturas do CloudWatch Logs podem resultar de um aumento nos dados ingeridos ou armazenados em um determinado grupo de logs. Use as métricas do CloudWatch Logs para verificar o uso de dados. Em seguida, analise sua fatura da AWS para identificar o grupo de logs responsável pelo aumento no valor da fatura.

Resolução

Verifique a quantidade de dados que você está ingerindo

A métrica IncomingBytes mostra a quantidade de dados ingeridos em seus grupos de log do CloudWatch quase em tempo real. Essa métrica pode ajudar você a verificar as seguintes informações:

  • Qual grupo de logs gera mais custos para sua fatura.
  • Qualquer pico nos dados ingeridos em seus grupos de logs ou aumentos graduais devido a novas aplicações.
  • Quantos dados são enviados durante um determinado período.

Consulte um pequeno conjunto de grupos de logs

Conclua as etapas a seguir:

  1. Abra o console do CloudWatch.
  2. No painel de navegação, clique em Todas as métricas.
  3. Em cada um dos seus grupos de logs, conclua as seguintes etapas:<br id=hardline_break/> Selecione o namespace Logs.<br id=hardline_break/> Clique em Métricas do grupo de logs.<br id=hardline_break/> Selecione as métricas individuais de IncomingBytes.<br id=hardline_break/> Clique na guia Métricas representadas graficamente.
  4. Em Estatística, selecione Soma.
  5. Em Período, clique em 30 dias.
  6. Selecione a guia Opções e, na seção Tipo de widget, clique em Número.
  7. Na parte superior do grafo, selecione Personalizado e, em seguida, clique em Absoluto para definir o intervalo de tempo. Selecione datas de início e de término que correspondam aos últimos 30 dias.

Consulte um grande conjunto de grupos de logs

Conclua as etapas a seguir:

  1. Abra o console do CloudWatch.
  2. No painel de navegação, clique em Todas as métricas.
  3. Abra a guia Métricas representadas graficamente. Em seguida, na lista suspensa Adicionar matemática, selecione Começar com uma expressão vazia.
  4. Copie a seguinte expressão matemática:<br id=hardline_break/> SORT(REMOVE_EMPTY(SEARCH('{AWS/Logs,LogGroupName} MetricName="IncomingBytes"', 'Sum', 2592000)),SUM, DESC)
  5. Cole a expressão matemática no campo Editar expressão matemática e clique em Aplicar.
  6. Abra a guia Opções de grafo e, em seguida, selecione Número.
  7. Na parte superior do grafo, clique em Personalizado. Em seguida, selecione Absoluto. Selecione datas de início e de término que correspondam aos últimos 30 dias. É possível representar graficamente até 500 métricas por meio desse método.<br id=hardline_break/> Observação: essa etapa só funciona com a opção Absoluto. Se você selecionar Relativo, o grafo retornará dados incorretos.
  8. Clique em Ações.
  9. Selecione Fazer download como .csv.

Consulte um grande conjunto de grupos de logs

Pré-requisito: analise os custos associados à realização de chamadas de API. É uma prática recomendada distribuir a operação ListMetrics para evitar controle de utilização. A cota padrão de ListMetrics é de 25 transações por segundo. No entanto, é possível solicitar um aumento de cota.

Conclua as etapas a seguir:

  1. Execute uma operação da API ListMetrics. Use os seguintes parâmetros:<br id=hardline_break/> **Namespace: AWS/Logs<br id=hardline_break/> **MetricName: IncomingBytes
  2. Execute uma operação da API GetMetricData. Use os seguintes parâmetros:<br id=hardline_break/> Namespace: AWS/Logs<br id=hardline_break/> MetricName: IncomingBytes<br id=hardline_break/> Dimensions: Conforme recebido da chamada ListMetrics<br id=hardline_break/> StartTime: Data e hora 14 dias antes da data atual<br id=hardline_break/> EndTime: Data e hora atuais]<br id=hardline_break/> Period: EndTime - StartTime, em segundos<br id=hardline_break/> Statistics: Sum
  3. Para exibir os nomes dos grupos de logs com as maiores quantidades de dados ingeridos, classifique os pontos de dados em ordem decrescente.

Para garantir que as cobranças de dados ingeridos não excedam futuramente uma cota especificada, crie um alarme do CloudWatch.

Analise seu uso de dados de armazenamento

O parâmetro storedBytes representa o número de bytes compactados armazenados em um grupo de logs. Para verificar storedBytes em um grupo de logs, conclua as seguintes etapas:

  1. Abra o console do CloudWatch.
  2. Clique em Grupos de logs no painel de navegação.
  3. Selecione o grupo de logs.
  4. Analise o tamanho total dos eventos de logs compactados no parâmetro Stored bytes.

Para recuperar storedBytes em grupos de logs em ordem decrescente, execute o seguinte comando describe-logs-groups da AWS CLI:

aws logs describe-log-groups --query 'logGroups | sort_by(@, &storedBytes) | reverse([]) | [].{"LogGroupName": logGroupName, "StoredBytes": storedBytes, "RetentionInDays": retentionInDays}' --output table

Observação: se o valor na coluna RetentionInDays da saída da AWS CLI for Nenhum, a configuração NeverExpire se aplicará ao respectivo grupo de logs.

Os períodos de retenção determinam a duração pela qual o CloudWatch Logs mantém seus dados. Se você reduzir os períodos de retenção, é possível limitar a quantidade de dados históricos armazenados ao longo do tempo e reduzir as cobranças de arquivamento.

É uma prática recomendada implementar períodos de retenção com base em cenários e exportar dados históricos para soluções de armazenamento mais econômicas, como o Amazon Simple Storage Service (Amazon S3).

Informações relacionadas

Análise, otimização e redução de custos do CloudWatch