通过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 tsov.net;

    index index.php;

    root /www/tsov.net;

    error_log /www/weblogs/tsov.net.log crit;

    access_log /www/weblogs/tsov.net.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的具体用法。

相关文章
解决NGINX(或后端代码中获取Header)中自定义带下划线的参数无法获取的问题nginx的location规则与rewrite解析这么配置Nginx,使其变成高性能服务器隐藏nginx的版本终于搞定在nginx上支持.htaccess伪静态了WordPress的Nginx伪静态规则基础篇:CentOS常用命令收藏
    标签:Nginxsyslog 发布于:2021-02-19 16:21:29

当前共有0条评论,我也要发表:

    我的名字:

    我的邮箱: