上次更新日期:2020 年 10 月 7 日
如何筛选增强监测 CloudWatch Logs 以便为 Amazon Relational Database Service (Amazon RDS) 生成自动执行的自定义指标?
简短描述RDS 的增强型监控提供以下操作系统指标:
空闲内存 活动内存 空闲交换 正在运行的进程 已用文件系统您可以使用这些指标来了解环境性能,这些指标由 Amazon CloudWatch Logs 提取作为日志条目。您可以使用 CloudWatch 创建基于指标的警报。这些警报运行操作,您可以将这些指标从基础设施、设备或应用程序中发布到 CloudWatch 中作为自定义指标。将增强型监控与 CloudWatch 结合使用,您可以为 CloudWatch Logs 创建自定义指标(RDS 从增强型指标中提取数据),从而自动执行任务。
解决方法注意:如果在运行 AWS CLI 命令时遇到错误,请确保您使用的是最新版本的 AWS CLI。
在日志组上使用筛选条件创建自定义指标注意:要执行这些步骤,需要您在 RDS 数据库实例中启用增强监控。有关更多信息,请参阅监测 Amazon RDS 数据库实例。
1.启用增强型监控
2.打开 Amazon CloudWatch 控制台,然后从导航窗格中选择 Log groups(日志组)。
3.从日志组列表中筛选 RDSOSMetrics,然后选择 Actions(操作)。
4.选择 Create Metric Filter(创建指标筛选条件),然后为您的 RDS 数据库实例输入筛选模式术语。例如:
DISK UTILIZATION: { $.diskIO.writeKbPS="0.00"}
DISK WRITE KBPS : { $.diskIO.util="0.00"}
DISK READ KBPS : { $.diskIO.readKbPS="0.00"}
DISK WRITE IOPS : { $.diskIO.writeKbPS="0.00"}
注意:请确保将 0.00 更新为您要测量的值。
5.选择要测试的日志数据,然后选择 Test Pattern(测试模式)。
6.选择下一步。
7.输入筛选器名称,然后选择 Metric Namespace(指标命名空间)和 Metric Name(指标名称)。
8.输入指标值(例如 $.cpuUtilization.idle),然后选择创建筛选条件。
针对您添加的每个额外指标重复这些步骤。
自动化每个 RDS 数据库实例有 60 多个监控指标,您可以使用脚本自动执行此流程。请参阅 rds-support-tools 的 GitHub 存储库,了解使用适用于以下引擎的 RDS MySQL 数据库实例的示例脚本:
MySQL MariaDB Amazon Aurora(MySQL 和 PostgreSQL) PostgreSQL指定已启用增强监测的 RDS 数据库实例,以及您想用来存储这些指标的命名空间。或者,您可以添加指标名称和区域。如果没有指定任何可选字段,则脚本会考虑要发布的所有指标,然后使用通过 AWS 命令行界面 (AWS CLI) 在文件 .aws/config 中默认指定的区域。
注意:脚本不会为流程列表创建指标,因此您可能需要手动创建筛选条件,具体取决于您想显示的流程。
指标的名称必须按照以下模式指定:
group.metricname
以下示例代码说明了一项调用,用于针对 cpuUtilization.idle 和 diskIO.readKbPS 启用此指标:
python RDSCreateMetricsFromEnhancedMonitoring.py --rds_instance mysqltest --namespace MySQL --metrics_to_filter cpuUtilization.idle diskIO.readKb
然后,您可以为这些自定义指标创建警报。有关更多信息,请参阅使用 Amazon CloudWatch 警报。