例: 語句の出現回数をカウントする - Amazon CloudWatch ログ

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

例: 語句の出現回数をカウントする

ログイベントにはよく、カウントしておきたい重要なメッセージが含まれています。操作の成功または失敗についてなどです。例えば、特定の操作に失敗すると、エラーが発生してログファイルに記録される場合があります。エラーの傾向を理解するためのこれらのエントリをモニタリングする場合があります。

次の例では、Error という語句をモニタリングするメトリクスフィルターが作成されます。ポリシーはすでに作成されてロググループ MyApp/message.log に追加されています。CloudWatch Logs は、MyApp/message.log という名前空間の CloudWatch カスタムメトリクス ErrorCount に、Error を含むイベントごとに「1」の値をともなったデータポイントを発行します。Error という単語を含むイベントがない場合、値 0 は発行されません。このデータを CloudWatch コンソールでグラフ化するときは、必ず合計の統計を使用してください。

メトリクスフィルターを作成した後、CloudWatch コンソールでメトリクスを表示できます。表示するメトリクスを選択するときに、ロググループ名と一致するメトリクス名前空間を選択します。詳細については、使用可能なメトリクスの表示を参照してください。

CloudWatch コンソールを使用してメトリクスフィルタを作成するには
  1. CloudWatch コンソール (https://console.aws.amazon.com/cloudwatch/) を開きます。

  2. ナビゲーションペインで、[Log groups] (ロググループ) を選択します。

  3. ロググループの名前を選択します。

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

  5. [フィルターパターン] に Error と入力します。

    注記

    [フィルターパターン] のすべての項目は大文字と小文字が区別されます。

  6. (オプション) フィルターパターンをテストするには、[テストパターン] に、パターンのテストに使用する 1 つまたは複数のログイベントを入力します。[ログイベントメッセージ] ボックスのログイベントを区切るために改行が使用されるため、各ログイベントは 1 行以内である必要があります。

  7. [次へ] を選択し、[メトリクスの割り当て] ページの [フィルター名] に MyAppErrorCount と入力します。

  8. [メトリクスの詳細] の [メトリクス名前空間] に、「MyNameSpace」と入力します。

  9. [メトリクス名] に「ErrorCount」と入力します。

  10. [メトリクス値] が 1 であることを確認します。これにより、「Error」を含む各ログイベントのカウントは 1 ずつ増分されます。

  11. [デフォルト値] に 0 と入力し、[次へ] を選択します。

  12. [メトリクスフィルターの作成] を選択します。

を使用してメトリクスにフィルターを作成するにはAWS CLI

コマンドプロンプトで、次のコマンドを実行します。

aws logs put-metric-filter \ --log-group-name MyApp/message.log \ --filter-name MyAppErrorCount \ --filter-pattern 'Error' \ --metric-transformations \ metricName=ErrorCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0

メッセージに「Error」を含むイベントを投稿することで、この新しいポリシーをテストできます。

AWS CLI を使用してイベントを投稿するには

コマンドプロンプトで、次のコマンドを実行します。パターンでは大文字と小文字が区別されます。

aws logs put-log-events \ --log-group-name MyApp/access.log --log-stream-name TestStream1 \ --log-events \ timestamp=1394793518000,message="This message contains an Error" \ timestamp=1394793528000,message="This message also contains an Error"