技术解析

关于 nginx 日志一个奇怪的问题
0
2021-05-25 11:38:26
idczone
今天在测试环境部署了一套 elk,想着测试把 nginx 日志打到 elk 里做图形化展示分析。
部署完成后 vim 了 a美国服务器ccess.log 手动造了一些日志数据,wq 退出后,发现刷新测试站点就不会有新日志生成了,此时 nginx 是正常的,只是不会生成日志了。需要 reload nginx 后,刷新站点才会有新日志生成,不知道这是什么原理。
vi 编辑之后,文件的 inode 变了

ls -i access.log 可以验证试试

我到家试试

vim 以后 inode 确实变了,看来 nginx 写入日志是指定 inode 写入的?

测试日志用 vi 改 access.log ?楼主脑洞真大。。。。。。我这就只会想到 curl http://localhost/xxx

这就是基础知识问题了,正常 C-unix 程序都是打开文件再写入,那就是根据 inode 写入的吧

我需要摘取日志里的特殊字段做分析,访问测试 nginx 没法生成这个字段,都是 "-" 只能手动造。

echo "xxxx" >> access.log

很经典的错误

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服