配置time_key后Google Cloud Ops Agent日志不在查看器显示如何解决?
问题原因与解决方法
你的配置错误是缺少时区声明。
Google Cloud Ops Agent的parse_regex处理器默认使用UTC时区解析time_key对应的时间字段,而你的日志时间是本地时区(如中国标准时间为UTC+8),没有携带时区信息,解析后生成的日志时间戳会比实际时间晚对应时区差的时长,导致日志出现在日志查看器的未来时间范围内,默认展示最近日志时无法看到。
修正方案
在monolog处理器配置中增加time_zone参数,填写你日志时间对应的时区即可,中国地区常用时区为Asia/Shanghai。
修正后的完整配置如下:
logging: receivers: app: type: files include_paths: [/www/logs/app-*.log] processors: monolog: type: parse_regex field: message regex: "^\[(?<time>[^\]]+)\]\s+(?<environment>\w+)\.(?<severity>\w+):\s+(?<msg>.*?)(?<context>{.*})?\s*$" time_key: time time_format: "%Y-%m-%d %H:%M:%S" time_zone: "Asia/Shanghai" service: pipelines: default_pipeline: receivers: [app] processors: [monolog]
验证方法
配置更新重启Ops Agent后,可以先在日志查看器中扩大时间范围,查找对应时间的日志确认是否正常入库,再调整到正常时间范围查看即可。
内容的提问来源于stack exchange,提问作者Gander
相关产品推荐
相关产品推荐

