在 Logstash 中使用 Winlogbeat 模块:加载并接入 Ingest Pipeline 解析 Windows 日志
数据工程后端【免费下载链接】logstashLogstash - transport and process your logs, events, or other data项目地址https://gitcode.com/gh_mirrors/lo/logstash点击查看免费下载Logstash 与 Winlogbeat 模块的集成并不需要复杂的 Logstash 过滤器重写Winlogbeat 自带的每个模块都内置了完整的解析逻辑ingest node pipelines、Elasticsearch 模板、输入配置与 Kibana 仪表盘你只需要把 pipeline 加载进 Elasticsearch再让 Logstash 的 elasticsearch 输出按事件元数据%{[metadata][pipeline]}动态选择对应 pipeline 即可。读完本文你将掌握从winlogbeat setup --pipelines到 Logstash 管线配置的完整接入流程并能处理数据流data streams与 Kafka 中间链路等实际场景。Winlogbeat 模块与 fileset 结构Winlogbeat 随发行版预置了一批模块modules例如 security、sysmon、powershell 等它们封装了从各类 Windows 日志提供方采集、解析、丰富和可视化数据所需的全部配置。每个 Winlogbeat 模块由一个或多个 fileset 组成而每个 fileset 包含ingest node pipelines在 Elasticsearch 侧完成日志解析与字段丰富Elasticsearch 模板index templates定义索引映射Winlogbeat 输入配置指定采集的 Windows 事件日志通道如 Security、SystemKibana 仪表盘提供开箱即用的可视化。这种模块即配置包的设计意味着解析逻辑默认由 Elastic Stack 的 ingest node 承担而不是在 Logstash 中通过 grok 过滤器手工实现。你可以把 Winlogbeat 模块与 Logstash 结合使用但需要额外的几步设置最简单的方式就是使用 Winlogbeat 提供的 ingest pipelines 完成解析。两种解析路径ingest pipeline 还是 Logstash 侧解析把 Winlogbeat或 Filebeat模块数据接入 Logstash 时存在两条可行的解析路径使用 ingest pipelines推荐本文主题在 Elasticsearch 侧加载模块自带的 ingest pipelineLogstash 只负责传输不做 grok/date 等解析。Logstash 配置极其轻量且字段结构与官方模块保持一致。Logstash 侧自行解析跳过 pipeline 加载步骤在 Logstash 配置中用 grok、date、geoip 等过滤器完成等价解析。这种方式不需要 ingest node但需要手工维护解析规则。仓库中 docs/static/filebeat_modules/system/pipeline.conf 与 docs/static/filebeat_modules/nginx/pipeline.conf 就是后一种路径的参考实现它们用 grok 匹配 sshd/sudo/useradd 或 nginx access/error 日志用 date 过滤纠正时间戳用 geoip 丰富 IP 信息并输出到elasticsearch。作为对比如果采用 ingest pipeline 方案这些解析工作全部下沉到 Elasticsearch 的 ingest nodeLogstash 管线只需下面介绍的两段式配置。第一步把 ingest pipelines 加载进 Elasticsearch在安装了 Winlogbeat 的系统上运行带--pipelines选项的setup命令为指定模块加载 ingest pipelines。例如以下命令加载 security 与 sysmon 两个模块的 ingest pipelineswinlogbeat setup --pipelines --modules security,sysmon这一步必须能连上 Elasticsearch因为 Winlogbeat 需要把 ingest pipelines 真正写入 Elasticsearch。如果你的 Winlogbeat 配置了其他输出比如直接输出到 Logstash可以临时禁用当前 output、临时启用 elasticsearch output执行完 setup 命令后再恢复原配置。补充说明setup 加载的 pipelines 会以winlogbeat-module之类的命名注册到 Elasticsearch 的_ingest/pipelineAPI 中后续 Winlogbeat 采集事件时会在事件的[metadata][pipeline]字段里写入应当使用的 pipeline 名如winlogbeat-securityLogstash 正是依赖这个元数据做动态路由。第二步配置 Logstash 按元数据选择 pipeline在安装了 Logstash 的系统上创建一个 Logstash pipeline 配置从某个 Logstash 输入例如 beats 或 Kafka读取数据发送到 elasticsearch 输出在 elasticsearch 输出中把pipeline选项设为%{[metadata][pipeline]}即可使用此前加载的 ingest pipelines。下面是一个从 Beats 输入读取数据、按 Winlogbeat 模块 ingest pipelines 解析的完整示例input { beats { port 5044 } } output { if [metadata][pipeline] { elasticsearch { hosts https://061ab24010a2482e9d64729fdb0fd93a.us-east-1.aws.found.io:9243 manage_template false index %{[metadata][beat]}-%{[metadata][version]} 1 action create 2 pipeline %{[metadata][pipeline]} 3 user elastic password secret } } else { elasticsearch { hosts https://061ab24010a2482e9d64729fdb0fd93a.us-east-1.aws.found.io:9243 manage_template false index %{[metadata][beat]}-%{[metadata][version]} 1 action create user elastic password secret } } }1 如果你在配置中禁用了数据流data streams请把index设为%{[metadata][beat]}-%{[metadata][version]}-%{YYYY.MM.dd}。数据流默认启用。2 如果禁用了数据流可以移除该设置或按需改为其他值。3 该设置让 Logstash 根据事件中携带的元数据自动选择正确的 ingest pipeline。关键点拆解pipeline %{[metadata][pipeline]}这是整套方案的核心。Winlogbeat 模块采集时会在元数据中标记应使用的 ingest pipeline如 security 模块对应winlogbeat-securityLogstash 在 elasticsearch 输出时把这个字段值作为 pipeline 名传给 Elasticsearch 的_ingest执行。manage_template false索引模板由 Winlogbeat setup 步骤负责加载Logstash 不应再覆盖管理模板避免与模块自带的模板冲突。if [metadata][pipeline]条件分支对未携带 pipeline 元数据的事件如自定义输入走不带pipeline设置的输出分支防止向 Elasticsearch 传递空 pipeline 名。变体中间加一层 Kafka原文档明确指出输入可以是 beats 或 Kafka 等。当 Winlogbeat 与 Logstash 之间隔着 Kafka 时配置方式同理只是把输入换成 Kafka input。仓库中 docs/reference/use-filebeat-modules-kafka.md 给出了 Filebeat 场景的完整示例Winlogbeat 可完全照搬input { kafka { bootstrap_servers myhost:9092 topics [filebeat] codec json } } output { if [metadata][pipeline] { elasticsearch { hosts https://myEShost:9200 manage_template false index %{[metadata][beat]}-%{[metadata][version]}-%{YYYY.MM.dd} pipeline %{[metadata][pipeline]} user elastic password secret } } else { elasticsearch { hosts https://myEShost:9200 manage_template false index %{[metadata][beat]}-%{[metadata][version]}-%{YYYY.MM.dd} user elastic password secret } } }Kafka 链路下Winlogbeat 侧需要把输出从 elasticsearch 切换为 Kafka output在winlogbeat.yml中注释掉 elasticsearch output、启用 Kafka outputtopic 固定为与 Logstash Kafka input 的topics一致并确保 JSON codec 输出以便 Logstash 侧还原字段。Logstash 侧启动方式不变bin/logstash -f mypipeline.conf数据写入 Elasticsearch 后可在 Kibana 中打开 Winlogbeat 模块对应的仪表盘查看 Windows 安全事件、Sysmon 事件等可视化结果。相关文档与仓库依据本文主题文档docs/reference/working-with-winlogbeat-modules.md通用方案说明Filebeat 版docs/reference/use-ingest-pipelines.md、docs/reference/working-with-filebeat-modules.mdKafka 中间链路完整示例docs/reference/use-filebeat-modules-kafka.mdLogstash 侧自行解析的对照实现docs/static/filebeat_modules/system/pipeline.conf、docs/static/filebeat_modules/nginx/pipeline.conf小结把 Winlogbeat 模块接入 Logstash 的本质是职责分工Winlogbeat 负责采集并在元数据中标注 pipelineElasticsearch ingest node 负责解析Logstash 只做动态路由与写入。只要完成setup 加载 pipelines elasticsearch 输出配置pipeline %{[metadata][pipeline]}manage_template false这三件事就能用最少的 Logstash 配置获得与官方模块完全一致的字段结构和可视化体验。赞分享数据工程后端【免费下载链接】logstashLogstash - transport and process your logs, events, or other data项目地址https://gitcode.com/gh_mirrors/lo/logstash点击查看免费下载相关推荐30个Illustrator脚本解放你的设计时间告别重复劳动的艺术30个Illustrator脚本解放你的设计时间告别重复劳动的艺术 Adobe Illustrator是设计师的必备工具但重复性操作常常消耗宝贵时间。il数据工程后端如何在 SpacetimeDB 模块中写日志并用 CLI 查看如何在 SpacetimeDB 模块中写日志并用 CLI 查看 当你在 SpacetimeDB 模块里写了业务逻辑reducer之后调试时往往需要看运行时数据库关系型数据库后端ZynqNet核心组件解析Processing Element与Memory Controller设计原理ZynqNet核心组件解析Processing Element与Memory Controller设计原理 ZynqNet是一款基于FPGA的嵌入式卷积神经网人工智能深度学习计算机视觉嵌入式硬件开发上一篇LizzieYzy终极指南免费开源围棋AI分析工具如何提升你的棋力300%下一篇Zotero茉莉花插件终极指南3步快速搞定中文文献元数据管理创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

