Filebeat占用内存和CPU过高问题排查
经反馈,新部署的服务器上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过高问题排查的更多相关文章
- STORM在线业务实践-集群空闲CPU飙高问题排查
源:http://daiwa.ninja/index.php/2015/07/18/storm-cpu-overload/ 2015-07-18AUTHORDAIWA STORM在线业务实践-集群空闲 ...
- Java服务器内存过高&CPU过高问题排查
一.内存过高 1.内存过高一般有两种情况:内存溢出和内存泄漏 (1)内存溢出:程序分配的内存超出物理机的内存大小,导致无法继续分配内存,出现OOM报错 (2)内存泄漏:不再使用的对象一直占据着内存不释 ...
- 性能分析 | Java服务器内存过高&CPU过高问题排查
一.内存过高 1.内存过高一般有两种情况:内存溢出和内存泄漏 (1)内存溢出:程序分配的内存超出物理机的内存大小,导致无法继续分配内存,出现OOM报错 (2)内存泄漏:不再使用的对象一直占据着内存不释 ...
- [转]定位占用oracle数据库cpu过高的sql
今天在吃饭的时候我的朋友的数据库出现了问题,cpu占用率为97%,当我看到这个问题的时候我就想到了或许是sql导致的此问题,由于忍不住吃饭,暂时没有帮他看这个问题,这是我饭后自己模拟的故障,进行的分析 ...
- JVM进程占用CPU过高问题排查
上午收到报警,某台机器上的CPU负载过高,通过逐步的排查,解决了问题,下面记录一下整个排查的过程. 首先,登录上对应的机器,通过top命令找到占用CPU过高的进程ID,也就是PID,为29126, 然 ...
- Linux下cpu过高问题排查
原文地址:https://blog.csdn.net/chenjunan888/article/details/80447800 在服务器报cpu过高时,可使用以下命令,快速导出堆栈信息,以方便查看具 ...
- 一次FGC导致CPU飙高的排查过程
今天测试团队反馈说,服务A的响应很慢,我在想,测试环境也会慢?于是我自己用postman请求了一下接口,真的很慢,竟然要2s左右,正常就50ms左右的. 于是去测试服务器看了一下,发现服务器负载很高, ...
- 生产系统CPU飙高问题排查
现状 生产系统CPU占用过高,并且进行了报警 排查方法 执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的 执行top -Hp命令,查看这个进程的那个线程导致cpu ...
- CPU过高的排查方法
一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环. (友情提示:本博文章欢迎转载,但请注明出处:hankchen,http://www.blogjava.net/hank ...
随机推荐
- TF-IDF 提取关键词
<?php class Document { protected $words; protected $tf_matrix; protected $tfidf_matrix; public fu ...
- MySQL查询缓存总结
可以通过下面的SQL查看当前查询缓存相关参数状态: show variables like '%query_cache%'; 1) query_cache_type 查询缓存类型: 0 表示始终不适 ...
- aop(权限控制)
创建sysContext (管理请求) package com.tp.soft.common.util; import javax.servlet.http.HttpServletRequest; i ...
- SSH应用实战——安全防护(fail2ban)
ssh 安全配置 端口 ssh随机端口范围在 27000-30000,可以手动修改也要改在这个范围内,建议定时修改端口. 密码 登陆密码应包含大小写.数字.特殊字符等 10 位以上,建议定期修改密码. ...
- java笔记 -- java字符串
概念: Java字符串就是Unicode字符序列, Java没有内置的字符串类型, 而是在标准Java类库中提供了一个预定义类. 每个用双引号括起来的字符串都是String类的一个实例.String ...
- mysql查表的时候报错:java.sql.SQLException: Value '0000-00-00 00:00:00' can not be represented as java.sql.Timest
在spark项目中读取mysql中的数据的时候,发生了报错: 原因:主要是因为数据库中有一些字段为null,无法进行转换: 上面字段那种,我的inserttime字段类型为timestamp类型,不为 ...
- PDO设置字符集
<?php header("content-type:text/html;charset=GBK"); class CurlClass { protected $_pdo; ...
- 毕设记录(ajax第一次请求失败,之后成功的问题)
解决方法:将button标签的type属性改为button,而不是submit,将会解决此问题,至于原因,,,还是没太搞清楚..
- Kubernetes介绍及基本概念
kubernetes介绍 Kubernetes是Google在2014年6月开源的一个容器集群管理系统,使用Go语言开发,Kubernetes也叫K8S.K8S是Google内部一个叫Borg的容器集 ...
- TFLite基础知识
此基础知识仅为个人学习记录,如有错误或遗漏之处,还请各位同行给个提示. 概述 TFLite主要含有如下内容: (1)TFLite提供一系列针对移动平台的核心算子,包括量化和浮点运算.另外,TFLite ...