Cookie の設定を選択する

当社は、当社のサイトおよびサービスを提供するために必要な必須 Cookie および類似のツールを使用しています。当社は、パフォーマンス Cookie を使用して匿名の統計情報を収集することで、お客様が当社のサイトをどのように利用しているかを把握し、改善に役立てています。必須 Cookie は無効化できませんが、[カスタマイズ] または [拒否] をクリックしてパフォーマンス Cookie を拒否することはできます。

お客様が同意した場合、AWS および承認された第三者は、Cookie を使用して便利なサイト機能を提供したり、お客様の選択を記憶したり、関連する広告を含む関連コンテンツを表示したりします。すべての必須ではない Cookie を受け入れるか拒否するには、[受け入れる] または [拒否] をクリックしてください。より詳細な選択を行うには、[カスタマイズ] をクリックしてください。

メトリックスフィルターのフィルターパターン構文 - Amazon CloudWatch Logs

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

メトリックスフィルターのフィルターパターン構文

注記

メトリクスフィルターと CloudWatch Logs Insights クエリの違い

メトリクスフィルターは、一致する CloudWatch ログが見つかるたびに、指定された数値がメトリクスフィルターに追加されるという点で Logs Insights クエリとは異なります。詳細については、「メトリクスフィルターのメトリクス値を設定する」を参照してください。

Amazon CloudWatch Logs Insights クエリ言語でロググループをクエリする方法については、「」を参照してくださいCloudWatch Logs Insights 言語クエリ構文

[一般的なフィルターパターンの例]

メトリックスフィルターの他に、サブスクリプションフィルターフィルターログイベントに適用される汎用フィルターパターン構文の詳細については、次の例を含むメトリックスフィルター、サブスクリプションフィルター、フィルターログイベントのフィルターパターン構文を参照してください。

  • サポートされている正規表現 (regex) 構文

  • 非構造化ログイベントでの語句の一致

  • JSON ログイベントの語句の一致

  • スペース区切りのログイベントの語句一致

メトリクスフィルターを使用すると、 CloudWatch ログに入るログデータを検索およびフィルタリングし、フィルタリングされたログデータからメトリクスの観測値を抽出し、データポイントを CloudWatch ログメトリクスに変換できます。 CloudWatch Logs に送信されるログデータで検索する用語とパターンを定義します。メトリクスフィルターはロググループに割り当てられ、ロググループに割り当てられたすべてのフィルターはそのログストリームに適用されます。

メトリックスフィルターが語句と一致するとき、メトリックスの数を特定の数値で増えます。例えば、ログイベントで単語ERRORが発生した回数をカウントするメトリクスフィルターを作成できます。

メトリックスに測定の単位と寸法を割り当てることができます。例えば、ログイベントで単語ERRORが発生した回数をカウントするメトリクスフィルターを作成する場合、その単語を含むログイベントの合計数を表示ERRORし、報告されたエラーコードでデータをフィルタリングErrorCodeするために呼び出されるディメンションを指定できます。

ヒント

測定の単位をメトリックスに割り当てるとき、必ず正しい単位を指定してください。後で単位を変更すると、変更が有効にならない場合があります。が CloudWatch サポートするユニットの完全なリストについては、Amazon CloudWatch API リファレンスのMetricDatum「」を参照してください。

メトリクスフィルターのメトリクス値を設定する

メトリクスフィルターを作成する際は、フィルターパターンを定義し、メトリクス値とデフォルト値を指定します。メトリクス値は、数値、名前付き識別子、または数値識別子に設定できます。デフォルト値を指定しない場合、メトリクスフィルターで一致が見つからなかった場合、 はデータをレポート CloudWatch しません。値が 0 であっても、デフォルト値を指定することをお勧めします。デフォルト値を設定すると、より正確にデータを CloudWatch レポートでき、むらのあるメトリクスを が集計できなくなります CloudWatch 。 は 1 分ごとにメトリクス値を CloudWatch 集計してレポートします。

メトリクスフィルターがログイベント内で一致するものを見つけたら、メトリクスの数がメトリクスの値だけ増加します。メトリクスフィルターで一致が見つからない場合、 はメトリクスのデフォルト値 CloudWatch を報告します。例えば、ロググループが毎分 2 つのレコードを公開し、メトリクス値は 1 で、デフォルト値は 0 であるとします。最初の 1 分で両方のログレコードに一致が見つかった場合、その分のメトリクス値は 2 になります。次の 1 分間にどちらのレコードでも一致が見つからなかった場合、その分のデフォルト値は 0 となります。メトリクスフィルターが生成するメトリクスにディメンションを割り当てると、それらのメトリクスのデフォルト値を指定することはできません。

また、静的値ではなく、ログイベントから抽出された値でメトリクスを増分するようにメトリクスフィルターを設定することもできます。詳細については、「ログイベントの値を使用してメトリクスの値を増分する」を参照してください。

JSON の値またはスペース区切りのログイベントからのメトリクスを使用したディメンションの発行

CloudWatch コンソールまたは AWS CLI を使用して、 JSON およびスペース区切りのログイベントが生成するメトリクスでディメンションを発行するメトリクスフィルターを作成できます。ディメンションは名前と値のペアであり、 JSONおよびスペース区切りのフィルターパターンでのみ使用できます。最大 3 つのディメンションを持つJSON、スペース区切りのメトリクスフィルターを作成できます。ディメンションの詳細とディメンションをメトリクスに割り当てる方法の詳細については、以下のセクションを参照してください。

重要

ディメンションには、カスタムメトリクスと同じ請求を収集する値が含まれています。予期せぬ請求を防ぐため、IPAddress または requestID などをディメンションとするなど、高カーディナリティフィールドを指定しないでください。

メトリクスをログイベントから抽出すると、カスタムメトリクスとして料金が発生します。意図しない高額請求の徴収を防ぐため、Amazon は、特定の時間内に指定したディメンションのために 1000 の異なる名前と値のペアを生成した場合、メトリクスフィルターを無効化することがあります。

見積費用を通知する請求アラームを作成できます。詳細については、「予想AWS 請求額をモニタリングするための請求アラームの作成」を参照してください。

次の例には、JSONメトリクスフィルターでディメンションを指定する方法を説明するコードスニペットが含まれています。

Example: JSON log event
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
注記

サンプルJSONログイベントを使用してサンプルメトリクスフィルターをテストする場合は、サンプルJSONログを 1 行に入力する必要があります。

Example: Metric filter

メトリクスフィルターは、JSONログイベントにプロパティ eventTypeおよび が含まれるたびにメトリクスを増分します"sourceIPAddress"

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

JSON メトリクスフィルターを作成するときに、メトリクスフィルター内の任意のプロパティをディメンションとして指定できます。例えば、eventType をディメンションとして設定するには、以下を使用します。

"eventType" : $.eventType

サンプルメトリクスには、"eventType" という名前のディメンションが含まれており、サンプルログイベント内のディメンションの値は "UpdateTrail" です。

次の例には、JSONメトリクスフィルターでディメンションを指定する方法を説明するコードスニペットが含まれています。

