使用Telegraf和Cloudwatch获取RDS可用磁盘空间

问题描述 投票:-1回答:1

这就是我想要的:使用Telegraf获取RDS上的可用磁盘空间的当前值。

为此,我正在使用Telegraf的Cloudwatch输入(参见下面的配置)。我得到了一些指标,但它们似乎都具有相同的值。 Max == Min,对我来说听起来不对。我期望Max是RDS光盘的大小,Min是当前未使用的空间。我使用AWS CLI进行的测试也支持这一点。

那么,我做错了什么?这是电报中的一个错误吗?

这是我的telegraf配置:

[[inputs.cloudwatch]]
region = "us-west-2"
period = '1m'
delay = '5m'
interval = '5m'
namespace = 'AWS/RDS'
[[inputs.cloudwatch.metrics]]
names = ['FreeStorageSpace']
[[inputs.cloudwatch.metrics.dimensions]]
  name = 'DBInstanceIdentifier'
  value = '*'

这是一个RDS实例的输出 - 注意值'103560384512'如何重复最大值,最小值,平均值和总和:

> cloudwatch_aws_rds,db_instance_identifier=my-rds-instance,host=ip-172-31-47-37,node_name=my-rds-instance,region=us-west-2,unit=bytes free_storage_space_average=103560384512,free_storage_space_maximum=103560384512,free_storage_space_minimum=103560384512,free_storage_space_sample_count=1,free_storage_space_sum=103560384512 1547418720000000000

这是AWS的CLI等价物。我已经尝试过Max,Min和我的数字非常不同,这是有道理的。以下是另一张光盘上Min的输出:

aws cloudwatch   get-metric-statistics  --namespace AWS/RDS --metric-name FreeStorageSpace   --region us-east-2 --start-time 2019-01-12T20:00:00Z --end-time 2019-01-12T23:59:00Z --period 3600 --statistics Minimum

"Datapoints": [
    {
        "Timestamp": "2019-01-12T21:00:00Z",
        "Minimum": 19796946944.0,
        "Unit": "Bytes"
    },
    {
        "Timestamp": "2019-01-12T23:00:00Z",
        "Minimum": 19792580608.0,
        "Unit": "Bytes"
    },
    {
        "Timestamp": "2019-01-12T22:00:00Z",
        "Minimum": 19794690048.0,
        "Unit": "Bytes"
    },
    {
        "Timestamp": "2019-01-12T20:00:00Z",
        "Minimum": 19798822912.0,
        "Unit": "Bytes"
    }
],
"Label": "FreeStorageSpace"
amazon-rds amazon-cloudwatch telegraf
1个回答
0
投票

好吧,我明白了 - 这里没有什么不妥,但这有点违反直觉。 FreeStorageSpace指标是一个指标,因此它可以具有最小值,最大值和平均值 - 随着时间的推移进行采样。如果你在'1m'的时间段内对它进行采样(就像我一样),那么它只是一个数据点,然后显然是max == min == average。此外,它返回的值以字节为单位,要将其返回Mb,您需要将其除以(1024 ^ 2)

© www.soinside.com 2019 - 2024. All rights reserved.