1、rsyslog 介绍
采用message先进入主队列再过滤到分支队列, 最后在各个processor线程中输出内容, 输出方式可以是kafka/rsyslog/file/ES
2、rsyslog 配置文件包含
- MODULES
- 全局指令,模板,模块参数
- RULES
#################
#### MODULES ####
#################
$ModLoad imuxsock # provides support for local system logging
$ModLoad imklog # provides kernel logging support
#$ModLoad immark # provides --MARK-- message capability
# provides UDP syslog reception //服务端配置 开启 UDP 514 监听端口
#$ModLoad imudp
#$UDPServerRun 514
# provides TCP syslog reception //服务端配置 开启 TCP 514 监听端口
#$ModLoad imtcp
#$InputTCPServerRun 514
#### GLOBAL DIRECTIVES ####
# Set the default permissions for all log files. 接收的文件权限
#
#$FileOwner syslog
#$FileGroup adm
$FileCreateMode 0640
$DirCreateMode 0755
$Umask 0022
#$PrivDropToUser syslog
#$PrivDropToGroup syslog
# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat # 消息格式
# File syncing capability is disabled by default. This feature is usually not required,
# not useful and an extreme performance hit
#$ActionFileEnableSync on
接收文件存储
:fromhost,isequal,"192.168.100.156" /var/log/124.log:fromhost,isequal,"192.168.100.156" ~
ip为客户端的ip。第一行右边的表示把该ip发送过来的日志存放到124.log文件夹中。
第二行右边的~表示丢弃该ip发送过来的包。因为该文件内容是顺序执行的,所以上面两行就是把该ip日志存放到124.log后就丢弃该数据,防止在多个文件中存放相同的内容。
rule 配置 不同 日志的存储路径
1. 记录到普通文件或设备文件::
*.* /var/log/file.log # 绝对路径
*.* /dev/pts/0
测试: logger -p local3.info ‘KadeFor is testing the rsyslog and logger ‘ logger 命令用于产生日志
2. 转发到远程::
*.* @192.168.0.1 # 使用UDP协议转发到192.168.0.1的514(默认)端口
*.* @@192.168.0.1:10514 # 使用TCP协议转发到192.168.0.1的10514(默认)端口
3. 发送给用户(需要在线才能收到)::
*.* root
*.* root,kadefor,up01 # 使用,号分隔多个用户
*.* * # *号表示所有在线用户
4. 忽略,丢弃::
local3.* ~ # 忽略所有local3类型的所有级别的日志
5. 执行脚本::
local3.* ^/tmp/a.sh # ^号后跟可执行脚本或程序的绝对路径
3、文件轮储logrotate
最后
以上就是奋斗冰淇淋最近收集整理的关于linux 系统日志外发与循环存储的全部内容,更多相关linux内容请搜索靠谱客的其他文章。
发表评论 取消回复