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

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

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

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

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

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

CloudWatch コンソールを使用してメトリクスフィルターを作成するには
  1. https://console.aws.amazon.com/cloudwatch/ で 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"