

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

# Managed Service for Apache Flink でのロギング
<a name="logging"></a>

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

## CloudWatch Logs Insights でログをクエリする
<a name="logging-querying"></a>

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

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

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

その他の便利なクエリについては、[クエリの例](https://docs.aws.amazon.com/managed-flink/latest/java/cloudwatch-logs-reading.html#cloudwatch-logs-reading-examples)を参照してください。