在Openwrt 22.03 上支持rsyslog

rsyslog 介绍

RSYSLOG is the rocket-fast system for log processing.

It offers high-performance, great security features and a modular design. While it started as a regular syslogd, rsyslog has evolved into a kind of swiss army knife of logging, being able to accept inputs from a wide variety of sources, transform them, and output to the results to diverse destinations.

RSYSLOG can deliver over one million messages per second to local destinations when limited processing is applied. Even with remote destinations and more elaborate processing the performance is usually considered “stunning”.

 

另外:

编译支持

rsyslog的功能比默认的logd功能全且强大,去掉默认的logd即可

 

功能验证

rsyslog 设备S的IP地址 192.168.0.1

设备A的IP地址 192.168.0.3(设备A使用标准的openwrt logd)

rsyslog 设备S做服务端接收其他设备A的syslog日志

S设备配置 /etc/rsyslog.conf

重启生效

 

A设备配置 /etc/config/system

重启生效

 

A设备向S设备发送日志

在A设备执行如下命令

在S设备上查询日志已收到

 

rsyslog 设备S做客户端向PC服务器发送syslog

PC(192.168.0.8)侧需要提前搭建syslog 服务器(自行解决)

修改rsyslog,添加如下UDP规则

如果走TCP,对应修改如下

重启

 

设备S 写一条syslog日志

 

在PC侧查询,看到已经接收到

 

rsyslog 设备S使用logrotate管理日志

logrotate 即日志轮转,日志轮转有如下作用

 

修改配置/etc/logrotate.conf

 

参数解析

 

其中路径配置

需要修改对应rsyslog的配置,如下

保证client目录下没有子目录

 

logrotate验证

 

参考