本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
日志记录
日志记录对于生产应用程序了解错误和故障非常重要。但是,日志子系统需要收集日志条目并将其转发到 Lo CloudWatch gs 虽然有些日志记录很好而且很理想,但大量的日志记录会使服务超负荷并导致 Flink 应用程序落后。记录异常和警告无疑是个好主意。但是你无法为 Flink 应用程序处理的每条消息生成日志消息。Flink 针对高吞吐量和低延迟进行了优化,但日志子系统不是。如果确实需要为每条处理过的消息生成日志输出,请在 Flink 应用程序 DataStream 内部使用一个额外的接收器和一个适当的接收器将数据发送到 Amazon S3 或 CloudWatch. 请勿将 Java 日志系统用于此目的。此外,Kinesis Data Analytics的Debug Monitoring Log Level设置会产生大量流量,这可能会产生背压。您只能在积极调查应用程序问题时使用它。
使用日志见解查询 CloudWatch 日志
CloudWatch Logs Insights 是一项用于大规模查询日志的强大服务。客户应利用其功能快速搜索日志,以识别和减少操作事件期间的错误。
以下查询在所有任务管理器日志中查找异常,并根据异常发生的时间对它们进行排序。
fields @timestamp, @message | filter isPresent(throwableInformation.0) or isPresent(throwableInformation) or @message like /(Error|Exception)/ | sort @timestamp desc
有关其他有用的查询,请参阅示例查询。