这就是我想要的:使用Telegraf获得RDS上可用磁盘空间的当前值。
为此,我正在使用Telegraf的Cloudwatch输入(请参见下面的配置)。我得到一些指标,但它们似乎都具有相同的值。最大值==最小值,这(对我而言)听起来是错误的。我期望最大为RDS光盘的大小,最小为当前未使用的空间。我通过AWS CLI进行的测试也支持这一点。
那么,我做错什么了吗?这是Telegraf中的错误吗?
这是我的telegraf配置:
function SavepackageData() {
var dataArray = new Array();
var t = "122";
var fileUpload = $("#ContentPlaceHolder1_FileUpload1").get(0);
var files = fileUpload.files;
var test = new FormData();
for (var i = 0; i < files.length; i++) {
test.append(files[i].name, files[i]);
}
jsonData = {
'Text': t,
'FilePathName': test
}
dataArray.push(jsonData);
var data = JSON.stringify(dataArray);
$.ajax({
url: "../handler/Upload.ashx",
type: "POST",
contentType: false,
processData: false,
data: JSON.stringify({ dataMaster: data }),
// dataType: "json",
success: function (result) {
//SaveData(result);
},
error: function (err) {
alert(err.statusText);
}
});
}
这是一个RDS实例的输出-请注意,值“ 103560384512”如何重复最大值,最小值,平均值和总和:
[[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 = '*'
,这里是AWS的CLI等效项。我尝试了Max,Min,但得到的数字却大不相同,这很有意义。下面是Min在另一张光盘上的输出:
> 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
答案 0 :(得分:0)
好的,我知道了-这里没有错,但这有点违反直觉。 FreeStorageSpace指标是一个指标,因此,随着时间的推移,它可以具有最小值,最大值和平均值。如果您以“ 1m”为周期对它进行采样(就像我所做的那样),那么它只是一个数据点,显然,max == min ==平均值。此外,它返回的值以字节为单位,并且要将其返回到Mb,您需要将其除以(1024 ^ 2)