本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用管理员权限运行主机配置脚本
主机配置脚本允许您对服务管理的舰队工作人员执行管理任务,例如软件安装。这些脚本以更高的权限(sudo开启Linux,管理员开启Windows)运行,使您可以灵活地为系统配置工作人员。
Deadline Cloud 会在工作人员进入STARTING状态之后以及运行任何任务之前运行脚本。
该脚本在 Deadline Cloud 设置基于使用量的许可 (UBL) 之后运行。Deadline Cloud 会在工作器实例启动时、工作器代理启动之前设置 UBL 许可证环境变量,然后工作器代理运行您的主机配置脚本。自动 UBL 设置不会覆盖脚本设置的环境变量:您的脚本在系统范围内设置的许可证变量优先于工作程序运行的作业。有关许可选项的更多信息,请参阅通过 Deadline Cloud 使用软件许可证。
重要
该脚本以更高的权限运行。你有责任确保脚本不会引入任何安全问题。
当您使用主机配置脚本时,您负责监控队列的运行状况。
主机配置脚本的常见用途包括:
-
安装需要管理员访问权限的软件
-
安装Docker容器
-
安装第三方云存储解决方案,例如LucidLink。有关演练,请参阅 for M&E 博客上的 Deadline Cloud LucidLink 使用服务托管队列脚本 AWS 进行
设置。
您可以使用控制台或使用创建和更新主机配置脚本 AWS CLI。
以下脚本演示:
-
脚本可用的环境变量
-
该 AWS 凭证在 shell 中起作用
-
该脚本正在提升的 shell 中运行
对主机配置脚本进行故障排除
当你运行主机配置脚本时:
-
成功时:工作人员运行作业
-
失败时(非零退出代码或崩溃):
-
工作人员关门了
队列使用最新的主机配置脚本自动启动新的工作程序
-
要监控脚本,请执行以下操作:
-
在 Deadline Cloud 控制台中打开舰队页面。
-
选择 “查看工作人员” 以打开 Deadline Cloud 监视器。
-
在监控页面中查看工作人员状态。
提示
测试主机配置脚本时,将队列的最大工作程序数设置为 1,以避免在迭代脚本时启动多个工作程序。
重要提示:
-
由于错误而关闭的工作人员在监视器中的工作人员列表中不可用。使用 CloudWatch 日志查看以下日志组中的工作器日志:
/aws/deadline/farm-XXXXX/fleet-YYYYY在该日志组中,查找名为的直播
worker-。ZZZZZ -
CloudWatch 日志会根据您配置的保留期限保留工作人员日志。
监控主机配置脚本的执行情况
使用主机配置脚本,您可以完全控制 Deadline Cloud 工作人员。您可以安装任何软件包、重新配置操作系统参数或装载共享文件系统。借助这项高级功能以及 Deadline Cloud 可扩展到数千名工作人员的功能,您可以监控配置脚本何时成功执行或失败。
我们建议使用以下解决方案来监控主机配置脚本的执行。
CloudWatch 日志监控
所有舰队主机配置日志都将流式传输到队列的 CloudWatch 日志组,特别是流式传输到工作人员的 CloudWatch 日志流。例如,/aws/deadline/farm-123456789012/fleet-777788889999是农场的日志组123456789012,舰队777788889999。
例如,每个工作人员都会配置一个专用的日志流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
有关 CloudWatch 日志见解的更多信息,请参阅《亚马逊日志用户指南》中的使用 CloudWatch 日志见解分析 CloudWatch 日志数据。
工作代理结构化日志
Deadline Cloud 工作器代理将结构化 JSON 日志发布到 CloudWatch。工作人员代理提供了许多用于分析工作人员健康状况的结构化日志。有关更多信息,请参阅登录云工作者代理
结构化日志的属性已解压缩到 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*"}
-
-
选择 Next 创建具有以下值的指标:
-
指标命名空间:您的指标命名空间(例如,
MyDeadlineFarm) -
指标名称:您请求的指标名称(例如,
host_config_failure) -
指标值:
1(每个实例的计数为 1) -
默认值:留空
-
单位:
Count
-
创建指标筛选器后,您可以配置标准 CloudWatch 警报以对提高的主机配置故障率采取措施,或者将指标添加到 CloudWatch 仪表板以进行日常操作和监控。
更多详情,请参阅 Amazon L CloudWatch ogs 用户指南中的筛选条件和模式语法。