配置rsyslog将/var/log/message ,/var/log/secure , /var/log/cron , /var/log/spooler ,/var/log/boot.log 下的新产生日志发送给服务器
不要用ai,ai可能不能准确理解意思
步骤1: 安装rsyslog客户端
如果还没有安装rsyslog客户端,可以使用以下命令安装:
sudo apt-get update
sudo apt-get install rsyslog
步骤2: 配置rsyslog客户端
打开rsyslog客户端配置文件/etc/rsyslog.conf
,添加以下配置:
*.info;mail.none;authpriv.none;cron.none @服务器IP地址:514
其中服务器IP地址
应替换为你的rsyslog服务器的IP地址。
这个配置指定了哪些日志级别需要发送到服务器,以及不需要发送的部分。*.info
表示所有info级别及以下的日志需要发送,mail.none
表示邮件日志不需要发送,authpriv.none
表示认证和私有日志不需要发送,cron.none
表示cron日志不需要发送。
步骤3: 重启rsyslog客户端
保存配置文件后,重启rsyslog客户端以使配置生效:
sudo service rsyslog restart
现在,/var/log/message
、/var/log/secure
、/var/log/cron
、/var/log/spooler
和/var/log/boot.log
下的新日志将会被发送到rsyslog服务器。
Rsyslog+MariaDB搭建Rsyslog日志服务器
可以借鉴下
https://blog.csdn.net/chang_chunhua/article/details/128297761
通常都是用rsyslog。 配置文件/etc/rsyslog.conf中就可以进行配置。
具体可参考:
https://blog.csdn.net/sunny_na/article/details/65444602
rsyslog的client端发送日志首先需要安装rsyslog,然后配置/etc/rsyslog.conf ,配置前先备份一份,然后修改/etc/rsyslog.conf 中的内容,其中一个重要的配置命令如下:
input(type="imfile" File="/usr/local/records/*/*" Tag="CalculationUnit" Severity="info" Facility="local0" freshStartTail="on" deleteStateOnFileDelete="on")
将/usr/local/records/目录下的所有日志文件发送到服务端。
具体配置详情可以参考:https://www.cnblogs.com/andy9468/p/11804300.html
1、使用以下命令安装rsyslog客户端软件:
sudo apt-get install rsyslog
2、打开rsyslog客户端配置文件/etc/rsyslog.conf,并添加以下内容:
# Send messages to remote syslog server
*.* @你的rsyslog服务器的IP地址:514
# Log all messages to local files
$IncludeConfig /etc/rsyslog.d/*.conf
3、在/etc/rsyslog.d/目录下创建一个新的配置文件,例如client.conf,并添加以下内容:
# Log all messages to remote syslog server
*.* @你的rsyslog服务器的IP地址:514
# Log messages from specific facilities to remote syslog server
auth,authpriv.* @你的rsyslog服务器的IP地址:514
cron.* @你的rsyslog服务器的IP地址:514
local7.* @你的rsyslog服务器的IP地址:514
# Log messages to local files
auth,authpriv.* /var/log/secure
cron.* /var/log/cron
local7.* /var/log/boot.log
4、使用以下命令重启rsyslog服务:
sudo systemctl restart rsyslog
在 /etc/rsyslog.conf
文件中,添加以下配置行:
# Send messages to remote rsyslog server
*.info;mail.none;authpriv.none;cron.none @your.server.name
其中 *.info
表示所有信息级别的日志文件都将被发送到远程 rsyslog 服务器,指定其他级别和标记以控制发送的日志。 @your.server.name
表示远程 rsyslog 服务器的地址和端口号(注意:这里使用的是 @
符号,而不是 @@
,因为我们使用TCP发送而不是UDP)。
编辑 /etc/rsyslog.conf
文件,并修改以下标记以指定哪些日志文件要发送到远程 rsyslog 服务器:
$ModLoad imuxsock # include this line for local socket logging
$ModLoad imjournal # include this line if you use systemd-journald
$ModLoad imklog # include this line for kernel log support
$ModLoad imfile # include this line for monitoring local files
# Configuration for sending logs to remote rsyslog server
$InputFileName /var/log/messages
$InputFileTag var_log_messages:
$InputFileStateFile state_var_log_messages
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
$InputFileName /var/log/cron
$InputFileTag var_log_cron:
$InputFileStateFile state_var_log_cron
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
$InputFileName /var/log/secure
$InputFileTag var_log_secure:
$InputFileStateFile state_var_log_secure
$InputFileSeverity info
$InputFileFacility authpriv
$InputRunFileMonitor
$InputFileName /var/log/spooler
$InputFileTag var_log_spooler:
$InputFileStateFile state_var_log_spooler
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
$InputFileName /var/log/boot.log
$InputFileTag var_log_boot:
$InputFileStateFile state_var_log_boot
$InputFileSeverity info
$InputFileFacility local7
$InputRunFileMonitor
使用这些标记,你可以监视指定的文件,并将它们发送到远程 rsyslog 服务器。
完成上述操作后,保存并关闭 /etc/rsyslog.conf
文件,然后重启 rsyslog 服务:
sudo systemctl restart rsyslog