5步拆解空调原理图避坑指南:从入门到精通的底层逻辑

5步拆解空调原理图避坑指南:从入门到精通的底层逻辑

5步拆解空调原理图避坑指南:从入门到精通的底层逻辑 官方文档往往长达上百页,公式堆砌让人头大,核心逻辑却藏在字缝里。很多初学者对着复杂的制冷循环图发呆,根本抓不住重点。其实,想真正搞懂空调原理图,从入门到精通,不需要死记硬背每一个系数,而是…

2026/9/22 18:38:44 阅读更多 →
5分钟搞定软件测试工程师简历:源码解析视角下的避坑指南

5分钟搞定软件测试工程师简历:源码解析视角下的避坑指南

5分钟搞定软件测试工程师简历:源码解析视角下的避坑指南 面试被问原理答不上来,简历写得再花哨也白搭。HR和技术主管在筛选软件测试工程师简历时,最反感的不是经验少,而是“只有结果,没有过程”。他们想看到的不是一行行“负责XX项目测试”,而是你…

2026/9/22 18:37:44 阅读更多 →
3个实战项目惨痛教训:全拼符号导致代码崩盘的避坑指南

3个实战项目惨痛教训:全拼符号导致代码崩盘的避坑指南

3个实战项目惨痛教训:全拼符号导致代码崩盘的避坑指南 刚复制来的代码,粘贴进本地环境直接报错?别急着怀疑人生,八成是“全拼符号”在捣鬼。我在三个 实战项目 里都栽过这个跟头,明明逻辑没问题,就是跑不通。…

