Amazon Managed Service for Apache Flink는 이전에 Amazon Kinesis Data Analytics for Apache Flink로 알려졌습니다.
기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
Managed Service for Apache Flink Python 애플리케이션 모니터링
애플리케이션의 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 Insights를 사용한 쿼리 로그
다음 CloudWatch Insights 쿼리는 애플리케이션의 기본 함수를 실행하는 동안 Python 진입점에서 생성한 로그를 검색합니다.
fields @timestamp, message | sort @timestamp asc | filter logger like /PythonDriver/ | limit 1000