麒麟os日志默认仅本地存储,需配置rsyslog发送至远程服务器;须先加载imudp和omfwd模块,再按udp/tcp/分级规则配置转发,最后验证连通性、监听状态并重启服务。

麒麟OS系统日志默认只写入本地/var/log/syslog等文件,若需集中管理、审计或对接SIEM平台,必须将日志主动发送至远程日志服务器,否则所有日志始终滞留在本机。
确认rsyslog基础模块已加载
打开终端,执行:
sudo rsyslogd -N1
检查输出中是否包含 imudp 和 omfwd 模块。若缺失,直接写 *.* @192.168.10.41:514 会静默失败——日志照常写本地,但一条也不发出去。
若未加载,在 /etc/rsyslog.conf 文件开头插入两行:
module(load="imudp")
module(load="omfwd")
【必须加在文件最顶部,不能放在规则段落之后】
配置远程发送规则
方法一:全量日志走UDP(轻量、低延迟,适合内网)
在 /etc/rsyslog.conf 文件末尾添加一行:
*.* @192.168.10.41:514
方法二:关键日志走TCP(带连接确认、重传机制,生产环境推荐)
添加这一行:
*.* @@192.168.10.41:514
注意:单@是UDP,双@@才是TCP;端口不一定是514,接收端监听在哪就填哪,配错端口时 netstat -tuln | grep :514 根本看不到连接目标。
方法三:按日志级别选择性发送(减少带宽占用)
例如只发警告及以上:
*.warn;*.err;*.crit;*.alert;*.emerg @@192.168.10.41:514
验证网络连通性与远端监听
第一步:确认本机发出日志包
执行 tcpdump -i any port 514 -c 3,然后用 logger "test-from-kylin" 触发一条日志;若看到 UDP 或 TCP 包飞向目标IP,说明 rsyslog 已生效。
第二步:测试网络通路
TCP 连通性:nc -zv 192.168.10.41 514
UDP 连通性:nc -u -zv 192.168.10.41 514(部分 nc 版本不支持 -u,可改用 socat)
第三步:登录远程服务器,运行 ss -tuln | grep ':514',确认监听地址是 0.0.0.0:514 或 [::]:514;若只显示 127.0.0.1:514,则仅监听本地回环,收不到外网日志。
重启服务并检查状态
保存 /etc/rsyslog.conf 后,执行:
sudo systemctl restart rsyslog
立即验证服务状态:
sudo systemctl is-active rsyslog
返回 active 表示服务已运行;若返回 failed,执行 journalctl -u rsyslog -n 20 查看最近20行报错日志。
防火墙放行(若启用):
sudo firewall-cmd --permanent --add-port=514/udp --zone=public
sudo firewall-cmd --reload











