Cloud Logging无法查询Dataproc作业级日志 集群级日志正常
1. 命令报错问题修复
你执行gcloud logging read时的语法错误是因为没有将查询过滤器整体用引号包裹,shell会把过滤器里的参数识别为gcloud的独立入参导致报错,正确的命令格式如下:
gcloud logging read 'resource.type=cloud_dataproc_job resource.labels.region=us-west1 resource.labels.job_id=<my-job>' --project <my-project>
如果要查询全量作业日志,命令改为:
gcloud logging read 'resource.type=cloud_dataproc_job' --project <my-project>
如果要查询更早时间的日志,增加--freshness参数指定时间范围,例如查询最近7天的日志:
gcloud logging read 'resource.type=cloud_dataproc_job' --project <my-project> --freshness 7d
2. 作业日志查询无结果排查步骤
按优先级依次排查以下问题:
- 日志目录权限问题:Dataproc 1.4版本的自定义镜像常出现google-fluentd服务无权限读取作业日志目录的问题,在集群主节点执行以下命令检查权限:
确认sudo namei -l /var/log/google-dataproc-job/google-fluentd用户对该目录及下属的作业日志文件有可读权限,若没有则执行以下命令授权:sudo chmod -R o+r /var/log/google-dataproc-job/ - fluentd服务异常排查:执行以下命令检查日志采集服务状态:
查看服务日志中是否有sudo systemctl status google-fluentddataproc-job-driver.conf配置加载失败、日志读取失败的报错,若服务异常可重启服务生效:sudo systemctl restart google-fluentd - 操作账号IAM权限检查:确认你执行日志查询命令的账号拥有目标项目的
logging.logEntries.list权限,对应内置角色可授予Logs Viewer、Editor或Owner。
内容的提问来源于stack exchange,提问作者vobukh
相关产品推荐
相关产品推荐

