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

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

Esta seção descreve como os recursos do Amazon CloudWatch geram custos e fornece métodos que podem ajudar você a analisar, otimizar e reduzir os custos do CloudWatch. Ao longo desta seção, às vezes usamos preços ao descrever os recursos do CloudWatch. Para obter informações sobre preços, consulte Preço do Amazon CloudWatch.

Analisar os dados de custo e uso do CloudWatch com o Explorador de Custos

Com o AWS Cost Explorer, você pode visualizar e analisar dados de custo e uso de Serviços da AWS ao longo do tempo, incluindo o CloudWatch. Para obter mais informações, consulte Conceitos básicos do AWS Cost Explorer.

O procedimento a seguir descreve como usar o Explorador de Custos para visualizar e analisar dados de custo e uso do CloudWatch.

Para visualizar e analisar dados de uso e custo do CloudWatch

  1. Faça login no console do Explorador de Custos em https://console.aws.amazon.com/cost-management/home#/custom.

  2. Em FILTERS (FILTROS), selecione CloudWatch para Service (Serviço).

  3. Em Group by (Agrupar por), escolha Usage Type (Tipo de uso). Você também pode agrupar os resultados por outras categorias, como:

    • API Operation (Operação de API): veja quais operações de API geraram mais custos.

    • Region (Região): veja quais regiões geraram mais custos.

A imagem a seguir mostra um exemplo dos custos gerados pelos recursos do CloudWatch ao longo de seis meses.

Uma captura de tela da interface do AWS Cost Explorer, mostrando os custos de tipos de uso em um formato de gráfico de barras.

Para ver quais recursos do CloudWatch geraram mais custos, analise os valores de UsageType. Por exemplo, EU-CW:GMD-Metrics representa os custos gerados pelas solicitações de API em massa do CloudWatch.

nota

As strings de UsageType correspondem a recursos e regiões específicos. Por exemplo, a primeira parte de EU-CW:GMD-Metrics (EU) corresponde à região da Europa (Irlanda) e a segunda parte de EU-CW:GMD-Metrics (GMD-Metrics) corresponde às solicitações de API em massa do CloudWatch.

A string inteira de UsageType pode ser formatada como <Region>-CW:<Feature> ou <Region>-<Feature>.

Alguns recursos do CloudWatch, como logs e alarmes, também usam a região Global para identificar o uso do nível gratuito. Por exemplo, Global-DataScanned-Bytes representa o uso gratuito de ingestão de dados do CloudWatch Logs.

Para melhorar a legibilidade, as strings de UsageType em todas tabelas deste documento foram encurtadas para seus sufixos. Por exemplo, EU-CW:GMD-Metrics foi encurtada para GMD-Metrics.

A tabela a seguir inclui os nomes de cada recurso e sub-recurso do CloudWatch e lista as strings de UsageType.

Recurso do CloudWatch Sub-recurso do CloudWatch

UsageType

Métricas do CloudWatch Métricas personalizadas

MetricMonitorUsage

Monitoramento detalhado

MetricMonitorUsage

Métricas incorporadas

MetricMonitorUsage

Solicitações de API do CloudWatch Solicitações de API

Requests

Em massa (Get)

GMD-Metrics

Contributor Insights

GIRR-Metrics

Snapshot de imagem bitmap

GMWI-Metrics

Fluxos de métricas do CloudWatch Fluxos de métricas

MetricStreamUsage

Painéis do CloudWatch Painel com 50 métricas ou menos

DashboardsUsageHour-Basic

Painel com mais de 50 métricas

DashboardsUsageHour

Alarmes do CloudWatch Standard (metric alarm) (Padrão [métricas de alarme])

AlarmMonitorUsage

High resolution (metric alarm) (Atla resolução [métricas de alarme])

HighResAlarmMonitorUsage

Metrics Insights query alarm (Alarme de consulta ao Metrics Insights)

MetricInsightAlarmUsage

Composite (aggregated alarm) (Composto [alarme agregado])

CompositeAlarmMonitorUsage

CloudWatch Application Signals Application Signals

Application-Signals

Logs personalizados do CloudWatch Coleta (ingestão de dados para a classe padrão de log)

DataProcessing-Bytes

Coleta (ingestão de dados para a classe de acesso infrequente de log)

DataProcessingIA-Bytes

Análise (consulta)

DataScanned-Bytes

Análise (Live Tail)

Logs-LiveTail

Armazenamento (arquivo)

TimedStorage-ByteHrs

Detecção e mascaramento (proteção de dados)

DataProtection-Bytes

Logs fornecidos do CloudWatch Entrega (classe de logs do Amazon CloudWatch Logs Standard)

VendedLog-Bytes

Entrega (classe de acesso infrequente de logs do CloudWatch Logs)

VendedLogIA-Bytes

Entrega (Amazon S3)

S3-Egress-Bytes

Entrega (Amazon S3) em formato Parquet

S3-Egress-InputBytes

Entrega (Amazon Data Firehose)