2026/9/22 18:37:43 阅读更多 →

最新新闻

wmp录制组件避坑:3个高频面试题背后的实战陷阱

wmp录制组件避坑:3个高频面试题背后的实战陷阱

wmp录制组件避坑:3个高频面试题背后的实战陷阱 刚学完wmp录制组件的API,兴冲冲往项目里一塞,结果页面白屏或者录出来的视频全是马赛克?别慌,这不是你代码写得烂,而是你没搞懂浏览器底层那套媒体捕获的逻辑。很多新手卡在“学会语法却不知怎么…

2026/9/22 19:22:27 阅读更多 →
se95se实战项目避坑:5分钟搞定环境配置

se95se实战项目避坑:5分钟搞定环境配置

se95se实战项目避坑:5分钟搞定环境配置 配置环境就卡半天,是不是你的常态?我见过太多开发者,在 se95se 的入门阶段,因为依赖版本冲突或路径错误,浪费整整一个下午。更扎心的是,当你终于跑通 Hello World,面对一个真实的…

2026/9/22 19:22:27 阅读更多 →
3年踩坑经验:一文搞懂生花生米源码避坑指南

3年踩坑经验:一文搞懂生花生米源码避坑指南

3年踩坑经验:一文搞懂生花生米源码避坑指南 盯着屏幕上一堆红色的 StackTrace,头都大了?别慌,这种报错看着吓人,其实逻辑很死板。 很多刚接触【生花生米】项目的同学,一跑起来就崩,日志刷得比瀑布还快。…

2026/9/22 19:22:26 阅读更多 →
搞定个人所得税查询:3个源码解析技巧解决项目搭建难题

