本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
第三方监控工具
在某些情况下,除了 AWS 为 Amazon RDS 提供的全套云原生可观测性和监控工具之外,您可能还需要使用其他软件供应商的监控工具。此类场景包括混合部署,在这种部署中,您的本地数据中心可能运行多个数据库,而另一组数据库则在 AWS 云中运行。如果您已建立企业可观测性解决方案,则可能需要继续使用现有工具并将其扩展到您的 AWS 云部署中。设置第三方监控解决方案的挑战通常在于作为云托管服务的 Amazon RDS 所实施的保护措施。例如,您无法在运行数据库实例的主机操作系统上安装代理软件,因为对数据库主机的访问被拒绝。但是,您可以在 CloudWatch 和其他 AWS 云服务之上进行构建,将许多第三方监控解决方案与 Amazon RDS 集成。例如,可以导出 Amazon RDS 指标、日志、事件和跟踪,然后将其导入第三方监控工具,以进行进一步分析、可视化和提醒。其中一些第三方解决方案包括 Prometheus、Grafana 和 Percona。
Prometheus 和 Grafana
Prometheus
-
YACE 导出程序
通过在 CloudWatch API 的单个请求中检索多个指标,从而优化数据导出任务。指标存储在 Prometheus 服务器上后,服务器会评估规则表达式,并在观察到指定条件时生成提醒。 -
CloudWatch 导出程序
由 Prometheus 官方维护。它通过 CloudWatch API 检索 CloudWatch 指标,并使用对 HTTP 端点的 REST API 请求,以与 Prometheus 兼容的格式将其存储在 Prometheus 服务器上。
在选择导出程序、设计部署模型及配置导出程序实例时,考虑 CloudWatch 和 CloudWatch Logs 服务及 API 配额,因为将 CloudWatch 指标导出到 Prometheus 服务器是基于 CloudWatch API 实现的。例如,在单个 AWS 账户和区域中部署多个 CloudWatch 导出程序实例来监控数百个 Amazon RDS 数据库实例,可能会导致节流错误 (ThrottlingException) 和代码 400 错误。要克服此类限制,请考虑使用 YACE 导出程序,该导出程序经过优化,可在单个请求中收集多达 500 个不同的指标。此外,要部署大量 Amazon RDS 数据库实例,您应考虑使用多个实例AWS 账户,而不是将工作负载集中到单个 AWS 账户,并限制每个 AWS 账户中的导出程序实例数量。
提醒由 Prometheus 服务器生成并由 Alertmanager
Percona
Percona 监控和管理(PMM)INFORMATION_SCHEMA、系统架构和性能架构,并使用 CloudWatch API 获取指标、日志、事件和跟踪。PMM 需要 AWS Identity and Access Management(IAM)用户访问密钥(IAM 角色),并会自动发现可供监控的 Amazon RDS 数据库实例。PMM 工具专为数据库监控而设计,且比 Prometheus 收集更多数据库特定指标。要使用 PMM 查询分析控制面板performance_schema,以获取指标。PMM 的突出特点之一是它能够就该工具在数据库中发现的问题向 DBA 发出提醒
除了这些工具之外,市场上还有几种可与 Amazon RDS 集成的商业可观测性和监控解决方案。示例包括 Datadog 数据库监控