自定义 Windows ETW 包
编辑自定义 Windows ETW 包
编辑自定义 Windows ETW (Windows 事件跟踪) 包允许您从任何可用的 ETW 提供程序中采集事件。可以通过在任何 Windows 命令行界面中运行 logman query providers
来列出提供程序。
此集成当前支持基于清单的、用户模式 MOF(经典)和 TraceLogging 提供程序,而 WPP 提供程序不受支持。您可以在 此处
找到有关可用提供程序类型的更多信息。
它在 Filebeat
支持的每个 Windows 版本中都受支持,从 Windows 10 和 Windows Server 2016 开始。
此包不包含任何采集管道,因此开箱即用不会应用任何预采集数据处理。可以通过 Kibana UI 添加自定义采集管道,以获得所需格式的数据。
配置
编辑此集成可以通过三种不同的方式与 ETW 交互:它可以创建一个新会话来捕获用户模式提供程序的事件,附加到现有会话以收集正在进行的事件数据,或从预先录制的 .etl 文件中读取事件。因此,在配置集成时,有三个参数是互斥的,但必须至少设置一个参数:Provider(名称或 GUID)、File 和 Session。
事件跟踪级别可以指定为 critical
、error
、warning
、information
或 verbose
。系统将采集与指定的跟踪级别相对应或在严重性方面超过它的事件。
可以使用带有 Match Any Keyword
或 Match All Keyword
参数的事件掩码来筛选事件。Match Any Keyword
参数指定一个 64 位位掩码,如果此位掩码中设置的任何位与事件属性中设置的任何关键字位匹配,则会采集事件,从而允许基于多个条件广泛选择事件。相反,Match All Keyword
参数要求其 64 位位掩码中设置的所有位都与事件的关键字位相匹配,才能采集事件。这两个字段的正确格式都是 0x
,后跟一个 16 个字符的十六进制数字。
此处可以阅读有关这些参数的更多信息。
有关输入的完整文档,请访问 此处,其中包括有关如何配置它的更多示例。
字段映射
编辑除了下面指定的字段外,此集成还包括 ECS 动态模板。任何遵循 ECS 架构的字段都将获得正确的索引字段映射,无需手动添加。
导出的字段
字段 | 描述 | 类型 |
---|---|---|
@timestamp |
事件时间戳。 |
日期 |
cloud.account.id |
用于在多租户环境中标识不同实体的云帐户或组织 ID。示例:AWS 帐户 ID、Google Cloud ORG ID 或其他唯一标识符。 |
关键字 |
cloud.availability_zone |
此主机运行所在的可用区。 |
关键字 |
cloud.image.id |
云实例的映像 ID。 |
关键字 |
cloud.instance.id |
主机的主机实例 ID。 |
关键字 |
cloud.instance.name |
主机的主机实例名称。 |
关键字 |
cloud.machine.type |
主机的主机类型。 |
关键字 |
cloud.project.id |
Google Cloud 中项目的名称。 |
关键字 |
cloud.provider |
云提供商的名称。示例值包括 aws、azure、gcp 或 digitalocean。 |
关键字 |
cloud.region |
此主机运行所在的区域。 |
关键字 |
container.id |
唯一容器 ID。 |
关键字 |
container.image.name |
构建容器所基于的映像名称。 |
关键字 |
container.labels |
映像标签。 |
对象 |
container.name |
容器名称。 |
关键字 |
data_stream.dataset |
数据流数据集。 |
常量关键字 |
data_stream.namespace |
数据流命名空间。 |
常量关键字 |
data_stream.type |
数据流类型。 |
常量关键字 |
ecs.version |
此事件遵循的 ECS 版本。 |
关键字 |
event.category |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的第二层。 |
关键字 |
event.code |
此事件的标识代码(如果存在)。一些事件源使用事件代码来明确标识消息,而不管消息语言或随着时间的推移进行的措辞调整。一个例子是 Windows 事件 ID。 |
关键字 |
event.created |
|
日期 |
event.dataset |
事件数据集。 |
常量关键字 |
event.kind |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的最高级别。 |
关键字 |
event.module |
事件模块。 |
常量关键字 |
event.original |
整个事件的原始文本消息。用于证明日志完整性,或在可能需要完整的日志消息(在将其拆分为多个部分之前)时使用,例如,用于重新索引。此字段未编制索引,并且禁用 doc_values。它无法搜索,但可以从 |
关键字 |
event.provider |
事件的来源。事件传输(例如 Syslog 或 Windows 事件日志)通常会提及事件的来源。它可以是生成事件的软件名称(例如 Sysmon、httpd)或操作系统子系统(内核、Microsoft-Windows-Security-Auditing)。 |
关键字 |
event.severity |
根据事件源,事件的数值严重性。不同严重性值的含义在不同来源和用例之间可能有所不同。实施者有责任确保来自同一来源的事件的严重性保持一致。Syslog 严重性属于 |
长整数 |
event.type |
这是四个 ECS 分类字段之一,指示 ECS 类别层次结构中的第三层。 |
关键字 |
host.architecture |
操作系统架构。 |
关键字 |
host.containerized |
如果主机是容器。 |
布尔值 |
host.domain |
主机所属域的名称。例如,在 Windows 上,这可以是主机的 Active Directory 域或 NetBIOS 域名。对于 Linux,这可以是主机 LDAP 提供程序的域。 |
关键字 |
host.hostname |
主机的 hostname。它通常包含主机上 |
关键字 |
host.id |
唯一主机 ID。由于主机名并非始终唯一,因此请使用在您的环境中具有意义的值。示例:当前 |
关键字 |
host.ip |
主机 IP 地址。 |
IP |
host.mac |
主机 MAC 地址。 |
关键字 |
host.name |
主机的名称。它可以包含 Unix 系统上 |
关键字 |
host.os.build |
操作系统版本信息。 |
关键字 |
host.os.codename |
操作系统代号(如果有)。 |
关键字 |
host.os.family |
操作系统系列(例如 redhat、debian、freebsd、windows)。 |
关键字 |
host.os.kernel |
操作系统内核版本(作为原始字符串)。 |
关键字 |
host.os.name |
操作系统名称,不带版本。 |
关键字 |
host.os.name.text |
|
文本 |
host.os.platform |
操作系统平台(例如 centos、ubuntu、windows)。 |
关键字 |
host.os.version |
操作系统版本(作为原始字符串)。 |
关键字 |
host.type |
主机类型。对于云提供商,这可以是机器类型,如 |
关键字 |
input.type |
输入类型。 |
关键字 |
log.file.path |
此事件来源的日志文件的完整路径,包括文件名。应包含驱动器盘符(如果适用)。如果事件不是从日志文件读取的,则不应填充此字段。 |
关键字 |
log.level |
日志事件的原始日志级别。如果事件的来源提供日志级别或文本严重性,则此级别将放入 |
关键字 |
tags |
用于标记每个事件的关键字列表。 |
关键字 |
winlog.activity_guid |
一个全局唯一标识符,用于标识当前活动。使用此标识符发布的事件是同一活动的一部分。 从 8.14.0 版本开始,不推荐使用,改为使用 |
关键字 |
winlog.activity_id |
一个全局唯一标识符,用于标识当前活动。使用此标识符发布的事件是同一活动的一部分。 |
关键字 |
winlog.channel |
用于启用特殊事件处理。小于 16 的通道值保留供 Microsoft 使用,以启用 ETW 运行时的特殊处理。ETW 运行时将忽略 16 及以上的通道值(与通道 0 的处理方式相同),并且可以赋予用户定义的语义。 |
关键字 |
winlog.event_data |
特定于事件的数据。此对象的内容特定于任何提供程序和事件。 |
对象 |
winlog.event_data.Address |
关键字 |
|
winlog.event_data.AddressLength |
关键字 |
|
winlog.event_data.DynamicAddress |
关键字 |
|
winlog.event_data.Index |
关键字 |
|
winlog.event_data.Interface |
关键字 |
|
winlog.event_data.TotalServerCount |
关键字 |
|
winlog.flags |
提供有关事件的信息的标志,例如记录事件的会话类型以及事件是否包含扩展数据。 |
关键字 |
winlog.keywords |
关键字用于指示事件在事件类别集中的成员资格。 |
关键字 |
winlog.opcode |
事件中定义的操作码。任务和操作码通常用于标识记录事件的应用程序中的位置。 |
关键字 |
winlog.process_id |
标识生成事件的进程。 |
关键字 |
winlog.provider_guid |
一个全局唯一标识符,用于标识记录事件的提供程序。 |
关键字 |
winlog.session |
配置的会话,用于将 ETW 事件从提供程序转发到使用者。 |
关键字 |
winlog.task |
事件中定义的任务。任务和操作码通常用于标识记录事件的应用程序中的位置。 |
关键字 |
winlog.thread_id |
标识生成事件的线程。 |
关键字 |
winlog.version |
指定基于清单的事件的版本。 |
长整数 |
变更日志
编辑变更日志
版本 | 详细信息 | Kibana 版本 |
---|---|---|
0.1.0 |
增强 (查看拉取请求) |
— |