You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何确认Dataflow Worker崩溃及获取崩溃原因排查日志?

确认Dataflow Worker崩溃的最佳方式及日志排查方法

一、确认Worker崩溃的核心信号

直接信号

  • 实例组监控中Worker数量短暂降至0(如你观察到的情况,Worker harness组规模会归零,但因采样频率限制可能不易捕捉)
  • 出现明确的自动扩缩容日志条目:
    Autoscaling: Raised the number of workers to 1 so that the pipeline can catch up with its backlog and keep up with its input rate.
    

间接信号

  • 内存利用率、吞吐量突然降至0
  • 数据积压量激增,新Worker启动后积压逐步缓解
  • 自动扩缩容机制临时启动最多9个Worker清理积压数据
  • 新Worker启动后需5-10分钟才能恢复数据处理

二、访问崩溃原因日志的方法

针对Beam Java SDK + Dataflow Runner v2的场景,可通过以下途径排查日志:

1. Google Cloud日志资源管理器

使用精准过滤器定位Worker相关错误日志,示例过滤器:

resource.type="dataflow_step"
logName="projects/[你的项目ID]/logs/dataflow.googleapis.com%2Fworker"
severity>=ERROR

按崩溃发生的时间范围筛选,重点查找包含crash、exception、OutOfMemoryError、fatal等关键词的日志条目。

2. Dataflow控制台内置日志

进入目标Dataflow管道的详情页面,切换到「日志」标签,选择「Worker」日志类别,按时间回溯到崩溃时段,查看Worker进程的输出日志。

3. Compute Engine实例系统日志

如果Worker实例未被立即销毁,可进入Compute Engine控制台找到对应实例,查看系统日志(如syslog),排查是否存在实例层面的崩溃触发因素(比如Linux OOM Killer强制终止进程)。

4. Dataflow监控指标辅助验证

在Dataflow管道的监控页面,查看「Worker Errors」指标,确认是否有未被捕获的异常计数,辅助定位崩溃时段。

5. Runner版本对比验证

若怀疑崩溃仅发生在Runner v2,可临时切换到Runner v1运行管道,对比运行状态,验证版本相关性。

内容的提问来源于stack exchange,提问作者Gergely

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 07:58:11