Open4
CloudWatch エージェントの設定ファイルの中身
検証稼働を始めたので改めて設定ファイルで何をどこまで制御できるか確認する。
目次
- 概要
- agent
- metrics
- traces
概要
CloudWatch エージェント設定ファイルは、agent
、metrics
、logs
、traces
の 4 つのセクションを持つ JSON ファイルである。各セクションは以下の通り:
-
agent
セクション- エージェントの全体的な設定に関するフィールドが含まれている
-
metrics
セクション- 収集と CloudWatch への発行に関するカスタムメトリクスを指定する。
- ログを収集するためだけにエージェントを使用している場合は、ファイルから
metrics
セクションを省略できる。
-
logs
セクション- CloudWatch Logs に発行されるログファイルを指定する
- サーバーで Windows Server が実行されている場合、これには Windows イベントログからのイベントが含まれることがある
-
traces
セクション- 収集された AWS X-Ray に送信されるトレースのソースを指定する
/opt/aws/amazon-cloudwatch-agent/bin/config.json
{
"agent": {...},
"metrics": {...},
"logs": {...},
"traces": {...}
}
料金
CloudWatch エージェントによって収集されたメトリクス、ログ、トレースには料金が発生します。料金の詳細については、「Amazon CloudWatch の料金」を参照してください。
agent セクション
agent セクションでは、次のフィールドを含めることができる。
設定ウィザードでは、agent セクションは作成されない。代わりに、このセクションは省略されて、このセクションのすべてのフィールドにデフォルト値が使用される。
- (optional)
metrics_collection_interval
- この設定ファイルで指定されたすべてのメトリクスが収集される頻度を指定する。この値は、特定の種類のメトリクスで上書きすることができる。
- この値は単位 [秒] で指定する。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定される。
- この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集される。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照。
- デフォルト値:60 秒
-
region
-
Amazon EC2 インスタンスを使用している場合
- Amazon EC2 インスタンスを監視しているときに CloudWatch エンドポイントに使用するリージョンを指定する。収集されたメトリクスは、このリージョン (
us-west-1
など) に送信される。 - このフィールドを省略すると、エージェントは Amazon EC2 インスタンスが配置されているリージョンにメトリクスを送信します。
- Amazon EC2 インスタンスを監視しているときに CloudWatch エンドポイントに使用するリージョンを指定する。収集されたメトリクスは、このリージョン (
-
オンプレミスサーバの場合
- オンプレミスサーバーをモニタリングしている場合、このフィールドは使用されず、エージェントは AmazonCloudWatchAgent 設定ファイルの AWS プロファイルからリージョンを読み取る
-
Amazon EC2 インスタンスを使用している場合
-
credentials
- 異なる AWS アカウントにメトリクス、ログ、トレースを送信する際に使用する IAM ロールを指定する。指定した場合、このフィールドには 1 つのパラメータ
role_arn
が含まれる。 -
role_arn
- 異なる AWS アカウントにメトリクス、ログ、トレースを送信する際の認証用 IAM ロールの Amazon リソースネーム (ARN) を指定する。詳細については、「別のアカウントへのメトリクス、ログ、トレースの送信」を参照。
- 異なる AWS アカウントにメトリクス、ログ、トレースを送信する際に使用する IAM ロールを指定する。指定した場合、このフィールドには 1 つのパラメータ
- (optional)
debug
- デバッグログメッセージを使用して CloudWatch を実行することを指定する
- デフォルト値:
false
- (optional)
aws_sdk_log_level
- バージョン 1.247350.0 以降の CloudWatch エージェントでのみサポートされる
- このフィールドを指定すると、エージェントが AWS SDK エンドポイントに対してログ記録を実行できるようになる。このフィールドの値には、次のオプションうち 1 つまたは複数を含めることができる。複数のオプションは、| 文字で区切ります。
LogDebug
LogDebugWithSigning
LogDebugWithHTTPBody
LogDebugRequestRetries
- LogDebugWithEventStreamBody`
- これらのオプションの詳細については、「LogLevelType」を参照。
-
logfile
- CloudWatch エージェントがログメッセージを書き込む場所を指定する。空の文字列を指定すると、ログは
stderr
に書き込まれる。このオプションを指定しない場合、デフォルトの場所は次のようになる。 - CloudWatch エージェントのログのデフォルトの場所
- 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
) を示す。
- Linux:
- CloudWatch エージェントがログメッセージを書き込む場所を指定する。空の文字列を指定すると、ログは
- (optional)
omit_hostname
- デフォルトでは、
append_dimensions
セクション内のmetrics
フィールドを使用している場合を除き、ホスト名はエージェントによって収集されるメトリクスのディメンションとして発行される。- →これメモ
-
omit_hostname
をtrue
に設定すると、append_dimensions
を使用していなくても、ホスト名がディメンションとして発行されません。 - デフォルト値:
false
- デフォルトでは、
- (optional)
run_as_user
- CloudWatch エージェントを実行するために使用するユーザーを指定する。このパラメータを指定しないと、ルートユーザーが使用される。
- このオプションは、Linux サーバーでのみ有効
- このオプションを使用する場合は、CloudWatch エージェントを起動する前にユーザーが存在している必要がある。詳細については、「CloudWatch エージェントの別のユーザーとしての実行」を参照。
- (optional)
user_agent
- CloudWatch エージェントによって CloudWatch バックエンドへの API 呼び出しに使用される
user-agent
文字列を指定する。 - デフォルト値:以下で構成される文字列
- エージェントのバージョン
- エージェントのコンパイルに使用された Go プログラミング言語のバージョン
- ランタイムオペレーティングシステム
- ランタイムアーキテクチャ
- 構築時間
- 有効にするプラグイン
- CloudWatch エージェントによって CloudWatch バックエンドへの API 呼び出しに使用される
- (optional)
usage_data
- **デフォルトでは、CloudWatch エージェントは、メトリクスまたはログを CloudWatch に発行するたびに、自らに関するヘルスおよびパフォーマンスのデータを CloudWatch に送信する
- このデータには費用はかからない
-
usage_data
にfalse
を指定することで、エージェントがこのデータを送信しないようにできる。このパラメータを省略すると、デフォルトのtrue
が使用され、エージェントはヘルスおよびパフォーマンスのデータを送信する。 - この値を
false
に設定した場合、有効にするにはエージェントを停止して再起動する必要がある - → なるほど、エージェント自体のヘルスチェックの仕組みが用意されてるのね。これは確かに必要。