出处:http://blog.163.com/bull_linux/blog/static/2138811422013101494729839/
rsyslog.conf是rsyslogd的主配置文件,rsyslogd是*nix系统上用来记录系统日志的。
rsyslog.conf向后兼容sysklogd的syslog.conf文件,所以可以直接使用syslog.conf文件
这个版本的rsyslog可以使用扩展的html格式文档,安装rsyslog-doc包查看高级特性,本man帮助只提供基础方面操作
=========================================
模块
rsyslog为模块化设计,模块数量在不断增长中,rsyslog-doc中查看完整描述
om: output module
im: input module
omsnmp SNMP trap输出模块
omgssapi 启用GSS的syslog输出模块
ommysql mysql输出模块
omrelp 可靠的RELP协议输出模块(防止信息丢失),用法:
*.* :omrelp:server:port
*.* :omrelp:192.168.0.1:2514 例子
ompgsql PostgreSQL的输出模块
omlibdbi 通用数据库输出模块(Firebird/Interbase, MS SQL, Sybase, SQLite, Ingres, Oracle, mSQL)
imfile 文本文件输入模块
imudp UDP syslog的输入插件,替代-r选项,用法:
$ModLoad imudp
$UDPServerRun 514
imtcp TCP syslog的明文输入插件,替代-t选项,用法:
$ModLoad imtcp
$InputTCPServerRun 514
imrelp RELP协议的输入插件,RELP可用于替代UDP或明文TCP syslog以提供可靠的syslog消息传递。
注意:明文TCP syslog不能提供真正的可靠性传递,因为连接问题和宕机会导致消息丢失。
RELP防止在这些情况下丢失信息。用法:
$ModLoad imrelp
$InputRELPServerRun 2514
imgssapi 启用GSS的syslog的明文TCP输入模块
immark mark信息支持
imklog 内核日志,要包含内核日志信息,需要:
$ModLoad imklog
注意:klogd守护进程已不再是必要的,因此也不再在rsyslog包中提供。
imuxsock Unix套接字,包括系统日志socket,用法:
$ModLoad imuxsock
为了从本地系统进程接收日志信息,这个配置指令必须在你明确知道自己在做什么时才能使用。
=========================================
基本结构
忽略#开头的和空行,rsyslog.conf中包括以下几部分
全局指令
全局指令设置整个rsyslog守护进程的一些全局属性,例如主信息队列大小($MainMessageQueueSize),
加载外部模块($ModLoad)等等,所有的全局指令需要自己一行以$符开头。
完整的全局指令列表可在html文档中或在线网站上找到。
模板 TEMPLATES
模板允许你指定日志信息的格式,同样用于生成动态文件名。它们被用于规则中之前要先定义,
查看下面TEMPLATES部分获得更多信息。
输出频道 OUTPUT CHANNELS
输出频道为用户可能想要的输出类型提供了保护,在规则中使用前要先定义,查看下面OUTPUT CHANNELS部分
规则(选择器+动作)
每个规则行由两部分组成,selector部分和action部分,这两部分由一个或多个空格或tab分隔,
selector部分指定设施样式(日志设备local0之类),日志优先级(等级)由action部分指定
-----------------------------------------
选择器 SELECTORS
selector也由两部分组成,设施和优先级,由点号.分隔,两部分都是大小写不敏感并且也可以指定为十进制数字,
不过最好不要那么做。设施和优先级都在syslog(3)中有描述,下面提到的名字类似于/usr/include/syslog.h中的
LOG_-values
日志设施有:auth(sevurity), authpriv, cron, daemon, kern, lpr, mal, mark, news, syslog, user, uucp以及
local0到local7。security不应使用,mark只应用于内部使用不应用在应用上。不管怎样,你可能想要指定并重定向
这里的信息,日志设备指定了产生信息的子系统,例如,如果邮件程序使用系统日志记录日志,那么就使用mail设备
(LOG_MAIL)
日志级别有(升序):debug, info, notice, warning(warn), err(error), crit, alert, emerg(panic)
不建议使用括号中的关键字,日志级别定义了信息的严重程度。
原生的BSD syslogd的行为习惯是:所有指定级别及以上级别的信息都根据给出的action来处理。
rsyslogd有相同的行为,但也有一些扩展。
rsyslogd可以理解以下扩展:星号*,代表所有日志设施或级别,取决于用在什么位置。
关键字none表示没有级别用于给定的设施
可以在一条语句中指定多个facility使用相同的priority,使用逗号","分隔,没有数量限制。
只有facility部分可以这样定义,priority部分这样写会被忽略
多个selector可以使用分号";"分隔,注意每个selector都可以覆盖之前的定义
可以使用这个行为来去掉一些日志级别
rsyslogd的语法扩展:可在任何级别之前加
等号"=",指定只使用这一个级别而不包含更高级别
叹号"!",忽略所有级别,所有要么指这一个级别(!=),要么指这个及其以上级别(!)
如果要一起使用这两个扩展,!要在=之前。
-----------------------------------------
动作 ACTION
action是规则描述的一部分,规则用于处理消息。总的来说,消息内容被写到一种日志文件上,但也可以
执行其他动作,比如写到数据库表中或转发到其他主机。
正规文件
典型的消息都被记录在真正的文件中,文件要以全路径指定,以"/"开头
*.* /var/log/traditionalfile.log;RSYSLOG_TraditionalFormat 例子,以传统格式记录日志
注意:如果要在日志文件中使用高精度时间戳,去掉";RSYSLOG_TraditionalFormat",就使用
默认的模板,RFC3339时间戳
*.* /var/log/file.log 使用RFC3339时间戳
命名管道 named pipe
此版本rsyslogd支持将日志输出到命名管道(fifos),可以在fifo设备或命名管道前加"|"符来,
将此文件作为日志消息的目的地。这是由于debug的。
注意:fifo设备必须在rsyslogd启动前,以mkfifo命令创建。
终端和控制台
如果指定的文件是tty,特别的tty处理也就完成了,同理/dev/console
远程机器
有3种方式转发消息:
传统方式的UDP传输,有损耗
基于TCP明文的传输,只在特定情况下丢失信息,并被广泛使用
RELP传输,不会丢失信息,但只在rsyslogd 3.15.0及以上版本中可用
写法:
UDP 在主机名前加"@"
TCP 在主机名前加"@@"
RELP 在主机名前加":omrelp:"
例: *.* @192.168.0.1 将所有日志信息通过UDP协议发送到192.168.0.1
相关推荐
本文档将详细介绍如何通过Docker Compose安装Tengine服务,并将其访问日志和错误日志输出到Rsyslog服务的过程。 #### 二、环境准备 - **操作系统**: CentOS 7 (本地测试) 和 Ubuntu (生产) - **软件**: Tengine 和 ...
1. rsyslog.conf文件配置:需要配置rsyslog.conf文件,以便启用系统日志记录。 2. 模块载入:需要载入合适的模块和协议支持,以便启用系统日志记录。 3. 端口设置:需要指定端口,以便允许接收系统日志。 4. ...
在CentOS 7系统中,主要通过`/etc/rsyslog.conf`这个配置文件来管理syslog服务。为了实现日志转发功能,需要在这个文件中添加相应的配置项。 **具体操作如下:** 1. 使用文本编辑器打开`/etc/rsyslog.conf`文件。 ...
配置文件通常是rsyslog.conf,我们在此文件中定义日志的收集规则以及日志文件的存储位置。在配置文件中,我们还可以定义将日志发送到远程服务器的规则,也可以使用各种模板和模块来增强rsyslog的功能。 为了保证...
rsyslog根据配置文件(通常为`/etc/rsyslog.conf`)中的规则,决定如何处理这些消息。它可以将日志写入本地文件,也可以通过网络协议(如UDP、TCP或TLS/SSL)发送到远程服务器,实现集中化的日志管理。 rsyslog-...
rsyslog的配置文件通常是 `/etc/rsyslog.conf`,在这里可以定义日志的来源、目的地、过滤规则等。例如,你可以设置将本地日志发送到远程服务器,或者将特定级别的日志写入不同的文件。 rsyslog的强大之处在于其模块...
rsyslog的软件包包括rsyslog.conf配置文件、rsyslog服务进程和rsyslog工具等。 logrotate日志滚动的介绍 logrotate是一款日志滚动工具,可以自动将旧的日志文件滚动到新的文件中,以释放磁盘空间。logrotate的...
2. **rsyslog配置**:在rsyslog配置文件(通常为`/etc/rsyslog.conf`)中,需要添加相应的模块和规则来启用TLS。这包括`imtcp`或`imtls`模块(用于监听TLS连接),以及`omtcp`或`omtls`模块(用于建立TLS连接)。...
rsyslog的配置文件通常是/etc/rsyslog.conf或/etc/syslog.conf,通过修改配置可以设置日志的输出路径、过滤规则、日志级别等。 5. **日志过滤与转发** rsyslog具备强大的过滤功能,可以基于日志内容(如日志级别...
一旦确定rsyslog服务在运行,它的配置文件/etc/rsyslog.conf就变得至关重要。这个文件定义了日志级别,包括7个不同的等级:debug(调试信息)、info(常规信息)、notice(重要信息)、warning(警告)、error(错误...
2. **修改配置文件**:编辑`/etc/sysconfig/rsyslog.conf`文件,配置日志接收和转发规则。例如,你可以设置将所有日志信息(`*.*`)发送到本地的日志文件,或者配置远程日志服务器,如`$ActionSendStreamDriver`定义为...
配置Rsyslog守护进程为客户端: # vi /etc/rsyslog.conf 添加以下声明,将IP地址替换为你的远程rsyslog服务器的IP地址: *.* @192.168.4.14:514 // UDP端口 ( 若需要可靠地协议,*.* @@192.168.4.14:514//TCP端口 ...
3. 日志配置文件:/etc/rsyslog.conf 文件是日志管理的配置文件。 4. 日志轮替:日志文件可以通过 logrotate 工具来轮替,/etc/logrotate.conf 文件是 logrotate 的配置文件。 七、启动管理 1. GrubShell:Grub 是...
同时,`/etc/rsyslog.conf`中的配置可以根据实际需求进行调整,以满足特定的日志收集和过滤规则。 安装loganalyzer时,你需要确保Apache服务器已启动并正确配置。loganalyzer的源代码解压后,按照其提供的指南进行...
在Linux系统上安装rsyslog后,主要通过修改 `/etc/rsyslog.conf` 配置文件来定制日志收集和转发规则。例如,以下配置会将所有日志级别(*)的信息发送到远程服务器: ```conf $ModLoad imudp # 加载UDP模块 $...
- **rsyslog/journald**:记录系统日志,`/etc/rsyslog.conf`或直接使用`journalctl`管理`systemd`日志。 10. **自动挂载服务** - **autofs**:自动挂载文件系统,配置在`/etc/auto.master`。 了解并掌握这些...
其中`/var/log/syslog`是用于存储系统广泛事件的一个日志文件,虽然不是所有Linux发行版如CentOS或Fedora都默认生成这个文件,但可以通过配置`/etc/syslog.conf`或`rsyslog.conf`来启用。 日志守护进程syslog(也...
配置文件通常位于 `/etc/ldap/slapd.conf` 或 `/etc/ldap/ldap.conf`。 管理用户和组: 在OpenLDAP中,用户和组被表示为条目,每个条目都有唯一的DN(Distinguished Name)。例如,一个用户条目可能如下所示: ``` ...
加固方案中,对于使用不同日志配置文件(syslog.conf、rsyslog.conf或syslog-ng.conf)的系统,都有相应的配置步骤。例如,配置文件syslog-ng.conf时,需创建一个filter来过滤cron设施的日志,并将其发送到特定的...
syslog是Linux中常用的日志守护进程,它的位置可能在/etc/syslog、/etc/syslogd或/etc/rsyslog.d,而对应的配置文件则可能是/etc/syslog.conf或rsyslog.conf。syslog不仅接收并处理来自各个程序的日志信息,还能根据...