FH-Egress-Bytes

Contributor Insights CloudWatch Logs (regras)

ContributorInsightRules

CloudWatch Logs (eventos)

ContributorInsightEvents

Amazon DynamoDB (regras)

ContributorRulesManaged

DynamoDB (eventos)

ContributorEventsManaged

Canários (Synthetics) Executar

Canary-runs

Evidently Eventos

Evidently-event

Unidades de análise

Evidently-eau

RUM Eventos

RUM-event

Analisar os dados de custo e uso do CloudWatch com o AWS Cost and Usage Report e o Athena

Outra maneira de analisar os dados de custo e uso do CloudWatch é usar o AWS Cost and Usage Report com o Amazon Athena. O AWS Cost and Usage Report contém um conjunto abrangente de dados de custo e uso. Você pode criar relatórios que monitoram custos e uso e publicá-los em um bucket do S3 de sua escolha. Também pode baixar e excluir relatórios do bucket do S3. Para obter mais informações, consulte O que são AWS Cost and Usage Reports? no Guia do usuário do AWS Cost and Usage Reports.

nota

Não há custo para usar o AWS Cost and Usage Report. Você paga apenas pelo armazenamento quando publica relatórios no Amazon Simple Storage Service (Amazon S3). Para obter mais informações, consulte Quotas and restrictions (Cotas e restrições) no Guia do usuário do AWS Cost and Usage Report.

O Athena é um serviço de consulta que você pode usar com o AWS Cost and Usage Report para analisar dados de custo e uso. Você pode consultar relatórios em seu bucket do S3 sem precisar baixá-los primeiro. Para obter mais informações, consulte O que é o Amazon Athena? no Guia do usuário do Amazon Athena. Para obter mais informações, consulte O que é o Amazon Athena? no Guia do usuário do Amazon Athena. Para obter mais informações sobre preços, consulte Preço do Amazon Athena.

O procedimento a seguir descreve como habilitar o AWS Cost and Usage Report e integrar o serviço ao Athena. O procedimento contém dois exemplos de consultas que você pode usar para analisar dados de custo e uso do CloudWatch.

nota

Você pode usar qualquer um dos exemplos de consulta neste documento. Todos os exemplos de consultas neste documento correspondem a um banco de dados chamado de costandusagereport e mostram resultados para o mês de abril de 2022. Você pode alterar essas informações. No entanto, antes de executar uma consulta, verifique se o nome do seu banco de dados corresponde ao nome do banco de dados na consulta.

Analisar dados de custo e uso do CloudWatch com AWS Cost and Usage Reports e o Athena

  1. Habilite o AWS Cost and Usage Report. Para obter mais informações, consulte Creating cost and usage reports (Criar relatórios de custos e uso) no Guia do usuário do AWS Cost and Usage Report.

    dica

    Ao criar seus relatórios, selecione Include resource IDs (Incluir IDs dos recursos). Caso contrário, os relatórios não incluirão a coluna line_item_resource_id. Essa linha ajuda a identificar mais precisamente os custos ao analisar dados de custo e uso.

  2. Integrar o AWS Cost and Usage Report ao Athena Para obter mais informações, consulte Configuração do Athena usando modelos do AWS CloudFormation no Guia do usuário do AWS Cost and Usage Reports.

  3. Faça consultas ao seus relatórios de custo e uso.

exemplo da consulta do Athena para mostrar os custos do CloudWatch por mês

Você pode usar a consulta a seguir para mostrar quais recursos do CloudWatch geraram mais custos em um determinado mês.

