当前位置:首页 > 技术 > 正文内容

CentOS 7 中配置 rsyslog 日志转发至远程服务器

访客 技术 2026年7月2日 1

在 CentOS 7 系统中,若需将本地系统日志集中发送至 IP 地址为 192.168.168.168 的远程日志收集服务器,可通过配置 rsyslog 实现。以下是具体操作步骤。

确认 rsyslog 已安装

首先检查 rsyslog 软件包是否已存在:

rpm -qa | grep rsyslog

通常该服务默认已安装。若未安装,可使用以下命令补装:

yum install -y rsyslog

编辑主配置文件

打开 rsyslog 的全局配置文件进行修改:

vim /etc/rsyslog.conf

添加日志转发规则

在文件末尾加入如下行,表示将所有设施(facility)和优先级(priority)的日志通过 UDP 协议发送至目标服务器的 514 端口:

*.* @192.168.168.168:514

如需使用更可靠的 TCP 协议传输,则应使用双@符号:

*.* @@192.168.168.168:514

保存并重启服务

保存更改后退出编辑器,并重新启动 rsyslog 服务以应用新配置:

systemctl restart rsyslog

为确保开机自启,建议启用服务:

systemctl enable rsyslog

防火墙配置(可选)

如果本机启用了 firewalld,需允许 outbound 流量通过 514/udp 或 514/tcp:

firewall-cmd --add-service=syslog --permanent
firewall-cmd --reload

配置说明与高级用法

/etc/rsyslog.conf 是 rsyslog 的核心配置文件,其结构包含多个关键部分:

  • 模块加载:用于启用特定输入/输出功能。例如:
    module(load="imuxsock") # 支持本地进程日志采集
    module(load="imtcp")     # 启用 TCP 接收支持
    module(load="omrelp")    # 使用 RELP 协议发送日志(更可靠)
  • 全局参数设置:定义运行时行为,如工作目录:
    $WorkDirectory /var/lib/rsyslog
  • 监听配置:仅当日志服务器角色需要开启接收功能时才配置。客户端无需设置。
  • 选择性转发规则:可根据日志来源或内容定制转发策略。示例:
    • 仅转发内核日志:
    • kern.* @192.168.168.168:514
    • 仅转发邮件子系统日志:
    • mail.* @192.168.168.168:514
    • 基于关键字过滤(如含 "error" 的消息):
    • :msg, contains, "error" @192.168.168.168:514
  • 协议差异说明
    • @ip:port 表示使用 UDP 发送,速度快但不保证送达;
    • @@ip:port 表示使用 TCP 发送,具备连接确认机制,适合对可靠性要求高的场景。

验证配置有效性

可使用以下命令测试配置语法是否正确:

rsyslogd -N1

无错误提示即表示配置合法。

完成上述配置后,本地系统的日志将按规则持续推送至中心化日志服务器。请确保目标服务器已正确部署并开放相应端口,以便接收来自客户端的数据流。

相关文章

Linux crontab 详解

1) crontab 是什么cron 是 Linux 的定时任务守护进程;crontab 是用来编辑/查看“按时间周期执行命令”的表(cron table)。常见两类:用户 crontab:每个用户一份(crontab -e 编辑)系统级 crontab / cron.d:可指定执行用户(/etc/crontab、/etc/cron.d/*)2) crontab 时间...

富文本里可以允许的 HTML 属性

一、所有标签默认允许的安全属性(极少)class        (可选)id           (通常建议禁用)title️ 注意:id 容易被滥用做锚点注入,很多系统直接禁用class 允许的话最好只允许固定前缀(如 editor-*)二、a 标签允许属性<a href="" t...

Mac 安装 Node.js 指南

方法一:通过官网安装包(最简单,适合初学者)如果你只是想快速安装并开始使用,这是最直接的方法。访问 Node.js 官网。页面会显示两个版本:LTS (Recommended For Most Users):长期支持版,最稳定。建议选这个。Current:最新特性版,包含最新功能但可能不够稳定。下载 .pkg 安装包并运行。按照安装向导点击“下一步”即可完成。方法二:使用 Homebrew 安装(...

Dom\HTML_NO_DEFAULT_NS 的副作用:自动加闭合标签

在使用Dom\HTMLDocument时,Dom\HTML_NO_DEFAULT_NS 将禁止在解析过程中设置元素的命名空间, 此设置是为了与DOMDocument向后兼容而存在的。当使用它时,已知的一个副作用就是:自动加闭合标签例如 </img> 为什么会这样?当你使用:Dom\HTML_NO_DEFAULT_NS文档会变成 无命名空间模式,此时内部更接近 XML...

Laravel 事件和监听器创建

在 Laravel 中,使用 Artisan 命令创建 Events(事件) 和 Listeners(监听器) 是非常高效的。你可以通过以下几种方式来实现:1. 手动创建单个 Event如果你只想创建一个事件类,可以使用 make:event 命令:Bashphp artisan make:event UserRegistered执行后,文件将生成在 app/Even...

linux screen 用法详情 (nohup 的替代方案)

一、screen 是什么?能干嘛?screen 是一个终端复用器,可以:在一个 SSH 会话中开多个“虚拟终端”SSH 断线后,程序仍然在后台运行随时重新连接到原来的会话特别适合:nohup 的替代方案跑脚本 / 爬虫 / 训练模型运维、远程开发二、安装 screen# CentOS / Rocky / Almayum install -y screen# Debian / Ubuntuapt i...

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。