温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何配置Syslog远程采集

发布时间:2026-09-30 07:59:15 来源:亿速云 阅读:104 作者:小樊 栏目:系统运维

下面以**常见 Linux 环境(rsyslog / syslog-ng)**为例,说明如何配置 Syslog 远程采集(即把日志发送到远程日志服务器,或从远程接收日志)。


一、总体架构说明

  • 日志客户端(Client):产生日志并发送到远程
  • 日志服务器(Server):接收并存储日志
  • 协议:UDP 514(默认)或 TCP 514(更可靠)

二、Server 端配置(接收远程 Syslog)

1. 使用 rsyslog(最常见)

编辑配置文件

vim /etc/rsyslog.conf

开启 UDP 接收

module(load="imudp")
input(type="imudp" port="514")

开启 TCP 接收

module(load="imtcp")
input(type="imtcp" port="514")

按主机存储日志(推荐)

template(name="RemoteLogs" type="string"
  string="/var/log/remote/%HOSTNAME%/%PROGRAMNAME%.log")

if ($fromhost != "localhost") then {
    action(type="omfile" fileTemplate="RemoteLogs")
}

重启服务

systemctl restart rsyslog

防火墙放行

firewall-cmd --add-port=514/udp --permanent
firewall-cmd --add-port=514/tcp --permanent
firewall-cmd --reload

三、Client 端配置(发送日志到 Server)

1. rsyslog 客户端配置

vim /etc/rsyslog.conf

发送所有日志(UDP)

*.* @192.168.1.100:514

发送所有日志(TCP,更可靠)

*.* @@192.168.1.100:514

只发送特定日志示例

auth.* @@192.168.1.100:514

重启服务

systemctl restart rsyslog

四、使用 syslog-ng(可选)

Server 端

source s_net {
    udp(ip(0.0.0.0) port(514));
    tcp(ip(0.0.0.0) port(514));
};

destination d_remote {
    file("/var/log/remote/$HOST/log");
};

log {
    source(s_net);
    destination(d_remote);
};

Client 端

destination d_syslog {
    tcp("192.168.1.100" port(514));
};

log {
    source(s_src);
    destination(d_syslog);
};

五、验证是否成功

在 Client 发送测试日志

logger "syslog test message"

在 Server 查看

ls /var/log/remote/
tail -f /var/log/remote/<hostname>/*.log

六、安全与优化建议

  • ✅ 使用 TCP + TLS(生产环境)
  • ✅ 限制来源 IP(防火墙 / ACL)
  • ✅ 使用 logrotate 防止日志爆盘
  • ✅ 可结合 ELK / Splunk / Graylog 做集中分析

如果你有 特定系统(如 Cisco、Windows、容器、K8s) 或 使用 TLS 加密 的需求,我可以给你更针对性的配置示例。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI
助
手