Linux下rsyslog服务的配置文件rsyslog.conf详解

  1 # rsyslog v5 configuration file
  2 
  3 # For more information see /usr/share/doc/rsyslog-*/rsyslog_conf.html
  4 # If you experience problems, see http://www.rsyslog.com/doc/troubleshoot.html
  5 
  6 #### MODULES ####   #加载模块
  7 
  8 $ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
  9 $ModLoad imklog   # provides kernel logging support (previously done by rklogd)
 10 #$ModLoad immark  # provides --MARK-- message capability
 11 
 12 # Provides UDP syslog reception   #允许514端口接收使用UDP协议转发过来的日志
 13 $ModLoad imudp
 14 $UDPServerRun 514
 15 
 16 # Provides TCP syslog reception   #允许514端口接收使用TCP协议转发过来的日志
 17 #$ModLoad imtcp
 18 #$InputTCPServerRun 514
 19 
 20 
 21 #### GLOBAL DIRECTIVES ####
 22 
 23 # Use default timestamp format   #定义日志格式默认模板  
 24 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
 25 
 26 # File syncing capability is disabled by default. This feature is usually not required,
 27 # not useful and an extreme performance hit
 28 #$ActionFileEnableSync on
 29 
 30 # Include all config files in /etc/rsyslog.d/
 31 $IncludeConfig /etc/rsyslog.d/*.conf
 32 
 33 
 34 #### RULES ####
 35 
 36 # Log all kernel messages to the console.
 37 # Logging much else clutters up the screen.
 38 #kern.*                                                 /dev/console   #关于内核的所有日志都放到/dev/console(控制台)
 39 
 40 # Log anything (except mail) of level info or higher.
 41 # Don't log private authentication messages!
 42 *.info;mail.none;authpriv.none;cron.none               /var/log/messages   #记录所有日志类型的info级别以及大于info级别的信息到/var/log/messages,但是mail邮件信息,authpriv验证方面的信息和cron时间任务相关的信息除外
 43 
 44 # The authpriv file has restricted access.
 45 authpriv.*                                              /var/log/secure   #authpriv验证相关的所有信息存放在/var/log/secure
 46 
 47 # Log all the mail messages in one place.
 48 mail.*                                                  -/var/log/maillog   #邮件的所有信息存放在/var/log/maillog; 这里有一个-符号, 表示是使用异步的方式记录, 因为日志一般会比较大
 49 
 50 
 51 # Log cron stuff
 52 cron.*                                                  /var/log/cron   #计划任务有关的信息存放在/var/log/cron
 53 
 54 # Everybody gets emergency messages
 55 *.emerg                                                 *   #记录所有的大于等于emerg级别信息,以wall方式发送给每个登录到系统的人(*代表所有在线用户)
 56 
 57 # Save news errors of level crit and higher in a special file.
 58 uucp,news.crit                                          /var/log/spooler   #记录uucp,news.crit等存放在/var/log/spooler
 59 
 60 # Save boot messages also to boot.log   #启动的相关信息
 61 local7.*                                                /var/log/boot.log
 62 local0.*                                                /var/log/haproxy.log
 63 
 64 # ### begin forwarding rule ###      #转发规则
 65 # The statement between the begin ... end define a SINGLE forwarding
 66 # rule. They belong together, do NOT split them. If you create multiple
 67 # forwarding rules, duplicate the whole block!
 68 # Remote Logging (we use TCP for reliable delivery)
 69 #
 70 # An on-disk queue is created for this action. If the remote host is
 71 # down, messages are spooled to disk and sent when it is up again.
 72 #$WorkDirectory /var/lib/rsyslog # where to place spool files
 73 #$ActionQueueFileName fwdRule1 # unique name prefix for spool files
 74 #$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
 75 #$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
 76 #$ActionQueueType LinkedList   # run asynchronously
 77 #$ActionResumeRetryCount -1    # infinite retries if host is down
 78 # remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
 79 #*.* @@remote-host:514       # @@表示通过tcp协议发送    @表示通过udp进行转发
 80 # ### end of the forwarding rule ###

 

  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: rsyslog.confrsyslog日志服务的主要配置文件,用于指定日志的输入、输出、过滤、格式化等操作。以下是rsyslog.conf配置文件详解: 1. 输入模块配置 rsyslog.conf文件中的输入模块用于指定从哪些源获取日志信息,包括本地日志、远程日志、系统日志等。常用的输入模块包括: - imuxsock:用于从Unix域套接字读取本地日志信息。 - imudp:用于从UDP协议接收远程日志信息。 - imtcp:用于从TCP协议接收远程日志信息。 - imjournal:用于从systemd-journald服务读取系统日志信息。 2. 过滤模块配置 rsyslog.conf文件中的过滤模块用于根据规则过滤日志信息,只保留符合条件的日志信息。常用的过滤模块包括: - if:用于根据条件过滤日志信息。 - regex:用于根据正则表达式过滤日志信息。 - property:用于根据属性过滤日志信息。 3. 输出模块配置 rsyslog.conf文件中的输出模块用于指定将日志信息输出到哪些目标,包括文件、数据库、网络等。常用的输出模块包括: - omfile:用于将日志信息输出到文件。 - ommysql:用于将日志信息输出到MySQL数据库。 - omelasticsearch:用于将日志信息输出到Elasticsearch搜索引擎。 - omfwd:用于将日志信息转发到远程rsyslog服务器。 4. 格式化模块配置 rsyslog.conf文件中的格式化模块用于指定日志信息的格式,包括时间、主机名、进程名、日志级别等。常用的格式化模块包括: - template:用于定义日志信息的格式模板。 - property:用于指定日志信息中的属性,如时间、主机名、进程名等。 - msg:用于指定日志信息的内容。 以上是rsyslog.conf配置文件的主要内容和功能,通过合理配置可以实现高效的日志管理和分析。 ### 回答2: rsyslog是一款流行的系统日志管理工具,可以帮助用户收集和处理多个设备和应用程序的日志信息。rsyslog的主要配置文件rsyslog.conf,该文件包含一系列的配置项,用于指定日志的来源、目的地、格式化规则、过滤规则等。 rsyslog.conf文件的格式 rsyslog.conf文件采用基于行的格式,每个配置项都以$开头,并且每个配置项都有一个相应的值。下面是一个简单的rsyslog.conf文件的示例: $ModLoad imuxsock # 从Unix Socket收集日志 $ModLoad imklog # 从内核日志接口收集日志 $ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat $FileOwner root $FileGroup adm $FileCreateMode 0640 $DirCreateMode 0755 $Umask 0022 $WorkDirectory /var/spool/rsyslog 配置项说明 以下是rsyslog.conf文件中的常用配置项及其说明: $ModLoad:加载模块,用于收集不同来源的日志信息。比如,imfile模块用于从文件中收集日志,imudp模块用于从UDP协议中收集日志。 $Action:配置动作,用于指定将日志信息发送到哪个目的地。比如,将日志信息写入文件、发送到远程服务器、发送电子邮件等等。 $FileOwner:指定文件的所有者。 $FileGroup:指定文件的用户组。 $FileCreateMode:指定新创建文件的权限。 $DirCreateMode:指定新创建目录的权限。 $Umask:指定掩码,用于权限控制。 $WorkDirectory:指定rsyslog的工作目录。 rsyslog.conf 文件的安全性考虑 由于rsyslog.conf文件中包含敏感信息,例如日志来源、目的地和过滤规则,因此需要注意保护其安全性。一般建议将rsyslog.conf文件设置为只读或者仅给特定用户组或管理员访问。同时对其文件所在目录进行访问限制,避免敏感信息泄露。在系统更新或升级时也应该备份rsyslog.conf文件,以防丢失或损坏。 总结 rsyslog.confrsyslog主要的配置文件,包含了许多配置项,用于指定日志来源、目的地、格式化规则、过滤规则等。在实际使用中应当注意其安全性,并备份以避免不必要的损失。 ### 回答3: rsyslog是一个强大的系统日志收集工具,它可以从多种数据源收集日志,结合正则表达式过滤和匹配日志,并将日志发送到远程服务器或保存到本地文件中。rsyslog配置文件非常灵活,具体配置选项也非常多,本文将对rsyslog.conf配置文件进行详解rsyslog.conf文件是rsyslog的主要配置文件,通常位于/etc目录下。配置文件中定义了rsyslog如何接受、过滤、处理并转发日志。rsyslog.conf文件由多个模块组成,每个模块定义了一些规则,常用的模块包括: 1.基础模块 *MODULES - 定义rsyslog加载的模块。 *GLOBAL - 定义全局配置。可设置日志文件格式、工作目录、日志文件保存周期等。 *DEFAULT - 定义默认规则,用于处理日志消息的行为。 2.输入模块 *IMUDP - 通过UDP接收日志。 *IMTCP - 通过TCP接收日志。 *IMKLOG - 通过内核日志接收日志。 *IMFILE - 通过本地文件接收日志。 3.过滤器模块 *IF - 判断条件语句。 *EXPR - 操作符。 *PROPERTY - 判断日志属性。 *PRIFILT - 过滤器参数。 4.输出模块 *ACTION - 定义发送日志消息的操作。 *OMFILE - 将日志文件写入本地文件。 *OMSYSLOG - 发送日志至远程syslog服务器。 rsyslog.conf的基础语法类似于C语言的语法,其中#表示注释,$表示变量,*表示通配符。 例如: $ModLoad ompgsql # 加载PostgreSQL输出插件 $template myfmt, "SELECT user_info(%msg%) as usermsg" # 定义输出格式 *.* :ompgsql:localhost,mylog,postgres,postgres # 发送日志至PostgreSQL服务器 上面的示例代码定义了一个输出模块,利用PostgreSQL保存收集到的日志,并在输出前使用了自定义的输出模板。 需要注意的是,rsyslog.conf配置文件中的配置是按照从上到下逐步执行的,因此在编写配置文件时,需要仔细思考,确保各个模块的顺序和执行效率。 总之,rsyslog配置文件是非常灵活的,通过合理的配置,可以将日志收集、过滤、发送等各个环节完美的串联起来,为系统的监控和分析提供大大的便利和效率。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值