SELECT CASE -- Metrics WHEN line_item_usage_type LIKE '%%MetricMonitorUsage%%' THEN 'Metrics (Custom, Detailed monitoring management portal EMF)' WHEN line_item_usage_type LIKE '%%Requests%%' THEN 'Metrics (API Requests)' WHEN line_item_usage_type LIKE '%%GMD-Metrics%%' THEN 'Metrics (Bulk API Requests)' WHEN line_item_usage_type LIKE '%%MetricStreamUsage%%' THEN 'Metric Streams' -- Dashboard WHEN line_item_usage_type LIKE '%%DashboardsUsageHour%%' THEN 'Dashboards' -- Alarms WHEN line_item_usage_type LIKE '%%AlarmMonitorUsage%%' THEN 'Alarms (Standard)' WHEN line_item_usage_type LIKE '%%HighResAlarmMonitorUsage%%' THEN 'Alarms (High Resolution)' WHEN line_item_usage_type LIKE '%%MetricInsightAlarmUsage%%' THEN 'Alarms (Metrics Insights)' WHEN line_item_usage_type LIKE '%%CompositeAlarmMonitorUsage%%' THEN 'Alarms (Composite)' -- Logs WHEN line_item_usage_type LIKE '%%DataProcessing-Bytes%%' THEN 'Logs (Collect - Data Ingestion)' WHEN line_item_usage_type LIKE '%%DataProcessingIA-Bytes%%' THEN 'Infrequent Access Logs (Collect - Data Ingestion)' WHEN line_item_usage_type LIKE '%%DataProtection-Bytes%%' THEN 'Logs (Data Protection - Detect and Mask)' WHEN line_item_usage_type LIKE '%%TimedStorage-ByteHrs%%' THEN 'Logs (Storage - Archival)' WHEN line_item_usage_type LIKE '%%DataScanned-Bytes%%' THEN 'Logs (Analyze - Logs Insights queries)' WHEN line_item_usage_type LIKE '%%Logs-LiveTail%%' THEN 'Logs (Analyze - Logs Live Tail)' -- Vended Logs WHEN line_item_usage_type LIKE '%%VendedLog-Bytes%%' THEN 'Vended Logs (Delivered to CW)' WHEN line_item_usage_type LIKE '%%VendedLogIA-Bytes%%' THEN 'Vended Infrequent Access Logs (Delivered to CW)' WHEN line_item_usage_type LIKE '%%FH-Egress-Bytes%%' THEN 'Vended Logs (Delivered to Data Firehose)' WHEN (line_item_usage_type LIKE '%%S3-Egress-Bytes%%') THEN 'Vended Logs (Delivered to S3)' -- Other WHEN line_item_usage_type LIKE '%%Application-Signals%%' THEN 'Application Signals' WHEN line_item_usage_type LIKE '%%Canary-runs%%' THEN 'Synthetics' WHEN line_item_usage_type LIKE '%%Evidently%%' THEN 'Evidently' WHEN line_item_usage_type LIKE '%%RUM-event%%' THEN 'RUM' ELSE 'Others' END AS UsageType, -- REGEXP_EXTRACT(line_item_resource_id,'^(?:.+?:){5}(.+)$',1) as ResourceID, -- SUM(CAST(line_item_usage_amount AS double)) AS UsageQuantity, SUM(CAST(line_item_unblended_cost AS decimal(16,8))) AS TotalSpend FROM costandusagereport WHERE product_product_name = 'AmazonCloudWatch' AND year='2022' AND month='4' AND line_item_line_item_type NOT IN ('Tax','Credit','Refund','EdpDiscount','Fee','RIFee') -- AND line_item_usage_account_id = '123456789012' – If you want to filter on a specific account, you can remove this comment at the beginning of the line and specify an AWS account. GROUP BY 1 ORDER BY TotalSpend DESC, UsageType;
exemplo da consulta do Athena para mostrar como os recursos do CloudWatch geraram custos

Você pode usar a consulta a seguir para mostrar os resultados de UsageType e Operation. Isso mostra como os recursos do CloudWatch geraram custos. Os resultados também mostram os valores de UsageQuantity e TotalSpend, para que você possa ver os custos totais de uso.

dica

Para obter mais informações sobre UsageType, adicione a linha a seguir a esta consulta:

line_item_line_item_description

Essa linha cria uma coluna chamada Description (Descrição).

SELECT bill_payer_account_id as Payer, line_item_usage_account_id as LinkedAccount, line_item_usage_type AS UsageType, line_item_operation AS Operation, line_item_resource_id AS ResourceID, SUM(CAST(line_item_usage_amount AS double)) AS UsageQuantity, SUM(CAST(line_item_unblended_cost AS decimal(16,8))) AS TotalSpend FROM costandusagereport WHERE product_product_name = 'AmazonCloudWatch' AND year='2022' AND month='4' AND line_item_line_item_type NOT IN ('Tax','Credit','Refund','EdpDiscount','Fee','RIFee') GROUP BY bill_payer_account_id, line_item_usage_account_id, line_item_usage_type,y line_item_resource_id, line_item_operation

Otimização e redução dos custos das métricas do CloudWatch

Muitos Serviços da AWS, como o Amazon Elastic Compute Cloud (Amazon EC2), o Amazon S3 e o Amazon Data Firehose, enviam métricas automaticamente para o CloudWatch sem nenhum custo. No entanto, as métricas agrupadas nas seguintes categorias podem incorrer em custos adicionais:

  • Métricas personalizadas, monitoramento detalhado e métricas incorporadas

  • Solicitações de API

  • Fluxos de métricas

Para obter mais informações, consulte Como usar métricas do Amazon CloudWatch.

Métricas personalizadas

Você pode criar métricas personalizadas para organizar pontos de dados em qualquer ordem e taxa.

Todas as métricas personalizadas são cobradas pro rata por hora. Elas só são medidas quando enviadas para o CloudWatch. Para obter informações sobre o preço de métricas do CloudWatch, consulte Preço do Amazon CloudWatch.

A tabela a seguir lista os sub-recursos relevantes para as métricas do CloudWatch. A tabela inclui as strings de UsageType e Operation, que podem ajudar você a analisar e identificar custos relacionados a métricas.

nota

Para obter mais detalhes sobre as métricas listadas na tabela a seguir ao consultar dados de custo e uso com o Athena, verifique as strings de Operation em relação aos resultados mostrados para line_item_operation.

Sub-recurso do CloudWatch

UsageType

Operation

Finalidade

Métricas personalizadas

MetricMonitorUsage

MetricStorage

Métricas personalizadas

Monitoramento detalhado

MetricMonitorUsage

MetricStorage:AWS/{Service}

Monitoramento detalhado

Métricas incorporadas

MetricMonitorUsage

MetricStorage:AWS/Logs-EMF

Métricas incorporadas do Logs

Filtros de log

MetricMonitorUsage

MetricStorage:AWS/CloudWatchLogs

Filtros métricos do grupo de logs

Monitoramento detalhado

O CloudWatch tem dois tipos de monitoramento:

  • Monitoramento básico

    O monitoramento básico é gratuito e está ativado automaticamente para todos os Serviços da AWS compatíveis com esse recurso.

  • Monitoramento detalhado

    O monitoramento detalhado incorre em custos e adiciona aprimoramentos diferentes, a depender do AWS service (Serviço da AWS). Você pode optar por ativar o monitoramento detalhado em cada AWS service (Serviço da AWS) compatível com o recurso. Para obter mais informações, consulte Monitoramento básico e monitoramento detalhado.

nota

Outros Serviços da AWS são compatíveis com o monitoramento detalhado e podem usar outro nome para se referir a esse recurso. Por exemplo, o monitoramento detalhado do Amazon S3 é conhecido como métricas de solicitação.

Assim como as métricas personalizadas, o monitoramento detalhado é cobrado pro rata por hora e só é medido quando os dados são enviados para o CloudWatch. O monitoramento detalhado gera custos pelo número de métricas enviadas ao CloudWatch. Para reduzir custos, só habilite o monitoramento detalhado quando necessário. Para obter informações sobre os preços do monitoramento detalhado, consulte Preço do Amazon CloudWatch.

Exemplo: consulta do Athena

Você pode usar a consulta a seguir para mostrar as instâncias do EC2 nas quais o monitoramento detalhado foi habilitado.

SELECT bill_payer_account_id as Payer, line_item_usage_account_id as LinkedAccount, line_item_usage_type AS UsageType, line_item_operation AS Operation, line_item_resource_id AS ResourceID, SUM(CAST(line_item_usage_amount AS double)) AS UsageQuantity, SUM(CAST(line_item_unblended_cost AS decimal(16,8))) AS TotalSpend FROM costandusagereport WHERE product_product_name = 'AmazonCloudWatch' AND year='2022' AND month='4' AND line_item_operation='MetricStorage:AWS/EC2' AND line_item_line_item_type NOT IN ('Tax','Credit','Refund','EdpDiscount','Fee','RIFee') GROUP BY bill_payer_account_id, line_item_usage_account_id, line_item_usage_type, line_item_resource_id, line_item_operation, line_item_line_item_description ORDER BY line_item_operation

Métricas incorporadas

Com o formato de métrica incorporada do CloudWatch, você pode ingerir dados de aplicações como dados de log para poder gerar métricas acionáveis. Para obter mais informações, consulte Ingerir logs de alta cardinalidade e gerar métricas com o formato de métricas incorporadas do CloudWatch.

As métricas incorporadas geram custos pelo número de logs ingeridos e arquivados e pelo número de métricas personalizadas geradas.

A tabela a seguir lista os sub-recursos relevantes para o formato de métricas incorporadas do CloudWatch. A tabela inclui as strings de UsageType e Operation, que podem ajudar você a analisar e identificar custos.

Sub-recurso do CloudWatch

UsageType

Operation

Finalidade

Métricas personalizadas

MetricMonitorUsage

MetricStorage:AWS/Logs-EMF

Métricas incorporadas do Logs

Ingestão de logs

DataProcessing-Bytes

PutLogEvents

Carrega um lote de eventos de logs no fluxo ou grupo de logs especificado

Arquivamento de logs

TimedStorage-ByteHrs

HourlyStorageMetering

Armazena logs por hora e por byte no CloudWatch Logs

Para analisar custos, use o AWS Cost and Usage Report com o Athena a fim de identificar quais métricas estão gerando custos e como eles são gerados.

Para aproveitar ao máximo os custos gerados pelo formato de métrica incorporada do CloudWatch, evite criar métricas com base em dimensões de alta cardinalidade. Assim, o CloudWatch não cria uma métrica personalizada para cada combinação de dimensão exclusiva. Para obter mais informações, consulte Dimensões.

Se você estiver usando o CloudWatch Container Insights para aproveitar o formato de métrica incorporada, poderá usar o AWS Distro para OpenTelemetry como alternativa para utilizar melhor os custos relacionados à métrica. Você pode usar o Container Insights para coletar, agregar e resumir métricas e logs de aplicações e microsserviços conteinerizados. Quando você habilita o Container Insights, o atendente do CloudWatch envia seus logs para o CloudWatch, onde eles são usados para gerar métricas incorporadas. No entanto, o atendente do CloudWatch envia apenas um número fixo de métricas para o CloudWatch e as cobranças são geradas por todas as métricas disponíveis, incluindo as que não são usadas. Com o AWS Distro para OpenTelemetry, você pode configurar e personalizar quais métricas e dimensões são enviadas para o CloudWatch. Isso ajuda a reduzir o volume de dados e o custo que o Container Insights gera. Para obter mais informações, consulte os seguintes recursos do :

