定义
Log Collection(日志采集)指平台远程拉取设备运行日志(系统日志、应用日志、调试日志等),用于 Remote Diagnosis、Fault Diagnosis 与审计。支持按需触发或定时上报,是 Remote Maintenance 的基础能力。
采集方式与协议
日志采集支持平台主动拉取(通过 Downstream Command 下行指令触发)或设备主动上报。传输可经 MQTT、HTTP、CoAP 等;支持按日志级别、时间范围、模块过滤。设备端需实现日志缓冲、压缩、分片,避免单次传输过大;资源受限设备可仅采集关键日志或异常时刻快照。采集的日志需安全传输、存储,敏感信息需脱敏,满足 Audit Log 审计与合规要求。
与 DMP 的集成
设备管理平台在 Remote Diagnosis 远程诊断、Work Order 工单处理流程中嵌入日志采集能力。运维人员可针对单设备或批量设备发起采集任务,指定日志类型与时间范围;采集结果可关联工单、推送 Fault Knowledge Base 故障知识库进行模式匹配。平台需提供日志存储、检索、导出功能,支持与 RCA 根因分析工具协同。
应用场景
适用于设备异常后的故障定位、软件缺陷的远程排查、安全事件审计等。日志采集是 Remote Maintenance 远程维护的关键能力,可显著缩短 MTTR 平均修复时间。
远端拉取和现场串口打印
日志采集指的是把设备上已经生成的运行记录,按约定范围取回平台,供事后检索,而不是让人一直盯着现场串口。记录可以来自系统、应用或某个模块的调试输出,但进入平台的应当是一次有边界的任务:哪台设备、哪个时间窗、哪种级别、是否包含崩溃转储。传输要能分片和续传,因为现场链路经常在传完之前断开。设备侧需要一块环形缓冲,在还没被拉走时先把关键行留住;缓冲被新日志盖掉之后,平台无法再把现场“找回来”。采集结果是证据,应和触发它的告警或工单关联,而不是散落成无法检索的文件。事件流说明发生了什么,日志说明当时程序走到了哪一步,两者时间要对齐。遥测仍是结构化测点,不要把测点拆成文本行再当日志采集。
适合发起拉取的时机
适合拉取的时机,是设备仍能响应管理通道,并且本地缓冲里还留着故障前后的内容。刚发生异常、尚未重启覆盖缓冲时最有价值;已经重启且没有持久化的设备,再拉也只有启动后的新行。范围要限制在故障时刻附近和相关模块,避免把数天的调试日志一次搬空,既占带宽,也把敏感信息带出设备。定时采集只适合少量诊断设备或明确的审计项,不适合对全部设备以最高级别常开。资源很小的终端可以只在异常分支写一条摘要,而不是持续打开详细日志。安全上,传输应走已经认证的通道,存储要有保留期限;口令、密钥、定位和用户标识在离开设备前就要脱敏。审计需要的是“谁在何时拉取了哪台设备的哪一段”,而不是日志正文本身无限期保存。
缓冲被冲掉和敏感字段外带
最常见的遗漏是等人工发现故障、再登录、再下发拉取,此时环形缓冲早已被心跳日志写满,真正的报错行不在了。级别设成最详又没有容量上限,正常运行把异常行挤掉。时间窗用了平台时钟,设备时钟偏差几个小时,取回的是另一段无关日志。分片序号在重试时重头开始,平台拼出交错的文本,阅读者据此做出错误判断。把完整日志当作公开下载链接分享,里面的设备密钥或内部地址随之扩散。只采集到“error”一个词,没有模块和上下文,无法和知识库条目对应。批量对离线设备下发拉取且不设到期,设备几天后上线时把过期任务执行掉,既浪费电量,也取到已经没有意义的窗口。成功标准若只看任务结束、不看是否取到非空且时间吻合的内容,空文件也会被当成已经完成诊断。