Filebeat写ElasticSearch故障排查思路(上) - 教程

news/2025/9/30 10:58:01/文章来源:https://www.cnblogs.com/ljbguanli/p/19120204

Filebeat写ElasticSearch故障排查思路(上) - 教程

#作者:程宏斌

文章目录

  • 一、现象确认
    • (一)是完全写不进去,还是写入变慢?
      • 1.1.1 完全写不进去的问题现象:
      • 1.1.2 写入变慢问题现象:
    • (二)是所有日志文件都受影响,还是部分路径/采集源有问题?
      • 1.2.1 检查配置文件中input是否正确
      • 1.2.2 查看Filebeat的harvester状态(是否正常采集各文件)
      • 1.2.3 临时人工追加日志,测试是否被采集
  • 二、网络与资源排查
    • (一)Filebeat节点排查
      • 2.1.1 排查容器资源
  • kubectl top pod -n <namespace> | grep filebeat
      • 2.1.2 排查宿主机资源瓶颈
    • (二)ElasticSearch节点排查
      • 2.2.1 磁盘I/O是否饱和
      • 2.2.2 线程池是否阻塞(写入慢核心指标)
  • curl -XGET "http://<es_host>:9200/_nodes/stats/thread_pool?pretty"
      • 2.2.3 GC是否频繁导致停顿
      • 2.2.4 节点是否压力过高(负载)
      • 2.2.5 Heap使用是否接近上限(影响GC)
    • (三)排查网络链路
      • 2.3.1 使用ping检查基本连通性或网络抖动
      • 2.3.2 使用telnet或nc检查端口可达性(连通性)
      • 2.3.3 使用mtr或traceroute诊断链路质量
  • mtr -rwzbc 100 <es_host>
      • 2.3.4 Filebeat自身日志观察网络错误

一、现象确认

(一)是完全写不进去,还是写入变慢?

1.1.1 完全写不进去的问题现象:

  1. filebeat.events.added的数值呈现正常增长,filebeat.output.events.acked采集正常,但写入ElasticSearch失败。
  2. Filebeat日志中有大量:connectionre fused、403、429、bulk request failed明确是写入失败。
  3. ElasticSearch中无对应索引、indextemplate未配置、写入报错reject或auth entication denied。
  4. publish_failed、retrying提示频繁确认是完全无法写入。

1.1.2 写入变慢问题现象:

  1. filebeat.events.added和acked都在增加,但增速慢或者正在写,吞吐下降,比如30秒只写了几条,而业务实际每秒几百条,可能写入瓶颈或pipeline堵塞。
  2. Filebeat日志中bulk成功率下降,或出现flushtimeout Output队列堆积,或者es写入慢。
  3. ElasticSearch ingores est pipe line存在处理耗时、mapping冲突,可能是es处理链路问题。
  4. Filebeat CPU/内存占用较高,或pipe line active持续较大,可能是资源瓶颈或处理慢导致发送阻塞。

(二)是所有日志文件都受影响,还是部分路径/采集源有问题?

1.2.1 检查配置文件中input是否正确