Solicitações de API

O CloudWatch tem os seguintes tipos de solicitações de API:

  • Solicitações de API

  • Em massa (Get)

  • Contributor Insights

  • Snapshot de imagem bitmap

As solicitações de API geram custos de acordo com o tipo de solicitação e o número de métricas solicitadas.

A tabela a seguir lista os tipos de solicitações de API e inclui as strings de UsageType e Operation, que podem ajudar você a analisar e identificar custos relacionados a APIs.

Tipo de solicitação de API

UsageType

Operation

Finalidade
Solicitações de API

Requests

GetMetricStatistics

Recupera as estatísticas das métricas especificadas

Requests

ListMetrics

Lista as métricas especificadas

Requests

PutMetricData

Publica pontos de dados de métricas no CloudWatch

Requests

GetDashboard

Exibe detalhes dos painéis especificados

Requests

ListDashboards

Lista os painéis em sua conta

Requests

PutDashboard

Cria ou atualiza um painel

Requests

DeleteDashboards

Exclui todos os painéis especificados

Em massa (Get)

GMD-Metrics

GetMetricData

Recupera valores de métricas do CloudWatch
Contributor Insights

GIRR-Metrics

GetInsightRuleReport

Retorna dados de séries temporais coletados por uma regra do Contributor Insights
Snapshot de imagem bitmap

GMWI-Metrics

GetMetricWidgetImage

Recupera um snapshot de uma ou mais métricas do CloudWatch como uma imagem bitmap

Para analisar os custos, use o Explorador de Custos e agrupe os resultados por API Operation (Operação de API).

Os custos das solicitações de API variam, e você incorre em custos quando excede o número de chamadas de API fornecidas no limite do nível gratuito da AWS.

nota

GetMetricData e GetMetricWidgetImage não estão incluídas no limite do nível gratuito da AWS. Para obter mais informações, consulte Como usar o nível gratuito da AWS no Guia do usuário do AWS Billing.

As solicitações de API que normalmente geram custos são Put e Get.

PutMetricData

PutMetricData gera custos sempre que é chamada e pode incorrer em custos significativos dependendo do caso de uso. Para obter mais informações, consulte PutMetricData na Referência de APIs do Amazon CloudWatch.

Para aproveitar ao máximo os custos gerados por PutMetricData, agrupe mais dados em suas chamadas de API. Dependendo do caso de uso, considere usar o CloudWatch Logs ou o formato de métrica incorporada do CloudWatch para injetar dados métricos. Para obter mais informações, consulte os seguintes recursos do :

GetMetricData

GetMetricData também pode gerar custos significativos. Casos de uso comuns que geram custos envolvem ferramentas de monitoramento de terceiros que extraem dados para gerar insights. Para obter mais informações, consulte GetMetricData na Referência de APIs do Amazon CloudWatch.

Para reduzir os custos gerados por GetMetricData, considere extrair apenas dados monitorados e usados ou extrair dados com menos frequência. Dependendo do caso de uso, você pode usar fluxos de métricas, em vez de GetMetricData, o que lhe permite enviar dados quase em tempo real para terceiros a um custo menor. Para obter mais informações, consulte os seguintes recursos do :

GetMetricStatistics

Dependendo do caso de uso, você pode usar GetMetricStatistics em vez de GetMetricData. Com GetMetricData, você pode recuperar dados rapidamente e em grande quantidade. No entanto, GetMetricStatistics está incluída no limite do nível gratuito da AWS até um milhão de solicitações de API, o que pode ajudar a reduzir custos se você não precisar recuperar esse número de métricas e pontos de dados por chamada. Para obter mais informações, consulte os seguintes recursos do :

nota

Os chamadores externos fazem chamadas de API. Para APIs compatíveis com eventos de dados do CloudTrail (como GetMetricData e GetMetricWidgetImage), você pode usar o CloudTrail para identificar os principais chamadores de API do CloudWatch e, potencialmente, mitigar ou identificar chamadas inesperadas. Para obter mais informações, consulte Como usar o CloudTrail para analisar o uso da API do CloudWatch. Para outras APIs do CloudWatch não compatíveis com o CloudTrail, você pode abrir uma solicitação de suporte técnico para a equipe do CloudWatch pedindo essa informação. Para obter informações sobre como criar uma solicitação de suporte técnico, consulte Como obtenho suporte técnico da AWS?.

Fluxos de métricas do CloudWatch

Com os fluxos de métricas do CloudWatch, você pode enviar métricas continuamente para destinos da AWS e de outros provedores de serviços.

