监控 Python Managed Service for Apache Flink 应用程序 - Managed Service for Apache Flink
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

Amazon Managed Service for Apache Flink 之前称为 Amazon Kinesis Data Analytics for Apache Flink。

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

监控 Python Managed Service for Apache Flink 应用程序

您可以使用应用程序的 CloudWatch 日志来监控 Managed Service for Apache Flink Python 应用程序。

Managed Service for Apache Flink 记录 Python 应用程序的以下消息:

  • 在应用程序的main方法print()中使用写入控制台的消息。

  • 使用logging软件包在用户定义的函数中发送的消息。以下代码示例演示了如何通过用户定义的函数写入应用程序日志:

    import logging @udf(input_types=[DataTypes.BIGINT()], result_type=DataTypes.BIGINT()) def doNothingUdf(i): logging.info("Got {} in the doNothingUdf".format(str(i))) return i
  • 应用程序抛出的错误消息。

    如果应用程序在main函数中抛出异常,它将出现在应用程序的日志中。

    以下示例演示了 Python 代码引发的异常的日志条目:

    2021-03-15 16:21:20.000 --------------------------- Python Process Started -------------------------- 2021-03-15 16:21:21.000 Traceback (most recent call last): 2021-03-15 16:21:21.000 " File ""/tmp/flink-web-6118109b-1cd2-439c-9dcd-218874197fa9/flink-web-upload/4390b233-75cb-4205-a532-441a2de83db3_code/PythonKinesisSink/PythonUdfUndeclared.py"", line 101, in <module>" 2021-03-15 16:21:21.000 main() 2021-03-15 16:21:21.000 " File ""/tmp/flink-web-6118109b-1cd2-439c-9dcd-218874197fa9/flink-web-upload/4390b233-75cb-4205-a532-441a2de83db3_code/PythonKinesisSink/PythonUdfUndeclared.py"", line 54, in main" 2021-03-15 16:21:21.000 " table_env.register_function(""doNothingUdf"", doNothingUdf)" 2021-03-15 16:21:21.000 NameError: name 'doNothingUdf' is not defined 2021-03-15 16:21:21.000 --------------------------- Python Process Exited --------------------------- 2021-03-15 16:21:21.000 Run python process failed 2021-03-15 16:21:21.000 Error occurred when trying to start the job
注意

由于性能问题,我们建议您在应用程序开发期间仅使用自定义日志消息。

使用 CloudWatch 见解查询日志

以下 CloudWatch Insights 查询会搜索在执行应用程序主函数时由 Python 入口点创建的日志:

fields @timestamp, message | sort @timestamp asc | filter logger like /PythonDriver/ | limit 1000