Самое простое решение, которое я могу придумать, - это присоединить к Log4J приложение для журналов CloudWatch ( например, , https://github.com/kdgregory/log4j-aws-appenders).. запустить приложение в целом, ничего не дойдет до CloudWatch об этом сбое.
Другим вариантом является пересылка всех выходных данных spark-submit
(stdin
и stdout
) в файл и использование агента CloudWatch Logs (установленного на главном устройстве) для потоковой передачи всего. Это будет простой текст, поэтому мне нужно будет обработать журналы и извлечь дату, уровень и т. Д.
Я запускаю свое приложение на AWS EMR. Журналы S3 не являются опцией, так как это, по сути, архивированные журналы, а не в режиме реального времени.