Os fluxos de métricas geram custos de acordo com o número de atualizações de métricas. As atualizações de métricas sempre incluem valores para as seguintes estatísticas:

  • Minimum

  • Maximum

  • Sample Count

  • Sum

Para obter mais informações, consulte Estatísticas que podem ser transmitidas.

Para analisar os custos gerados pelos fluxos de métricas do CloudWatch, use o AWS Cost and Usage Report com o Athena. Assim, você pode identificar quais fluxos de métricas estão gerando custos e como esses custos são gerados.

Exemplo: consulta do Athena

Você pode usar a consulta a seguir para monitorar os fluxos de métricas que geram custos por nome do recurso da Amazon (ARN).

SELECT SPLIT_PART(line_item_resource_id,'/',2) AS "Stream Name", line_item_resource_id as ARN, SUM(CAST(line_item_unblended_cost AS decimal(16,2))) AS TotalSpend FROM costandusagereport WHERE product_product_name = 'AmazonCloudWatch' AND year='2022' AND month='4' AND line_item_line_item_type NOT IN ('Tax','Credit','Refund','EdpDiscount','Fee','RIFee') -- AND line_item_usage_account_id = '123456789012' – If you want to filter on a specific account, you can remove this comment at the beginning of the line and specify an AWS account. AND line_item_usage_type LIKE '%%MetricStreamUsage%%' GROUP BY line_item_resource_id ORDER BY TotalSpend DESC

Para reduzir os custos gerados pelos fluxos de métricas do CloudWatch, transmita apenas as métricas que agregam valor empresarial. Você também pode interromper ou pausar qualquer fluxo de métricas que não esteja usando.

Otimização e redução dos custos dos alarmes do CloudWatch

Com os alarmes do CloudWatch, você pode criar alarmes baseados em uma única métrica, alarmes baseados em uma consulta ao Metrics Insights e alarmes compostos que monitoram outros alarmes.

nota

Os custos para alarmes de métricas e compostos são calculados proporcionalmente por hora. Você será cobrado pelos alarmes somente enquanto seus alarmes existirem. Para otimizar os custos, certifique-se de que não haja alarmes mal configurados ou de baixo valor. Para ajudar com isso, você pode automatizar a limpeza dos alarmes do CloudWatch que não são mais necessários. Para obter mais informações, consulte Limpeza de alarmes do Amazon CloudWatch em escala

Alarmes de métricas

Os alarmes de métrica têm as seguintes configurações de resolução:

  • Padrão (avaliado a cada 60 segundos)

  • Alta resolução (avaliado a cada 10 segundos)

Quando você cria um alarme de métrica, seus custos são baseados na configuração de resolução do seu alarme e no número de métricas às quais seu alarme faz referência. Por exemplo, um alarme de métrica que faz referência a uma métrica incorre em um custo de métrica de alarme por hora. Para obter mais informações, consulte Uso de alarmes do Amazon CloudWatch.

Se você criar um alarme de métrica que contém uma expressão matemática métrica, a qual faz referência a várias métricas, você incorrerá em um custo para cada métrica de alarme referenciada na expressão matemática métrica. Para obter informações sobre como criar um alarme de métricas que contém uma expressão matemática métrica, consulte Criar um alarme do CloudWatch com base em uma expressão matemática métrica.

Se você criar um alarme de detecção de anomalias, no qual o alarme analisa dados de métricas anteriores para criar um modelo de valores esperados, você incorrerá em um custo para cada métrica de alarme referenciada em seu alarme, além de duas métricas adicionais, para as métricas de banda superior e inferior criadas pelo modelo de detecção de anomalias. Para obter informações sobre como criar um alarme de detecção de anomalias, consulte Criar um alarme do CloudWatch com base na detecção de anomalias.

Alarmes de consulta do Metrics Insights

Os alarmes de consulta ao Metric Insights são um tipo específico de alarme métrico, disponível somente com a resolução padrão (avaliado a cada 60 segundos).

Quando você cria um alarme de consulta ao Metric Insights, os custos são baseados no número de métricas analisadas pela consulta que o alarme referencia. Por exemplo, um alarme de consulta ao Metric Insights que referencia uma consulta cujo filtro corresponde a dez métricas incorre no custo de dez métricas analisadas por hora. Para obter mais informações sobre preços, veja um exemplo de preço em Amazon CloudWatch Pricing (Preços do Amazon CloudWatch).

Se você criar um alarme que contenha uma consulta ao Metrics Insights e uma expressão matemática de métrica, ele será relatado como um alarme de consulta ao Metrics Insights. Se o alarme contiver uma expressão matemática métrica que referencie outras métricas, além das métricas analisadas pela consulta ao Metrics Insights, você incorrerá em um custo adicional para cada métrica de alarme referenciada na expressão matemática da métrica. Para obter informações sobre como criar um alarme de métricas que contém uma expressão matemática métrica, consulte Criar um alarme do CloudWatch com base em uma expressão matemática métrica.

Alarmes compostos

