日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

调整 Docker 中 nginx 的日志级别

發布時間:2023/12/4 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 调整 Docker 中 nginx 的日志级别 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

調整 Docker 中 nginx 的日志級別

Intro

最近發現我們的一個應用產生了很多日志,而這些日志大多都是 nginx 的 access_log,我們默認會把標準輸出收集到 es 里分析應用日志,但是很多都是 access_log 就可能會掩蓋掉真實的錯誤日志,所以可能有時候我們并不想輸出這些 access_log,示例如下:

Nginx Dockerfile

去 Github 上扒了一下 Nginx 的 Dockerfile, docker-nginx/Dockerfile at master · nginxinc/docker-nginx (github.com)

可以看到 nginx 默認會把 access_log 和 error_log 鏈接到標準輸出中,這也就是為什么我們在 ?docker logs 或者 kubectl logs ?的時候能夠看到 access_log

我們可以在容器里執行 cat /etc/nginx/nginx.conf 來查看默認的 nginx ?配置

default nginx conf

從上面可以看出來 error_log 的級別是 notice,如果有需要也可以配置成 warn/error,具體的日志配置可以參考官方文檔介紹,可配置的日志級別有:debug, info, notice, warn, error, crit, alert, emerg

access_log 可以使用 off 直接禁用掉或者使用另外一個 path,這樣就不會直接輸出到標準輸出中,就不會有那么多的日志了

New conf

知道配置怎么修改了就比較方便了,只需要把我們新改的配置替換掉默認的配置就可以了,新的配置如下:

user??nginx; worker_processes??auto;error_log??/var/log/nginx/error.log?error; pid????????/var/run/nginx.pid;events?{worker_connections??1024; }http?{include???????/etc/nginx/mime.types;default_type??application/octet-stream;access_log??off;sendfile????????on;#tcp_nopush?????on;keepalive_timeout??65;#gzip??on;include?/etc/nginx/conf.d/*.conf; }

然后在 Dockerfile 里用新的配置覆寫默認的配置:

#?Copy?custom?nginx?config COPY?/conf/nginx.conf?/etc/nginx/nginx.conf

More

如果你想記錄 access_log 但是不想直接,可以配置 access_log 為另外的文件名即可,就會寫入對應配置的文件中,但不會直接輸出到標準輸出,也就不會造成采集的日志很多都是 access_log

如果不想記錄,不關心 access_log 可以直接使用 off 配置禁用 access_log,如果想選擇性地記錄比如 2xx/3xx 不記錄,其他情況記錄也是可以的,nginx 文檔上也有介紹,可以根據自己需要進行選擇

map?$status?$loggable?{~^[23]??0;default?1; } access_log?/path/to/access.log?combined?if=$loggable;

References

  • https://notestack.io/public/configure-nginx-logging-in-a-docker-container/874f1253-cf1a-4c62-9d2d-467ab23c258d

  • https://docs.nginx.com/nginx/admin-guide/monitoring/logging/

  • https://github.com/nginxinc/docker-nginx/blob/master/stable/alpine/Dockerfile

總結

以上是生活随笔為你收集整理的调整 Docker 中 nginx 的日志级别的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。