跳过正文

群辉DSM日志中心作为Rsyslog服务器收集日志

·207 字·1 分钟
作者
王浩宇
记录服务器、虚拟化、网络和日常折腾。

一、为什么选 DSM 做日志服务器
#

无需额外采购硬件,一台 NAS 即可 7×24 小时运行,而且 DSM 基于 Linux 内核,自带日志轮转、压缩、ACL 权限体系。
图形化解密,几分钟就可以完成配置,比手撸 rsyslog.conf 更方便,最重要的一点是满足 ISO 27001、等保 2.0 集中审计条款,最低要求——日志不落本地、集中存放 180 天。

二、底层原理(这些了解即可)
#

  • DSM 的「日志中心」套件底层就是 rsyslog 8.x,外加一个pg数据库用于索引与检索
  • 默认监听 514/UDP,可手动再开 514/TCP 与 514/TLS,保证外网穿越不丢包
  • 每条日志会被拆成 6 个字段:
    facility.priority | timestamp | hostname | tag | msgid | message
    并在 pg数据库里建立GIN索引,因此关键字检索速度在千万级数据量下仍能保持在 <2s。

三、如何把 DSM 变成 Rsyslog 服务器
#

3.1 安装并启用套件
#

  1. DSM 7.x:套件中心 → 搜索日志中心并进行安装。
    install-套件中心
  2. 打开日志中心 左侧 接收日志,新增规则
    添加规则
  3. 端口保持默认 514/UDP,如需外网穿越再勾「TCP」与「TLS」→ 应用。

3.2 创建独立共享文件夹存储日志数据(防爆盘)
#

  1. 控制面板 → 共享文件夹 → 新建 logs
  2. 配额建议:
    • 纯文本 50 GB 可存约 2 亿条 300 字节日志,这个根据自身需求进行配置;
    • 开启压缩还能再省 60%
      logs配额
  3. 创建完成后回到日志中心,存储空间 选择刚才的共享文件夹 → 启用自动归档以及压缩功能。
    logs storage

3.3 客户端指向 DSM
#

Linux(rsyslog 客户端)
#

# /etc/rsyslog.d/50-default.conf 末尾加一行
*.* @dsm ip:514        # 单 @ 代表 UDP;@@ 代表 TCP
# 重启
sudo systemctl restart rsyslog

网络设备(以Ruijie为例)
#

conf t
logging dsm ip
logging trap informational
end
wr

Windows(可选)
#

  1. 这里推荐使用一个开源软件,evtsys, 项目地址:https://github.com/zensquare/evtsys。
  2. 根据向导进行配置即可。

四、验证与排错
#

4.1 实时查看
#

打开 DSM「日志中心」→「概览」→ 右上角「实时日志」,应该立刻看到客户端 hostname 出现。

4.2 关键字检索
#

搜索框输入 sshd Failed 回车,2 秒内即可定位所有 SSH 爆破来源 IP。

4.3 性能监控
#

若接收速率持续 >3 000 条/秒,建议:

  • 把 UDP 改成 TCP,防止拥塞丢包;
  • 给 NAS 加 SSD 缓存,提高 PostgreSQL 写入 IO

4.4 常见故障表
#

现象原因解决
DSM 收不到日志本地防火墙未放行 514控制面板 → 安全性 → 防火墙 → 新增规则放行 514/UDP
中文乱码客户端与 DSM 字符集不一致客户端 rsyslog 模板加 $EscapeControlCharactersOnReceive off
磁盘爆满未开自动归档启用「按日期归档」+「压缩」+「配额」