作者:Sameer Kumar Deepak Sharma Chaitanya Gummadi 和 Nirupam Datta,于 2023 年 11 月 3 日刊登
监控是数据库管理中的关键环节。数据库管理员、应用团队和架构师希望在性能问题影响用户或导致故障之前,主动解决这些问题。为了实现这一目标,他们需要对数据库健康指标保持高度的可视化。Amazon 关系数据库服务 (Amazon RDS) 提供了监控工具,如增强监控和性能洞察,可以与 RDS 发布的默认 Amazon CloudWatch 指标结合使用。
作为数据库管理员,你可能需要在特定的信息和关键事件上设置告警,以跟踪操作系统 (OS) 指标。根据事件的严重性,你可能需要进行干预,以防止数据库受到潜在的性能影响。在本文中,我们将展示如何在通过增强监控捕获的 OS 指标上设置 CloudWatch 告警。
要跟随本文中的步骤,你需要具备以下条件:
一个 AWS 账户启用了增强监控的 Amazon RDS PostgreSQL 实例一个安装了 PSQL 客户端 的 Amazon 弹性计算云 (Amazon EC2) 实例,以便连接到 Amazon RDS for PostgreSQL 实例。
启用增强监控后,Amazon RDS 会设置一个代理,收集操作系统级指标并将其存储在 Amazon CloudWatch Logs 中。你可以选择 1 秒的颗粒度来收集数据,这在调查数据库性能问题时非常有用。
Amazon RDS 提供实时的 OS 指标,该指标由你的 DB 实例运行并通过增强监控传递到你的 Amazon CloudWatch Logs 账户中。你可以在 CloudWatch Logs 中创建 指标过滤器,并在 CloudWatch 仪表板上显示图表。
你可以在创建实例时启用增强监控,或通过 修改现有实例。使用增强监控没有额外费用,但生成的 CloudWatch Logs 可能会产生费用。当你超出免费用量时,会产生 CloudWatch Logs 存储和 PutLogEvents API 调用的费用。更多详情请参见 Amazon CloudWatch 定价 页面。
默认情况下,增强监控指标在 CloudWatch Logs 中保存 30 天。要修改指标在 CloudWatch Logs 中的保存时间,请在 CloudWatch 控制台中更改 RDSOSMetrics 日志组的保留期。
一个超级管理程序创建和运行虚拟机 (VM)。通过超级管理程序,一个实例可以支持多个来宾 VM,虚拟共享内存和 CPU。CloudWatch 从超级管理程序收集关于 DB 实例的 CPU 利用率的指标。相反,增强监控则从 DB 实例上的代理收集指标。
增强监控的指标在你想查看 DB 实例上不同进程或线程如何使用 CPU 和其他操作系统资源时显得非常有用。增强监控的指标按照用户定义的间隔收集,这可以在 1 秒到 1 分钟之间。因此,增强监控的指标可具有比 RDS 服务以 1 分钟间隔发布的标准指标更细的粒度。这在排查性能问题时非常有用。
你可以通过选择 增强监控 来查看 Amazon RDS 控制台中报告的 OS 指标。
蓝快加速器下载操作系统进程列表帮助你查看运行在数据库实例上的进程的详细信息。此列表中显示的增强监控指标按以下顺序组织:RDS 子进程、RDS 进程和 OS 进程。
你可以在 Amazon CloudWatch Logs 账户中查看 RDS 增强监控生成的日志。
从 Amazon RDS 控制台检查 Amazon RDS 实例 ID 和资源 ID。 导航到 Amazon RDS 控制台。选择你想使用的 RDS 实例。选择 配置 标签。使用上文提到的资源 ID,检查增强监控 JSON 日志:导航到 CloudWatch 控制台。选择 日志组。选择 RDSOSMetrics 并选择要查看日志的日志流。查看 JSON 日志。
增强监控提供了对 OS 指标的可见性。要了解可用的指标,请查看 增强监控中的 OS 指标。在以下步骤中,你将创建一个使用来自增强监控的空闲内存 (memoryfree) 的自定义 CloudWatch 指标,并在其上设置告警。
空闲内存是指未分配的内存量,默认为千字节。未分配的内存是数据库管理员和开发者用来衡量查询性能的关键指标之一。你可以在 RDS 增强监控指标 中阅读更多关于 RDS 增强监控的内容。
发布自定义指标到 CloudWatch 和创建告警可能会产生一些费用。
指标过滤器 定义在发送到 CloudWatch Logs 的日志数据中查找的术语和模式。CloudWatch Logs 使用这些指标过滤器将日志数据转化为数字 CloudWatch 指标,供你绘图或设置告警。
创建指标过滤器的步骤:
打开 CloudWatch 控制台在导航面板中选择 日志,然后选择 日志组。选择 RDSOSMetrics 并选择你想查看日志的日志流。本帖中,实例为 db3EVSZBTZGSPTY4R7PLH6C6YQOE。选择 操作,然后选择 创建指标过滤器。在 过滤器模式 下,如果输入过滤器模式 {instanceResourceID!=},将会选择所有 Amazon RDS 实例的指标。 另外,你也可以选择你想设置告警的实例 ID 的过滤器模式。更多信息请参考 过滤和模式语法。
点击 下一步,然后为你的指标过滤器命名。
在 指标详细信息 中,设置 指标命名空间 ,为 CloudWatch 发布的指标指定命名空间。如果命名空间尚不存在,请确保选择 创建新。在本帖中,我们使用 RDSCustomMetrics 作为命名空间。在 指标名称 下,输入新指标的名称。我们将其命名为 FreeMemory。在 指标值 中选择 memoryfree。此语法允许你从增强监控的 JSON 日志中检索嵌套在 memory 对象中的 free 键的值。在本帖中,我们选择了空闲内存指标。你可以根据需要选择 其他操作系统指标。
[可选] 在 单位 下,为该指标选择一个单位。本帖中,我们选择默认单位千字节。输入 DBInstanceIdentifier 和 DBInstanceResourceID 作为维度。选择 下一步。检查并选择 创建指标过滤器。你可以在导航面板中查看创建的指标过滤器。导航至 CloudWatch 控制台,选择 日志,然后选择 日志组。选择 RDSOSMetrics 并选择你创建了指标过滤器的日志流,然后选择 指标过滤器 标签。本节将引导你为之前创建的 RDS OS 增强监控指标创建 CloudWatch 告警。
打开 [CloudWatch 控制台](https//eunorth1signinawsamazoncom/oauthSignatureVersion=4ampXAmzAlgorithm=AWS4HMACSHA256ampXAmzCredential=ASIAUHCIXEDKUS7MAQVWampXAmzDate=20230816T163A143A31960ZampXAmzSecurityToken=IQoJb3JpZ2luX2VjEKf2F2F2F2F2F2F2F2F2F2FwEaCmV1LW5vcnRoLTEiRjBEAiBrsRQbX7npu1Os36Y8JfrJresrZ82FLzweArDBaXcFBugIgJsYMi4H6KZAhlReA4EXHujheqMrIJMCku1A2FXWAtC80qyAMIYRAEGgwyOTAwNjI4MDMxNTciDA2Frt4TjopRHgmDV2FCqlA4Mdvo0yToILE8kL25W4fJ5TgvrXT3aJ2BPKnu8V2FlBrVKH02BOu2FSXNadkpY131EawGLFpO6h2B4TFBMHa2BAC9ARpfL0rE0fnvPajD2BOIPZnzEuIY5TLGAxdEH3TVKWiAsGV2C1LSx7JL5ypBc2Ff4KsVSwdO3AA9VYcL6u2FaxNeMqfzmEehqE6F03ZlTN5iWscsIDN1JuPWeo2B5qG3eDmt32FRTmOfWlOkbeD9bXyq1mYuwpAdn1J2WIgPbI4b9gJ2BoiS1paFkP4eFIK4bP4jAgdpaqZs2YC44TmPfaLrjUM5z3QBr52BI8GINuW92BrAwYunVdC9NWLMwGAAzESL6sexp2bjJm6JpjYKb9leoDrUREgVSRojzW6GTTOAtMHisBm9LqBrnili25xkG1KjJrnorj9rB2EHUeBuxil07IKdar7TqztjSOqZ01-27
解开您的组织“乱麻”:高度对齐 云企业战略博客
解开组织混乱:高度一致的策略关键要点组织一致性 对于确保公司的目标和优先事项得到广泛理解至关重要。从 自上而下的目标设定 转变为意图传达能提升员工的参与感和理解。通过 相对指标 而非绝对指标来明确目标...
01-27
在 Amazon RDS 增强监控操作系统指标上设置 Amazon CloudWatch 警报 数据
在 Amazon RDS 增强监控 OS 指标上设置 Amazon CloudWatch 告警作者:Sameer Kumar Deepak Sharma Chaitanya Gummadi 和 Nir...
01-27
使用 AWS 弹性灾难恢复保护 Hyper
使用 AWS 弹性灾难恢复保护 HyperV 工作负载关键要点灾难恢复DR对于任何希望在发生如洪水、停电或勒索软件攻击等灾难时维护业务连续性的组织至关重要。AWS 弹性灾难恢复提供了涵盖物理和虚拟基础...
01-27
介绍 AWS 集成应用测试工具包 (IATK) 计算博客
AWS集成应用测试工具包 (IATK) 简介由James Beswick撰写于2023年11月16日,发布于亚马逊EventBridge、AWS无服务器应用模型、AWS状态机和无服务器关键要点AWS ...