- 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 做贡献
定义处理器
编辑定义处理器
编辑您可以使用处理器在将数据发送到配置的输出之前对其进行过滤和增强。要定义一个处理器,您需要指定处理器名称、一个可选的条件和一组参数。
processors: - <processor_name>: when: <condition> <parameters> - <processor_name>: when: <condition> <parameters> ...
其中
更复杂的条件处理可以使用 if-then-else 处理器配置来实现。这允许基于单个条件执行多个处理器。
processors: - if: <condition> then: - <processor_name>: <parameters> - <processor_name>: <parameters> ... else: - <processor_name>: <parameters> - <processor_name>: <parameters> ...
处理器在何处有效?
编辑处理器在以下位置有效:
- 在配置的顶层。该处理器应用于 Filebeat 收集的所有数据。
-
在特定的输入下。该处理器应用于为该输入收集的数据。
- type: <input_type> processors: - <processor_name>: when: <condition> <parameters> ...
同样,对于 Filebeat 模块,您可以在模块定义的
input
部分下定义处理器。
处理器
编辑支持的处理器有:
-
add_cloud_metadata
-
add_cloudfoundry_metadata
-
add_docker_metadata
-
add_fields
-
add_host_metadata
-
add_id
-
add_kubernetes_metadata
-
add_labels
-
add_locale
-
add_nomad_metadata
-
add_observer_metadata
-
add_process_metadata
-
add_tags
-
append
-
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
条件
编辑每个条件都会接收一个要比较的字段。您可以使用字段之间的 AND
在同一条件下指定多个字段(例如,field1 AND field2
)。
对于每个字段,您可以指定一个简单的字段名称或一个嵌套的映射,例如 dns.question.name
。
请参阅导出的字段以获取 Filebeat 导出的所有字段的列表。
支持的条件有:
equals
编辑使用 equals
条件,您可以比较字段是否具有特定值。该条件仅接受整数或字符串值。
例如,以下条件检查 HTTP 事务的响应代码是否为 200
equals: http.response.code: 200
contains
编辑contains
条件检查一个值是否是字段的一部分。该字段可以是字符串或字符串数组。该条件仅接受字符串值。
例如,以下条件检查错误是否是事务状态的一部分
contains: status: "Specific error"
regexp
编辑regexp
条件根据正则表达式检查字段。该条件仅接受字符串。
例如,以下条件检查进程名称是否以 foo
开头
regexp: system.process.name: "^foo.*"
range
编辑range
条件检查字段是否在某个值范围内。该条件支持 lt
、lte
、gt
和 gte
。该条件仅接受可以转换为这些值的整数、浮点数或字符串值。
例如,以下条件通过将 http.response.code
字段与 400 进行比较来检查失败的 HTTP 事务。
range: http.response.code: gte: 400
这也可以写成:
range: http.response.code.gte: 400
以下条件检查 CPU 使用率(以百分比表示)的值是否介于 0.5 和 0.8 之间。
range: system.cpu.user.pct.gte: 0.5 system.cpu.user.pct.lt: 0.8
network
编辑network
条件检查字段是否在特定的 IP 网络范围内。支持 IPv4 和 IPv6 地址。可以使用 CIDR 表示法指定网络范围,例如 “192.0.2.0/24” 或 “2001:db8::/32”,或者通过使用这些命名范围之一来指定:
-
loopback
- 匹配127.0.0.0/8
或::1/128
范围内的环回地址。 -
unicast
- 匹配 RFC 1122、RFC 4632 和 RFC 4291 中定义的全局单播地址,但 IPv4 广播地址 (255.255.255.255
) 除外。这包括私有地址范围。 -
multicast
- 匹配多播地址。 -
interface_local_multicast
- 匹配 IPv6 接口本地多播地址。 -
link_local_unicast
- 匹配链路本地单播地址。 -
link_local_multicast
- 匹配链路本地多播地址。 -
private
- 匹配 RFC 1918 (IPv4) 和 RFC 4193 (IPv6) 中定义的私有地址范围。 -
public
- 匹配不是环回地址、未指定地址、IPv4 广播地址、链路本地单播地址、链路本地多播地址、接口本地多播地址或私有地址的地址。 -
unspecified
- 匹配未指定的地址(IPv4 地址 "0.0.0.0" 或 IPv6 地址 "::")。
如果 source.ip
值在私有地址空间内,则以下条件返回 true。
network: source.ip: private
如果 destination.ip
值在 192.168.1.0
- 192.168.1.255
的 IPv4 范围内,则此条件返回 true。
network: destination.ip: '192.168.1.0/24'
当 destination.ip
在给定子网中的任何一个时,此条件返回 true。
network: destination.ip: ['192.168.1.0/24', '10.0.0.0/8', loopback]
has_fields
编辑has_fields
条件检查所有给定字段是否存在于事件中。该条件接受表示字段名称的字符串值列表。
例如,以下条件检查事件中是否存在 http.response.code
字段。
has_fields: ['http.response.code']
or
编辑or
运算符接收条件列表。
or: - <condition1> - <condition2> - <condition3> ...
例如,要配置条件 http.response.code = 304 OR http.response.code = 404
or: - equals: http.response.code: 304 - equals: http.response.code: 404
and
编辑and
运算符接收条件列表。
and: - <condition1> - <condition2> - <condition3> ...
例如,要配置条件 http.response.code = 200 AND status = OK
and: - equals: http.response.code: 200 - equals: status: OK
要配置类似 <condition1> OR <condition2> AND <condition3>
的条件
or: - <condition1> - and: - <condition2> - <condition3>
not
编辑not
运算符接收要取反的条件。
not: <condition>
例如,要配置条件 NOT status = OK
not: equals: status: OK