Os alarmes compostos contêm expressões de regras que especificam como devem avaliar os estados de outros alarmes para determinar seus próprios estados. Os alarmes compostos incorrem em um custo padrão por hora, independentemente de quantos outros alarmes eles avaliem. Alarmes aos quais os alarmes compostos fazem referência em expressões de regras incorrem em custos separados. Para obter mais informações, consulte Criar um alarme composto.

Tipos de uso de alarmes

A tabela a seguir lista os sub-recursos relevantes para os alarmes do CloudWatch. A tabela inclui as strings de UsageType, que podem ajudar você a analisar e identificar custos relacionados a alarmes.

Sub-recurso do CloudWatch

UsageType

Alarme de métricas padrão

AlarmMonitorUsage

High-resolution metric alarm (Alarme de métrica de alta resolução)

HighResAlarmMonitorUsage

Metrics Insights query alarm (Alarme de consulta ao Metrics Insights)

MetricInsightAlarmUsage

Alarme composto

CompositeAlarmMonitorUsage

Os alarmes compostos contêm expressões de regras que especificam como devem avaliar os estados de outros alarmes para determinar seus próprios estados. Os alarmes compostos incorrem em um custo padrão por hora, independentemente de quantos outros alarmes eles avaliem. Alarmes aos quais os alarmes compostos fazem referência em expressões de regras incorrem em custos separados. Para obter mais informações, consulte Criar um alarme composto.

Tipos de uso de alarmes

A tabela a seguir lista os sub-recursos relevantes para os alarmes do CloudWatch. A tabela inclui as strings de UsageType, que podem ajudar você a analisar e identificar custos relacionados a alarmes.

Sub-recurso do CloudWatch

UsageType

Alarme de métricas padrão

AlarmMonitorUsage

High-resolution metric alarm (Alarme de métrica de alta resolução)

HighResAlarmMonitorUsage

Metrics Insights query alarm (Alarme de consulta ao Metrics Insights)

MetricInsightAlarmUsage

Alarme composto

CompositeAlarmMonitorUsage

Redução de custos do alarme

Para otimizar os custos gerados por alarmes de expressão matemática métrica que agregam quatro ou mais métricas, você pode agregar dados antes que os dados sejam enviados ao CloudWatch. Dessa forma, você pode criar um alarme para uma única métrica em vez de um alarme que agrega dados para várias métricas. Para obter mais informações, consulte o tópico sobre como Publicar métricas personalizadas.

Para otimizar os custos gerados pelos alarmes de consulta ao Metrics Insights, você pode garantir que o filtro usado para a consulta corresponda apenas às métricas que você deseja monitorar.

A melhor maneira de reduzir custos é remover todos os alarmes desnecessários ou não utilizados. Por exemplo, você pode excluir alarmes que avaliam métricas emitidas por recursos da AWS que não existem mais.

exemplo de usar DescribeAlarms para verificar alarmes no estado INSUFFICIENT_DATA

Se você excluir um recurso, mas não os alarmes de métricas que o recurso emite, os alarmes ainda existirão e normalmente entrarão no estado INSUFFICIENT_DATA. Para verificar alarmes que estão no estado INSUFFICIENT_DATA, use o seguinte comando da AWS Command Line Interface (AWS CLI).

aws cloudwatch describe-alarms –state-value INSUFFICIENT_DATA

Para obter mais informações, consulte Automating Amazon CloudWatch Alarm Cleanup at Scale.

Outras maneiras de reduzir custos incluem:

  • Criar alarmes para as métricas corretas.

  • Verificar se há algum alarme ativado em uma região na qual você não está trabalhando.

  • Lembre-se de que, embora os alarmes compostos reduzam o ruído, eles também geram custos adicionais.

  • Ao decidir se deseja criar um alarme padrão ou um alarme de alta resolução, considerar o caso de uso e o valor que cada tipo de alarme traz.

Otimização e redução dos custos do CloudWatch Logs

O Amazon CloudWatch Logs tem os seguintes tipos de log:

  • Logs personalizados (logs que você cria para suas aplicações)

  • Logs fornecidos (logs que outros Serviços da AWS, como o Amazon Virtual Private Cloud (Amazon VPC) e o Amazon Route 53, criam em seu nome)

Para obter mais informações sobre logs fornecidos, consulte Habilitar o registro em log de determinados serviços da AWS no Manual do usuário do Amazon CloudWatch Logs.

Os logs personalizados e fornecidos geram custos com base no número de logs coletados, armazenados e analisados. Além disso, os logs fornecidos geram custos em entregas ao Amazon S3 e ao Firehose.

A tabela a seguir lista os recursos e sub-recursos relevantes do CloudWatch Logs. A tabela inclui as strings de UsageType e Operation, que podem ajudar você a analisar e identificar custos relacionados a logs.

Recurso do CloudWatch Logs Sub-recurso do CloudWatch Logs

UsageType

Operation

Finalidade
Logs personalizados Coleta (ingestão de dados para a classe padrão de log)

