发布于 2015-09-03 15:52:40 | 289 次阅读 | 评论: 0 | 来源: 网络整理
扩展日志模块,提供syslog和pipe,以及日志采样。
开启syslog日志功能需要在编译是添加参数--with-syslog,否则syslog不会生效。
syslog模块兼容syslogd。使用syslog-ng需要修改配置文件以支持udp和unix-dgram,并屏蔽unix-stream:
source s_sys { file ("/proc/kmsg" program_override("kernel: ")); unix-dgram ("/dev/log"); internal(); udp(ip(0.0.0.0) port(514)); };
format(含)前面的各参数顺序固定,后面的参数可乱序。此格式兼容nginx原有access_log格式。
file:/path/to/file syslog:facility[:[loglevel][:[target_ip:[target_port] | target_udgram_addr][:ident]]] "pipe:/path/to/exec parms"
facility := auth | authpriv | cron | daemon | ftp | kern | lpr | mail | mark | news | security | syslog | user | uucp | local0 | local1 | local2 | local3 | local4 | local5 | local6 | local7 loglevel := crit | err | error | emerg | panic | alert | warn | warning | info | notice | debug loglevel默认值 = info target_ip:[target_port]:日志输出目的主机的IP地址和端口,端口默认是UDP(514)。这里syslog只支持UDP协议 target_udgram_addr:unix dgram地址,默认为Unix dgram(/dev/log)。这里syslog只支持UNIX DGRAM协议 ident: 自定义标志,可以用于应用信息例如:
syslog:user:info:127.0.0.1:514:ident 以user类型和info级别将日志发送给127.0.0.1:514的UDP端口,并设置应用标记为ident syslog的输出样例:"May 4 15:44:15 local ident[26490]: XXXXXXXX" syslog:auth:err:10.232.4.28::ident 以auth类型和err级别将日志发送到主机10.232.4.28:514的UDP端口,并设置应用标记为ident syslog:user:info:/dev/log:ident 以user类型和info级别将日志发送给本机Unix dgram(/dev/log),并设置应用标记为ident syslog:user::/dev/log:ident 以user类型和info级别将日志发送给本机Unix dgram(/dev/log),并设置应用标记为ident syslog:user:info::ident 以user类型和info级别将日志发送给本机Unix dgram(/dev/log),并设置应用标记为ident syslog:cron:debug:/dev/log 以cron类型和debug级别将日志发送到主机Unix dgram(/dev/log),并使用默认标记 syslog的输出样例:"May 4 15:44:15 local NGINX[26490]: XXXXXXXX" syslog:user::127.0.0.1 以user类型和info级别将日志发送给127.0.0.1:514的UDP端口,并使用默认标记 syslog:user:debug 以user类型和debug级别将日志发送给本机Unix dgram(/dev/log),并使用默认标记 syslog:user 以user类型和info级别将日志发送给本机Unix dgram(/dev/log),并使用默认标记pipe