StatsD を使用したカスタムメトリクスの取得 - Amazon CloudWatch

StatsD を使用したカスタムメトリクスの取得

CloudWatch エージェントで StatsD プロトコルを使用することで、アプリケーションやサービスから追加のカスタムメトリクスを取得できます。StatsDは、さまざまなアプリケーションからメトリクスを収集できる一般的なオープンソースソリューションです。StatsD は、独自のメトリクスを計測する場合に特に便利です。CloudWatch エージェントと StatsD を一緒に使用する例については、「 Amazon CloudWatch エージェントを使用してカスタムアプリケーションメトリクスをより効率的にモニタリングする方法」を参照してください。

StatsD は、Linux サーバーと Windows Server を実行しているサーバーの両方でサポートされています。CloudWatch は、次の StatsD 形式をサポートしています。

MetricName:value|type|@sample_rate|#tag1: value,tag1...
  • MetricName – コロン、バー、# 文字、または @ 文字を含まない文字列。

  • value – これは整数または浮動小数点のいずれかです。

  • type – カウンターには c、ゲージには g、タイマーには ms、ヒストグラムには h、セットには s を指定します。

  • sample_rate – (オプション) 0 から 1 の間の浮動小数点数 (0 と 1 を含む)。カウンター、ヒストグラム、およびタイマーメトリクスに対してのみ使用します。デフォルト値は 1 (時間の 100% サンプリング) です。

  • tags – (オプション) タグのカンマ区切りリスト。StatsD タグは CloudWatch のディメンションと似ています。キー/値タグにはコロンを使用します、例 env:prod

この形式に従う任意の StatsD クライアントを使用して、CloudWatch エージェントにメトリクスを送信することができます。一部の利用可能な StatsD クライアントの詳細については、「GitHub の StatsD クライアントページ」を参照してください。

これらのカスタムメトリクスを収集するには、"statsd": {} 行をエージェント設定ファイルの metrics_collected セクションに追加します。この行を手動で追加することができます。設定ファイルの作成にウィザードを使用する場合は、自動的に設定されます。詳細については、「CloudWatch エージェント設定ファイルを作成する」を参照してください。

StatsD のデフォルト設定は、ほとんどのユーザーに有効です。また、必要に応じてエージェント設定ファイルの [statsd] セクション追加できる 3 つのオプションフィールドがあります。

  • service_address – CloudWatch エージェントがリッスンする必要のあるサービスアドレス。形式は次のとおりです。ip:portIP アドレスを省略すると、エージェントは使用可能なすべてのインターフェイスをリッスンします。UDP 形式のみがサポートされているため、UDP プレフィックスを指定する必要はありません。

    デフォルト値は :8125 です。

  • metrics_collection_intervalStatsD プラグインが実行され、メトリクスを収集する秒単位の頻度。デフォルト値は 10 秒です。範囲は 1–172,000 です。

  • metrics_aggregation_interval – CloudWatch がメトリクスを 1 つのデータポイントに集約する秒単位の頻度。デフォルト値は 60 秒です。

    たとえば、metrics_collection_interval が 10 で metrics_aggregation_interval が 60 の場合、CloudWatch は 10 秒ごとにデータを収集します。1 分ごとに、その 1 分間に読み取った 6 つのデータ読み取り値が 1 つのデータポイントに集約され、それが CloudWatch に送信されます。

    範囲は 0–172,000 です。metrics_aggregation_interval を 0 に設定すると、StatsD メトリクスの集計が無効になります。

次に示すのは、デフォルトポートとカスタム収集および集約間隔を使用した、エージェント設定ファイルの [statsd] セクションの例です。

{ "metrics":{ "metrics_collected":{ "statsd":{ "service_address":":8125", "metrics_collection_interval":60, "metrics_aggregation_interval":300 } } } }