DataProcessing-Bytes

PutLogEvents

Carrega um lote de logs em um fluxo de logs específico em um grupo de logs da classe padrão.
Coleta (ingestão de dados para a classe de acesso infrequente de log)

DataProcessingIA-Bytes

PutLogEvents

Carrega um lote de logs em um fluxo de logs específico em um grupo de logs da classe acesso infrequente.
Detecção e mascaramento (proteção de dados)

DataProtection-Bytes

PutLogEvents

Detecta e mascara dados protegidos em eventos de log.
Armazenamento (arquivo)

TimedStorage-ByteHrs

HourlyStorageMetering

Armazena logs por hora e por byte no CloudWatch Logs.
Análise (consultas do Logs Insights)

DataScanned-Bytes

StartQuery

Registra dados analisados por consultas do CloudWatch Logs Insights
Análise (logs Live Tail)

Logs-LiveTail

StartLiveTail

Logs analisados durante uma sessão Live Tail do CloudWatch Logs.
Logs fornecidos Entrega (classe padrão de logs do CloudWatch Logs)

VendedLog-Bytes

PutLogEvents

Carrega um lote de logs em um fluxo de logs específico em um grupo de logs na classe de logs padrão.
Entrega (classe de acesso infrequente de logs do CloudWatch Logs)

VendedLogIA-Bytes

PutLogEvents

Carrega um lote de logs em um fluxo de logs específico em um grupo de logs na classe de logs de acesso infrequente.

Entrega (Amazon S3)

S3-Egress-Bytes

LogDelivery

Carrega um lote de logs fornecidos em um bucket específico do S3.

Entrega (Amazon S3) em formato Parquet

S3-Egress-InputBytes

ParquetConversion

Executa a conversão do Parquet em logs entregues ao Amazon S3.

Entrega (Firehose)

FH-Egress-Bytes

LogDelivery

Carrega um lote de logs fornecidos no Amazon Data Firehose.

Para realizar a análise dos custos, use o AWS Cost Explorer Service ou os AWS Cost and Usage Reports com o Athena. Com qualquer um desses métodos, é possível identificar quais logs estão gerando custos e compreender como esses custos são calculados.

Como usar o AWS Cost Explorer Service

Selecione CloudWatch para o filtro Serviço e escolha Recurso para a Dimensão. Quando Recurso é selecionado como dimensão no Cost Explorer Service, apenas os últimos 14 dias de uso ficam disponíveis para visualização.

Uma captura de tela da interface do AWS Cost Explorer Service, com CloudWatch selecionado no campo Serviço e Recurso selecionado no campo Dimensão.

Uso de consultas do Amazon Athena para rastrear logs que geram custos

Você pode usar a consulta a seguir para monitorar os logs que geram custos por ID do recurso.

SELECT bill_payer_account_id as Payer, line_item_usage_account_id as LinkedAccount, line_item_resource_id AS ResourceID, line_item_usage_type AS UsageType, SUM(CAST(line_item_unblended_cost AS decimal(16,8))) AS TotalSpend, SUM(CAST(line_item_usage_amount AS double)) AS UsageQuantity FROM costandusagereport WHERE product_product_name = 'AmazonCloudWatch' AND year='2022' AND month='4' AND line_item_operation IN ('PutLogEvents','HourlyStorageMetering','StartQuery','LogDelivery','StartLiveTail','ParquetConversion') AND line_item_line_item_type NOT IN ('Tax','Credit','Refund','EdpDiscount','Fee','RIFee') GROUP BY bill_payer_account_id, line_item_usage_account_id, line_item_usage_type, line_item_resource_id, line_item_operation ORDER BY TotalSpend DESC

Para aproveitar ao máximo os custos gerados pelo CloudWatch Logs, considere as seguintes recomendações:

Para reduzir os custos de logs fornecidos, considere o caso de uso e, em seguida, determine se os logs devem ser enviados para o CloudWatch ou para o Amazon S3. Para obter mais informações, consulte Logs enviados ao Amazon S3 no Guia do usuário do Amazon CloudWatch Logs.

dica

Se quiser usar filtros de métricas, filtros de assinatura, CloudWatch Logs Insights e Contributor Insights, envie os logs fornecidos para o CloudWatch.

Como alternativa, se estiver trabalhando com logs de fluxo da VPC para fins de auditoria e conformidade, envie os logs fornecidos para o Amazon S3.

Para obter informações sobre como rastrear as cobranças geradas pela publicação de logs de fluxo da VPC em buckets do S3, consulte Uso de AWS Cost and Usage Reports e tags de alocação de custos para entender a ingestão de dados de logs de fluxo da VPC no Amazon S3.

Para obter informações adicionais sobre como aproveitar ao máximo os custos gerados pelo CloudWatch Logs, consulte Which log group is causing a sudden increase in my CloudWatch Logs bill? (Qual grupo de logs causou um aumento súbito na minha fatura do CloudWatch Logs?).