Example: JSON log event
{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
注記

サンプルJSONログイベントを使用してサンプルメトリクスフィルターをテストする場合は、サンプルJSONログを 1 行に入力する必要があります。

Example: Metric filter

メトリクスフィルターは、JSONログイベントにプロパティ eventTypeおよび が含まれるたびにメトリクスを増分します"sourceIPAddress"

{ $.eventType = "*" && $.sourceIPAddress != 123.123.* }

JSON メトリクスフィルターを作成するときに、メトリクスフィルター内の任意のプロパティをディメンションとして指定できます。例えば、eventType をディメンションとして設定するには、以下を使用します。

"eventType" : $.eventType

サンプルメトリクスには、"eventType" という名前のディメンションが含まれており、サンプルログイベント内のディメンションの値は "UpdateTrail" です。

{ "eventType": "UpdateTrail", "sourceIPAddress": "111.111.111.111", "arrayKey": [ "value", "another value" ], "objectList": [ {"name": "a", "id": 1 }, {"name": "b", "id": 2 } ] }
注記

サンプルJSONログイベントを使用してサンプルメトリクスフィルターをテストする場合は、サンプルJSONログを 1 行に入力する必要があります。

次の例には、スペース区切りのメトリクスフィルターでディメンションを指定する方法を説明するコードスニペットが含まれています。

Example: Space-delimited log event
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Example: Metric filter
[ip, server, username, timestamp, request, status_code, bytes > 1000]

メトリクスフィルターは、スペース区切りのログイベントにフィルターで指定されているいずれかのフィールドが含まれる場合に、メトリクスを増分します。例えば、メトリクスフィルターは、サンプルのスペース区切りのログイベントで次のフィールドと値を検索します。

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

スペース区切りのメトリクスフィルターを作成するときに、メトリクスフィルター内の任意のフィールドをディメンションとして指定できます。例えば、server をディメンションとして設定するには、以下を使用します。

"server" : $server

サンプルメトリクスフィルターには、server という名前のディメンションがあり、サンプルログイベント内のディメンションの値は "Prod" です。

Example: Match terms with AND (&&) and OR (||)

論理演算子 AND (「&&」) と OR (「||」) を使用して、条件を含むスペース区切りのメトリクスフィルターを作成できます。次のメトリクスフィルターは、イベントの最初の単語が であるログイベント、ERRORまたは のスーパーストリングを返しますWARN。

[w1=ERROR || w1=%WARN%, w2]

次の例には、スペース区切りのメトリクスフィルターでディメンションを指定する方法を説明するコードスニペットが含まれています。

Example: Space-delimited log event
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534
Example: Metric filter
[ip, server, username, timestamp, request, status_code, bytes > 1000]

メトリクスフィルターは、スペース区切りのログイベントにフィルターで指定されているいずれかのフィールドが含まれる場合に、メトリクスを増分します。例えば、メトリクスフィルターは、サンプルのスペース区切りのログイベントで次のフィールドと値を検索します。

{ "$bytes": "1534", "$status_code": "404", "$request": "GET /index.html HTTP/1.0", "$timestamp": "10/Oct/2000:13:25:15 -0700", "$username": "frank", "$server": "Prod", "$ip": "127.0.0.1" }

スペース区切りのメトリクスフィルターを作成するときに、メトリクスフィルター内の任意のフィールドをディメンションとして指定できます。例えば、server をディメンションとして設定するには、以下を使用します。

"server" : $server

サンプルメトリクスフィルターには、server という名前のディメンションがあり、サンプルログイベント内のディメンションの値は "Prod" です。

Example: Match terms with AND (&&) and OR (||)

論理演算子 AND (「&&」) と OR (「||」) を使用して、条件を含むスペース区切りのメトリクスフィルターを作成できます。次のメトリクスフィルターは、イベントの最初の単語が であるログイベント、ERRORまたは のスーパーストリングを返しますWARN。

[w1=ERROR || w1=%WARN%, w2]
127.0.0.1 Prod frank [10/Oct/2000:13:25:15 -0700] "GET /index.html HTTP/1.0" 404 1534

ログイベントの値を使用してメトリクスの値を増分する

ログイベントで見つかった数値を公開するメトリクスフィルターを作成できます。このセクションの手順では、次のメトリクスフィルターの例を使用して、JSONログイベント内の数値をメトリクスに発行する方法を示します。

{ $.latency = * } metricValue: $.latency
ログイベントの値を発行するメトリクスフィルターを作成するには
  1. で CloudWatch コンソールを開きますhttps://console.aws.amazon.com/cloudwatch/

  2. ナビゲーションペインで、ログロググループ の順に選択します。

  3. ロググループを選択または作成します。

    ロググループの作成方法については、「Amazon Logs ユーザーガイド」の CloudWatch 「ログでのロググループの作成」を参照してください。 CloudWatch

  4. [アクション]、[メトリクスフィルターの作成] の順に選択します。

  5. [Filter Pattern] (フィルターパターン) に { $.latency = * } と入力し、[Next] (次へ) を選択します。

  6. [メトリクス名] に、myMetric を入力します。

  7. [メトリクス値] に「$.latency」と入力します。

  8. [Default Value] (デフォルト値) に 0 と入力し、[Next] (次へ) を選択します。

    値が 0 であっても、デフォルト値を指定することをお勧めします。デフォルト値を設定すると、より正確にデータを CloudWatch レポートし、むらのあるメトリクスを が集計するのを防ぐ CloudWatch ことができます。 は 1 分ごとにメトリクス値を CloudWatch 集計してレポートします。

  9. [Create metric filter] (メトリクスフィルターの作成) を選択します。

サンプルメトリクスフィルターは、"latency"サンプルJSONログイベントの用語に一致し、50 の数値をメトリクス に発行しますmyMetric

{ "latency": 50, "requestType": "GET" }
プライバシーサイト規約Cookie の設定
© 2025, Amazon Web Services, Inc. or its affiliates.All rights reserved.