通过rsyslog实现Nginx日志统一收集
ryslog 是一个快速处理收集系统日志的程序,提供了高性能、安全功能和模块化设计。rsyslog 是syslog 的升级版,它将多种来源输入输出转换结果到目的地,据官网介绍,现在可以处理100万条信息。
Rsyslog服务端配置,配置文件/etc/rsyslog.conf
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imklog # provides kernel logging support (previously done by rklogd)
$ModLoad immark # provides --MARK-- message capability
$ModLoad imudp #打开ucp连接,通过ucp传日志
$UDPServerRun 514 #UDP端口514
#$ModLoad imtcp #打开tcp连接,通过tcp传日志
$InputTCPServerRun 10514 #TCP端口10514
#$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf #可以应用的配置文件
$WorkDirectory /data/weblogs #默认的存储路径
$MainMsgQueueType LinkedList
$MainMsgQueueHighWatermark 10000
$MainMsgQueueLowWatermark 1000
$MainMsgQueueMaxDiskSpace 20g #占用磁盘总空间大小
$MainMsgQueueMaxFileSize 200m #单个文件的最大大小
$MainMsgQueueSaveOnShutdown on
$MainMsgQueueDiscardSeverity 8
$template logfile,"/data/weblogs/nginx/log_bak/%syslogtag:F,91:1%.log" #定义日志名称
$template logFormat, "%msg:2:$%\n" #定义日志内容格式
$ActionFileDefaultTemplate logFormat #定义默认的日志内容格式,需要先定义,在再这里应用
local7.* -?logfile
Nginx配置
server
{
listen 80;
server_name simonsu.cn;
index index.php;
root /www/simonsu.cn;
error_log /www/weblogs/simonsu.cn.log crit;
access_log /www/weblogs/simonsu.cn.log access;
access_log syslog:local7:info:192.168.11.22::learn1.game.access access;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi.conf;
}
}
配置就这么简单,后继有空再说rsyslog的具体用法。
当前共有0条评论,我也要发表: