Google收取Dataflow作业日志费用,如何关闭系统自动生成的日志?
问题背景
通过Composer运行Python Apache Beam Dataflow作业时,未主动生成作业日志,但Google官方将对管道自动生成的Dataflow作业日志收取Cloud Logging相关费用,以下为官方通知内容:
【Google通知邮件】
特此提醒,自2021年10月12日起,您的Dataflow应用生成并摄入、存储在Google Cloud Logging中的日志将按照Cloud Logging标准价格计费,您仍可享受每月每项目合计50GB(所有日志量合并计算)的免费摄入额度,本次是2021年7月12日通知的后续跟进。
操作指引:
建议您在2021年10月12日前执行以下步骤,核查Cloud Logging中Dataflow作业日志的使用情况:
- 通过Cloud Monitoring的Metrics Explorer查看使用指标;
- 将上述步骤使用的图表保存到Cloud Monitoring仪表板,或使用Dataflow用量开源仪表板模板;
- 参考控制Dataflow日志量相关文档,优化Dataflow作业的日志量。
关闭自动生成日志的操作方法
方式1:作业运行参数配置(从源头停止生成日志)
- 提交Dataflow作业时,追加两个运行参数即可关闭所有系统自动生成的作业日志:
--default_sdk_harness_log_level=OFF:关闭SDK运行时的默认日志输出--worker_log_level=OFF:关闭Dataflow Worker节点的系统日志输出
- 如果是通过Composer的DAG调度Dataflow作业,只需在DAG定义中的Dataflow作业配置的
parameters字段中添加上述两个参数即可,无需修改作业核心代码。
方式2:Cloud Logging排除规则配置(无需修改作业,直接过滤不摄入)
如果不想修改作业配置,可直接在项目级别配置日志排除规则,所有Dataflow日志不会被计入Cloud Logging存储用量,也就不会产生费用:
- 进入当前项目的Cloud Logging「日志路由器」页面
- 找到名称为
_Default的内置日志接收器,点击编辑 - 在「排除过滤器」模块新增一条规则,过滤器语句填写
resource.type="dataflow_step",排除比例设置为100% - 保存配置后,所有新产生的Dataflow作业日志都不会被摄入到Cloud Logging中,已摄入的历史日志可手动清理以节省存储费用。
内容的提问来源于stack exchange,提问作者Chethan R
相关产品推荐
相关产品推荐

