首页主机资讯Ubuntu syslog日志传输方式

Ubuntu syslog日志传输方式

时间2025-11-21 08:35:04发布访客分类主机资讯浏览911
导读:Ubuntu syslog 日志传输方式概览 rsyslog 原生转发:使用 UDP/TCP 514 将日志发送到集中服务器,配置简洁、系统自带,适合大多数场景。 syslog-ng 转发:功能更灵活,支持细粒度路由与多目的地,适合复杂日...

Ubuntu syslog 日志传输方式概览

  • rsyslog 原生转发:使用 UDP/TCP 514 将日志发送到集中服务器,配置简洁、系统自带,适合大多数场景。
  • syslog-ng 转发:功能更灵活,支持细粒度路由与多目的地,适合复杂日志管道。
  • 通过日志代理转发:以 Fluentd/Logstash 作为采集与转发中枢,便于与 Elasticsearch/Kafka 等生态集成。
  • 传输协议选择UDP 开销小但不可靠;TCP 可靠、可重传;生产环境常优先 TCP 或配合队列/缓冲提升稳健性。

rsyslog 发送与接收

  • 发送端(客户端)
    1. 安装并启用服务:sudo apt-get update & & sudo apt-get install rsyslog & & sudo systemctl enable --now rsyslog
    2. 配置转发规则(示例为发送到远程 10.0.0.10:514):
      • UDP:. @10.0.0.10:514
      • TCP:. @@10.0.0.10:514
        写入到 /etc/rsyslog.d/50-remote.conf 或直接在 /etc/rsyslog.conf 末尾追加。
    3. 使配置生效:sudo systemctl restart rsyslog
  • 接收端(服务器)
    1. 启用网络输入模块与端口:
      • UDP:
        module(load=“imudp”)
        input(type=“imudp” port=“514”)
      • TCP:
        module(load=“imtcp”)
        input(type=“imtcp” port=“514”)
    2. 可选:将网络日志单独落盘,例如 file(“/var/log/remote.log”);保存后重启 rsyslog。
    3. 防火墙放行:sudo ufw allow 514/udp 或 sudo ufw allow 514/tcp

syslog-ng 发送与接收

  • 发送端(客户端)
    1. 安装:sudo apt-get update & & sudo apt-get install syslog-ng
    2. 配置示例(/etc/syslog-ng/syslog-ng.conf):
      destination d_remote { udp(“10.0.0.10” port(514)); } ;
      log { source(s_sys); destination(d_remote); } ;
      如需 TCP,将 udp 改为 tcp。
    3. 生效:sudo systemctl restart syslog-ng
  • 接收端(服务器)
    1. 配置示例:
      source s_network { udp(ip(0.0.0.0) port(514)); tcp(ip(0.0.0.0) port(514)); } ;
      destination d_local { file(“/var/log/remote.log”); } ;
      log { source(s_network); destination(d_local); } ;
    2. 生效:sudo systemctl restart syslog-ng。

通过 Fluentd 或 Logstash 转发

  • Fluentd(td-agent)
    1. 安装:sudo apt-get update & & sudo apt-get install td-agent
    2. 配置示例(/etc/td-agent/td-agent.conf): @type syslog port 514 tag system.log @type none @type forward host **10.0.0.10** port **24224**
    3. 生效:sudo systemctl restart td-agent
  • Logstash
    1. 安装 Logstash(略)
    2. 配置示例(/etc/logstash/conf.d/syslog.conf):
      input { syslog { port => 514 type => “syslog” } }
      output { tcp { host => “10.0.0.10” port => 5000 } }
    3. 生效:sudo systemctl restart logstash

实践建议与排错要点

  • 协议与可靠性:优先 TCP/514;如需更高可靠可结合本地缓冲/队列(如 rsyslog 队列)避免丢日志。
  • 防火墙与监听地址:发送端与接收端均需放行 514/udp 与/或 514/tcp;云环境注意安全组/NACL 策略。
  • 权限与端口:非 root 进程绑定 1–1023 端口需具备相应能力(CAP_NET_BIND_SERVICE),或改用高端口测试。
  • 格式与解析:保持发送端与接收端 facility/severity 与解析规则一致,避免入库后字段错乱。
  • 快速验证:
    • 发送端执行:logger -p user.info “test remote log”
    • 接收端查看:tail -f /var/log/syslog 或 /var/log/remote.log 是否出现该条日志。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Ubuntu syslog日志传输方式
本文地址: https://pptw.com/jishu/752945.html
Linux lsnrctl用户权限如何配置 Jenkins在Debian上的故障排查步骤有哪些

游客 回复需填写必要信息