本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
以管理员身份运行脚本来配置工作人员
自定义队列主机配置脚本允许您对服务管理的车队工作人员执行管理任务,例如软件安装。这些脚本以更高的权限运行,使您可以灵活地为系统配置工作器。
Deadline Cloud 在工作人员进入STARTING
状态之后和运行任何任务之前运行脚本。
重要
该脚本在系统上以提升的权限运行,sudo
在Linux系统上以 “管理员” 权限运行。Windows您有责任确保脚本不会引入任何安全问题。
当你使用管理员脚本时,你负责监控舰队的运行状况。
该脚本的常见用途包括:
-
安装需要管理员访问权限的软件
-
安装Docker容器
您可以使用控制台或使用创建和更新主机配置脚本 AWS CLI。
以下脚本演示:
-
脚本可用的环境变量
-
这些 AWS 凭据在外壳中起作用
-
该脚本正在提升的 shell 中运行
主机配置脚本疑难解答
运行主机配置脚本时:
-
成功时:工作人员负责工作
-
失败时(非零退出代码或崩溃):
-
工作人员关机了
队列使用最新的主机配置脚本自动启动新的工作程序
-
要监视脚本,请执行以下操作:
-
在 Deadline Cloud 控制台中打开舰队页面。
-
选择查看工作人员以打开 Deadline Cloud 监视器。
-
在监控页面中查看工作人员状态。
重要注意事项:
-
由于错误而关闭的工作人员不在监视器中的工作人员列表中。使用 CloudWatch 日志查看以下日志组中的工作日志:
/aws/deadline/farm-
XXXXX
/fleet-YYYYY
该日志组中有一条流
worker-
ZZZZZ
-
CloudWatch 日志会根据您配置的保留期保留工作人员日志。
监视主机配置脚本的执行情况
使用管理脚本来配置工作人员,您可以完全控制 Deadline Cloud 工作程序。您可以安装任何软件包、重新配置操作系统参数或挂载共享文件系统。借助此高级功能和 Deadline Cloud 可扩展到数千名工作人员的功能,您现在可以监控配置脚本何时成功执行或失败。失败原因可能包括脚本错误、不稳定行为或其他未知情况。
我们建议使用以下解决方案来监控主机配置脚本的执行情况。
CloudWatch 日志监控
所有队列主机配置日志都流式传输到队列的 CloudWatch 日志组,特别是流式传输到工作人员的 CloudWatch 日志流。例如,/aws/deadline/farm-123456789012/fleet-777788889999
是 farm 123456789012
、fleet 的日志组777788889999
。
例如,每个 worker 都会配置一个专用的日志流worker-123456789012
。主机配置日志包括日志标语,例如正在运行主机配置脚本和已完成运行主机配置脚本,退出代码:0。脚本的退出代码包含在已完成的横幅中,可以使用 CloudWatch 工具进行查询。
CloudWatch 日志见解
CloudWatch Logs Insights 提供了分析日志信息的高级功能。例如,以下 Log Insights 查询解析主机配置退出代码,按时间排序:
fields @timestamp, @message, @logStream, @log | filter @message like /Finished running Host Configuration Script/ | parse @message /exit code: (?<exit_code>\d+)/ | display @timestamp, exit_code | sort @timestamp desc
有关 Lo CloudWatch gs Insights 的更多信息,请参阅 Amazon Logs 用户指南中的使用 CloudWatch CloudWatch 日志见解分析日志数据。
工作代理结构化日志
Deadline Cloud 的工作代理将结构化 JSON 日志发布到 CloudWatch。工作人员代理提供各种结构化日志,用于分析工作人员的健康状况。有关更多信息,请参阅 De adline Cloud 工作者代理登录
结构化日志的属性被解压缩为 Log Insights 中的字段。您可以使用此 CloudWatch 功能来统计和分析主机配置启动失败。例如,可以使用 count 和 bin 查询来确定故障发生的频率:
fields @timestamp, @message, @logStream, @log | sort @timestamp desc | filter message like /Worker Agent host configuration failed with exit code/ | stats count(*) by exit_code, bin(1h)
CloudWatch 指标和警报的指标过滤器
您可以设置 CloudWatch 指标筛选条件以根据日志生成 CloudWatch 指标。这使您可以创建警报和仪表板,用于监控主机配置脚本的执行情况。
创建指标筛选条件
-
打开控制 CloudWatch 台。
-
在导航窗格中,选择日志,然后选择日志组。
-
选择您的舰队的日志组。
-
选择 Create metric filter(创建指标筛选条件)。
-
使用以下方法之一定义您的过滤器模式:
-
对于成功指标:
{$.message = "*Worker Agent host configuration succeeded.*"}
-
对于失败指标:
{$.exit_code != 0 && $.message = "*Worker Agent host configuration failed with exit code*"}
-
-
选择 “下一步” 以创建具有以下值的指标:
-
指标命名空间:您的指标命名空间(例如,
MyDeadlineFarm
) -
指标名称:您请求的指标名称(例如,
host_config_failure
) -
指标值:
1
(每个实例的计数为 1) -
默认值:留空
-
单位:
Count
-
创建指标筛选器后,您可以将标准 CloudWatch 警报配置为在主机配置失败率上升时采取措施,或者将指标添加到 CloudWatch 仪表板中以进行 day-to-day操作和监控。
有关更多详细信息,请参阅 Amazon CloudWatch 日志用户指南中的筛选条件和模式语法。