Winlogbeat 是 Elastic 公司开发的一款轻量级日志采集器,专门用于收集 Windows 事件日志,并将其发送到 Elasticsearch、Logstash 等目标存储或处理系统。以下是使用 Winlogbeat 采集 Windows 日志并进行分析的详细步骤
🌈下载和安装 Winlogbeat
- 下载 :访问 Elastic 官方下载页面,根据你的 Windows 系统版本选择合适的 Winlogbeat 版本进行下载。
- 安装 :解压下载的压缩包到指定目录,例如
C:\Program Files\Winlogbeat
。
⚙️配置 Winlogbeat
打开 Winlogbeat 安装目录下的 winlogbeat.yml
文件,根据需求进行配置。
主要对output.elasticsearch项进行配置,配置了将采集到的日志发送到 Elasticsearch 的地址、用户名和密码和证书路径。
# ---------------------------- Elasticsearch Output ----------------------------
output.elasticsearch:
# Array of hosts to connect to.
hosts: ["192.168.110.177:9200"]
# Protocol - either `http` (default) or `https`.
protocol: "https"
# Authentication credentials - either API key or username/password.
#api_key: "id:api_key"
username: "elastic"
password: "KG-jpX7vH+HEWbqHTLGy"
#ssl.verification_mode: none
# Pipeline to route events to security, sysmon, or powershell pipelines.
pipeline: "winlogbeat-%{[agent.version]}-routing"
ssl.verification_mode: certificate
ssl.certificate_authorities: ["C:\\winlogbeat\\http_ca.crt"]
🤔遇到的问题
🗯️出现did not find expected hexdecimal number的报错
Exiting: error loading config file: yaml: line 127: did not find expected hexdecimal number
解决办法:
在windows下证书路径需要使用双斜杠做转义处理
🗯️elastic日志中出现Error dialing x509的报错
Error dialing x509: certificate is valid for 127.0.0.1
解决办法:
配置中加入ssl.verification_mode: certificate
🚀启动 Winlogbeat
以管理员身份打开命令提示符或 PowerShell,执行以下命令启动 Winlogbeat:
winlogbeat.exe -e -c winlogbeat.yml
-e
选项表示将日志输出到控制台,方便调试。-c
选项指定配置文件的路径。

❄️验证日志采集
打开Kibana,进入management->ingest->ingest_pipelines界面,如果有新建立的winlogbeat管道,说明日志采集成功。

🌻日志分析
打开Kibana,进入Analytics->discover界面,选择数据来源为winlogbeat

通过字段匹配筛选数据
如通过命令agent.hostname : "DESKTOP-GPOIV96" 筛选出GPOIV96这台机器的日志
