这就是我想要的:使用 Telegraf 获取 RDS 上可用磁盘空间的当前值。
为此,我使用 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 实例的输出 - 请注意值 '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"
好的,我想通了 - 这里没有错,但这有点违反直觉。FreeStorageSpace 指标是一个指标,因此它可以具有最小值、最大值和平均值 - 随着时间的推移进行采样。如果您在 '1m' 的时间段内对其进行采样(就像我所做的那样),那么它只是一个数据点,然后显然是 max==min==average。此外,它返回的值是以字节为单位的,要返回到 Mb,您需要将其除以 (1024^2)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句