关于 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
很经典的错误