こんにちは、TKです。
今回はWindows serverでのCloudWatchを利用したメトリクス取得設定についてまとめました。
Windows serverのCloudWatch周りは色々変更されてきているため、最新の情報を調べました。
CloudWatchでのメトリクス取得までの設定
まず、対象EC2にIAMロールがついているか確認します。
ついていない場合はこちらの記事を参考にIAMロールを紐づけましょう。
( /archives/9548 )
IAMロールが紐づいている場合は対象ロールに「AmazonEC2RoleforSSM」を紐づけます。
AmazonEC2RoleforSSMを付与することでEC2 System Managerにインスタンスを紐づけます。
その後リモートデスクトップでサーバにログインし、インターネットブラウザで下記URLにアクセスし、エージェントをインストールします。
https://s3.amazonaws.com/ec2-downloads-windows/SSMAgent/latest/windows_amd64/AmazonSSMAgentSetup.exe
インストール完了後ロールが正しく設定されている場合EC2サービスメニューの「SYSTEM MANAGER 共有リソース」の「マネージドインスタンス」から確認することができます。
確認が完了したら、左上の「コマンドの実行」を選択します。
次の画面で「コマンドのドキュメント」で「AWS-ConfigureCloudWatch」を選択します。
ターゲットで適用するインスタンスを選択します。
「Properties」にCloudwatchでモニタリングする項目を指定するために以下のコマンドを打ち込みます。
1{2 "EngineConfiguration": {3 "PollInterval": "00:00:15",4 "Components": [5 {6 "Id": "MemoryAvailableMegabytes",78 "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",9 "Parameters": {10 "CategoryName": "Memory",11 "CounterName": "Available MBytes",12 "InstanceName": "",13 "MetricName": "MemoryAvailable",14 "Unit": "Megabytes",15 "DimensionName": "InstanceId",16 "DimensionValue": "{instance_id}"17 }18 },19 {20 "Id": "MemoryUtilization",2122 "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",23 "Parameters": {24 "CategoryName": "Memory",25 "CounterName": "% Committed Bytes in Use",26 "InstanceName": "",27 "MetricName": "MemoryUtilization",28 "Unit": "Percent",29 "DimensionName": "InstanceId",30 "DimensionValue": "{instance_id}"31 }32 },33 {34 "Id": "MonitoringFreeSpaceC",3536 "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",37 "Parameters": {38 "CategoryName": "LogicalDisk",39 "CounterName": "% Free Space",40 "InstanceName": "C:",41 "MetricName": "DiskFreeC",42 "Unit": "Percent",43 "DimensionName": "InstanceId",44 "DimensionValue": "{instance_id}"45 }46 },47 {48 "Id": "CloudWatchLogs",49 "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",50 "Parameters": {51 "AccessKey": "",52 "SecretKey": "",53 "Region": "us-east-1",54 "LogGroup": "Default-Log-Group",55 "LogStream": "{instance_id}"56 }57 },58 {59 "Id": "CloudWatch",6061 "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch",62 "Parameters":63 {64 "AccessKey": "",65 "SecretKey": "",66 "Region": "ap-northeast-1",67 "NameSpace": "[メトリクス名]"68 }69 }70 ],71 "Flows": {72 "Flows":73 [74 "(MonitoringFreeSpaceC,MemoryUtilization),CloudWatch"75 ]76 }77 }78}
最後に「Run」を押してしばらく待った後サービスメニューからCloudwatchサービスに移動します。
設定したメトリクス名でメトリクスが追加されているので確認します。
するとメモリ使用率(MemoryUtilization)とディスク使用率(DiskFreeC)のメトリクスが確認可能になっています。
これでメトリクス取得設定は完了です。
いかがでしたでしょうか。
今回はWindows serverのCloudWatchカスタムメトリクス取得についてご紹介いたしました。
次回はCloudWatchを使ってWindows Serverのプロセスを監視する方法についてご説明したいと思います。
次回をお楽しみに!