您的位置:首页 >centos syslog如何兼容其他系统
发布于2026-05-02 阅读(0)
扫一扫,手机访问
想把不同系统、设备的日志都归拢到一处,实现统一管理?以 CentOS 上的 rsyslog 作为日志汇聚中心,是个既经典又高效的方案。下面这份实践指南,将带你一步步打通从网络设备、Windows 到各类 Linux 客户端的日志收集链路。
整个架构的核心思路其实很清晰:
典型的动作语法不外乎这几种:写入本地文件(比如经典的 /var/log/messages)、转发到远程(用 @ 表示 UDP,@@ 表示 TCP,默认端口 514)、或者通过管道交给其他程序处理。这套组合拳,足以覆盖绝大多数系统和设备的通用日志收集需求。
万事开头难?其实配置中心服务器也就几步。
sudo yum install rsyslogsudo systemctl enable --now rsyslogmodule(load="imudp")
input(type="imudp" port="514")
module(load="imtcp")
input(type="imtcp" port="514")$ModLoad imudp
$UDPServerRun 514
$ModLoad imtcp
$InputTCPServerRun 514*.* @192.0.2.10:514sudo firewall-cmd --permanent --add-port=514/udp
sudo firewall-cmd --permanent --add-port=514/tcp
sudo firewall-cmd --reloadlogger "This is a test from $(hostname)"
tail -f /var/log/messages走完以上步骤,服务端的核心接收与转发功能就算配置妥当了。
中心搭好了,接下来就得把各路“诸侯”接进来。不同系统的对接方式略有差异。
/etc/rsyslog.conf 或 /etc/rsyslog.d/50-default.conf 文件,添加转发规则:*.* @syslog.example.com:514 # UDP 方式
*.* @@syslog.example.com:514 # TCP 方式sudo systemctl restart rsyslogevtsys.exe 放到 C:\Windows\System32 目录下。evtsys.exe -i -s 5 -h 192.0.2.10
net start evtsyslogging host 192.0.2.10 transport udp port 514
logging facility local7
logging trap informationalimfile 模块监控并转发:module(load="imfile")
input(type="imfile"
File="/var/log/myapp.log"
Tag="myapp"
StateFile="stat-myapp"
Severity="info"
Facility="local0")
local0.* @@192.0.2.10:514这样一来,从 Linux、Windows 到网络设备,乃至自定义的应用日志文件,就都能汇聚到中心服务器了。
把日志收上来只是第一步,如何管理得井井有条才是关键。这里有几个需要特别注意的兼容性和优化点。
$template RemoteLogs,"/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~$template IpTemplate,"/var/log/remote/%FROMHOST-IP%.log"
*.* ?IpTemplate
& ~authpriv.* /var/log/auth.log
*.info;mail.none;authpriv.none;cron.none /var/log/messages
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
9