例: ログイベントのカウント - Amazon CloudWatch Logs

例: ログイベントのカウント

ログイベントのモニタリングで最もシンプルなタイプは、発生したログのイベント数のカウントです。目的はすべてのイベントのカウントや、「ハートビート」形式のモニタリングの作成、あるいは単にメトリクスフィルターの作成練習の場合もあります。

次の CLI の例では、MyAppAccessCount というメトリクスフィルターをロググループ MyApp/access.log に適用して、CloudWatch の名前空間 MyNamespace にメトリクス EventCount を生成します。フィルターは、すべてのログイベントコンテンツに一致し、メトリクスを 1 ずつ増加させるように設定されています。

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

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

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

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

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

  5. [フィルターパターン] および [テストするログデータの選択] は空白のままにします。

  6. [次へ] を選択し、[フィルター名] に EventCount と入力します。

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

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

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

  10. [デフォルト値] に 0 と入力し、[次へ] を選択します。デフォルト値を指定すると、ログイベントが発生しない期間でもデータが報告され、データが存在しないことがある、むらのあるメトリクスを回避できます。

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

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

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

aws logs put-metric-filter \ --log-group-name MyApp/access.log \ --filter-name EventCount \ --filter-pattern "" \ --metric-transformations \ metricName=MyAppEventCount,metricNamespace=MyNamespace,metricValue=1,defaultValue=0

イベントデータを投稿することで、この新しいポリシーをテストできます。メトリクス MyAppAccessEventCount に発行されたデータポイントを参照する必要があります。

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

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

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