• Linux服务器和Nginx配置syslog转发(转)


    一、将Linux系统日志通过Rsyslog输出到syslog服务器

    Rsyslog是linux系统下高速的日志收集处理服务,它具有高性能、安全可靠和模块化设计的特点,能够接收各种来源的日志输入(例如:file,tcp,udp,uxsock等),并通过处理后将结果输出的不同的目的地(例如:mysql,mongodb,elasticsearchkafka,日志审计服务器等),每秒处理日志量能够超过百万条。

    Rsyslog作为syslog的增强升级版本已经在各linux发行版默认安装了,无需额外安装。如果操作系统中确实没有Rsyslog,可以通过yum进行安装或升级。

    1
    # yum install rsyslog

    本文Linux操作环境以以CentOS 7为例,syslog的接收服务器为某日志审计服务器,syslog服务端口默认为514。

    rsyslog的配置文件位于/etc/rsyslog.conf,编辑该文件,并设置输出syslog服务器的IP(建议先备份原有的rsyslog.conf配置文件)。

    1
    2
    3
    4
    5
    // 在rsyslog.conf文件末尾增加如下内容,注意*.*和@中间为TAB(不是空格)
    *.* @10.168.1.100
     
    // 重启rsyslog服务
    # service rsyslog restart

      

    二、将Nginx的日志输出到syslog服务器

    Nginx 1.7.1版本及以后即可支持syslog,通过在nginx.conf中增加相关的配置即可实现。Nginx的access_log和error_log在配置文件的http段和server段均可配置。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    // 将access_log记录到服务器本地文件
    access_log  /var/log/nginx/access.log main;
    // 新增将access_log输出到syslog server
    access_log syslog:server=10.168.1.100,facility=local7,tag=nginx,severity=info;
     
    //将error_log记录到服务器本地文件
    error_log   /var/log/nginx//error.log warn;
    // 新增将error_log输出到syslog server
    error_log syslog:server=10.168.1.100,facility=local7,tag=nginx,severity=warn;
     
    //重启nginx服务
    # systemctl restart nginx.service

      

    配置参数说明:

    syslog:  表示设置日志用syslog服务接收

    server: 接收syslog日志的syslog服务端地址,默认使用udp协议,端口是514

    facility: 设施,指定日志消息的设备类型,可以有kern, user, mail, daemon, auth, intern, lpr, news, uucp, clock, authpriv, ftp, ntp, audit, alert, cron, local0-7这些类型。例如认证类型auth、计划任务cron、程序自定义的local0-7等,默认值是local7。(没有什么特别的含义,不必深究)

    tag: 标记,给日志添加一个tag,主要是为了方便我们在服务端区分是哪个服务、应用、站点传来的日志,例如我们这里设置了tag为nginx,如果有多个服务同时都写日志给syslog,且配置了不同的tag,如“nginx_mydomain_com”,在rsyslog服务端就可以根据这个tag找出指定的nginx的日志

    severity: 日志级别,主要有debug, info, notice, warn(warning), err(error), crit(critical), alert, emerg(panic)这些类型,只要报错信息超过该级别就会进行记录。

    三、配置效果

    日志审计服务器上收集到的日志列表,标记为本地用户7(local7)的为nginx日志,其余的为服务器的系统日志(用户登录、注销等)

    * 如果没有专门的日志审计服务器,Rsyslog本身也可以作为日志收集服务器。

    参考资料:

    1. Rsyslog快速方便的收集Nginx日志 https://www.sohu.com/a/250953403_100123073

    2. Nginx使用Rsyslog记录日志 http://www.imooc.com/article/259236

    3. Logging to syslog (Nginx官方文档) http://nginx.org/en/docs/syslog.html

    原文:https://www.cnblogs.com/yangjisen/archive/2020/04/26/12777951.html

  • 相关阅读:
    yii主题
    aptana studio 使用技巧整理
    big database url
    yii表单输入元素
    下载,和scp上传问题
    对缓存的思考——提高命中率
    php用户名密码
    openx -书表添加字段
    搜索
    python——常用模块2
  • 原文地址:https://www.cnblogs.com/xiaoleimagic/p/13539947.html
Copyright © 2020-2023  润新知