创建临时任务
夜莺( Nightingale )创建临时任务
告警自愈中的任务,可以是实现从平台端到 Categraf 所在机器执行命令,并返回执行结果。
场景一:替换配置文件
在工作中我们会管理很多服务器,如果我们需要对多台服务器进行配置文件变更就可以使用创建临时任务。首先我们替换文件中的关键词,将 stdout 替换为 file ,如下图所示。

执行临时任务后在 stdouts 中查看结果,如下图所示。

场景二:批量重启服务器进程
我们需要临时紧急重启某一台或者多台服务,也可以使用临时任务。如下面举例,我需要远程重启 datanode3 这个服务。

任务执行完成后在 stdouts 中查看结果,就会看到 datanode3 服务已经完成重启。

常见问题
Q1:临时任务和自愈脚本绑告警的区别?
A:
- 自愈脚本:建模板 + 绑告警规则 — 告警自动触发执行;
- 临时任务:一次性手工下发 — 不绑告警,立刻执行(适合临时运维操作,如重启服务、清盘)。
Q2:临时任务执行失败的常见原因?
A:
- 目标机器无心跳(Categraf 离线);
- 脚本语法错误或目标机器缺命令(如脚本里用了
kubectl但机器没装); - 执行账号权限不足(Categraf 默认以启动账号身份执行);
- 超时 — 配的超时时间太短,复杂操作没跑完就被 kill。
Q3:临时任务的"执行模式"怎么选?
A:
- 所有机器并发:快但风险大,几十台机器同时跑可能引发雪崩;
- 滚动模式:一批一批跑,前一批成功才进下一批;
- 暂停模式:每一步要人工点 “next” 确认 — 最安全,用于生产关键变更。
Q4:能不能复用历史临时任务做模板?
A:可以。在历史任务详情里点"复制"即可基于该任务再发起一次,参数可以微调。