- Filebeat 参考其他版本
- Filebeat 概述
- 快速入门:安装和配置
- 设置和运行
- 升级
- Filebeat 的工作原理
- 配置
- 输入
- 模块
- 通用设置
- 项目路径
- 配置文件加载
- 输出
- Kerberos
- SSL
- 索引生命周期管理 (ILM)
- Elasticsearch 索引模板
- Kibana 端点
- Kibana 仪表板
- 处理器
- 定义处理器
- add_cloud_metadata
- add_cloudfoundry_metadata
- add_docker_metadata
- add_fields
- add_host_metadata
- add_id
- add_kubernetes_metadata
- add_labels
- add_locale
- add_network_direction
- add_nomad_metadata
- add_observer_metadata
- add_process_metadata
- add_tags
- append
- cache
- community_id
- convert
- copy_fields
- decode_base64_field
- decode_cef
- decode_csv_fields
- decode_duration
- decode_json_fields
- decode_xml
- decode_xml_wineventlog
- decompress_gzip_field
- detect_mime_type
- dissect
- dns
- drop_event
- drop_fields
- extract_array
- fingerprint
- include_fields
- move_fields
- parse_aws_vpc_flow_log
- rate_limit
- registered_domain
- rename
- replace
- script
- syslog
- timestamp
- translate_ldap_attribute
- translate_sid
- truncate_fields
- urldecode
- 自动发现
- 内部队列
- 日志记录
- HTTP 端点
- 正则表达式支持
- 检测
- 功能标志
- filebeat.reference.yml
- 操作指南
- 模块
- 模块概述
- ActiveMQ 模块
- Apache 模块
- Auditd 模块
- AWS 模块
- AWS Fargate 模块
- Azure 模块
- CEF 模块
- Check Point 模块
- Cisco 模块
- CoreDNS 模块
- CrowdStrike 模块
- Cyberark PAS 模块
- Elasticsearch 模块
- Envoyproxy 模块
- Fortinet 模块
- Google Cloud 模块
- Google Workspace 模块
- HAproxy 模块
- IBM MQ 模块
- Icinga 模块
- IIS 模块
- Iptables 模块
- Juniper 模块
- Kafka 模块
- Kibana 模块
- Logstash 模块
- Microsoft 模块
- MISP 模块
- MongoDB 模块
- MSSQL 模块
- MySQL 模块
- MySQL Enterprise 模块
- NATS 模块
- NetFlow 模块
- Nginx 模块
- Office 365 模块
- Okta 模块
- Oracle 模块
- Osquery 模块
- Palo Alto Networks 模块
- pensando 模块
- PostgreSQL 模块
- RabbitMQ 模块
- Redis 模块
- Salesforce 模块
- Santa 模块
- Snyk 模块
- Sophos 模块
- Suricata 模块
- System 模块
- Threat Intel 模块
- Traefik 模块
- Zeek (Bro) 模块
- ZooKeeper 模块
- Zoom 模块
- 导出的字段
- ActiveMQ 字段
- Apache 字段
- Auditd 字段
- AWS 字段
- AWS CloudWatch 字段
- AWS Fargate 字段
- Azure 字段
- Beat 字段
- 解码 CEF 处理器字段
- CEF 字段
- Checkpoint 字段
- Cisco 字段
- 云提供商元数据字段
- Coredns 字段
- Crowdstrike 字段
- CyberArk PAS 字段
- Docker 字段
- ECS 字段
- Elasticsearch 字段
- Envoyproxy 字段
- Fortinet 字段
- Google Cloud Platform (GCP) 字段
- google_workspace 字段
- HAProxy 字段
- 主机字段
- ibmmq 字段
- Icinga 字段
- IIS 字段
- iptables 字段
- Jolokia Discovery 自动发现提供程序字段
- Juniper JUNOS 字段
- Kafka 字段
- kibana 字段
- Kubernetes 字段
- 日志文件内容字段
- logstash 字段
- Lumberjack 字段
- Microsoft 字段
- MISP 字段
- mongodb 字段
- mssql 字段
- MySQL 字段
- MySQL Enterprise 字段
- NATS 字段
- NetFlow 字段
- Nginx 字段
- Office 365 字段
- Okta 字段
- Oracle 字段
- Osquery 字段
- panw 字段
- Pensando 字段
- PostgreSQL 字段
- 进程字段
- RabbitMQ 字段
- Redis 字段
- s3 字段
- Salesforce 字段
- Google Santa 字段
- Snyk 字段
- sophos 字段
- Suricata 字段
- System 字段
- threatintel 字段
- Traefik 字段
- Windows ETW 字段
- Zeek 字段
- ZooKeeper 字段
- Zoom 字段
- 监控
- 安全
- 故障排除
- 获取帮助
- 调试
- 了解记录的指标
- 常见问题
- 在使用 Kubernetes 元数据时提取容器 ID 时出错
- 无法从网络卷读取日志文件
- Filebeat 未从文件中收集行
- 打开的文件句柄过多
- 注册表文件太大
- Inode 重用导致 Filebeat 跳过行
- 日志轮换导致事件丢失或重复
- 打开的文件句柄导致 Windows 文件轮换出现问题
- Filebeat 占用过多 CPU
- Kibana 中的仪表板错误地分解数据字段
- 字段未在 Kibana 可视化中编制索引或可用
- Filebeat 未传输文件的最后一行
- Filebeat 长时间保持已删除文件的打开文件句柄
- Filebeat 使用过多带宽
- 加载配置文件时出错
- 发现意外或未知字符
- Logstash 连接不起作用
- 发布到 Logstash 失败,并显示“connection reset by peer”消息
- @metadata 在 Logstash 中丢失
- 不确定是使用 Logstash 还是 Beats
- SSL 客户端无法连接到 Logstash
- 监控 UI 显示的 Beats 比预期的少
- 仪表板无法定位索引模式
- 由于 MADV 设置导致高 RSS 内存使用率
- 为 Beats 做贡献
ETW 输入
编辑ETW 输入
编辑Windows 事件跟踪 (ETW) 是 Windows 操作系统内置的强大日志记录和跟踪机制。它提供了应用程序和系统行为、性能问题和运行时诊断的详细视图。跟踪事件包含事件头和提供程序定义的数据,用于描述应用程序或操作的当前状态。您可以使用这些事件来调试应用程序并执行容量和性能分析。
ETW 输入可以通过三种不同的方式与 ETW 交互:它可以创建一个新会话来捕获来自用户模式提供程序的事件,附加到现有会话以收集正在进行的事件数据,或者从预先录制的 .etl 文件中读取事件。此功能使模块能够适应不同的场景,例如实时事件监控或分析历史数据。
此输入当前支持基于清单、MOF(经典)和 TraceLogging 提供程序,而不支持 WPP 提供程序。在此处 可以找到有关可用提供程序类型的更多信息。
它已在 Filebeat 支持的 Windows 版本中进行了测试,从 Windows 10 和 Windows Server 2016 开始。此外,控制事件跟踪会话需要管理员权限。
配置示例
按名称从提供程序读取
filebeat.inputs: - type: etw id: etw-dnsserver enabled: true provider.name: Microsoft-Windows-DNSServer session_name: DNSServer-Analytical trace_level: verbose match_any_keyword: 0x8000000000000000 match_all_keyword: 0
按其 GUID 从提供程序读取
filebeat.inputs: - type: etw id: etw-dnsserver enabled: true provider.guid: {EB79061A-A566-4698-9119-3ED2807060E7} session_name: DNSServer-Analytical trace_level: verbose match_any_keyword: 0x8000000000000000 match_all_keyword: 0
从现有会话读取
filebeat.inputs: - type: etw enabled: true id: etw-dnsserver-session session: UAL_Usermode_Provider
从 .etl 文件读取
filebeat.inputs: - type: etw enabled: true id: etw-dnsserver-session file: "C\Windows\System32\Winevt\Logs\Logfile.etl"
上面显示的示例是互斥的,选项 provider.name
、provider.guid
、session
和 file
不能同时存在。然而,它们之中必须有一个存在。
多个提供程序示例
filebeat.inputs: - type: etw id: etw-dnsserver enabled: true provider.name: Microsoft-Windows-DNSServer session_name: DNSServer-Analytical trace_level: verbose match_any_keyword: 0xffffffffffffffff match_all_keyword: 0 - type: etw id: etw-security enabled: true provider.name: Microsoft-Windows-Security-Auditing session_name: Security-Auditing trace_level: warning match_any_keyword: 0xfffffffffffffff match_all_keyword: 0
配置选项
编辑etw
输入支持以下配置选项以及稍后描述的 通用选项。
file
编辑指定用于读取 ETW 事件的 .etl 文件的路径。此文件格式通常用于存储 ETW 事件日志。
provider.guid
编辑标识 ETW 提供程序的 GUID。要查看可用的提供程序,请使用命令 logman query providers
。
provider.name
编辑指定 ETW 提供程序的名称。可以使用 logman query providers
列出可用的提供程序。
session_name
编辑指定提供程序时,将创建一个新会话。这将控制它将创建的新 ETW 会话的名称。如果未指定,则会话将使用以 Elastic- 为前缀的提供程序 ID 命名。
trace_level
编辑根据严重性定义事件的筛选级别。有效选项包括 critical、error、warning、information 和 verbose。
match_any_keyword
编辑一个 8 字节的位掩码,用于根据关键字匹配筛选来自特定提供程序子组件的事件。任何匹配的关键字都将允许写入该事件。默认值为 0xffffffffffffffff
,因此它匹配每个可用的关键字。
运行 logman query providers "<provider.name>"
以列出特定提供程序的可用关键字。
match_all_keyword
编辑与 MatchAnyKeyword 类似,此 8 字节位掩码筛选与所有指定的关键字位匹配的事件。默认值为 0
以允许每个事件通过。
运行 logman query providers "<provider.name>"
以列出特定提供程序的可用关键字。
session
编辑命名要从中读取的现有 ETW 会话。可以使用 logman query -ets
列出现有会话。
通用选项
编辑所有输入都支持以下配置选项。
enabled
编辑使用 enabled
选项启用和禁用输入。默认情况下,enabled 设置为 true。
tags
编辑Filebeat 在每个已发布事件的 tags
字段中包含的标签列表。标签可以轻松地在 Kibana 中选择特定事件或在 Logstash 中应用条件筛选。这些标签将附加到常规配置中指定的标签列表中。
示例
filebeat.inputs: - type: etw . . . tags: ["json"]
fields
编辑您可以指定的用于向输出添加附加信息的可选字段。例如,您可能添加可用于筛选日志数据的字段。字段可以是标量值、数组、字典或这些值的任何嵌套组合。默认情况下,您在此处指定的字段将分组在输出文档中的 fields
子字典下。要将自定义字段存储为顶级字段,请将 fields_under_root
选项设置为 true。如果在常规配置中声明了重复的字段,则其值将被此处声明的值覆盖。
filebeat.inputs: - type: etw . . . fields: app_id: query_engine_12
fields_under_root
编辑如果此选项设置为 true,则自定义 字段 将作为输出文档中的顶级字段存储,而不是分组在 fields
子字典下。如果自定义字段名称与 Filebeat 添加的其他字段名称冲突,则自定义字段将覆盖其他字段。
processors
编辑要应用于输入数据的处理器列表。
有关在配置中指定处理器的信息,请参阅 处理器。
pipeline
编辑为此输入生成的事件设置的摄取管道 ID。
管道 ID 也可以在 Elasticsearch 输出中配置,但此选项通常会产生更简单的配置文件。如果管道在输入和输出中都配置了,则使用输入中的选项。
keep_null
编辑如果此选项设置为 true,则具有 null
值的字段将发布在输出文档中。默认情况下,keep_null
设置为 false
。
index
编辑如果存在,此格式化的字符串会覆盖来自此输入的事件的索引(对于 elasticsearch 输出),或者设置事件元数据的 raw_index
字段(对于其他输出)。此字符串只能引用代理名称和版本以及事件时间戳;要访问动态字段,请使用 output.elasticsearch.index
或处理器。
示例值:"%{[agent.name]}-myindex-%{+yyyy.MM.dd}"
可能会扩展为 "filebeat-myindex-2019.11.01"
。
publisher_pipeline.disable_host
编辑默认情况下,所有事件都包含 host.name
。可以将此选项设置为 true
以禁用将此字段添加到所有事件。默认值为 false
。
指标
编辑此输入在 HTTP 监视端点下公开指标。这些指标在 /inputs/
路径下公开。它们可用于观察输入的活动。
您必须为输入分配唯一的 id
才能公开指标。
指标 | 描述 |
---|---|
|
ETW 会话的名称。 |
|
接收到的事件总数。 |
|
丢弃的事件总数。 |
|
错误总数。 |
|
带时间戳的事件创建和读取之间差异的直方图。 |
|
事件通知回调之间经过的时间的直方图。 |
|
事件通知回调和发布到内部队列之间经过的时间的直方图。 |
直方图指标在之前的 1024 个事件中进行聚合。
On this page