• IT运维:利用数据分析平台采集Windows event log数据


    概述

    本文将介绍如何借助Winlogbeat和Vector在鸿鹄里采集Windows event log数据,使技术人员能够在鸿鹄里更便捷和高效地分析Windows event log数据。

    操作步骤

    Winlogbeat是一个开源的日志数据采集器,专门用于采集Windows操作系统中的event log数据。它可以采集多种Windows event log,例如Application、System和Security等。在Windows上安装完成后,如果要将采集的数据发送到控制台,只需在配置文件winlogbeat.yml中设置output.console即可,如下所示:

    图片

    以下是运行winlogbeat.exe -c winlogbeat.yml后的两条样例输出(有裁剪),可以看到每行数据是JSON格式的。

    图片

    这里顺便提一下,Winlogbeat会在winlogbeat.exe进程的启动目录里生成名为data的数据目录,如果想让Winlogbeat重新获取所有event log数据,可以在winlogbeat.exe进程停止运行后删除该目录,再重启即可。

    接下来要解决的问题是如何将采集到的Windows event log数据发送到鸿鹄。这里需要引入Datadog的Vector。Vector作为一款流行的开源数据采集和传输工具,可以灵活地采集不同来源的数据并将其发送到不同的目标。

    我们可以通过Vector的Exec方式来调用Winlogbeat,并将其输出作为数据源。而鸿鹄直接支持从Vector接收数据,把数据流串起来就可以把Windows event log数据导入到鸿鹄里了。

    vector.toml配置文件的模版可以从鸿鹄的外部数据源管理页面里获取到,需要设置必需的目标数据集和数据源类型信息,这里分别是test_winlog和json。下载到的模版内容如下:

    图片

    我们针对Windows event log修改配置文件内容如下:

    图片

    在配置文件中,首先定义了一个名为vector_input_config的数据源,指定type为exec,表示要执行一个外部命令。command参数指定了Winlogbeat的完整命令,其中-c指定了Winlogbeat的配置文件路径,这里是C:\tools\winlogbeat.yml,可根据实际的配置文件位置自行更新。mode为streaming表示输出数据将被实时处理。

    接下来定义了一个名为transform_fields的数据转换,_datatype和_target_table是鸿鹄的元数据,用于指定数据源类型和目标数据集。_host和_source也是鸿鹄的元数据,用于指定数据的host(这里通过函数get_hostname!()(https://vector.dev/docs/reference/vrl/functions/#get_hostname)获取了当前主机名)和source信息。

    最后定义了两个名为honghu和console的输出目标。

    honghu是发送数据到鸿鹄的输出目标,指定了地址和版本号。console是在控制台中输出数据,以便调试使用,调试完毕后可以删除该配置。

    最后,我们只需要运行vector.exe -c vector.toml,一切正常的话数据就会导入到鸿鹄里了。从鸿鹄的查询界面可以看到数据正确地以JSON格式进行了字段提取,方便进一步分析和处理。

    图片

  • 相关阅读:
    java实现解数独的算法
    Linux操作系统与Shell编程
    如何使用iPhone15在办公室观看家里电脑上的4k电影,实现公网访问本地群晖!
    【JavaSE】接口
    生成器和表达式
    强化自主可控,润开鸿发布基于RISC-V架构的开源鸿蒙终端新品
    什么是本质安全?
    【mysql体系结构】InnoDB行格式
    MapStruct,降低无用代码的神器
    HashMap源码详解
  • 原文地址:https://blog.csdn.net/Yhpdata888/article/details/132860878