【问题标题】:How do I get TotalStorageSpace or UsedStorageSpace metric from AWS RDS?如何从 AWS RDS 获取 TotalStorageSpace 或 UsedStorageSpace 指标?
【发布时间】:2020-06-25 00:25:51
【问题描述】:

我看到 AWS RDS 提供了一个 FreeStorageSpace 指标来监控磁盘使用情况。现在我正在尝试为我的所有 RDS 创建一个通用先发制人的警报,但在 FreeStorageSpace 上设置一个理想的阈值是没有意义的。

例如,对于总磁盘空间为 100G 的 RDS,20G 可能是一个很好的阈值,但对于总磁盘空间为 40G 的 RDS 可能会产生误导。

所以我想知道是否有办法从 RDS 获取 TotalStorageSpaceUsedStorageSpace 指标(直接或间接)。

更新

既然已经确定 FreeStorageSpace 是 RDS 提供的与磁盘存储相关的唯一指标,那么我们是否/如何为 TotalStorageSpaceUsedStorageSpace 构建自定义指标有什么想法吗?

p.s.:为每个 RDS 创建单独的警报以评估磁盘使用百分比似乎浪费时间和资源。

【问题讨论】:

    标签: amazon-web-services alert amazon-rds datadog


    【解决方案1】:

    如果您启用Enhanced Monitoring,则 Cloudwatch Logs 中的 RDSOSMetrics 日志组将包含详细的 JSON 日志消息,其中包括文件系统统计信息。我最终创建了一个 Cloudwatch Logs 指标过滤器,以从根文件系统的 fileSys 属性中解析出 usedPercent 值。至少对于 Postgresql,这些详细的日志包括 //rdsdbdata 文件系统;后者在存储空间方面是令人感兴趣的。

    您可以创建{$.instanceID = "My_DB_Instance_Name" && $.fileSys[0].mountPoint = "/rdsdbdata"} 形式的指标过滤器和相应的指标值$.fileSys[0].usedPercent,以获取给定实例的已用存储百分比。然后,这将作为日志指标提供,您可以使用它来触发警报。您可能需要创建另一个指标,用filesystem[1] 替换filesystem[0],因为该数组的顺序未知。您可能希望为您拥有的每个 RDS 实例创建这些实例,以便知道哪个实例空间不足,但您的问题似乎表明您不想要每个实例的警报。

    我想您可以从指标过滤器中排除 $.instanceID,然后将所有值写入单个指标。当它达到阈值并触发警报时,您需要开始检查以查看哪个实例负责。

    【讨论】:

      【解决方案2】:

      根据the doc FreeStorageSpace 是您可以获得的唯一 StorageSpace 指标。

      我只能假设他们的逻辑是您知道您的总空间是多少,并且拥有FreeStorageSpace 值您还可以计算使用了多少。

      【讨论】:

      • 因为每个 RDS 的总空间会有所不同,我们想构建一个 generic 警报:有没有办法可以将 TotalStorageSpace 开发为自定义指标?
      【解决方案3】:

      首先,您可以在AWS RDS的监控部分查看存储相关信息。

      现在我正在尝试为我的所有 RDS 创建一个通用的先发制人警报 但是在 FreeStorageSpace 上设置一个理想的阈值并没有 感觉。例如,20G 可能是一个很好的阈值,RDS 总 磁盘空间为 100G,但可能会误导具有总磁盘的 RDS 40G的空间。

      如果有不同的存储大小,则需要根据大小配置多个警报。通用的不起作用,因为它不接受百分比。

      How can I create CloudWatch alarms to monitor the Amazon RDS free storage space and prevent storage full issues?

      简短说明

      在 CloudWatch 控制台中创建警报或使用 AWS 命令​​行 用于创建监控可用存储空间的警报的界面 (AWS CLI)。 通过创建 CloudWatch 警报来通知您 FreeStorageSpace 指标达到定义的阈值,您可以防止 存储满的问题。这可以防止在您的 RDS 数据库实例存储空间不足。

      分辨率 打开 CloudWatch 控制台,然后从导航窗格中选择警报。 - 选择创建警报,然后选择选择指标。

      • 从所有指标选项卡中,选择 RDS。

      • 选择每个数据库的指标。

      • 搜索 FreeStorageSpace 指标。

      • 对于您要监控的实例,选择数据库实例标识符 FreeStorageSpace 指标。

      • 在条件部分,配置阈值。例如,选择 Lower/Equal,然后指定阈值。

      注意:您必须以字节为单位指定参数的值。例如,10 GB 是 10737418240 字节。

      更多详情可以查看storage-full-rds-cloudwatch-alarm

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-05-05
      • 2017-10-25
      • 1970-01-01
      • 2016-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多