Managed Service for Apache Flink でのロギング - Managed Service for Apache Flink

Amazon Managed Service for Apache Flink (Amazon MSF) は、以前は Amazon Kinesis Data Analytics for Apache Flink と呼ばれていました。

Managed Service for Apache Flink でのロギング

実稼働アプリケーションでは、エラーや障害を理解するためにロギングが重要である。ただし、ロギング サブシステムはログエントリを収集して CloudWatch Logs に転送する必要があります。一部のロギングは適切で望ましいものですが、大規模なロギングはサービスに過負荷を与え、Flink アプリケーションの遅れを引き起こす可能性があります。例外や警告をログに記録するのは確かに良い考えです。しかし、Flink アプリケーションによって処理されるすべてのメッセージに対してログ メッセージを生成することはできません。Flink は、高いスループットと低いレイテンシを実現するために最適化されていますが、ロギング サブシステムは最適化されていません。処理されたメッセージごとにログ出力を生成する必要がある場合は、Flink アプリケーション内の追加のDataStreamと適切なシンクを使用してデータをAmazon S3またはCloudWatchに送信します。この目的にはJavaロギングシステムを使用しないでください。さらに、Managed Service for Apache FlinkDebug Monitoring Log Level の設定によって大量のトラフィックが生成され、バックプレッシャが発生する可能性があります。アプリケーションの問題を積極的に調査する場合にのみ使用してください。

CloudWatch Logs Insights でログをクエリする

CloudWatch Logs Insights は、ログを大規模にクエリする強力なサービスです。お客様はその機能を活用してログを迅速に検索して、運用イベント中のエラーを特定して軽減する必要があります。

次のクエリは、すべてのタスク マネージャー ログから例外を検索し、発生時刻に従って例外を並べ替えます。

fields @timestamp, @message | filter isPresent(throwableInformation.0) or isPresent(throwableInformation) or @message like /(Error|Exception)/ | sort @timestamp desc

その他の便利なクエリについては、クエリの例を参照してください。