0x01.前言
针对于上一篇文章【日志服务CLS】Nginx 访问日志接入腾讯云日志服务中结尾提到的问题,晚上又去控制台仔细看了一篇,发现其实是有设置项的,只不过默认是关闭的状态
0x02.解决问题
才发现控制台在采集配置处可以配置时间戳的来源,默认是以上报时间为准
毕竟Nginx
本身就有时间戳,首先查看实际存储的例子
直接把示例中的例子抄过来就能用了,如果不一样的话则需要对应修改
然后发现并没有生效,即使重启loglistenerd
进程也无果,困扰了一天之后终于发现了问题所在
去下载最新版本Nginx-1.20.0
查看其配置文件中时间戳为变量$time_local
然后去gh
看看源码是怎么写的:https://github.com/nginx/nginx/blob/a64190933e06758d50eea926e6a55974645096fd/src/http/modules/ngx_http_log_module.c#L235
实际存储的例子中24/May/2021:21:19:21 +0800
,年份和时间之间有一个冒号
因此时间格式解析应该是:%d/%b/%Y:%H:%M:%s
0x03.验证
1,使用采集时间
操作:手动停止loglistenerd
进程,等待Nginx
记录一段时间的日志之后再启动
可以发现图表中的时间是启动之后的的采集时间,全堆到一起了,而Nginx
所接收到的实际请求并不是这样
时间戳显然是不同的
2,使用时间键
操作:控制台配置使用时间键解析,此时日志的时间和Nginx
记录的时间完全一致
0x04.后记
本来是打算在上篇文章中进行追加修改,后来想到这个问题比较常见,于是就单独拎出来这篇文章了
原文地址:https://cloud.tencent.com/developer/article/1827689
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。