Вам понадобится AmazonCloudWatch API для сбора этой статистики.К сожалению, он не предоставляет информацию об использовании оперативной памяти.Одним из решений может быть создание собственной метрики RAMUsage и внедрение службы мониторинга использования оперативной памяти, которая будет работать на всех экземплярах EC2 и добавлять эту информацию в CloudWatch.последние 5 минут с использованием AWS API.
var client = AWSClientFactory.CreateAmazonCloudWatchClient(
<AWSAccessKey>,
<AWSSecretKey>);
var dimension = new Dimension
{
Name = "InstanceId",
Value = <InstanceId>,
};
var request = new GetMetricStatisticsRequest();
request.Dimensions.Add(dimension);
var currentTime = DateTime.UtcNow;
var startTime = currentTime.AddMinutes(-5);
request.StartTime = startTime.ToString(
AWSSDKUtils.ISO8601DateFormat,
CultureInfo.InvariantCulture.DateTimeFormat);
request.EndTime = currentTime.ToString(
AWSSDKUtils.ISO8601DateFormat,
CultureInfo.InvariantCulture.DateTimeFormat);
request.Namespace = "AWS/EC2";
request.Statistics.Add("Maximum");
request.Statistics.Add("Average");
request.MeasureName = "CPUUtilization";
request.Period = 300;
var response = client.GetMetricStatistics(request);
if (response.IsSetGetMetricStatisticsResult() &&
response.GetMetricStatisticsResult.Datapoints.Count > 0)
{
var dataPoint = response.GetMetricStatisticsResult.Datapoints[0];
Console.WriteLine(
"Instance: {0} CPU Average load: {1} CPU Max load: {2}",
instanceID,
dataPoint.Average,
dataPoint.Maximum);
}