C#에서 인스턴스의 CPU 사용량을 얻으려면 어떻게해야합니까? 이미 Amazon EC2 - how to get available ram and cpu usage via AWS API?을 읽었지만 제대로 작동하지 않습니다.CPU Cloudwatch API가있는 인스턴스 사용
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);
}
특별히 시도한 것은 무엇입니까? 몇 가지 코드를 게시하십시오. 어떤 구체적인 오류가 발생합니까? – Joe
NameValueCollection appConfig = ConfigurationManager.AppSettings; var client = AWSClientFactory.CreateAmazonCloudWatchClient ( appConfig [ "AWSAccessKey"], appConfig [ "AWSSecretKey"] ); VAR 치수 = 새로운 차원 {= "InstanceID에" 이름, 값 = "" }; var request = new GetMetricStatisticsRequest(); request.MetricName = "CPUUtilization"; –
bill
request.Period = 60; request.Statistics.Add ("Maximum"); 요청 .Dimensions.Add (dimension); request.Namespace = "AWS/EC2"; request.Unit = "퍼센트"; var currentTime = DateTime.UtcNow; var startTime = currentTime.AddSeconds (-5); 문자열 currentTimeString = currentTime.ToString ("yyyy-MM-ddTHH : mm : ssZ"); string startTimeString = startTime.ToString ("yyyy-MM-ddTHH : mm : ssZ"); – bill