Amazon CloudWatch編~Windows Server2012でカスタムメトリクスを設定してみた~

こんにちは!Tamaです!

今回はAWSでWindows Server2012を立ち上げると標準でインストールされているEC2ConfigServiceを使ったWindows Server2012のカスタムメトリクスの設定方法を紹介します。

EC2ConfigServiceとはカスタムメトリクスを始めとする定期的に行う作業や、管理者アカウントへのランダムパスワードの発行などの初期設定、ユーザーがログインするタイミングでの壁紙作成などを、設定ファイルを元に行うことができるEC2インスタンスにプリインストールされているアプリケーションです。

http://docs.aws.amazon.com/ja_jp/AWSEC2/latest/WindowsGuide/UsingConfig_WinAMI.html

EC2ConfigServiceSettingsで設定変更

今回行う作業は以下の通りです。

・EC2ConfigServiceSettingsで設定変更

・JSONファイルの編集

・EC2ConfigServiceの再起動

スタートメニューのアプリからEC2ConfigServiceSettingsを起動

「General」タブ「CloudWatch Logs」の「Enable CloudWatch Logs integration.」にチェックを付けます。

001property
次にC:\Program Files\Amazon\Ec2ConfigService\Settings\

にあるAWS.EC2.Windows.CloudWatch.jsonファイルの編集を行います。

デフォルトのPerformanceCounterを編集、コピーし以下の様に設定します。

(ディスクの空き、CPU使用率の場合)

1{2"Id": "[CloudWatchId1]",34"FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",5"Parameters": {6"CategoryName": "LogicalDisk",7"CounterName": "% Free Space",8“InstanceName": "C:",9"MetricName": "DiskFree",10“Unit": "Percent",11“DimensionName": "InstanceId",12"DimensionValue": "{instance_id}"13}14},15{16"Id": "[CloudwatchId2]",1718"FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch",19"Parameters": {20"CategoryName": "Memory",21"CounterName": "Available MBytes",22“InstanceName": "",23“MetricName": "MemoryAvailable",24"Unit": "Megabytes",25"DimensionName": "InstanceId",26"DimensionValue": "{instance_id}"27}28},

idはユニークである必要があります。

CategoryName及びCounterNameが対象のデータです。

カウンター、カテゴリ名はパフォーマンスモニターで確認可能です!後ほど紹介します!

メトリクスで必要な項目の追記が完了したらCloudWatch, CloudWatchLogsに「cloudwatch-user」のクレデンシャル情報を追記します。

1{2"Id": "CloudWatchLogs",3FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch",4"Parameters": {5"AccessKey": "[アクセスキー]",6"SecretKey": "[シークレットアクセスキー]",7"Region": "ap-northeast-1",8"LogGroup": "Default-Log-Group",9"LogStream": "{instance_id}"10}11},12{13"Id": "CloudWatch",1415"FullName": "AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch",16"Parameters": 17{18"AccessKey": "[アクセスキー]",19"SecretKey": "[シークレットアクセスキー]",20"Region": "ap-northeast-1",21"NameSpace": "Windows/Custom"22}23}

最後にCloudWatchへの出力設定を行います。

先ほどの設定したIDを下記のように追記します。

1"Flows": {2"Flows": 3[4"(ApplicationEventLog,SystemEventLog),CloudWatchLogs",5"([CloudWatchId1],[CloudWatchId2]),CloudWatch"6]7}

ここまで完了したらJSONファイルを上書き保存します。

JSONファイル書き換え後はEC2ConfigServiceを再起動する必要があります。

PowerShell

1> net stop ec2config2> net start ec2config

メトリクスの確認

コマンドを入力した後CloudWatchコンソールからカスタムメトリクスを確認します。

カスタムメトリクスから選択し

002custom
チェックボックスをクリックすると

チェックボックスをクリックすると

003graph
ちゃんと取得できていることが分かります!お疲れさまでした!うまく行きましたでしょうか?EC2ConfigServiceを用いることでソフトウェアのインストールなどが必要無く簡単にカスタムメトリクスの設定が可能です!

最後にCounterNameの探し方を紹介します。

※CounterNameの探し方※

スタートメニュー -> 管理ツール -> パフォーマンスモニターの「+」をクリックします。

004

例えばディスクの空き容量であればLogicalDiskカテゴリの%FreeSpaceカウンターです。

005
それぞれCategoryName、CounterNameに設定することで利用可能です!またお会いしましょう!

この記事を書いた人

aws-recipe-user