こんにちは!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.」にチェックを付けます。
次にC:\Program Files\Amazon\Ec2ConfigService\Settings\
にあるAWS.EC2.Windows.CloudWatch.jsonファイルの編集を行います。
デフォルトのPerformanceCounterを編集、コピーし以下の様に設定します。
(ディスクの空き、CPU使用率の場合)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
{ "Id": "[CloudWatchId1]", "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "CategoryName": "LogicalDisk", "CounterName": "% Free Space", “InstanceName": "C:", "MetricName": "DiskFree", “Unit": "Percent", “DimensionName": "InstanceId", "DimensionValue": "{instance_id}" } }, { "Id": "[CloudwatchId2]", "FullName": "AWS.EC2.Windows.CloudWatch.PerformanceCounterComponent.PerformanceCounterInputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "CategoryName": "Memory", "CounterName": "Available MBytes", “InstanceName": "", “MetricName": "MemoryAvailable", "Unit": "Megabytes", "DimensionName": "InstanceId", "DimensionValue": "{instance_id}" } }, |
idはユニークである必要があります。
CategoryName及びCounterNameが対象のデータです。
カウンター、カテゴリ名はパフォーマンスモニターで確認可能です!後ほど紹介します!
メトリクスで必要な項目の追記が完了したらCloudWatch, CloudWatchLogsに「cloudwatch-user」のクレデンシャル情報を追記します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
{ "Id": "CloudWatchLogs", FullName": "AWS.EC2.Windows.CloudWatch.CloudWatchLogsOutput,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "[アクセスキー]", "SecretKey": "[シークレットアクセスキー]", "Region": "ap-northeast-1", "LogGroup": "Default-Log-Group", "LogStream": "{instance_id}" } }, { "Id": "CloudWatch", "FullName": "AWS.EC2.Windows.CloudWatch.CloudWatch.CloudWatchOutputComponent,AWS.EC2.Windows.CloudWatch", "Parameters": { "AccessKey": "[アクセスキー]", "SecretKey": "[シークレットアクセスキー]", "Region": "ap-northeast-1", "NameSpace": "Windows/Custom" } } |
最後にCloudWatchへの出力設定を行います。
先ほどの設定したIDを下記のように追記します。
1 2 3 4 5 6 7 |
"Flows": { "Flows": [ "(ApplicationEventLog,SystemEventLog),CloudWatchLogs", "([CloudWatchId1],[CloudWatchId2]),CloudWatch" ] } |
ここまで完了したらJSONファイルを上書き保存します。
JSONファイル書き換え後はEC2ConfigServiceを再起動する必要があります。
PowerShell
1 2 |
> net stop ec2config > net start ec2config |
メトリクスの確認
コマンドを入力した後CloudWatchコンソールからカスタムメトリクスを確認します。
ちゃんと取得できていることが分かります!
お疲れさまでした!
うまく行きましたでしょうか?
EC2ConfigServiceを用いることでソフトウェアのインストールなどが必要無く簡単にカスタムメトリクスの設定が可能です!
最後にCounterNameの探し方を紹介します。
※CounterNameの探し方※
スタートメニュー -> 管理ツール -> パフォーマンスモニターの「+」をクリックします。
例えばディスクの空き容量であればLogicalDiskカテゴリの%FreeSpaceカウンターです。
それぞれCategoryName、CounterNameに設定することで利用可能です!
またお会いしましょう!