搞定个人所得税查询:3个源码解析技巧解决项目搭建难题

搞定个人所得税查询:3个源码解析技巧解决项目搭建难题 很多后端同事卡在个税查询接口上,不是语法不会,而是不知道如何从业务逻辑切入代码。我见过太多项目,文档写得清清楚楚,代码一打开就懵圈。今天拆解个税查询核心源码,帮你从混乱中理清思路。…

2026/9/22 19:22:26 阅读更多 →
三次产业考证新手避坑:学历年限与补办流程全解

三次产业考证新手避坑:学历年限与补办流程全解

三次产业考证新手避坑:学历年限与补办流程全解 刚拿到“三次产业”相关证书,准备跳槽或投标时,发现系统里查不到信息,或者因为学历年限不符被卡在审核环节,这种崩溃感谁懂?很多从业者一上来就以为考过就万事大吉,结果在 版本升级后 API 全变了…

2026/9/22 19:22:26 阅读更多 →
若凡带你手写实现:5个实战场景选型避坑指南

若凡带你手写实现:5个实战场景选型避坑指南

若凡带你手写实现:5个实战场景选型避坑指南 刚把掘金技术社区上那篇爆款代码复制下来,直接 python main.py 一跑,屏幕直接红屏报错?别慌,这是90%的新手都踩过的坑。…

2026/9/22 19:21:26 阅读更多 →

日新闻

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天

3台商务办公笔记本实测:手写实现环境配置,告别卡半天 配置环境就卡半天?别怪机器慢,多半是你没选对工具链。在Java、Go或Python的项目现场, 手写实现…

2026/9/22 0:00:41 阅读更多 →
剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑

剑帝加点速查手册:3分钟搞懂核心逻辑 面试被问原理答不上来,是不是常态?别慌。很多开发者对着 GitHub 开源仓库里的代码发呆,看似简单实则暗藏玄机。今天这份【剑帝加点】速查手册,直接带你拆解核心实现,把面试必考的原理讲透。…

2026/9/22 0:00:41 阅读更多 →
手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优

手写实现图片压缩网站核心:搞定WebP转换与质量调优 复制来的代码跑不通不知道怎么调?别慌,这种“复制粘贴地狱”在开发圈太常见了。尤其是做 图片压缩网站…

2026/9/22 0:00:41 阅读更多 →

周新闻

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

Flutter for OpenHarmony游戏卡片渐变背景实战:从原理到性能优化

直接铺开项目本身吧。这几个月我一直在折腾一件事:用Flutter给OpenHarmony做一款游戏集合类的App,说白了就是把若干小游戏塞进一个壳里,用统一入口分发。这个方向本身不算新鲜,真正让我花了不少心思的,是首页那堆游戏卡…

2026/9/22 4:32:41 阅读更多 →
Word表格编号全攻略:从列表编号到题注交叉引用

Word表格编号全攻略:从列表编号到题注交叉引用

写Word文档,最让人头疼的往往是那些“看起来不起眼”的小问题。比如表格编号这事:今天在表后面多加了两个空白行,明天给客户交稿前发现整个章节的编号全部错位,光是挨个改序号就能耗掉大半个下午。我前阵子帮人整理一份上百页的技…

2026/9/22 4:38:57 阅读更多 →
从第一个站到第二个站:独立开发者的静态网站选型与落地实践

从第一个站到第二个站:独立开发者的静态网站选型与落地实践

1. 项目概述1.1 核心需求解析做独立开发者这几年,说实话,第一个网站上线的那天晚上我兴奋得没睡着。但等它跑了半年,流量惨淡、功能臃肿、代码自己都懒得看第二遍之后,我才慢慢琢磨明白一个道理:第一个网站是练手&…

2026/9/22 8:51:04 阅读更多 →

月新闻

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

2026/9/21 15:36:51 阅读更多 →
容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…

2026/9/21 15:36:51 阅读更多 →
容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步

容器 容器化技术与镜像安全管理:核心链路应该先拆哪一步分类:[工程技术]细分主题:Docker 容器化技术与镜像安全管理:核心链路的逐步实现与关键代码取舍面对一个积累了五六年历史包袱的单体架构应用(包含 Web 接口、后台…

2026/9/22 2:43:42 阅读更多 →