代码之家  ›  专栏  ›  技术社区  ›  FuzzyAmi

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

  •  -1
  • FuzzyAmi  · 技术社区  · 6 年前

    我想要的是:用电报在无线电数据系统上获得当前的可用磁盘空间值。

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

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

    这是我的电报配置:

    [[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实例的输出-注意,对于max、min、average和sum,值“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,我得到了非常不同的数字,这是有道理的。下面是另一张光盘上的分钟输出:

    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"
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   FuzzyAmi    6 年前

    好吧,我知道了-这里没什么问题,但有点违反直觉。FreeStorageSpace度量是一个度量,因此,当随时间采样时,它可以有一个最小值、一个最大值和一个平均值。如果你在‘1米’的时间段内取样(就像我做的那样),那么它只是一个数据点,然后,显然,最大值==min==average。此外,它返回的值是以字节为单位的,要将其返回到MB,需要将其除以(1024^2)。