发布于 2015-09-03 15:52:40 | 354 次阅读 | 评论: 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