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

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

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

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

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

CloudWatch コンソールを使用してメトリクスフィルターを作成するには

  1. https://console.aws.amazon.com/cloudwatch/ にある CloudWatch コンソールを開きます。

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

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

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

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

    注記

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

  6. フィルターパターンをテストするには、[パターンのテスト] を選択します。

  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"