Open4

CloudWatch エージェントの設定ファイルの中身

nukopynukopy

概要

CloudWatch エージェント設定ファイルは、agentmetricslogstraces の 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": {...}
}
nukopynukopy

料金

CloudWatch エージェントによって収集されたメトリクス、ログ、トレースには料金が発生します。料金の詳細については、「Amazon CloudWatch の料金」を参照してください。

nukopynukopy

agent セクション

agent セクションでは、次のフィールドを含めることができる。

設定ウィザードでは、agent セクションは作成されない。代わりに、このセクションは省略されて、このセクションのすべてのフィールドにデフォルト値が使用される。

  • (optional) metrics_collection_interval
    • この設定ファイルで指定されたすべてのメトリクスが収集される頻度を指定する。この値は、特定の種類のメトリクスで上書きすることができる。
    • この値は単位 [秒] で指定する。例えば、10 と設定するとメトリクスが 10 秒ごとに収集されるようになり、300 と設定するとメトリクスが 5 分ごとに収集されように指定される。
    • この値を 60 秒未満に設定した場合、各メトリクスは高解像度メトリクスとして収集される。高解像度メトリクスの詳細については、「高解像度のメトリクス」を参照。
    • デフォルト値:60 秒
  • region
    • Amazon EC2 インスタンスを使用している場合
      • Amazon EC2 インスタンスを監視しているときに CloudWatch エンドポイントに使用するリージョンを指定する。収集されたメトリクスは、このリージョン (us-west-1 など) に送信される。
      • このフィールドを省略すると、エージェントは Amazon EC2 インスタンスが配置されているリージョンにメトリクスを送信します。
    • オンプレミスサーバの場合
      • オンプレミスサーバーをモニタリングしている場合、このフィールドは使用されず、エージェントは AmazonCloudWatchAgent 設定ファイルの AWS プロファイルからリージョンを読み取る
  • credentials
    • 異なる AWS アカウントにメトリクス、ログ、トレースを送信する際に使用する IAM ロールを指定する。指定した場合、このフィールドには 1 つのパラメータ role_arn が含まれる。
    • role_arn
  • (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) を示す。
  • (optional) omit_hostname
    • デフォルトでは、append_dimensions セクション内の metrics フィールドを使用している場合を除き、ホスト名はエージェントによって収集されるメトリクスのディメンションとして発行される
      • →これメモ
    • omit_hostnametrue に設定すると、append_dimensions を使用していなくても、ホスト名がディメンションとして発行されません。
    • デフォルト値:false
  • (optional) run_as_user
    • CloudWatch エージェントを実行するために使用するユーザーを指定する。このパラメータを指定しないと、ルートユーザーが使用される。
    • このオプションは、Linux サーバーでのみ有効
    • このオプションを使用する場合は、CloudWatch エージェントを起動する前にユーザーが存在している必要がある。詳細については、「CloudWatch エージェントの別のユーザーとしての実行」を参照。
  • (optional) user_agent
    • CloudWatch エージェントによって CloudWatch バックエンドへの API 呼び出しに使用される user-agent 文字列を指定する。
    • デフォルト値:以下で構成される文字列
      • エージェントのバージョン
      • エージェントのコンパイルに使用された Go プログラミング言語のバージョン
      • ランタイムオペレーティングシステム
      • ランタイムアーキテクチャ
      • 構築時間
      • 有効にするプラグイン
  • (optional) usage_data
    • **デフォルトでは、CloudWatch エージェントは、メトリクスまたはログを CloudWatch に発行するたびに、自らに関するヘルスおよびパフォーマンスのデータを CloudWatch に送信する
    • このデータには費用はかからない
    • usage_datafalse を指定することで、エージェントがこのデータを送信しないようにできる。このパラメータを省略すると、デフォルトの true が使用され、エージェントはヘルスおよびパフォーマンスのデータを送信する。
    • この値を false に設定した場合、有効にするにはエージェントを停止して再起動する必要がある
    • → なるほど、エージェント自体のヘルスチェックの仕組みが用意されてるのね。これは確かに必要。