怎么配置rsyslog的client端

配置rsyslog将/var/log/message ,/var/log/secure , /var/log/cron , /var/log/spooler ,/var/log/boot.log 下的新产生日志发送给服务器

不要用ai,ai可能不能准确理解意思

  • 以下回答由chatgpt基于相关博客总结生成:

    步骤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

  1. 编辑 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)。

  1. 配置日志文件与标记

编辑 /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 服务器。

  1. 重启 rsyslog 服务

完成上述操作后,保存并关闭 /etc/rsyslog.conf 文件,然后重启 rsyslog 服务:

sudo systemctl restart rsyslog