问题描述
我有一种情况,我将通过EC2
在AWS-SSM(Systems Manager)
上执行命令。这些是ML
训练命令。因此,如果我想将时代loss
和accuracy
信息实时显示到前端,则只能在AWS-AnsiblePlaybook
执行task
之后显示, task
已登录到CloudWatch
,我可以流式传输。
解决方法
此功能适用于您的用例吗?在bash脚本中,您可以为用户数据添加如下行:
exec > >(tee /var/log/user-data.log|logger -t user-data -s 2>/dev/console) 2>&1
这将导致用户数据日志发送到控制台,在其中可以通过选择实例并选择“实例设置-获取系统日志”从EC2控制台查看它们。因此,无论您在何处记录命令并将其重定向到控制台(类似于控制台),都应该可以访问实时日志。
或者将使用S3工作,如https://aws.amazon.com/blogs/mt/streaming-aws-systems-manager-run-command-output-to-amazon-cloudwatch-logs/所述?