- 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 做贡献
了解 Filebeat 日志中的指标
编辑了解 Filebeat 日志中的指标
编辑默认情况下,Filebeat 每 30 秒会收集一次关于自身的指标快照。从这个快照中,Filebeat 会计算一个增量快照;这个增量快照包含自上次快照以来发生变化的任何指标。请注意,指标的值是在拍摄快照时的值,不是与上次快照的值的差异。
如果此增量快照包含任何指标(表示自上次快照以来至少有一个指标发生了变化),则此增量快照将序列化为 JSON,并在 Filebeat 的日志中以 INFO
日志级别发出。大多数快照字段报告自上次快照以来指标的变化,但是一些字段是计量表,它始终报告当前值。以下是此类日志条目的示例:
{"log.level":"info","@timestamp":"2023-07-14T12:50:36.811Z","log.logger":"monitoring","log.origin":{"file.name":"log/log.go","file.line":187},"message":"Non-zero metrics in the last 30s","service.name":"filebeat","monitoring":{"metrics":{"beat":{"cgroup":{"memory":{"mem":{"usage":{"bytes":0}}}},"cpu":{"system":{"ticks":692690,"time":{"ms":60}},"total":{"ticks":3167250,"time":{"ms":150},"value":3167250},"user":{"ticks":2474560,"time":{"ms":90}}},"handles":{"limit":{"hard":1048576,"soft":1048576},"open":32},"info":{"ephemeral_id":"2bab8688-34c0-4522-80af-db86948d547d","uptime":{"ms":617670096},"version":"8.6.2"},"memstats":{"gc_next":57189272,"memory_alloc":43589824,"memory_total":275281335792,"rss":183574528},"runtime":{"goroutines":212}},"filebeat":{"events":{"active":5,"added":52,"done":49},"harvester":{"open_files":6,"running":6,"started":1}},"libbeat":{"config":{"module":{"running":15}},"output":{"events":{"acked":48,"active":0,"batches":6,"total":48},"read":{"bytes":210},"write":{"bytes":26923}},"pipeline":{"clients":15,"events":{"active":5,"filtered":1,"published":51,"total":52},"queue":{"max_events":3500,"filled":{"events":5,"bytes":6425,"pct":0.0014},"added":{"events":52,"bytes":65702},"consumed":{"events":52,"bytes":65702},"removed":{"events":48,"bytes":59277},"acked":48}}},"registrar":{"states":{"current":14,"update":49},"writes":{"success":6,"total":6}},"system":{"load":{"1":0.91,"15":0.37,"5":0.4,"norm":{"1":0.1138,"15":0.0463,"5":0.05}}}},"ecs.version":"1.6.0"}}
详细信息
编辑关注 .monitoring.metrics
字段,并将 JSON 格式化,它的值是
{ "beat": { "cgroup": { "memory": { "mem": { "usage": { "bytes": 0 } } } }, "cpu": { "system": { "ticks": 692690, "time": { "ms": 60 } }, "total": { "ticks": 3167250, "time": { "ms": 150 }, "value": 3167250 }, "user": { "ticks": 2474560, "time": { "ms": 90 } } }, "handles": { "limit": { "hard": 1048576, "soft": 1048576 }, "open": 32 }, "info": { "ephemeral_id": "2bab8688-34c0-4522-80af-db86948d547d", "uptime": { "ms": 617670096 }, "version": "8.6.2" }, "memstats": { "gc_next": 57189272, "memory_alloc": 43589824, "memory_total": 275281335792, "rss": 183574528 }, "runtime": { "goroutines": 212 } }, "filebeat": { "events": { "active": 5, "added": 52, "done": 49 }, "harvester": { "open_files": 6, "running": 6, "started": 1 } }, "libbeat": { "config": { "module": { "running": 15 } }, "output": { "events": { "acked": 48, "active": 0, "batches": 6, "total": 48 }, "read": { "bytes": 210 }, "write": { "bytes": 26923 } }, "pipeline": { "clients": 15, "events": { "active": 5, "filtered": 1, "published": 51, "total": 52 }, "queue": { "max_events": 3500, "filled": { "events": 5, "bytes": 6425, "pct": 0.0014 }, "added": { "events": 52, "bytes": 65702 }, "consumed": { "events": 52, "bytes": 65702 }, "removed": { "events": 48, "bytes": 59277 }, "acked": 48 } } }, "registrar": { "states": { "current": 14, "update": 49 }, "writes": { "success": 6, "total": 6 } }, "system": { "load": { "1": 0.91, "15": 0.37, "5": 0.4, "norm": { "1": 0.1138, "15": 0.0463, "5": 0.05 } } } }
下表解释了 .monitoring.metrics
下最重要字段的含义,并提供可能有助于排查 Filebeat 问题的提示。
字段路径(相对于 .monitoring.metrics ) |
类型 | 含义 | 问题排查提示 |
---|---|---|---|
|
对象 |
所有 Beats 共有的信息,例如版本、goroutine、文件句柄、CPU、内存 |
|
|
对象 |
关于发布者管道和输出的信息,也是所有 Beats 共有的 |
|
|
对象 |
Filebeat 特有的信息,例如收割器、事件 |
字段路径(相对于 .monitoring.metrics.beat ) |
类型 | 含义 | 问题排查提示 |
---|---|---|---|
|
整数 |
正在运行的 goroutine 数量 |
如果此数字随着时间推移而增长,则表示存在 goroutine 泄漏 |
字段路径(相对于 .monitoring.metrics.libbeat ) |
类型 | 含义 | 问题排查提示 |
---|---|---|---|
|
整数 |
当前位于 libbeat 发布者管道中的事件数。 |
如果此数字随着时间推移而增长,则可能表示 Filebeat 生成事件的速度快于输出消耗它们的速度。考虑增加输出工作者的数量(如果输出支持此设置;Elasticsearch 和 Logstash 输出支持此设置)。管道包括当前正在处理的事件以及队列中的事件。因此,此指标有时最终会略高于队列大小。如果此指标达到最大队列大小(内存队列的 |
|
整数 |
当前正在由输出处理的事件数。 |
如果此数字随着时间推移而增长,则可能表示输出目标(例如 Logstash 管道或 Elasticsearch 集群)无法以与 Filebeat 发送给它的速度相同或更快的速度接收事件。 |
|
整数 |
输出目标确认的事件数。 |
通常,我们希望此数字与 |
|
整数 |
Filebeat 尝试发送到输出目标,但目标未能接收到的事件数。 |
通常,我们希望此字段不存在或其值为零。当值大于零时,最好检查此日志条目的 |
|
整数 |
Filebeat 由于永久性(不可重试)错误而放弃发送到输出目标的事件数。 |
|
整数 |
Filebeat 在主要索引中摄取失败后,成功发送到配置的死信索引的事件数。 |
|
对象 |
字段路径(相对于 .monitoring.metrics.libbeat.pipeline ) |
类型 | 含义 | 问题排查提示 |
---|---|---|---|
|
整数(计量表) |
如果队列有最大事件计数,则为该值;否则为零。 |
|
整数(计量表) |
如果队列有最大字节计数,则为该值;否则为零。 |
|
整数(计量表) |
当前由队列存储的事件数。 |
|
整数(计量表) |
|
当前由队列存储的字节数。 |
|
浮点数(计量表) |
|
队列相对于其最大大小的已满程度,范围从 0 到 1 的分数。 |
当 |
|
整数 |
输入工作者添加到队列的事件数。 |
|
整数 |
|
输入工作者添加到队列的字节数。 |
|
整数 |
|
发送到输出工作者的事件数。 |
|
整数 |
|
发送到输出工作者的字节数。 |
|
整数 |
|
输出工作者处理后从队列中删除的事件数。 |
|
整数 |
使用内存队列时,仅当输出支持时才会设置字节指标。目前只有 Elasticsearch 输出支持字节指标。
字段路径(相对于 .monitoring.metrics.filebeat ) |
类型 | 含义 | 问题排查提示 |
---|---|---|---|
|
整数 |
Filebeat 正在积极处理的事件数(包括 Filebeat 已发送到 libbeat 发布者管道的事件,但不包括管道已发送到输出的事件)。 |
如果此数字随着时间推移而增长,则可能表示 Filebeat 输入正在以太快的速度收割事件,导致管道和输出无法跟上。 |
有用命令
编辑从非结构化 Filebeat 日志中解析监控指标
编辑对于发出非结构化日志的 Filebeat 版本,可以使用以下脚本从这些日志中解析监控指标:https://github.com/elastic/beats/blob/main/script/metrics_from_log_file.sh。
检查 Filebeat 是否正在处理事件
编辑$ cat beat.log | jq -r '[.["@timestamp"],.monitoring.metrics.filebeat.events.active,.monitoring.metrics.libbeat.pipeline.events.active,.monitoring.metrics.libbeat.output.events.total,.monitoring.metrics.libbeat.output.events.acked,.monitoring.metrics.libbeat.output.events.failed//0] | @tsv' | sort
示例输出
2023-07-14T11:24:36.811Z 1 1 38033 38033 0 2023-07-14T11:25:06.811Z 1 1 17 17 0 2023-07-14T11:25:36.812Z 1 1 16 16 0 2023-07-14T11:26:06.811Z 1 1 17 17 0 2023-07-14T11:26:36.811Z 2 2 21 21 0 2023-07-14T11:27:06.812Z 1 1 18 18 0 2023-07-14T11:27:36.811Z 1 1 17 17 0 2023-07-14T11:28:06.811Z 1 1 18 18 0 2023-07-14T11:28:36.811Z 1 1 16 16 0 2023-07-14T11:37:06.811Z 1 1 270 270 0 2023-07-14T11:37:36.811Z 1 1 16 16 0 2023-07-14T11:38:06.811Z 1 1 17 17 0 2023-07-14T11:38:36.811Z 1 1 16 16 0 2023-07-14T11:41:36.811Z 3 3 323 323 0 2023-07-14T11:42:06.811Z 3 3 17 17 0 2023-07-14T11:42:36.812Z 4 4 18 18 0 2023-07-14T11:43:06.811Z 4 4 17 17 0 2023-07-14T11:43:36.811Z 2 2 17 17 0 2023-07-14T11:47:06.811Z 0 0 117 117 0 2023-07-14T11:47:36.811Z 2 2 14 14 0 2023-07-14T11:48:06.811Z 3 3 17 17 0 2023-07-14T11:48:36.811Z 2 2 17 17 0 2023-07-14T12:49:36.811Z 3 3 2008 1960 48 2023-07-14T12:50:06.812Z 2 2 18 18 0 2023-07-14T12:50:36.811Z 5 5 48 48 0
此处的列为
-
.@timestamp
-
.monitoring.metrics.filebeat.events.active
-
.monitoring.metrics.libbeat.pipeline.events.active
-
.monitoring.metrics.libbeat.output.events.total
-
.monitoring.metrics.libbeat.output.events.acked
-
.monitoring.metrics.libbeat.output.events.failed