概述
许多DataWorks用户都曾遇到过实例日志默认保留时长有限、超期自动清理的困扰。当需要回溯更早的数据时,这一限制往往令人头疼。如今,借助AI助理,无需编写一行代码即可实现实例日志的定时备份,自动归档至OSS,存储周期完全由您掌控,有效解决日志留存难题。
前提条件
在开始操作前,请确认以下基础条件已满足:
- DataWorks服务已开通,并已创建对应的工作空间。
- OSS服务已开通,并准备好用于存储日志的Bucket。
- AI助理功能已开通,并完成基础配置。
适用场景
此方案更适合小批量、精准备份的场景,典型应用包括:
- 小批量精准备份日志:无需全量备份,仅针对特定任务或日期进行精确归档。
- 探索与验证期:处于备份规范摸索阶段,或首次对接新项目,需要先跑通流程。也可用于日志摸底,了解数据量级与分布规律。
- 多步骤复合任务:例如“归档 + 生成清单报告 + 推送到群聊”等组合需求,AI助理能够高效处理。
说明:对于生产环境的大规模日志数据备份,建议仍使用固定脚本任务实现,AI助理更适合辅助统计等轻量操作。
预期效果
最终实现的效果非常直观:每天定时将高保障任务实例的日志备份到OSS中。以下两张图清晰展示了配置前后的效果对比,一目了然。


配置
步骤一:创建并调试任务
1. 发起指令
核心操作是向AI助理发送一条指令。以下是一个完整示例,可直接参考使用:
【实例日志备份指令】
目标:将指定项目、指定日期、优先级 3/5/7/8 的所有生产实例日志备份到 OSS。
【备份规则】
- 存储路径:oss://ols-bucket/dataworks_agent/claw/DataWorksTaskInstanceLog/备份日期(YYYYMMDD)/实例类型/。实例类型包括周期实例、测试实例、手动实例、补数据实例(四选一,不拓展子目录)。
- 文件名:{实例id}_{节点名}_{节点id}_{执行时间}_{业务日期}_{地域}.txt。优先从日志 SKYNET_* 环境变量取值,API 返回值兜底,取不到填 null。
- 重跑日志:全量备份,生成多份文件,后缀加 _重跑N(N 取 SKYNET_RERUN_TIME)。
【执行约束】
- 未运行实例跳过,不归档。
- 归档后校验:确保和产品页面一致。
- 推送报告:生成 HTML 报告 + 文字摘要,推送到钉钉群。

2. 检查效果
指令执行完成后,需进行以下检查以确认结果:
- 抽样与运维中心实例日志对比,确保内容一致且完整。
- 简单核对运维中心、OSS、归档报告数量,确保一致。
- 检查边界范围日志数据,确认符合预期。


3. 生成报告(可选)
如有需要,可让AI助理生成一份归档报告,方便后续查看与分享。

步骤二:沉淀为定时任务
核对无误后,可将该任务沉淀为定时任务或技能。设置每天9点定时执行,将指定空间前一天(即业务日期为前天)的实例备份到OSS。配置完成后,在对应AI助理实例的「定时任务」列表中即可看到该任务。

消费
备份到OSS的日志文件用途广泛,最常见于分析审计场景。访问方式灵活,除了直接在OSS工作台搜索,还可通过AI助理使用自然语言进行检索。例如,如需查找某个周期任务40天前的日志,直接向AI助理提问即可。

拓展
此方案还可进一步扩展,例如:
- 增加定时删除任务,避免OSS存储空间被占满。
- 用于备份个人DataStudio运行日志、集成日志等其他场景,实现更全面的日志管理。
