今回はCloudWatchのメトリクス名を切り替える方法について解説します。執筆時点でまとまっている記事が少ない印象でしたので、自分用にまとめました。どなたかのお役に立てば幸いです。CloudWatchの設定は今回省略しますが、環境構築から丁寧に設定方法を知りたい方は、弊社エンジニアが丁寧に記事化しています。ぜひともこちらをご参照ください。
前提
・検証時OSはWindows
・CloudWatchAgent導入済みで、下のようにカスタムメトリクスが出力されている
設定手順
今回は上画像の「Memory % Commited Bytes In Use」で出力されているメトリクスを「MemUtilization」という名前で出力されるよう設定します。
CloudWatchAgentが導入されているEC2にアクセスし、
「C:\ProgramFiles\Amazon\AmazonCloudWatchAgent」内の設定ファイルを編集します。
【2024/8/30 追記】
設定ファイルはウィザードで設定した場合、config.jsonで出力されるので、これを編集します。
CloudWatchAgentの設定で内容は変わりますが、デフォルトのconfig.jsonファイルは以下のようになっていました。
{
"metrics": {
###### 省略 ######
"Memory": {
"measurement": [
"% Committed Bytes In Use"
],
"metrics_collection_interval": 60
},
###### 省略 ######
}
こちらのファイルを以下のように書き換えます。
measurementの中身を変更しています。
{
"metrics": {
###### 省略 ######
"Memory": {
"measurement": [
{"name": "% Committed Bytes In Use", "rename": "MemUtilization"}
],
"metrics_collection_interval": 60
},
###### 省略 ######
}
config.jsonを編集したら、PowerShellで以下の2つのコードを流し、CloudWatchエージェントの再起動、ステータスの確認をします。
& "C:\Program Files\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1" -a fetch-config -m ec2 -s -c file:"C:\Program Files\Amazon\AmazonCloudWatchAgent\config.json"
#出力結果#
****** processing amazon-cloudwatch-agent ******
I! Trying to detect region from ec2
D! [EC2] Found active network interface
I! imds retry client will retry 1 timesSuccessfully fetched the config and saved in C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs\file_config.json.tmp
Start configuration validation...
2024/08/20 12:37:32 Reading json config file path: C:\ProgramData\Amazon\AmazonCloudWatchAgent\Configs\file_config.json.tmp ...
2024/08/20 12:37:32 I! Valid Json input schema.
I! Trying to detect region from ec2
D! [EC2] Found active network interface
I! imds retry client will retry 1 times2024/08/20 12:37:32 D! ec2tagger processor required because append_dimensions is set
2024/08/20 12:37:32 D! metric decorator required because measurement fields are set
2024/08/20 12:37:32 Configuration validation first phase succeeded
Configuration validation second phase succeeded
Configuration validation succeeded
AmazonCloudWatchAgent has been stopped
AmazonCloudWatchAgent has been started
#出力結果ここまで#
& $Env:ProgramFiles\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent-ctl.ps1 -m ec2 -a status
#出力結果#
{
"status": "running",
"starttime": "2024-08-20T12:37:33",
"configstatus": "configured",
"version": "1.300043.0b781"
}
#出力結果ここまで#
しばらくしてからAWSコンソールを見ると以下の通り、出力時のメトリクス名が「Memory % Commited Bytes In Use」から「MemUtilization」に書き換わっていることが確認できます。
本記事は短いですが以上です。お読みいただきありがとうございました。
参考URL