my contact information
Mailmesophia@protonmail.com
2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
rsyslog is a high-performanceLog Handler, which can receive, process and forward log messages. It is widely used in UNIX and Linux systems for system logging and management.
The configuration file for rsyslog is usually located in /etc/rsyslog.conf
or/etc/rsyslog.d/
The configuration file uses the rules-actions structure.
Order:
systemctl status rsyslog.service
# 基本格式
# :规则:动作
# 接收本地日志并写入文件
*.* /var/log/all.log
# 接收远程日志(UDP)并写入文件
$ModLoad imudp
$UDPServerRun 514
*.* /var/log/remote.log
# 接收远程日志(TCP)并写入文件
$ModLoad imtcp
$InputTCPServerRun 514
*.* /var/log/remote_tcp.log
# 基于消息优先级的日志过滤
authpriv.* /var/log/secure.log
# 基于消息内容的日志过滤
:msg, contains, "error" /var/log/error.log
rsyslog uses facilities and priorities to categorize and process log messages.
Common facilities include:
The priorities from highest to lowest include:
sudo systemctl start rsyslog
sudo systemctl stop rsyslog
sudo systemctl restart rsyslog
sudo systemctl status rsyslog
sudo systemctl reload rsyslog
Client Configuration
On the client server, configure rsyslog to forward log messages to the centralized log server:
# 配置远程日志传输(UDP)
*.* @logs.example.com:514
# 配置远程日志传输(TCP)
*.* @@logs.example.com:514
server configuration
On the centralized log server, configure rsyslog to receive log messages from clients:
# 加载输入模块
$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514
# 将接收到的日志写入文件
*.* /var/log/centralized.log