Comment puis-je obtenir l'utilisation du processeur d'une instance dans C#? J'ai déjà lu Amazon EC2 - how to get available ram and cpu usage via AWS API?, mais je n'arrive pas à le faire fonctionner.Utilisation du processeur d'une instance avec l'API Cloudwatch
NameValueCollection appConfig = ConfigurationManager.AppSettings;
var client = AWSClientFactory.CreateAmazonCloudWatchClient(
appConfig["AWSAccessKey"],
appConfig["AWSSecretKey"]
);
var dimension = new Dimension
{
Name = "InstanceId",
Value = "<i-ad20b4db>",
};
var request = new GetMetricStatisticsRequest();
request.MetricName = "CPUUtilization";
request.Period = 60;
request.Statistics.Add("Maximum");
request.Dimensions.Add(dimension);
request.Namespace = "AWS/EC2";
request.Unit = "Percent";
var currentTime = DateTime.UtcNow;
var startTime = currentTime.AddSeconds(-5);
string currentTimeString= currentTime.ToString("yyyy-MM-ddTHH:mm:ssZ");
string startTimeString= startTime.ToString("yyyy-MM-ddTHH:mm:ssZ");
request.StartTime = Convert.ToDateTime(startTimeString);
request.EndTime = Convert.ToDateTime(currentTimeString);
var response = client.GetMetricStatistics(request);
if (response.GetMetricStatisticsResult.Datapoints.Count > 0)
{
var dataPoint = response.GetMetricStatisticsResult.Datapoints[0];
Console.WriteLine("Instance: {0} CPU Max load: {1}", dimension.Value, dataPoint.Maximum);
}
Qu'avez-vous spécifiquement essayé? Publiez du code. Quelles erreurs spécifiques obtenez-vous? – Joe
NameValueCollection appConfig = ConfigurationManager.AppSettings; var client = AWSClientFactory.CreateAmazonCloudWatchClient ( appConfig ["AWSAccessKey"], appConfig ["AWSSecretKey"] ); dimension var = new dimension { Name = "InstanceId", Value = "", }; var request = new GetMetricStatisticsRequest(); request.MetricName = "CPUUtilization"; –
bill
request.Period = 60; request.Statistics.Add ("Maximum"); request.Dimensions.Add (dimension); request.Namespace = "AWS/EC2"; request.Unit = "Pourcentage"; var currentTime = DateTime.UtcNow; var startTime = currentTime.AddSeconds (-5); chaîne currentTimeString = currentTime.ToString ("aaaa-MM-jjTHH: mm: ssZ"); chaîne startTimeString = startTime.ToString ("aaaa-MM-jjTHH: mm: ssZ"); – bill