如何了解我的 CloudWatch 使用费情况,又如何减少未来的费用?

上次更新时间:2021 年 2 月 15 日

我看到我 AWS 账单中的 Amazon CloudWatch 费用较高。如何了解我的 CloudWatch 使用费情况,又如何减少未来的费用?

简短描述

请检查您的 AWS 成本和使用情况报告,从而了解您的 CloudWatch 费用。查找下列服务对应的费用。
注意:粗体显示的项目与您可能在报告中看到的内容相似。在您的报告中,<region> 代表您的 AWS 区域的缩写。

自定义指标:MetricStorage <region>-CW:MetricMonitorUsage

CloudWatch 指标 API 调用:

<API Name> <region>-CW:Requests GetMetricData <region>-CW:GMD-Requests/Metrics

CloudWatch 警报:

Unknown <region>-CW:AlarmMonitorUsage Unknown <region>-CW:HighResAlarmMonitorUsage

CloudWatch 控制面板:DashboardHour DashboardsUsageHour(-Basic)

CloudWatch Logs:

PutLogEvents <region>-DataProcessing-Bytes PutLogEvents <region>-VendedLog-Bytes HourlyStorageMetering <region>-TimedStorage-ByteHrs

CloudWatch Events:AWSEvents PutEvents <region>-Event(-64K-Chunks)|Request

CloudWatch Contributor Insights:

Contributor Insights 规则:<region>-CW:ContributorInsightRules Contributor Insights 匹配的日志事件:<region>-CW:ContributorInsightEvents

CloudWatch Synthetics Canary 运行:<region>-CW:Canary-runs

当您了解到自己的费用项目和产生原因后,请根据以下建议调整您的 CloudWatch 配置,从而减少未来的费用。

为方便在未来监控您的 AWS 成本,请启用账单提醒。

解决方法

注意:如果您在运行 AWS 命令行界面 (AWS CLI) 命令时遇到错误,请确保您运行的是最新版本的 AWS CLI。

详细监控 CloudWatch 详细监控 EC2 实例、Auto Scaling 组启动配置和 API 网关将会产生费用。 要降低成本,请相应地禁用对实例、Auto Scaling 组启动配置和 API 网关的详细监控。 自定义指标 监控的自定义指标数量超过 10 个将会产生费用。自定义指标包括您已创建的指标、CloudWatch 代理等工具使用的指标以及来自 EC2 实例的应用程序或操作系统数据。 发送至 CloudWatch 的 Amazon Simple Storage Service (Amazon S3) 和 Amazon Simple Email Service (Amazon SES) 事件的请求指标将会产生费用。 自定义指标的 PutMetricData 调用也会产生费用。 发送至 CloudWatch 的 Amazon Kinesis Data Streams 增强(分片级)指标和 AWS Elastic Beanstalk 增强型运行状况报告指标将会产生费用。 要降低成本,请相应地禁用对自定义指标的监控。要查找您的自定义指标,请打开 CloudWatch 控制台,然后在 Metric Summary(指标摘要)部分的 Search Metrics(搜索指标)中输入 NOT AWS。 CloudWatch 指标 API 调用 不同 CloudWatch 指标 APl 会产生不同的费用。超出 AWS 免费套餐限制的 API 调用将会产生费用。GetMetricDataGetMetricWidgetImage 未包含在 AWS 免费套餐内。 第三方监控工具会频繁执行 API 调用,因此可能增加成本。 要降低成本,请通过控制台执行免费的 ListMetrics 调用,而不要使用 AWS CLI。将多个 PutMetricData 请求收集到一个 StatisticSet 调用中。有关更多信息,请参阅我应为 CloudWatch 指标使用 GetMetricData 还是 GetMetricStatistics? 另外,请务必检查第三方监控工具产生的成本。 CloudWatch 警报 费用与 CloudWatch 警报所关联的指标数量有关。例如,如果您在单个警报中包含了多个指标,则需要为每个指标付费。 要降低成本,请移除不必要的警报。 CloudWatch 控制面板 控制面板的数量超过 3 个(最多 50 个指标)时将会产生费用。 请求数量超过 AWS 免费套餐的限制之后,通过 AWS CLI 或软件开发工具包对控制面板相关 API 的调用也会产生费用。
例外GetMetricWidgetImage 始终会产生费用。 要降低成本,请删除不必要的控制面板。如果您在使用 AWS 免费套餐,请将控制面板的总数保持在三个或以下。另外,请确保所有控制面板中的指标数量之和低于 50 个。通过控制台进行免费的控制面板相关 API 调用,而不要使用 AWS CLI 或软件开发工具包。 CloudWatch Logs Amazon CloudWatch Logs 的提取和存档存储会产生费用。CloudWatch Logs Insights 查询将按每个查询扫描的提取日志数据量计费。检查 IncomingBytes 指标,以确定提取的数据量。请检查您的 AWS 账单,以确定数据存储量。在 CloudWatch Logs 中检查您运行的查询和最近的查询历史记录。 要减少提取成本,请停止提取不必要的日志。要降低存储成本,请更改日志组的保留期。要减少为 CloudWatch Logs Insights 查询扫描的提取日志数据,请按较短的时间期间运行查询。 CloudWatch Events 费用基于自定义事件的数量(不是规则的数量)。AWS 账户之间发送的事件将被视为自定义事件,并向发件人账户收费。 要降低成本,请尽量减少 PutEvents 调用。此外,还应减少发送至事件总线的事件数(这些事件也会按自定义事件收费)。 CloudWatch Contributor Insights 如果您每月的 Contributor Insights 规则数超过一个,或者每月与规则匹配的日志事件数超过 100 万个,则会产生费用。 要降低成本,请查看您的 Contributor Insights 报告并移除任何不必要的规则。 CloudWatch Synthetics 如果您每月使用 CloudWatch Synthetics 的 Canary 运行超过 100 次,则会产生费用。 要降低成本,请移除任何不必要的 Canary。