关于 nginx 日志一个奇怪的问题

2020-07-07 22:20:20 +08:00
 handsomeroger
今天在测试环境部署了一套 elk,想着测试把 nginx 日志打到 elk 里做图形化展示分析。
部署完成后 vim 了 access.log 手动造了一些日志数据,wq 退出后,发现刷新测试站点就不会有新日志生成了,此时 nginx 是正常的,只是不会生成日志了。需要 reload nginx 后,刷新站点才会有新日志生成,不知道这是什么原理。
2141 次点击
所在节点    NGINX
9 条回复
crystom
2020-07-07 22:24:12 +08:00
vi 编辑之后,文件的 inode 变了
crystom
2020-07-07 22:24:39 +08:00
ls -i access.log 可以验证试试
handsomeroger
2020-07-07 22:28:59 +08:00
我到家试试
handsomeroger
2020-07-07 23:03:07 +08:00
@crystom vim 以后 inode 确实变了,看来 nginx 写入日志是指定 inode 写入的?
xuanbg
2020-07-08 08:36:48 +08:00
测试日志用 vi 改 access.log ?楼主脑洞真大。。。。。。我这就只会想到 curl http://localhost/xxx
crystom
2020-07-08 11:07:59 +08:00
@handsomeroger 这就是基础知识问题了,正常 C-unix 程序都是打开文件再写入,那就是根据 inode 写入的吧
handsomeroger
2020-07-08 12:59:08 +08:00
@xuanbg 我需要摘取日志里的特殊字段做分析,访问测试 nginx 没法生成这个字段,都是 "-" 只能手动造。
defunct9
2020-07-08 14:42:18 +08:00
echo "xxxx" >> access.log
julyclyde
2020-07-08 15:51:38 +08:00
很经典的错误

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/688049

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX