利用日志查找配置问题或应用故障是常用手段。使用 NGINX 可有效控制对应用有意义的日志信息。NGINX 允许您根据不同的上下文将日志以不同的格式拆分到不同的文件中,并更改错误日志的日志级别,以更深入地了解当前状况。
目录
Syslog日志
NGINX 支持对接 Syslog,天生就具备了将日志以流的形式输出给集中式日志服务器的能力。Syslog是一种基于UDP或TCP/IP的RFC协议,用于在计算机系统和网络中传输日志消息。它由三个主要组件组成:日志源(日志产生的设备或应用程序)、Syslog代理(接收和处理日志消息的服务器)以及Syslog收集器(存储和管理日志消息的系统)。
在Nginx中,日志输出到Syslog,Syslog参数配置如下:
Syslog:server=address[,parameter=value]
Syslog:server:标识-表示日志输出传到Syslog统一收集器。
address:Syslog服务器地址。如果服务器地址不设置端口号,默认为 UDP 514。
parameter=value:参数值对,通常有facility、severity、tag 和 nohostname 等可选标记。facility 选项是指日志消息的 facility值,取 Syslog RFC 标准定义的 23 个值之一;默认值为 local7。tag 选项表示消息的标记,默认值为 nginx。severity 选项默认为 info,表示所发送消息的日志级别。nohostname 标记禁止将 hostname 字段添加到 syslog 消息头中,不取值。
访问日志-access_log
#访问日志输出,格式:access_log file [formatname [buffer=size [flush=time]]];
# file:日志文件,可以是普通文件或syslog
# formatname :日志格式名(用log_format定义的)
# buffer:设置内存缓存区大小
# flush:保存在缓存区中的最长时间
# gzip:压缩等级
# 不记录日志:access_log off;
access_log /var/log/nginx/access.log main;
#日志格式定义,格式:log_format formatname [escape=default