Я пытаюсь отслеживать показатели памяти с помощью агента cloudwatch, в настоящее время у меня есть метрики, которые отправляются на панель инструментов aws, но когда я пытаюсь получить эту информацию из API, ничего не возвращается.Запрос выполнен успешно, но значение всегда равно 0, на приборной панели я получаю реальные данные.
string AccessID = "accessId";
string AccessSecret = "accessSecretId";
AmazonCloudWatchClient cloudWatchUsage = new AmazonCloudWatchClient(AccessID, AccessSecret, RegionEndpoint.USEast2);
Dimension dimension = new Dimension()
{
Name = "InstanceId",
Value = "i-Id"
};
var dimensionList = new List<Dimension>();
dimensionList.Add(dimension);
Metric metrics = new Metric();
metrics.Dimensions = dimensionList;
metrics.Namespace = "CWAgent";
metrics.MetricName = "Memory % Committed Bytes In Use";
MetricStat metricStatMemoryAverage = new MetricStat();
metricStatMemoryAverage.Metric = metrics;
metricStatMemoryAverage.Period = 300;
metricStatMemoryAverage.Stat = "Average";
metricStatMemoryAverage.Unit = StandardUnit.Percent;
MetricDataQuery metricMemoryDataQueryAverage = new MetricDataQuery();
metricMemoryDataQueryAverage.Id = "memoryUsageAverage";
metricMemoryDataQueryAverage.Label = "memoryUtilizationAverage";
metricMemoryDataQueryAverage.MetricStat = metricStatMemoryAverage;
var requestMemoryAverage = new GetMetricDataRequest
{
StartTimeUtc = testStart,
EndTimeUtc = testEnd,
MetricDataQueries = { metricMemoryDataQueryAverage }
};
var responceMemoryAverage = cloudWatchUsage.GetMetricData(requestMemoryAverage);
{
"metrics": {
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
},
"metrics_collected":{
"Memory":{
"measurement":[
"% Committed Bytes In Use"
],
"metrics_collection_interval": 60
},
"Paging File": {
"measurement": [
"% Usage"
],
"metrics_collection_interval": 60,
"resources": [
"*"
]
}
}
}
}