filebeat.inputs:
- type:log
enabled:true
paths:
- /var/log/app1/*.log
- /var/log/app2/*.log
  1. 检查是否存在路径拼写错误、权限问题。
  2. 某些路径是否实际没有匹配到文件(可用ls /var/log/app2/*.log验证)。
  3. 若用了exclude_path/ignore_older/multiline,是否误过滤了文件。

1.2.2 查看Filebeat的harvester状态(是否正常采集各文件)

在Filebeat的日志中搜索以下关键词,每30秒有一次统计:

"filebeat":{
"harvester":{
"files":{
"xxx":{
"name":"/var/log/test.log",
"read_offset":80,
"size":80,
"last_event_timestamp":"..."
}
},
"open_files":11,
"running":11,
"started":1
}
}

重点看:

  • 每个文件是否都在列表中(说明都被采集)。
  • read_offset是否在增长(说明该文件有新内容被读取)。
  • 是否有start_time但一直没last_event_timestamp(可能没新日志)。
  • 某些文件不出现,可能是没被采集or被忽略了(看include/exclude)。

1.2.3 临时人工追加日志,测试是否被采集

可对每个配置路径下的日志执行:

echo"test-$(date)">>/var/log/app1.log
echo"test-$(date)">>/var/log/app2.log

然后观察filebeat的metrics日志中是否有对应:

"filebeat.events":{
"added":2,
"done":2
}
"filebeat.output.events.acked":2

或者在目标ElasticSearch中检查是否收到了新的写入。

(三)开始时间点是否明确?是否与版本发布、配置变更、网络波动相关?
1.3.1 ElasticSearch监控(IndexingRate)是否有下降趋势?
可以看到采集量是否在某个时间点突然下降。

1.filebeat日志中是否有突发的error/warning?
kubectl logs -f -nlogging filebeat-name

二、网络与资源排查

(一)Filebeat节点排查

2.1.1 排查容器资源

  1. 是否出现CPU、内存瓶颈(尤其在高并发场景),查看容器资源使用情况

kubectl top pod -n | grep filebeat

  1. 查看容器资源限制
    确认filebeat容器是否设置了资源限制过低

2.1.2 排查宿主机资源瓶颈

  1. top/htop查看实时使用
# top -p $(pgrep -d',' -f filebeat)

或使用htop看CPU核心压力分布

  1. 检查系统总体资源
# free-m       #内存占用情况
# vmstat 15    #CPU、内存、IO使用趋势
# iostat -x 15 #看IO等待时间
  1. 查看filebeat占用
# ps aux | grep filebeat

关注%CPU和%MEM列。

(二)ElasticSearch节点排查

2.2.1 磁盘I/O是否饱和

  1. 是否有磁盘IO饱和、线程池阻塞、GC频繁等异常?通过OS工具排查
# iostat -x 15

%util 磁盘利用率 >80%→IO饱和
await IO请求等待时间(ms) >10ms→可能有磁盘瓶颈
r/s,w/s 读/写次数,持续高说明负载大

  1. ElasticSearch API查看磁盘使用
# curl -XGET "http://:9200/_cat/nodes?v&h=ip,disk.used_percent,disk.avail"

如果磁盘使用率接近85%以上,ElasticSearch会触发disk water mark限流机制,导致写入受阻。

2.2.2 线程池是否阻塞(写入慢核心指标)

使用_nodes/stats/thread_pool查看写入线程池状态:

curl -XGET “http://<es_host>:9200/_nodes/stats/thread_pool?pretty”

重点看这些线程池的状态:write、index、bulk,一旦bulk.rejected持续增长,则filebeat发过来的写入被拒绝了,直接影响写入吞吐。

2.2.3 GC是否频繁导致停顿

  1. # curl -s http://<es_host>:9200/_nodes/stats/jvm?pretty
    重点字段:
jvm.gc.collectors.old.collection_count
jvm.gc.collectors.old.collection_time_in_millis

观察:
是否频繁触发Old GC?
每次Old GC是否耗时较高(>500ms)

  1. 用jstat工具(JVM原生命令):
# jstat -g cutil  1s

频繁Full GC且内存回收率低,可能说明内存设置不合理或内存泄漏。

2.2.4 节点是否压力过高(负载)

# curl -XGET "http://:9200/_nodes/stats/os?pretty"

查看每个节点的load_average是否超过实际CPU核心数。如果负载飙高,也会影响写入。

2.2.5 Heap使用是否接近上限(影响GC)

# curl -XGET http://:9200/_nodes/stats/jvm?pretty

重点关注:

"heap_used_percent":25,
"heap_max_in_bytes":32212254720

Heap使用率接近90%,很可能引发频繁GC,影响吞吐。

(三)排查网络链路

是否有抖动(ping、telnet检查连通性、丢包率)

2.3.1 使用ping检查基本连通性或网络抖动

# ping 

2.3.2 使用telnet或nc检查端口可达性(连通性)

# telnet  9200

# nc -zv  9200

能成功连接说明端口通畅。若连接超时或失败,存在防火墙、ACL或网络故障问题。

2.3.3 使用mtr或traceroute诊断链路质量

使用方法:

mtr -rwzbc 100 <es_host>

分析链路中各跳的延迟、丢包率,是否集中在某一跳,是否网络设备质量不佳。

2.3.4 Filebeat自身日志观察网络错误

查看Filebeat日志中是否有类似如下报错:

  1. connection refused
  2. dial tcp timeout
  3. i/o timeout
  4. failed to publish events: client is not connected
    这些通常意味着网络连接中断、ElasticSearch异常拒绝连接或网络抖动引发重试。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/922726.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

告别 “一刀切” 管理!MyEMS 为不同行业定制专属能源优化方案

在能源管理领域,“一刀切” 的粗放式管理曾是行业普遍痛点 —— 统一的节能指标、相同的管控策略,既无法适配不同行业的能源消耗特性,也难以解决企业个性化的能耗难题。随着 “双碳” 目标推进与企业降本需求升级,…

网站你应该明白我的意思吗二级分销

一、问题 什么是悬空指针&#xff1f;为什么会出现&#xff1f;我们该如何避免悬空指针的出现&#xff1f; 二、解答 在C语言中&#xff0c;悬空指针指的是指向已删除&#xff08;或释放&#xff09;的内存位置的指针。如果一个指针指向的内存被释放&#xff0c;但指针本身并未…

贵阳公司网站建立网站开发费待摊年限

在Android项目中&#xff0c;如果你想在一个Gradle文件中引入另一个Gradle文件&#xff0c;你可以使用apply from语句。以下是一个简单的例子&#xff1a; 假设你有一个通用的Gradle配置脚本common.gradle&#xff0c;它位于项目的根目录下。 common.gradle 文件内容示例&…

网站运营有前途吗设计一个自己的电商网站

Varjo 的新一代头显将世界上最先进的混合现实技术与顶尖的图形处理能力连接起来&#xff0c;满足最高级别的视觉保真度和沉浸感至关重要的工业用例。 光学设计的根本性突破 体验全新的沉浸感。大幅扩展的视野&#xff0c;跨越 120 x 105 度&#xff0c;打破了受人尊敬的“全双眼…

网站建设工作小组推进表怎样才能把网站做好

文章目录 前言1.群晖Synology Drive套件的安装1.1 安装Synology Drive套件1.2 设置Synology Drive套件1.3 局域网内电脑测试和使用 2.使用cpolar远程访问内网Synology Drive2.1 Cpolar云端设置2.2 Cpolar本地设置2.3 测试和使用 3. 结语 前言 群晖作为专业的数据存储中心&…

东莞制作网站公司企业网站风格

STM32——串口实践 1.蓝牙控制点灯 项目需求 通过蓝牙模块&#xff0c;实现手机控制蓝牙插座/风扇/灯。 本质&#xff1a; 采用蓝牙的透传功能&#xff1b; 控制 IO 口的输出。 硬件清单 HC01蓝牙模块 CH340 杜邦线 项目设计 HC01_TX – RX1 HC01_RX – TX1 项目…

Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains

[NIPS20] 建立“位置坐标-标量”的隐式神经表示过程中使用傅里叶特征映射对MLP性能增益的理论证明Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains 原文:从理论层面解释位…

「突发奇想,灵光乍现」 - hello

1. 困住自己的,是一种执着,和来自沉迷于某种欲望的享受。

BST(self saved)

#include<iostream> #include<cstdio> using namespace std; int root,tot; struct bst {int v,l,r,vnum,lnum;bst(){v=l=r=vnum=lnum=0;}void nw(int a){v=a;vnum=1;lnum=0;l=r=0;} }tree[1000010]; stru…

jenkins 用户权限 管理配置

这里使用插件 Role-based Authorization Strategy下载插件 插件 管理 搜 Role-based Authorization Strategy 点击下载 安装即可配置Role-based Authorization Strategy 插件 系统管理-全局安全配置-授权策略 选择,…

DirectX- DLL修复工具 免费下载!绿色单文件版!安装使用教程

软件介绍Cloudbox工具箱本身只有7.6M左右大小,一款开源免费的 Windows 聚合工具箱,主要分为四个部分,装机检测、系统常用、影音下载、其他工具。每一类中都有40多款软件,集成 198 款工具,提供绿色免安装软件,能简…

测试集成CI/CD的五大实践:构建高效质量保障体系

测试集成CI/CD的五大实践:构建高效质量保障体系 在数字化转型浪潮下,软件交付速度已成为企业竞争力的关键指标。DevOps实践正在重塑软件开发生命周期,而持续集成/持续交付(CI/CD)作为其核心环节,正面临质量保障的新…

Windows系统Web UI自动化测试学习系列4--开源体系平台测试项目环境部署搭建

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

DirectX修复工具官方中文增强版下载!下载安装教程(附安装包),0xc000007b错误解决办法

软件介绍 DirectX 是 Microsoft 提供的一组用于处理多媒体任务的技术集合,尤其广泛应用于图形和音频渲染领域。如果系统缺少某些 DirectX 组件或者这些组件损坏,则可能导致游戏或应用程序无法正常运行。DirectX修复工…

网站图怎么做哪个网站有ae免费模板

来源&#xff1a;AI前线作者 | Timothy B.Lee译者 | 王强策划 | 刘燕自动驾驶技术行业今天正处于一种奇怪的状态。过去多年来&#xff0c;整个行业已经在自动驾驶技术上投入了庞大的资金&#xff0c;其中许多公司都拥有了看起来跑得不错的自动驾驶汽车原型。但据我所知&#xf…

临沂做wish网站零基础做电商从什么做起

希望你开心&#xff0c;希望你健康&#xff0c;希望你幸福&#xff0c;希望你点赞&#xff01; 最后的最后&#xff0c;关注喵&#xff0c;关注喵&#xff0c;关注喵&#xff0c;佬佬会看到更多有趣的博客哦&#xff01;&#xff01;&#xff01; 喵喵喵&#xff0c;你对我真的…

五莲县网站建设wordpress用什么linux

分析 很多时间&#xff0c;不管是vue2&#xff0c;还是vue3开发中都会遇到&#xff0c;动态渲染图片的功能&#xff0c;但是为什么我们直接将图片的路径直接赋值给变量的时候&#xff0c;图片渲染不出来&#xff0c;而通过require引入加载图片后却能正常渲染呢&#xff1f;主要…

网站建设咨询什么当当网网站建设步骤

Zookeeper1.Zookeeper概述Zookeeper是一个工具&#xff0c;可以实现集群中的分布式协调服务。所谓的分布式协调服务&#xff0c;就是在集群的节点中进行可靠的消息传递&#xff0c;来协调集群的工作。Zookeeper之所以能够实现分布式协调服务&#xff0c;靠的就是它能够保证分布…

【VMware Workstation】Debian 13 桌面版安装

下载系统镜像 访问 debian 官网下载网页下载 debian-13.1.0-amd64-DVD-1.iso 系统镜像下载列表页面:https://www.debian.org/distrib/ 文件名称:debian-13.1.0-amd64-DVD-1.iso MD5:E883FB27DDC95057000F181E6E982…

网站做的app有哪些wordpress文章图片显示不出来

自动生成实体类、Mapper、Mapper.xml文件搭建Spring Boot Mysql MyBatis 项目核心配置pom.xml创建表配置文件生成文件结果项目结构搭建Spring Boot Mysql MyBatis 项目idea 可直接创建相应的项目及配置核心配置pom.xmlmysqlmysql-connector-java5.1.38org.springframework.…