如何筛选增强监测 CloudWatch Logs 以便为 Amazon RDS 生成自动执行的自定义指标?

上次更新日期:2020 年 10 月 7 日

如何筛选增强监测 CloudWatch Logs 以便为 Amazon Relational Database Service (Amazon RDS) 生成自动执行的自定义指标?

简短描述

RDS 的增强型监控提供以下操作系统指标:

  • 空闲内存
  • 活动内存
  • 空闲交换
  • 正在运行的进程
  • 已用文件系统

您可以使用这些指标来了解环境性能,这些指标由 Amazon CloudWatch Logs 提取作为日志条目。您可以使用 CloudWatch 创建基于指标的警报。这些警报运行操作,您可以将这些指标从基础设施、设备或应用程序中发布到 CloudWatch 中作为自定义指标。将增强型监控与 CloudWatch 结合使用,您可以为 CloudWatch Logs 创建自定义指标(RDS 从增强型指标中提取数据),从而自动执行任务。

解决方法

在日志组上使用筛选条件创建自定义指标

注意:要执行这些步骤,需要您在 RDS 数据库实例中启用增强监测。有关更多信息,请参阅监测 Amazon RDS 数据库实例

1.    启用增强型监控

2.    打开 Amazon CloudWatch 控制台,然后从导航窗格中选择 Log groups(日志组)

3.    从日志组列表中筛选 RDSOSMetrics,然后选择 Actions(操作)

4.    选择 Create Metric Filter(创建指标筛选条件),然后为您的 RDS 数据库实例输入筛选模式术语。例如:

DISK UTILIZATION: { $.diskIO[0].writeKbPS="0.00"}
DISK WRITE KBPS : { $.diskIO[0].util="0.00"}
DISK READ KBPS : { $.diskIO[0].readKbPS="0.00"}
DISK WRITE IOPS : { $.diskIO[0].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.idlediskIO.readKbPS 启用此指标:

python RDSCreateMetricsFromEnhancedMonitoring.py --rds_instance mysqltest --namespace MySQL --metrics_to_filter cpuUtilization.idle diskIO.readKb

然后,您可以为这些自定义指标创建警报。有关更多信息,请参阅使用 Amazon CloudWatch 警报


这篇文章对您有帮助吗?


您是否需要账单或技术支持?