华为云UCS-收集数据面日志:常见问题处理
常见问题处理
- log-operator标准输出报错:Failed to create log group, the number of log groups exceeds the quota
示例:
2023/05/05 12:17:20.799 [E] call 3 times faild, resion: create group failed, projectID: xxx, groupName: k8s-log-xxx, err: create groups status code: 400, response: {"error_code":"LTS.0104","error_msg":"Failed to create log group, the number of log groups exceeds the quota"}, url: https://lts.cn-north-4.myhuaweicloud.com/v2/xxx/groups, process will retry after 45s
解决方案:LTS日志组有配额限制,如果出现该报错,请前往LTS下删除部分无用的日志组。限制详情请参见:日志组。
- 配置了容器文件路径采集,采集的目录不是挂载到容器内的,且节点引擎为docker,采集不到日志。
解决方案:
请检查工作负载所在节点的容器存储模式是否为deviceMapper,deviceMapper不支持采集容器内日志(创建日志策略时已提示此限制,如图7所示)。检查方法如下:
- 进入业务工作负载所在节点。
- 执行docker info | grep "Storage Driver"。
- 若返回的Storage Driver值为devicemapper,则该日志无法采集。
- 日志无法上报,otel组件标准输出报错:log's quota has full
解决方案:
云日志 服务(LTS)有免费赠送的额度,超出后将收费,报错说明免费额度已用完,如果需要继续使用,请前往云日志服务控制台“配置中心”,打开“超额继续采集日志”开关。
图8 配额设置
- 采集容器内日志,且采集目录配置了通配符,日志无法采集。
排查方法:请检查工作负载配置中Volume挂载情况,如果业务容器的数据目录是通过数据卷(Volume)挂载的,插件不支持采集它的父目录,需设置采集目录为完整的数据目录。例如/var/log/service目录是数据卷挂载的路径,则设置采集目录为/var/log或/var/log/*将采集不到该目录下的日志,需设置采集目录为/var/log/service。
解决方案:若日志生成目录为/application/logs/{应用名}/*.log,建议工作负载挂载Volume时,直接挂载/application/logs,日志策略中配置采集路径为/application/logs/*/*.log