CloudWatch エージェント設定ファイルを手動で作成または編集する
CloudWatch エージェント設定ファイルは、agent
、metrics
、logs
、traces
の 4 つのセクションを持つ JSON ファイルです。
-
agent
セクションには、エージェントの全体的な設定に関するフィールドが含まれています。 -
metrics
セクションでは、収集と CloudWatch への発行に関するカスタムメトリクスを指定します。ログを収集するためだけにエージェントを使用している場合は、ファイルからmetrics
セクションを省略できます。 -
logs
セクションでは、CloudWatch Logs に発行されるログファイルを指定します。サーバーで Windows Server が実行されている場合、これには Windows イベントログからのイベントが含まれることがあります。 -
traces
セクションでは、収集されて AWS X-Ray に送信されるトレースのソースを指定します。
このセクションでは、CloudWatch エージェント設定ファイルの構造とフィールドについて説明します。また、この設定ファイルのスキーマ定義を表示することもできます。スキーマ定義は、Linux サーバーでは
、Windows Server を実行しているサーバーでは installation-directory
/doc/amazon-cloudwatch-agent-schema.json
にあります。installation-directory
/amazon-cloudwatch-agent-schema.json
エージェント設定ファイルを手動で作成または編集する場合は、任意の名前を付けることができます。トラブルシューティングを簡単にするため、Linux サーバーでは、/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
、Windows Server を実行しているサーバーでは、$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json
という名前を付けることをお勧めします。ファイルを作成したら、エージェントをインストールする他のサーバーにそのファイルをコピーできます。
注記
CloudWatch エージェントによって収集されたメトリクス、ログ、トレースには料金が発生します。料金の詳細については、「Amazon CloudWatch の料金
agent
セクションでは、次のフィールドを含めることができます。ウィザードでは、agent
セクションは作成されません。代わりに、このセクションは省略されて、このセクションのすべてのフィールドにデフォルト値が使用されます。
-
metrics_collection_interval
- オプション。この設定ファイルで指定されたすべてのメトリクスが収集される頻度を指定します。この値は、特定の種類のメトリクスで上書きすることができます。この値は数秒で指定されます。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
デフォルト値は 60 です。
-
region
– Amazon EC2 インスタンスを監視しているときに CloudWatch エンドポイントに使用するリージョンを指定します。収集されたメトリクスは、このリージョン (us-west-1
など) に送信されます。このフィールドを省略すると、エージェントは Amazon EC2 インスタンスが配置されているリージョンにメトリクスを送信します。オンプレミスサーバーをモニターリングしている場合、このフィールドは使用されず、エージェントは
AmazonCloudWatchAgent
設定ファイルの AWS プロファイルからリージョンを読み取ります。 -
credentials
– 異なる AWS アカウントにメトリクス、ログ、トレースを送信する際に使用する IAM ロールを指定します。指定した場合、このフィールドには 1 つのパラメータrole_arn
が含まれています。-
role_arn
– 異なる AWS アカウントにメトリクス、ログ、トレースを送信する際の認証用 IAM ロールの Amazon リソースネーム (ARN) を指定します。詳細については、「別のアカウントへのメトリクス、ログ、トレースの送信」を参照してください。
-
-
debug
- オプション。デバッグログメッセージを使用して CloudWatch を実行することを指定します。デフォルト値はfalse
です。 -
aws_sdk_log_level
- オプション。バージョン 1.247350.0 以降の CloudWatch エージェントでのみサポートされます。このフィールドを指定すると、エージェントが AWS SDK エンドポイントに対してログ記録を実行できるようになります。このフィールドの値には、次のオプションうち 1 つまたは複数を含めることができます。複数のオプションは、
|
文字で区切ります。LogDebug
LogDebugWithSigning
LogDebugWithHTTPBody
LogDebugRequestRetries
LogDebugWithEventStreamBody
これらのオプションの詳細については、「LogLevelType」を参照してください。
-
logfile
– CloudWatch エージェントがログメッセージを書き込む場所を指定します。空の文字列を指定すると、ログは stderr に書き込まれます。このオプションを指定しない場合、デフォルトの場所は次のようになります。-
Linux:
/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log
-
Windows Server:
c:\\ProgramData\\Amazon\\CloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log
CloudWatch エージェントで作成されるログファイルは自動的に更新されます。ログファイルは、サイズが 100 MB に達すると、更新されます。エージェントは、更新したログファイルを最大 7 日間保持します。また、更新したバックアップログファイルを最大 5 つまで保持します。バックアップログファイルのファイル名にはタイムスタンプが追加されます。このタイムスタンプは、ファイルの更新日時 (例:
amazon-cloudwatch-agent-2018-06-08T21-01-50.247.log.gz
) を示します。 -
-
omit_hostname
- オプション。デフォルトでは、append_dimensions
セクション内のmetrics
フィールドを使用している場合を除き、ホスト名はエージェントによって収集されるメトリクスのディメンションとして発行されます。omit_hostname
をtrue
に設定すると、append_dimensions
を使用していなくても、ホスト名がディメンションとして発行されません。デフォルト値はfalse
です。 -
run_as_user
- オプション。CloudWatch エージェントを実行するために使用するユーザーを指定します。このパラメータを指定しないと、ルートユーザーが使用されます。このオプションは、Linux サーバーでのみ有効です。このオプションを使用する場合は、CloudWatch エージェントを起動する前にユーザーが存在している必要があります。詳細については、「CloudWatch エージェントの別のユーザーとしての実行」を参照してください。
-
user_agent
- オプション。CloudWatch エージェントによって CloudWatch バックエンドへの API 呼び出しに使用されるuser-agent
文字列を指定します。デフォルト値は、エージェントのバージョン、エージェントのコンパイルに使用された Go プログラミング言語のバージョン、ランタイムオペレーティングシステムおよびアーキテクチャ、構築時間、有効にするプラグインで構成される文字列です。 -
usage_data
- オプション。デフォルトでは、CloudWatch エージェントは、メトリクスまたはログを CloudWatch に発行するたびに、自らに関するヘルスおよびパフォーマンスのデータを CloudWatch に送信します。このデータには費用はかかりません。usage_data
にfalse
を指定することで、エージェントがこのデータを送信しないようにできます。このパラメータを省略すると、デフォルトのtrue
が使用され、エージェントはヘルスおよびパフォーマンスのデータを送信します。この値を
false
に設定した場合、有効にするにはエージェントを停止して再起動する必要があります。
agent
セクションの例を以下に示します。
"agent": { "metrics_collection_interval": 60, "region": "us-west-1", "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "debug": false, "run_as_user": "cwagent" }
Linux および Windows の共通のフィールド
Linux または Windows Server を実行しているサーバーでは、metrics
セクションに次のフィールドが含まれています。
-
namespace
- オプション。エージェントによって収集されるメトリクスに使用する名前空間。デフォルト値はCWAgent
です。最大長は 255 文字です。次に例を示します。{ "metrics": { "namespace": "Development/Product1Metrics", ...... }, }
-
append_dimensions
- オプション。エージェントによって収集されたメトリクスに Amazon EC2 メトリクスのディメンションを追加します。これにより、エージェントはホスト名をディメンションとして発行しません。append_dimensions
で唯一サポートされるキーと値のペアは、次のリストに示されています。他のキーと値のペアは無視されます。エージェントは、次のリストに示されているとおりに、これらのキーと値のペアをサポートします。キーの値を変更して、異なるディメンション名を発行することはできません。"ImageId":"${aws:ImageId}"
は、インスタンスの AMI ID をImageId
ディメンションの値として設定します。"InstanceId":"${aws:InstanceId}"
は、インスタンスのインスタンス ID をInstanceId
ディメンションの値として設定します。"InstanceType":"${aws:InstanceType}"
は、インスタンスのインスタンスタイプをInstanceType
ディメンションの値として設定します。"AutoScalingGroupName":"${aws:AutoScalingGroupName}"
は、インスタンスの Auto Scaling グループ名をAutoScalingGroupName
ディメンションの値として設定します。
任意のキーと値のペアを持つメトリクスにディメンションを追加する場合は、その特定のタイプのメトリクスのフィールドの
append_dimensions
パラメータを使用します。Amazon EC2 メタデータに依存する値を指定し、プロキシーを使用する場合は、サーバーが Amazon EC2 のエンドポイントにアクセスできることを確認する必要があります。これらのエンドポイントの詳細については、「Amazon Web Services 全般のリファレンス」の「Amazon Elastic Compute Cloud (Amazon EC2)」を参照してください。
-
aggregation_dimensions
- オプション。収集されたメトリクスが集計されるディメンションを指定します。例えば、AutoScalingGroupName
ディメンションでメトリクスをロールアップした場合、各 Auto Scaling グループ内のすべてのインスタンスのメトリクスが集約され、全体として参照できるようになります。1 つまたは複数のディメンションに沿ってメトリクスをロールアップすることができます。たとえば、
[["InstanceId"], ["InstanceType"], ["InstanceId","InstanceType"]]
を指定すると、インスタンス ID 単独、インスタンスタイプ単独、および 2 つのディメンションの組み合わせのメトリクスが集約されます。[]
を指定することにより、すべてのディメンションを無視して、すべてのメトリクスを 1 つのコレクションにロールアップすることもできます。 -
endpoint_override
– エージェントがメトリクスを送信するエンドポイントとして使用する FIPS エンドポイントまたはプライベートリンクを指定します。これを指定してプライベートリンクを設定すると、Amazon VPC エンドポイントにメトリクスを送信できます。詳細については、「Amazon VPC とは」を参照してください。endpoint_override
の値は URL 文字列であることが必要です。たとえば、設定ファイルのメトリクスセクションの次の部分は、メトリクスの送信時に VPC エンドポイントを使用するようにエージェントを設定します。
{ "metrics": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.monitoring.us-east-1.vpce.amazonaws.com", ...... }, }
-
metrics_collected
– 必須。収集するメトリクス (StatsD
またはcollectd
を介して収集されたカスタムメトリクスを含む) を指定します。このセクションには、いくつかのサブセクションがあります。この
metrics_collected
セクションの内容は、この設定ファイルが Linux を実行しているサーバー用か Windows Server を実行しているサーバー用かによって異なります。 -
force_flush_interval
– メトリクスがサーバーに送信されるまでにメモリバッファ内に残留する最大時間を秒単位で指定します。この設定にかかわらず、バッファ内のメトリクスのサイズが 1 MB に達するか、異なるタイプのメトリクスの数が 1,000 個に達すると、メトリクスは即座にサーバーに送信されます。デフォルト値は 60 です。
-
credentials
– 異なるアカウントにメトリクスを送信する際に使用する IAM ロールを指定します。指定した場合、このフィールドには 1 つのパラメータrole_arn
が含まれています。-
role_arn
– 異なるアカウントにメトリクスを送信する際の認証用の IAM ロールの ARN を指定します。詳細については、「別のアカウントへのメトリクス、ログ、トレースの送信」を参照してください。ここで指定した値は、設定ファイルのrole_arn
セクションで指定されたagent
よりも優先されます (存在する場合)。
-
Linux のセクション
Linux を実行しているサーバーでは、設定ファイルの metrics_collected
セクションに次のフィールドを含めることもできます。
これらのフィールドの多くには、そのリソースに対して収集するメトリクスをリストする measurement
セクションを含めることができます。これらの measurement
セクションでは、swap_used
などの完全なメトリクス名、またはリソースのタイプに追加されるメトリクス名の一部のみを指定できます。たとえば、reads
セクションの measurement
セクションで diskio
を指定すると、diskio_reads
メトリクスが収集されます。
-
collectd
- オプション。collectd
プロトコルを使用してカスタムメトリクスを取得することを指定します。collectd
ソフトウェアを使用して CloudWatch エージェントにメトリクスを送信します。collectd で使用できる設定オプションの詳細については、「collectd を使用してカスタムメトリクスを取得する」を参照してください。 -
cpu
- オプション。収集する CPU メトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。収集する CPU メトリクスのresources
フィールドとtotalcpu
フィールドを少なくとも 1 つ含める必要があります。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
resources
- オプション。このフィールドの値を*
に指定すると、CPU ごとのメトリクスが収集されます。許容されている値は*
のみです。 -
totalcpu
- オプション。すべての CPU コア間で集計された cpu メトリクスを報告するかどうかを指定します。デフォルトは true です。 -
measurement
– 収集する cpu メトリクスの配列を指定します。利用できる値は、time_active
、time_guest
、time_guest_nice
、time_idle
、time_iowait
、time_irq
、time_nice
、time_softirq
、time_steal
、time_system
、time_user
、usage_active
、usage_guest
、usage_guest_nice
、usage_idle
、usage_iowait
、usage_irq
、usage_nice
、usage_softirq
、usage_steal
、usage_system
、およびusage_user
です。このフィールドは、cpu
を含めた場合にのみ必要です。デフォルトでは、
cpu_usage_*
メトリクスの単位はPercent
であり、cpu_time_*
メトリクスには単位がありません。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、cpu メトリクスを収集する頻度を指定します。この値は数秒で指定されます。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。cpu メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントによって収集されるすべてのタイプのメトリクスに使用されるグローバルフィールドappend_dimensions
で指定されたディメンションに加えて使用されます。
-
-
disk
- オプション。収集する disk メトリクスを指定します。マウントされたボリュームのメトリクスのみを収集します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
resources
- オプション。ディスクのマウントポイントの配列を指定します。このフィールドは、リストされているマウントポイントのみから CloudWatch がメトリクスを収集するように制限します。値として*
を指定すると、すべてのマウントポイントからメトリクスを収集できます。デフォルト値を使用すると、すべてのマウントポイントからメトリクスが収集されます。 -
measurement
– 収集する disk メトリクスの配列を指定します。指定できる値はfree
、total
、used
、used_percent
、inodes_free
、inodes_used
、およびinodes_total
です。このフィールドは、disk
を含めた場合にのみ必要です。注記
disk
メトリクスにはPartition
のディメンションがあります。つまり、生成されるカスタムメトリクスの数は、インスタンスに関連付けられたパーティションの数によって異なります。ディスクパーティションの数は、使用している AMI とサーバーにアタッチする Amazon EBS ボリュームの数によって異なります。各
disk
メトリクスのデフォルトの単位を確認するには、「Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス」を参照してください。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
ignore_file_system_types
– disk メトリクスを収集するときに除外するファイルシステムのタイプを指定します。有効な値は、sysfs
、devtmpfs
などです。 -
drop_device
– これをtrue
に設定すると、Device
はディスクメトリクスのディメンションとして含まれません。Device
がディメンションとして使用されないようにすることは、Nitro システムを使用するインスタンスで役立ちます。これらのインスタンスでは、インスタンスの再起動時にディスクマウントごとにデバイス名が変更されるためです。これにより、メトリクスに整合性のないデータが発生し、これらのメトリクスに基づくアラームがINSUFFICIENT DATA
状態になる可能性があります。デフォルト:
false
。 -
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、disk メトリクスを収集する頻度を指定します。この値は数秒で指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。ディスクメトリクス専用の追加のディメンションとして使用するキーと値のペアを指定します。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。使用できるキーと値のペアは次のとおりです。他のカスタムのキーと値のペアを指定することもできます。
"VolumeId":"${aws:VolumeId}"
は、ブロックデバイスディスクメトリクスにVolumeId
ディメンションを追加します。これは、Amazon EBS ボリュームの場合には Amazon EBS ボリューム ID になります。EC2 インスタンスストアの場合にはデバイスシリアルになります。これを使用するには、drop_device
パラメータをfalse
に設定する必要があります。
-
-
diskio
- オプション。収集する disk i/o メトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
resources
- オプション。デバイスの配列を指定した場合、CloudWatch はそれらのデバイスからのみメトリクスを収集します。それ以外の場合、すべてのデバイスのメトリクスが収集されます。値として * を指定し、すべてのデバイスからメトリクスを収集することもできます。 -
measurement
– 収集する diskio メトリクスの配列を指定します。指定できる値はreads
、writes
、read_bytes
、write_bytes
、read_time
、write_time
、io_time
、およびiops_in_progress
です。このフィールドは、diskio
を含めた場合にのみ必要です。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、diskio メトリクスを収集する頻度を指定します。この値は数秒で指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。diskio メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。
-
-
swap
- オプション。収集するスワップメモリメトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
measurement
– 収集する swap メトリクスの配列を指定します。指定できる値はfree
、used
、およびused_percent
です。このフィールドは、swap
を含めた場合にのみ必要です。各
swap
メトリクスのデフォルトの単位を確認するには、「Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス」を参照してください。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、swap メトリクスを収集する頻度を指定します。この値は数秒で指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。swap メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるグローバルappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。高解像度メトリクスとして収集されます。
-
-
mem
- オプション。収集するメモリメトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
measurement
– 収集する memory メトリクスの配列を指定します。指定できる値はactive
、available
、available_percent
、buffered
、cached
、free
、inactive
、total
、used
、used_percent
です。このフィールドは、mem
を含めた場合にのみ必要です。各
mem
メトリクスのデフォルトの単位を確認するには、「Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス」を参照してください。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、mem メトリクスを収集する頻度を指定します。この値は数秒で指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。mem メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントによって収集されるすべてのタイプのメトリクスに使用されるappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。
-
-
net
- オプション。収集するネットワーキングメトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
resources
- オプション。ネットワークインターフェイスの配列を指定した場合、CloudWatch はそれらのインターフェイスからのみメトリクスを収集します。それ以外の場合、すべてのデバイスのメトリクスが収集されます。また、値として*
を指定し、すべてのインターフェイスからメトリクスを収集することもできます。 -
measurement
– 収集する networking メトリクスの配列を指定します。指定できる値はbytes_sent
、bytes_recv
、drop_in
、drop_out
、err_in
、err_out
、packets_sent
、およびpackets_recv
です。このフィールドは、net
を含めた場合にのみ必要です。各
net
メトリクスのデフォルトの単位を確認するには、「Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス」を参照してください。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、net メトリクスを収集する頻度を指定します。この値は数秒で指定されます。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。net メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。
-
-
netstat
- オプション。収集する TCP 接続状態と UDP 接続メトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
measurement
– 収集する netstat メトリクスの配列を指定します。指定できる値はtcp_close
、tcp_close_wait
、tcp_closing
、tcp_established
、tcp_fin_wait1
、tcp_fin_wait2
、tcp_last_ack
、tcp_listen
、tcp_none
、tcp_syn_sent
、tcp_syn_recv
、tcp_time_wait
、およびudp_socket
です。このフィールドは、netstat
を含めた場合にのみ必要です。各
netstat
メトリクスのデフォルトの単位を確認するには、「Linux および macOS インスタンスで CloudWatch エージェントにより収集されるメトリクス」を参照してください。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、netstat メトリクスを収集する頻度を指定します。この値は数秒で指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。netstat メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。
-
-
processes
- オプション。収集するプロセスメトリクスを指定します。このセクションは、Linux インスタンスでのみ有効です。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
measurement
– 収集する processes メトリクスの配列を指定します。指定できる値はblocked
、dead
、idle
、paging
、running
、sleeping
、stopped
、total
、total_threads
、wait
、zombies
です。このフィールドは、processes
を含めた場合にのみ必要です。すべての
processes
メトリクスで、デフォルトの単位はNone
です。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、processes メトリクスを収集する頻度を指定します。この値は数秒で指定されます。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。process メトリクスにのみ使用する追加のディメンション。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。
-
-
nvidia_gpu
- オプション。収集する NVIDIA GPU メトリクスを指定します。このセクションは、NVIDIA GPU アクセラレーターで設定され、NVIDIA System Management Interface (nvidia-smi) がインストールされているホスト上の Linux インスタンスについてのみ有効です。収集される NVIDIA GPU メトリクスには、他のアクセラレータータイプ用に収集されるメトリクスと区別するために、
nvidia_smi_
という文字列のプレフィックスが付けられます。このセクションには、次のフィールドを含めることができます。-
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。 -
measurement
– 収集する NVIDIA GPU メトリクスの配列を指定します。ここで使用できる値のリストについては、NVIDIA GPU メトリクスを収集する の表の [Metric] (メトリクス) 列を参照してください。各メトリクスのエントリでは、必要に応じて次のいずれかまたは両方を指定できます。
-
rename
– このメトリクスに別の名前を指定します。 -
unit
– メトリクスのNone
のデフォルト単位を上書きして、このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
-
metrics_collection_interval
- オプション。設定ファイルのagent
セクションで指定されたグローバルなmetrics_collection_interval
を上書きして、NVIDIA GPU メトリクスを収集する頻度を指定します。
-
-
procstat
- オプション。個別のプロセスからメトリクスを取得することを指定します。procstat で使用できる設定オプションの詳細については、「procstat プラグインでプロセスメトリクスを収集する」を参照してください 。 -
statsd
- オプション。StatsD
プロトコルを使用してカスタムメトリクスを取得することを指定します。CloudWatch エージェントは、プロトコルのデーモンとして機能します。スタンダードStatsD
クライアントを使用して CloudWatch エージェントにメトリクスを送信します。StatsD で使用できる設定オプションの詳細については、「StatsD を使用してカスタムメトリクスを取得する」を参照してください。 -
ethtool
- オプション。ethtool
プラグインを使用してネットワークメトリクスを取得することを指定します。このプラグインは、標準 ethtool ユーティリティによって収集されたメトリクスと、Amazon EC2 インスタンスからのネットワークパフォーマンスメトリクスの両方をインポートできます。ethtool で使用できる設定オプションの詳細については、「ネットワークパフォーマンスメトリクスの収集」を参照してください。
Linux サーバーの metrics
セクションの例を次に示します。この例では、3 つの CPU メトリクス、3 つの netstat メトリクス、3 つのプロセスメトリクス、および 1 つのディスクメトリクスが収集され、エージェントは collectd
クライアントから追加のメトリクスを受信するように設定されています。
"metrics": { "aggregation_dimensions" : [["AutoScalingGroupName"], ["InstanceId", "InstanceType"],[]], "metrics_collected": { "collectd": {}, "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "drop_original_metrics": [ "cpu_usage_guest" ], "metrics_collection_interval": 10, "append_dimensions": { "test": "test1", "date": "2017-10-01" } }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "disk": { "measurement": [ "used_percent" ], "resources": [ "*" ], "drop_device": true }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" } }
Windows Server
Windows Server の metrics_collected
セクションでは、Windows パフォーマンスオブジェクトごとに Memory
、Processor
、LogicalDisk
などのサブセクションを含めることができます。使用可能なオブジェクトとカウンターについては、Microsoft Windows のドキュメントの「パフォーマンスカウンター
各オブジェクトのサブセクション内では、収集するカウンタの measurement
配列を指定します。measurement
配列は、設定ファイルで指定するオブジェクトごとに必要です。resources
フィールドを指定して、メトリクスの収集元のインスタンスを指定することもできます。また、*
に resources
を指定し、すべてのインスタンスの別個のメトリクスを収集することもできます。インスタンスのあるカウンターの resources
を省略すると、すべてのインスタンスのデータが 1 つのセットに集約されます。インスタンスのないカウンターの resources
を省略すると、CloudWatch エージェントはカウンターを収集しません。カウンターにインスタンスがあるかどうかを判断するには、次のコマンドのいずれかを使用します。
Powershell:
Get-Counter -ListSet *
コマンドライン (Powershell ではない):
TypePerf.exe –q
各オブジェクトセクション内で、以下のオプションフィールドを指定することもできます。
-
metrics_collection_interval
- オプション。設定ファイルのmetrics_collection_interval
セクションで指定されたグローバルなagent
を上書きして、このオブジェクトのメトリクスを収集する頻度を指定します。この値は数秒で指定されます。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定されます。
この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集されます。詳細については、「高解像度のメトリクス」を参照してください。
-
append_dimensions
- オプション。このオブジェクトのメトリクスにのみ使用する追加のディメンションを指定します。このフィールドを指定した場合、エージェントにより収集されるすべてのタイプのメトリクスに使用されるグローバルappend_dimensions
フィールドで指定されたディメンションに加えて使用されます。 -
drop_original_metrics
- オプション。metrics
セクションのaggregation_dimensions
フィールドを使用してメトリクスを集計結果にロールアップしている場合、デフォルトでは、エージェントは集計メトリクスと、ディメンションの値ごとに分離された元のメトリクスの両方を送信します。元のメトリクスを CloudWatch に送信したくない場合は、メトリクスのリストを使用してこのパラメータを指定できます。このパラメータとともに指定されたメトリクスには、CloudWatch にレポートされるディメンションごとのメトリクスがありません。代わりに、集計されたメトリクスのみがレポートされます。これにより、エージェントが収集するメトリクスの数が減り、コストが削減されます。
各カウンタセクション内で、以下のオプションフィールドを指定することもできます。
-
rename
– このメトリクスに、CloudWatch で使用する別の名前を指定します。 -
unit
– このメトリクスに使用する単位を指定します。指定する単位は、「MetricDatum」のUnit
に関する説明にリストされている有効な CloudWatch メトリクス単位でなければなりません。
metrics_collected
には、他の 2 つのオプションのセクションを含めることができます。
-
statsd
–StatsD
プロトコルを使用してカスタムメトリクスを取得できます。CloudWatch エージェントは、プロトコルのデーモンとして機能します。スタンダードStatsD
クライアントを使用して CloudWatch エージェントにメトリクスを送信します。詳細については、「StatsD を使用してカスタムメトリクスを取得する」を参照してください。 -
procstat
– 個別のプロセスからメトリクスを取得できます。詳細については、「procstat プラグインでプロセスメトリクスを収集する」を参照してください。
Windows Server で使用する metrics
セクションの例を次に示します。この例では、多くの Windows メトリクスが収集され、コンピュータは StatsD
クライアントから追加のメトリクスを受信するように設定されています。
"metrics": { "metrics_collected": { "statsd": {}, "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ], "append_dimensions": { "d3": "win_bo" } }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "d3": "win_bo" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ], "append_dimensions": { "d1": "win_foo", "d2": "win_bar" } } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] } }
logs
セクションには、次のフィールドが含まれます。
-
logs_collected
–logs
セクションが含まれている場合に必要です。サーバーから収集するログファイルおよび Windows イベントログを指定します。files
とwindows_events
の 2 つのフィールドを含めることができます。-
files
– CloudWatch エージェントが収集する定期的なログファイルを指定します。1 つのフィールドcollect_list
が含まれます。このフィールドでは、これらのファイルを詳細に定義します。-
collect_list
–files
が含まれている場合に必要です。エントリの配列が含まれており、それぞれ収集するログファイルを 1 つ指定します。これらの各エントリには、次のフィールドを含めることができます。-
file_path
– CloudWatch Logs にアップロードするログファイルのパスを指定します。スーパーアスタリスクとして**
を追加すると、標準 Unix glob マッチングルールが受け入れられます。たとえば、/var/log/**.log
と指定すると.log
ディレクトリツリー内のすべての/var/log
ファイルが収集されます。他の例については、「Glob Library」を参照してください。 また、標準のアスタリスクを標準のワイルドカードとして使用することもできます。例えば、
/var/log/system.log*
は、/var/log
内の、system.log_1111
、system.log_2222
などのファイルに一致します。ファイルの変更時間に基づいて、最新のファイルのみが CloudWatch Logs にプッシュされます。
access_log.2018-06-01-01
とaccess_log.2018-06-01-02
など同じ形式の一連のファイルを指定するにはワイルドカードの使用をお勧めします。ただし、access_log_80
とaccess_log_443
のように複数の種類のファイルには使用しないでください。複数の種類のファイルを指定するには、エージェント設定ファイルに別のストリームログのエントリを追加して、各種類のログファイルが異なるログストリームに行くようにします。 -
auto_removal
- オプション。これがtrue
である場合、CloudWatch エージェントは、このログファイルを、読み取りとローテーションが完了した後に自動的に削除します。通常、ログファイルは、そのコンテンツ全体が CloudWatch Logs にアップロードされた後に削除されますが、エージェントが EOF (ファイルの終わり) に達し、同じfile_path
に一致する別の新しいログファイルも検出した場合、エージェントは古いファイルを削除します。したがって、新しいファイルの作成前に、古いファイルへの記述を確実に完了する必要があります。RUST トレースライブラリには既知の非互換性があります。これは、新しいログファイルが作成された後も、古いログファイルへの書き込みが試行される可能性があることが原因です。 エージェントは、日別に異なるファイルを作成するログなど、複数のファイルを作成するログから完全なファイルのみを削除します。ログが 1 つのファイルに継続的に書き込まれる場合、そのファイルは削除されません。
ログファイルの更新方法や削除方法が設定済みである場合は、このフィールドを省略するか、
false
に設定することをお勧めします。このフィールドを省略した場合は、デフォルト値の
false
が使用されます。 -
log_group_name
- オプション。CloudWatch Logs でロググループ名として何を使用するかを指定します。混乱を避けるため、このフィールドを使用してロググループ名を指定することをお勧めします。
log_group_name
を省略した場合、末尾のドットまでのfile_path
の値がロググループ名として使用されます。たとえば、ファイルパスが/tmp/TestLogFile.log.2017-07-11-14
の場合、ロググループ名は/tmp/TestLogFile.log
です。ロググループ名を指定する場合、
{instance_id}
、{hostname}
、{local_hostname}
、{ip_address}
を変数として使用できます。{hostname}
は EC2 メタデータからホスト名を取得し、{local_hostname}
はネットワーク設定ファイルからホスト名を使用します。これらの変数を使用して多くの異なるロググループを作成する場合は、1 リージョン、1 アカウントあたり 100 万ロググループという制限を念頭に置いてください。
ここで使えるのは、a~z、A~Z、0~9、"_" (アンダーバー)、"-" (ハイフン)、"/" (スラッシュ) および "." (ピリオド) です。
-
log_group_class
- オプション。新しいロググループに使用するロググループクラスを指定します。ロググループクラスの詳細については、「Log classes」を参照してください。有効な値は、
STANDARD
およびINFREQUENT_ACCESS
です。このフィールドを省略した場合、STANDARD
のデフォルトが使用されます。重要
ロググループの作成後に、ロググループクラスを変更することはできません。
-
log_stream_name
- オプション。CloudWatch Logs でログストリーム名として何を使用するかを指定します。名前の一部として、名前では変数として{instance_id}
、{hostname}
、{local_hostname}
、{ip_address}
を使用することができます。{hostname}
は、EC2 メタデータからホスト名を取得し、{local_hostname}
は、ネットワーク設定ファイルからホスト名を使用します。このフィールドを省略すると、グローバル
log_stream_name
セクションのlogs
パラメータの値が使用されます。これも省略すると、{instance_id}
のデフォルト値が使用されます。ログストリームが存在しない場合には、自動的に作成されます。
-
retention_in_days
- オプション。指定されたロググループにログイベントを保持する日数を指定します。エージェントがこのロググループを作成中なら、このフィールドを省略すると、この新しいロググループが無期限に保持されるように設定されます。
-
このロググループが既に存在していて、このフィールドを指定すると、指定した新しい保存期間が使用されます。既に存在するロググループで、このフィールドを省略した場合、ロググループの保持は変更されません。
CloudWatch エージェントウィザードは、このフィールドのデフォルト値として
-1
を使用します。これは、エージェント設定ファイルを作成する場合で、ログ保持の値を指定しない場合に使用されます。ウィザードが設定するこの-1
の値によって、ロググループ内のイベントが期限切れにならないよう指定されます。ただし、この値を手動で-1
に編集しても効果はありません。
有効な値は 1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、2192、2557、2922、3288、および 3653 です。
同じロググループに複数のログストリームを書き込むようにエージェントを設定する場合、1 つの場所で
retention_in_days
を指定すると、ロググループ全体のログの保持が設定されます。複数の場所で同じロググループ向けにretention_in_days
を指定した場合、それらの値がすべて等しい場合に保持が設定されます。ただし、複数の場所で同じロググループに異なるretention_in_days
の値が指定されている場合、ログの保持は設定されず、エージェントは停止してエラーを返します。注記
エージェントの IAM ロールまたは IAM ユーザーが保持ポリシーを設定するには、
logs:PutRetentionPolicy
を持っている必要があります。詳細については、「CloudWatch エージェントによるログの保持ポリシーの設定を許可」を参照してください。警告
既に存在するロググループ向けに
retention_in_days
を設定した場合、指定した日数より前に発行されたそのロググループ内のすべてのログが削除されます。例えば、3 に設定すると、3 日以上前のすべてのログが削除されます。 -
filters
- オプション。エントリの配列を含めることができます。各エントリは、正規表現とフィルタータイプを指定し、フィルターに一致するログエントリを発行またはドロップするかどうかを指定します。このフィールドを省略すると、ログファイル内のすべてのログが CloudWatch Logs に発行されます。このフィールドを含めると、エージェントは指定したすべてのフィルターを使用して各ログメッセージを処理し、すべてのフィルターを通過するログイベントのみが CloudWatch Logs に発行されます。一部のフィルターを通過しないログエントリは、ホストのログファイルに残りますが、CloudWatch Logs には送信されません。フィルター配列の各エントリには、次のフィールドを含めることができます。
type
– フィルターのタイプを示します。有効な値は、include
およびexclude
です。include
では、ログエントリは CloudWatch Logs に発行される式と一致する必要があります。exclude
では、フィルターに一致する各ログエントリは CloudWatch Logs に送信されません。expression
– RE2 Syntaxに続く正規表現の文字列。 注記
CloudWatch エージェントは、指定した正規表現のパフォーマンスをチェックしたり、正規表現の評価の実行時間を制限したりしません。評価に多くのコストがかかる表現を記述しないように注意することをおすすめします。発生する可能性のある問題の詳細については、「Regular expression Denial of Service - ReDoS
」(正規表現のサービス拒否 - ReDoS) を参照してください。
例えば、次の CloudWatch エージェント設定ファイルの抜粋は、PUT および POST リクエストであるログを CloudWatch Logs に発行しますが、Firefox からのログは除外されます。
"collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "filters": [ { "type": "exclude", "expression": "Firefox" }, { "type": "include", "expression": "P(UT|OST)" } ] }, ..... ]
注記
設定ファイル内のフィルターの順序は、パフォーマンス上重要です。前述の例において、エージェントは 2 番目のフィルターの評価を開始する前に、
Firefox
に一致するすべてのログをドロップします。複数のフィルターで評価されるログエントリを少なくするには、より多くのログを除外するフィルターを設定ファイルに最初に配置します。 -
timezone
- オプション。ログイベントにタイムスタンプを付けるときに使用するタイムゾーンを指定します。有効な値はUTC
およびLocal
です。デフォルト値はLocal
です。timestamp_format
の値を指定しない場合、このパラメータは無視されます。 -
timestamp_format
- オプション。% で始まる特殊記号とプレーンテキストを使用して、タイムスタンプ形式を指定します。このフィールドを省略した場合は、現在の時刻が使用されます。このフィールドを使用する場合は、以下のリストの記号を形式の一部に使用することができます。1 つのログエントリに、形式に一致する 2 つのタイムスタンプが含まれている場合、最初のタイムスタンプが使用されます。
この記号のリストは、以前の CloudWatch Logs エージェントで使用されるリストとは異なります。このような違いの概要については、「統合 CloudWatch エージェントと前の CloudWatch Logs エージェントの間のタイムスタンプの違い」を参照してください。
%y
-
ゼロ詰め 10 進数での年 (世紀なし) たとえば
19
で 2019 を表します。 %Y
-
10 進数での年 (世紀あり) 例えば、
2019
と指定します。 %b
-
ロケールの省略名称での月
%B
-
ロケールの正式名称での月
%m
-
ゼロ詰め 10 進数での月
%-m
-
10 進数での月 (ゼロ詰めなし)
%d
-
ゼロ詰め 10 進数での日
%-d
-
10 進数での日 (ゼロ詰めなし)
%A
-
曜日のフルネーム。
Monday
など %a
-
曜日の略称。
Mon
など %H
-
ゼロ詰め 10 進数での時 (24 時間形式の時計)
%I
-
ゼロ詰め 10 進数での時 (12 時間形式の時計)
%-I
-
10 進数での時間 (12 時間制) (ゼロ詰めなし)
%p
-
AM または PM
%M
-
ゼロ詰め 10 進数での分
%-M
-
10 進数での分 (ゼロ詰めなし)
%S
-
ゼロ詰め 10 進数での秒
%-S
-
10 進数での秒 (ゼロ詰めなし)
%f
-
10 進数 (1~9 桁) での少数秒 (左側をゼロ詰め)
%Z
-
タイムゾーン。
PST
など %z
-
タイムゾーンは、ローカルタイムゾーンと UTC の間のオフセットとして表されます。例えば、
-0700
と指定します。この形式のみがサポートされています。たとえば、-07:00
は有効な形式ではありません。
-
multi_line_start_pattern
– ログメッセージの開始を識別するパターンを指定します。ログメッセージは、パターンに一致する 1 行と、後続パターンに一致しない行で構成されます。このフィールドを指定しない場合、複数行モードが無効になり、空白文字以外の文字で始まる行は、前のログメッセージを終了して新しいログメッセージを開始します。
このフィールドを含める場合、
{timestamp_format}
を指定してタイムスタンプ形式と同じ正規表現を使用できます。それ以外の場合、CloudWatch Logs が複数行エントリの最初の行を判断するために使用する別の正規表現を指定できます。 -
encoding
– 正しく読み込むことができるように、ログファイルのエンコードを指定します。正しくないエンコードを指定すると、デコードできない文字がその他の文字に置き換えられるため、データ損失が生じる可能性があります。デフォルト値は
utf-8
です。指定できる値は以下のとおりです。ascii, big5, euc-jp, euc-kr, gbk, gb18030, ibm866, iso2022-jp, iso8859-2, iso8859-3, iso8859-4, iso8859-5, iso8859-6, iso8859-7, iso8859-8, iso8859-8-i, iso8859-10, iso8859-13, iso8859-14, iso8859-15, iso8859-16, koi8-r, koi8-u, macintosh, shift_jis, utf-8, utf-16, utf-16le, UTF-16, UTF-16LE, windows-874, windows-1250, windows-1251, windows-1252, windows-1253, windows-1254, windows-1255, windows-1256, windows-1257, windows-1258, x-mac-cyrillic
-
-
-
windows_events
セクションでは、Windows Server を実行しているサーバーから収集する Windows イベントのタイプを指定します。次のフィールドが含まれています。-
collect_list
–windows_events
が含まれている場合に必要です。収集する Windows イベントのタイプとレベルを指定します。収集される各ログには、このセクションのエントリがあります。次のフィールドが含まれる可能性があります。-
event_name
– ログ記録する Windows イベントのタイプを指定します。これは Windows イベントログのチャネル名と同等です。たとえば、System
、Security
、Application
などがあります。このフィールドは、ログ記録する Windows イベントのタイプごとに必要です。注記
CloudWatch が Windows ログチャネルからメッセージを取得する際には、
Full Name
プロパティに基づき、そのログチャネルがルックアップされます。その間、Windows イベントビューアのナビゲーションペインには、ログチャネルのLog Name
プロパティが表示されます。Full Name
とLog Name
は必ずしも一致しません。チャンネルのFull Name
を確認するには、Windows イベントビューアでチャンネルを右クリックし、[プロパティ] を開きます。 -
event_levels
– ログ記録するイベントのレベルを指定します。ログ記録する各レベルを指定する必要があります。指定できる値には、INFORMATION
、WARNING
、ERROR
、CRITICAL
およびVERBOSE
などがあります。このフィールドは、ログ記録する Windows イベントのタイプごとに必要です。 -
log_group_name
– 必須。CloudWatch Logs でロググループ名として何を使用するかを指定します。 -
log_stream_name
- オプション。CloudWatch Logs でログストリーム名として何を使用するかを指定します。名前の一部として、名前では変数として{instance_id}
、{hostname}
、{local_hostname}
、{ip_address}
を使用することができます。{hostname}
は、EC2 メタデータからホスト名を取得し、{local_hostname}
は、ネットワーク設定ファイルからホスト名を使用します。このフィールドを省略すると、グローバル
log_stream_name
セクションのlogs
パラメータの値が使用されます。これも省略すると、{instance_id}
のデフォルト値が使用されます。ログストリームが存在しない場合には、自動的に作成されます。
-
event_format
- オプション。Windows のイベントを CloudWatch Logs に保存する際に使用する形式を指定します。xml
は、Windows イベントビューワーと同じように XML 形式を使用します。text
は、レガシーの CloudWatch Logs エージェント形式を使用します。 -
retention_in_days
- オプション。指定されたロググループに Windows イベントを保持する日数を指定します。エージェントがこのロググループを作成中なら、このフィールドを省略すると、この新しいロググループが無期限に保持されるように設定されます。
-
このロググループが既に存在していて、このフィールドを指定すると、指定した新しい保存期間が使用されます。既に存在するロググループで、このフィールドを省略した場合、ロググループの保持は変更されません。
CloudWatch エージェントウィザードは、このフィールドのデフォルト値として
-1
を使用します。これは、エージェント設定ファイルを作成する場合で、ログ保持の値を指定しない場合に使用されます。ウィザードが設定するこの-1
の値は、ロググループ内のイベントが期限切れにならないよう指定します。ただし、この値を手動で-1
に編集しても効果はありません。
有効な値は 1、3、5、7、14、30、60、90、120、150、180、365、400、545、731、1827、2192、2557、2922、3288、および 3653 です。
同じロググループに複数のログストリームを書き込むようにエージェントを設定する場合、1 つの場所で
retention_in_days
を指定すると、ロググループ全体のログの保持が設定されます。複数の場所で同じロググループ向けにretention_in_days
を指定した場合、それらの値がすべて等しい場合に保持が設定されます。ただし、複数の場所で同じロググループに異なるretention_in_days
の値が指定されている場合、ログの保持は設定されず、エージェントは停止してエラーを返します。注記
エージェントの IAM ロールまたは IAM ユーザーが保持ポリシーを設定するには、
logs:PutRetentionPolicy
を持っている必要があります。詳細については、「CloudWatch エージェントによるログの保持ポリシーの設定を許可」を参照してください。警告
既に存在するロググループ向けに
retention_in_days
を設定した場合、指定した日数より前に発行されたそのロググループ内のすべてのログが削除されます。例えば、3 に設定すると、3 日以上前のすべてのログが削除されます。
-
-
-
-
log_stream_name
– 必須。log_stream_name
のログや Windows イベントの個別のログストリーム名がcollect_list
パラメータに定義されていない場合、代わりに使用するデフォルトのログストリーム名を指定します。 -
endpoint_override
– エージェントがログを送信するエンドポイントとして使用する FIPS エンドポイントまたはプライベートリンクを指定します。このフィールドを指定してプライベートリンクを設定すると、Amazon VPC エンドポイントにログを送信できます。詳細については、「Amazon VPC とは」を参照してください。endpoint_override
の値は URL 文字列であることが必要です。たとえば、設定ファイルの logs セクションの次の部分は、ログを送信するときに VPC エンドポイントを使用するようにエージェントを設定します。
{ "logs": { "endpoint_override": "vpce-XXXXXXXXXXXXXXXXXXXXXXXXX.logs.us-east-1.vpce.amazonaws.com", ...... }, }
-
force_flush_interval
– ログがサーバーに送信されるまでにメモリバッファ内に残留する最大時間を秒単位で指定します。このフィールドの設定にかかわらず、バッファ内のログのサイズが 1 MB に達すると、ログは即座にサーバーに送信されます。デフォルト値は 5 です。エージェントを使用して高解像度メトリクスを埋め込みメトリクス形式で報告し、それらのメトリクスにアラームを設定する場合は、このパラメータをデフォルト値の 5 に設定してください。それ以外の場合は、メトリクスが遅延して報告され、データが部分的または不完全な場合にアラームが発報する可能性があります。
-
credentials
– 異なる AWS アカウントにログを送信する際に使用する IAM ロールを指定します。指定した場合、このフィールドには 1 つのパラメータrole_arn
が含まれています。-
role_arn
– 異なる AWS アカウントにログを送信する際の認証用 IAM ロールの ARN を指定します。詳細については、「別のアカウントへのメトリクス、ログ、トレースの送信」を参照してください。ここで指定した場合は、設定ファイルのrole_arn
セクションで指定されたagent
よりも優先されます (存在する場合)。
-
-
metrics_collected
- このフィールドには、エージェントにログ収集を指示するセクションを含めることができます。CloudWatch Application Signals と Container Insights のオブザーバビリティを Amazon EKS 向けに強化するといったユースケースを利用できるようになります。application_signals
(オプション) CloudWatch Application Signals を有効にすることを指定します。この設定の詳細については、「CloudWatch Application Signals を有効にする」を参照してください。-
kubernetes
— このフィールドには、enhanced_container_insights
パラメータを含めることができます。これは、Amazon EKS 向けにオブザーバビリティが強化された Container Insights を有効にするために使用できます。enhanced_container_insights
— これをtrue
に設定すると、Amazon EKS 向けにオブザーバビリティが強化された Container Insights が有効になります。詳細については、「Amazon EKS 向けにオブザーバビリティが強化された Container Insights」を参照してください。accelerated_compute_metrics
- Amazon EKS クラスターでの Nvidia GPU メトリクスの収集をオプトアウトするには、これをfalse
に設定します。詳細については、「NVIDIA GPU メトリクス」を参照してください。
-
emf
– ログに埋め込まれたメトリクスを収集するために、このemf
フィールドを追加する必要はなくなりました。これは、エージェントが埋め込みメトリクス形式のログを収集するように指定するレガシーフィールドです。これらのログからメトリクスデータを生成できます。詳細については、「ログ内へのメトリクスの埋め込み」を参照してください。
logs
セクションの例を以下に示します。
"logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "my_log_stream_name_1", "timestamp_format": "%H: %M: %S%y%b%-d" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "log_stream_name": "my_log_stream_name_2" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System" }, { "event_name": "CustomizedName", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "CustomizedLogGroup", "log_stream_name": "CustomizedLogStream" } ] } }, "log_stream_name": "my_log_stream_name", "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } }
CloudWatch エージェント設定ファイルに traces
セクションを追加することで、CloudWatch Application Signals を有効にできるほか、X-Ray や OpenTelemetry 計測 SDK からトレースを収集して X-Ray に送信することもできます。
重要
エージェントの IAM ロールまたは IAM ユーザーがトレースデータを X-Ray に送信できるようにするには、AWSXrayWriteOnlyAccess ポリシーが必要です。詳細については、「CloudWatch エージェントで使用する IAM ロールとユーザーを作成する」を参照してください。
トレースの収集を簡単に開始するために必要なのは、CloudWatch エージェント設定ファイルに次の内容を追加することだけです。
"traces_collected": { "xray": { }, "otlp": { } }
前のセクションを CloudWatch エージェント設定ファイルに追加してエージェントを再起動すると、エージェントは次のデフォルトのオプションと値を使用してトレースの収集を開始します。これらのパラメータの詳細については、このセクションで後述するパラメータの定義を参照してください。
"traces_collected": { "xray": { "bind_address": "127.0.0.1:2000", "tcp_proxy": { "bind_address": "127.0.0.1:2000" } }, "otlp": { "grpc_endpoint": "127.0.0.1:4317", "http_endpoint": "127.0.0.1:4318" } }
traces
セクションでは、次のフィールドを含めることができます。
-
traces_collected
–traces
セクションが含まれている場合に必要です。トレースの収集元になる SDK を指定します。次のフィールドを含めることができます。-
application_signals
- オプション。CloudWatch Application Signals を有効にすることを指定します。この設定の詳細については、「CloudWatch Application Signals を有効にする」を参照してください。 -
xray
- オプション。X-Ray SDK からトレースを収集することを指定します。このセクションには、次のフィールドを含めることができます。-
bind_address
- オプション。CloudWatch エージェントが X-Ray のトレースのリッスンに使用する UDP アドレスを指定します。形式はip:port
です。このアドレスは、X-Ray SDK で設定されたアドレスと一致する必要があります。このフィールドを省略した場合、
127.0.0.1:2000
のデフォルトが使用されます。 -
tcp_proxy
- オプション。X-Ray リモートサンプリングをサポートするために使用されるプロキシのアドレスを設定します。詳細については、X-Ray ドキュメントの「サンプリングルールの設定」を参照してください。このセクションには、次のフィールドを含めることができます。
-
bind_address
- オプション。CloudWatch エージェントがプロキシを設定する必要がある TCP アドレスを指定します。形式はip:port
です。このアドレスは、X-Ray SDK で設定されたアドレスと一致する必要があります。このフィールドを省略した場合、
127.0.0.1:2000
のデフォルトが使用されます。
-
-
-
otlp
- オプション。OpenTelemetry SDK からトレースを収集することを指定します。AWS Distro for OpenTelemetry の詳細については、AWS Distro for OpenTelemetryを参照してください。AWS Distro for OpenTelemetry SDK の詳細については、「はじめに 」を参照してください。 このセクションには、次のフィールドを含めることができます。
-
grpc_endpoint
- オプション。gRPC リモートプロシージャコールを使用して送信された OpenTelemetry トレースをリッスンするために使用する CloudWatch エージェントのアドレスを指定します。形式はip:port
です。このアドレスは、OpenTelemetry SDK の gRPC エクスポーター用に設定されたアドレスと一致する必要があります。このフィールドを省略した場合、
127.0.0.1:4317
のデフォルトが使用されます。 -
http_endpoint
- オプション。HTTP 経由で送信される OTLP トレースをリッスンするために CloudWatch エージェントが使用するアドレスを指定します。形式はip:port
です。このアドレスは、OpenTelemetry SDK の HTTP エクスポーター用に設定されたアドレスと一致する必要があります。このフィールドを省略した場合、
127.0.0.1:4318
のデフォルトが使用されます。
-
-
-
concurrency
- オプション。トレースのアップロードに使用できる、X-Ray に対する同時呼び出しの最大数を指定します。デフォルト値は、「8
」です。 -
local_mode
- オプション。true
の場合、エージェントは Amazon EC2 インスタンスのメタデータを収集しません。デフォルトは です。false
-
endpoint_override
- オプション。 CloudWatch エージェントがトレースを送信するエンドポイントとして使用する FIPS エンドポイントまたはプライベートリンクを指定します。このフィールドを指定してプライベートリンクを設定すると、Amazon VPC エンドポイントにトレースを送信できます。詳細については、「Amazon VPC とは」を参照してください。endpoint_override
の値は URL 文字列であることが必要です。 -
region_override
- オプション。X-Ray エンドポイント用に使用するリージョンを指定します。CloudWatch エージェントは、指定されたリージョンの X-Ray にトレースを送信します。このフィールドを省略すると、エージェントは Amazon EC2 インスタンスが配置されているリージョンにトレースを送信します。ここでリージョンを指定すると、設定ファイルの
agent
セクションのregion
パラメータの設定よりも優先されます。 -
proxy_override
- オプション。X-Ray にリクエストを送信する際に CloudWatch エージェントが使用するプロキシサーバーアドレスを指定します。プロキシサーバーのプロトコルは、このアドレスの一部として指定する必要があります。 -
credentials
– 異なる AWS アカウントにトレースを送信する際に使用する IAM ロールを指定します。指定した場合、このフィールドには 1 つのパラメータrole_arn
が含まれています。-
role_arn
– 異なる AWS アカウントにトレースを送信する際の認証用 IAM ロールの ARN を指定します。詳細については、「別のアカウントへのメトリクス、ログ、トレースの送信」を参照してください。ここで指定した場合は、設定ファイルのrole_arn
セクションで指定されたagent
よりも優先されます (存在する場合)。
-
Linux サーバーの完全な CloudWatch エージェント設定ファイルの例を次に示します。
収集するメトリクスについて measurement
セクションにリストされた項目では、完全なメトリクス名、またはリソースのタイプに追加するメトリクス名の一部のみを指定できます。たとえば、reads
セクションの diskio_reads
セクションで measurement
または diskio
を指定すると、diskio_reads
メトリクスが収集されます。
この例には、measurement
セクションでメトリクスを指定するための両方の方法が含まれています。
{ "agent": { "metrics_collection_interval": 10, "logfile": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "cpu": { "resources": [ "*" ], "measurement": [ {"name": "cpu_usage_idle", "rename": "CPU_USAGE_IDLE", "unit": "Percent"}, {"name": "cpu_usage_nice", "unit": "Percent"}, "cpu_usage_guest" ], "totalcpu": false, "metrics_collection_interval": 10, "append_dimensions": { "customized_dimension_key_1": "customized_dimension_value_1", "customized_dimension_key_2": "customized_dimension_value_2" } }, "disk": { "resources": [ "/", "/tmp" ], "measurement": [ {"name": "free", "rename": "DISK_FREE", "unit": "Gigabytes"}, "total", "used" ], "ignore_file_system_types": [ "sysfs", "devtmpfs" ], "metrics_collection_interval": 60, "append_dimensions": { "customized_dimension_key_3": "customized_dimension_value_3", "customized_dimension_key_4": "customized_dimension_value_4" } }, "diskio": { "resources": [ "*" ], "measurement": [ "reads", "writes", "read_time", "write_time", "io_time" ], "metrics_collection_interval": 60 }, "swap": { "measurement": [ "swap_used", "swap_free", "swap_used_percent" ] }, "mem": { "measurement": [ "mem_used", "mem_cached", "mem_total" ], "metrics_collection_interval": 1 }, "net": { "resources": [ "eth0" ], "measurement": [ "bytes_sent", "bytes_recv", "drop_in", "drop_out" ] }, "netstat": { "measurement": [ "tcp_established", "tcp_syn_sent", "tcp_close" ], "metrics_collection_interval": 60 }, "processes": { "measurement": [ "running", "sleeping", "dead" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]], "force_flush_interval" : 30 }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "log_stream_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "/opt/aws/amazon-cloudwatch-agent/logs/test.log", "log_group_name": "test.log", "log_stream_name": "test.log", "timezone": "Local" } ] } }, "log_stream_name": "my_log_stream_name", "force_flush_interval" : 15, "metrics_collected": { "kubernetes": { "enhanced_container_insights": true } } } }
Windows Server を実行しているサーバーの完全な CloudWatch エージェント設定ファイルの例を次に示します。
{ "agent": { "metrics_collection_interval": 60, "logfile": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log" }, "metrics": { "namespace": "MyCustomNamespace", "metrics_collected": { "Processor": { "measurement": [ {"name": "% Idle Time", "rename": "CPU_IDLE", "unit": "Percent"}, "% Interrupt Time", "% User Time", "% Processor Time" ], "resources": [ "*" ], "append_dimensions": { "
customized_dimension_key_1
": "customized_dimension_value_1
", "customized_dimension_key_2
": "customized_dimension_value_2
" } }, "LogicalDisk": { "measurement": [ {"name": "% Idle Time", "unit": "Percent"}, {"name": "% Disk Read Time", "rename": "DISK_READ"}, "% Disk Write Time" ], "resources": [ "*" ] }, "customizedObjectName
": { "metrics_collection_interval": 60, "customizedCounterName
": [ "metric1
", "metric2
" ], "resources": [ "customizedInstances
" ] }, "Memory": { "metrics_collection_interval": 5, "measurement": [ "Available Bytes", "Cache Faults/sec", "Page Faults/sec", "Pages/sec" ] }, "Network Interface": { "metrics_collection_interval": 5, "measurement": [ "Bytes Received/sec", "Bytes Sent/sec", "Packets Received/sec", "Packets Sent/sec" ], "resources": [ "*" ], "append_dimensions": { "customized_dimension_key_3
": "customized_dimension_value_3
" } }, "System": { "measurement": [ "Context Switches/sec", "System Calls/sec", "Processor Queue Length" ] } }, "append_dimensions": { "ImageId": "${aws:ImageId}", "InstanceId": "${aws:InstanceId}", "InstanceType": "${aws:InstanceType}", "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "aggregation_dimensions" : [["ImageId"], ["InstanceId", "InstanceType"], ["d1"],[]] }, "logs": { "logs_collected": { "files": { "collect_list": [ { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\amazon-cloudwatch-agent.log", "log_group_name": "amazon-cloudwatch-agent.log", "timezone": "UTC" }, { "file_path": "c:\\ProgramData\\Amazon\\AmazonCloudWatchAgent\\Logs\\test.log", "log_group_name": "test.log", "timezone": "Local" } ] }, "windows_events": { "collect_list": [ { "event_name": "System", "event_levels": [ "INFORMATION", "ERROR" ], "log_group_name": "System", "log_stream_name": "System", "event_format": "xml" }, { "event_name": "CustomizedName", "event_levels": [ "WARNING", "ERROR" ], "log_group_name": "CustomizedLogGroup
", "log_stream_name": "CustomizedLogStream
", "event_format": "xml" } ] } }, "log_stream_name": "example_log_stream_name" } }
CloudWatch エージェント設定ファイルを手動で保存するには
CloudWatch エージェント設定ファイルを手動で作成または編集する場合は、任意の名前を付けることができます。トラブルシューティングを簡単にするため、Linux サーバーでは、/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json
、Windows Server を実行しているサーバーでは、$Env:ProgramData\Amazon\AmazonCloudWatchAgent\amazon-cloudwatch-agent.json
という名前を付けることをお勧めします。ファイルを作成したら、エージェントを実行する他のサーバーにそのファイルをコピーできます。
CloudWatch エージェント設定ファイルの Systems Manager Parameter Store へのアップロード
SSM Agent を使用して CloudWatch エージェントをサーバーにインストールする場合は、CloudWatch エージェント設定ファイルを手動で編集した後、Systems Manager Parameter Store にアップロードできます。これを行うには、Systems Manager put-parameter
コマンドを使用します。
Parameter Store にファイルを保存できるようにするには、十分なアクセス権限を持つ IAM ロールを使用する必要があります。詳細については、「CloudWatch エージェントで使用する IAM ロールとユーザーを作成する」を参照してください。
次のコマンドを使用します。ここで、parameter name
は Parameter Store でこのファイルに使用する名前で、configuration_file_pathname
は編集した設定ファイルのパスとファイル名です。
aws ssm put-parameter --name "
parameter name
" --type "String" --value file://configuration_file_pathname