经反馈,新部署的服务器上filebeat占用的cpu过高,且内存只增不减。

而据我了解filebeat非常轻量级,正常情况下占用的资源几乎都能忽略不计,所以怀疑是filebeat本身出了问题。

第一时间查看filebeat日志(默认路径/var/log/filebeat/filebeat),发现有大量内容输出:

 
--20T08::02.198+    INFO    kafka/log.go: producer/broker/ starting up
--20T08::02.198+ INFO kafka/log.go: producer/broker/ state change to [open] on wp-news-filebeat/
--20T08::02.198+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ selected broker
--20T08::02.198+ INFO kafka/log.go: producer/broker/ state change to [closing] because EOF
--20T08::02.199+ INFO kafka/log.go: Closed connection to broker bitar1d12:
--20T08::02.199+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ state change to [retrying-]
--20T08::02.199+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ state change to [flushing-]
--20T08::02.199+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ abandoning broker
--20T08::02.199+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ state change to [retrying-]
--20T08::02.199+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ abandoning broker
--20T08::02.199+ INFO kafka/log.go: producer/leader/wp-news-filebeat/ state change to [retrying-]
--20T08::02.199+ INFO kafka/log.go: producer/broker/ shut down

看日志描述,似乎是一直地在不停的创建和关闭kafka连接。

起初怀疑是kafka相关dns没有配置(/etc/resolve.conf)导致连不上kafka的broker,但检查并和正常的机器对比后,dns配置是一样的,也就排除了这种情况。

接下来怀疑可能是filebeat版本的问题,因为elastic家族的产品就是那个尿性,发版速度很频繁,而且不同大版本有很多不兼容。

对比filebeat版本,发现它的版本(6.5.3)比正常的服务器(5.6.12)高一个大版本,所以怀疑不同版本对kafka的处理机制不一样导致的。

为了验证这个问题,在查阅filebeat官网后发现,6.5.x默认kafka的版本是1.0.0,而5.6.x默认的是0.8.2.0,而询问运维得知kafka版本是0.10.2.2,所以问题基本确认。

根据官方文档描述,在配置中指定了kafka版本:

output.kafka:
  version: 0.10.2.2
  ...

问题得以解决。

参考

https://www.elastic.co/guide/en/beats/filebeat/6.5/kafka-output.html#_literal_version_literal

https://www.elastic.co/guide/en/beats/filebeat/5.6/kafka-output.html#_version

Filebeat占用内存和CPU过高问题排查的更多相关文章

  1. STORM在线业务实践-集群空闲CPU飙高问题排查

    源:http://daiwa.ninja/index.php/2015/07/18/storm-cpu-overload/ 2015-07-18AUTHORDAIWA STORM在线业务实践-集群空闲 ...

  2. Java服务器内存过高&CPU过高问题排查

    一.内存过高 1.内存过高一般有两种情况:内存溢出和内存泄漏 (1)内存溢出:程序分配的内存超出物理机的内存大小,导致无法继续分配内存,出现OOM报错 (2)内存泄漏:不再使用的对象一直占据着内存不释 ...

  3. 性能分析 | Java服务器内存过高&CPU过高问题排查

    一.内存过高 1.内存过高一般有两种情况:内存溢出和内存泄漏 (1)内存溢出:程序分配的内存超出物理机的内存大小,导致无法继续分配内存,出现OOM报错 (2)内存泄漏:不再使用的对象一直占据着内存不释 ...

  4. [转]定位占用oracle数据库cpu过高的sql

    今天在吃饭的时候我的朋友的数据库出现了问题,cpu占用率为97%,当我看到这个问题的时候我就想到了或许是sql导致的此问题,由于忍不住吃饭,暂时没有帮他看这个问题,这是我饭后自己模拟的故障,进行的分析 ...

  5. JVM进程占用CPU过高问题排查

    上午收到报警,某台机器上的CPU负载过高,通过逐步的排查,解决了问题,下面记录一下整个排查的过程. 首先,登录上对应的机器,通过top命令找到占用CPU过高的进程ID,也就是PID,为29126, 然 ...

  6. Linux下cpu过高问题排查

    原文地址:https://blog.csdn.net/chenjunan888/article/details/80447800 在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具 ...

  7. 一次FGC导致CPU飙高的排查过程

    今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...

  8. 生产系统CPU飙高问题排查

    现状 生产系统CPU占用过高,并且进行了报警 排查方法 执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的 执行top -Hp命令,查看这个进程的那个线程导致cpu ...

  9. CPU过高的排查方法

    一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hank ...

随机推荐

  1. Linux 搭建批量网络装机

  2. 根据不同浏览器判断OCX插件是否安装

    最近项目进入到了验收阶段,需要兼容不同的浏览器,海康的Demo写了一个判断插件是否成功安装的函数,但是经过测试,只在IE浏览器下有效果,在其他的浏览器下面会出现Bug,现在需要写一个通用的方法,在不同 ...

  3. expect免互交 常用编辑文本

    expect免互交 yum -y install expect cat ip_pass.txt #这里写上要执行的IP地址和root用户密码 cat ssh2.exp #编写要执行的操作 #!/usr ...

  4. selenium 模拟拖动滚动条下拉

    senium做自动化测试的过程中,有的页面需要下拉滚动条才能全部加载完成,否则加载不出来就定位不到想要的元素. 参考链接:http://www.cnblogs.com/landhu/p/5761794 ...

  5. webpack的安装及使用

     webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler).当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency g ...

  6. LeetCode--029--两数相除(java)

    给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 示例 1: 输 ...

  7. Apache ant

    配置步骤:1,安装JDK,设定下面的环境变量: 添加JAVA_HOME:C:\Program Files\Java\jdk1.7.0_07 JDK版本不同目录名不同Path:追加“;%JAVA_HOM ...

  8. java,sort的数组降序

    1.Array.sort(数组,起始位置,结束位置).这个是升序排序. 2.关于数组的降序实现如下: 利用Collections.reverseOrder()方法: import java.util. ...

  9. mysql 重点性能测试指标

    #qps 每秒钟查询数量 计算方式queries/seconds 查询总数/秒数show GLOBAL STATUS LIKE 'question%' #tps 每秒事务数 计算方式 (com_com ...

  10. PHP json_decode为什么将json字符串转成数组是对象格式?

    eg. $a='[{\"img\":\"/uploads/agency/carimgs/5/15515954778091.jpg\"},{\"img\ ...