直接用Windows自带事件转发(WEF)即可实现日志集中收集,需配置收集器启用WinRM和Wecsvc服务并创建订阅,源端通过组策略指定收集器地址、授权Network Service读取日志并加入Event Log Readers组。
直接用 windows 自带的事件转发(wef)就能完成,不需要装第三方软件。核心是两台机器配合:一台当“收集器”(收日志),一台或几台当“源”(发日志)。关键是 winrm 通、权限对、订阅建得准。
收集器服务器(日志接收端)配置
这台机器负责汇总所有日志,需提前准备:
- 以管理员身份运行 PowerShell,执行 winrm quickconfig,启用 WinRM 并开放 5985 端口(HTTP)或 5986(HTTPS)
- 确保 Windows Event Collector 服务已启动(服务名:Wecsvc)
- 打开“事件查看器” → 左侧“订阅” → 右键“创建订阅”
- 在向导中填入源计算机名(支持域名、IP 或主机名),勾选要收的日志类型(如 Security、System、Application)
- 协议默认选“Windows Remote Management (WinRM)”,无需额外设置;目标日志存放在“转发事件”下
源服务器(日志发送端)配置
每台要发日志的 Windows 机器都要做以下设置:
- 用组策略编辑器(gpedit.msc)进入:计算机配置 → 管理模板 → Windows 组件 → 事件转发 → 配置目标订阅管理器
- 启用该策略,在“SubscriptionManagers”中填写收集器地址,格式为:
Server=http://:5985/wsman/SubscriptionManager/WEC
可加 Refresh=300(单位秒),控制检查订阅频率 - 确保本机“Network Service”账户有权限读取目标日志(尤其是 Security 日志):
运行 wevtutil gl security,确认输出含 (A;;0x1;;;NS);若缺失,需手动补全 channelAccess 值并用 wevtutil sl security /ca: 更新 - 将收集器的计算机账户(如 DOMAIN\collector$)加入本机的 Event Log Readers 组(本地用户和组 → 内置组 → Event Log Readers → 添加)
验证与常见问题
配置完成后不是立刻生效,通常几分钟内开始推送:
- 在收集器上打开“事件查看器 → 转发事件”,看到新事件即表示通了
- 若无数据,先在源端运行 Test-WSMan -ComputerName 检查 WinRM 连通性
- 防火墙要放行 5985(或 5986)端口,VPS 环境还需确认云平台安全组已开通该端口入站
- 域环境建议用 FQDN(如 collector.contoso.com),非域环境可用 IP,但需确保 DNS 或 hosts 可解析
进阶建议
生产环境推荐加上这些优化:
- 用 XPath 查询精确筛选事件(例如只收登录失败:EventID=4625),减少带宽和存储压力
- 把“转发事件”日志路径改到高速磁盘(组策略 → 事件日志 → 转发事件 → 设置日志路径)
- 安全要求高时启用 HTTPS + Kerberos 认证,需配置证书和委派策略
- 单个收集器别超 4000 台源机器,大规模部署建议分组或用多收集器负载分担











