ELK如何收集windows server 2019的日志

在 Windows Server 2019 上收集日志并发送到 ELK(Elasticsearch + Logstash + Kibana)最推荐的方法是使用 Winlogbeat,这是 Elastic 官方专为 Windows 事件日志设计的轻量级代理。下面是完整配置流程 ⚙️👇

📦 一、下载并安装 Winlogbeat

  1. 进入官方页面:Winlogbeat 下载地址

    https://www.elastic.co/downloads/beats/winlogbeat

  2. 选择对应架构(64-bit),下载 ZIP 文件
  3. 解压到目录,例如:C:\Program Files\Winlogbeat

🛠️ 二、配置 Winlogbeat

编辑 winlogbeat.yml 文件,设置采集项与输出目标:

winlogbeat.event_logs:
  - name: Application
  - name: Security
  - name: System
  - name: ForwardedEvents

output.logstash:
  hosts: ["10.1.100.16:5044"]   # 👉 替换为你的 Logstash 地址
  ssl.enabled: false

fields:
  environment: prod
  app: windows-server-2019
  event.module: printserver-10.1.100.11
fields_under_root: true

processors:
  - add_host_metadata: ~

💡 如果你想收集特定应用的日志(如 Jumpserver、IIS),可在 event_logs 中添加日志源或使用日志文件方式。

🔐 三、授予权限(安全日志需要 SYSTEM 权限)

打开 PowerShell(管理员身份)执行:

.\install-service-winlogbeat.ps1

这会安装并注册 Winlogbeat 为系统服务。

🚀 四、启动服务并测试日志发送

启动 Winlogbeat 服务:

Start-Service winlogbeat

查看是否日志成功发送至 Logstash(你可在 Kibana → Discover 页面验证)


备注:如果不想将winlogbeat安装为系统服务,可以参照截图,免安装运行,弊端就是服务器重启后都要手动运行一遍

Copyright © https://yan-jian.com 2023 all right reserved更新时间: 2025-07-31 16:14:53

results matching ""

    No results matching ""