Kafka 监控
Kafka 监控
- 主机监控
- JVM 监控
- 集群监控
- 监控 Kafka 客户端
主机监控
主机监控 : 监控 Kafka 集群 Broker 所在的节点机器的性能
主机监控指标 :
- 机器负载 (Load) , CPU 使用率
- 内存使用率 (空闲内存 , 已使用内存 (Used Memory) )
- 磁盘 I/O 使用率 (读使用率/ 写使用率) , 网络 I/O 使用率
- TCP 连接数 , 打开文件数 , inode 使用情况
top
load average 的过去 1 分钟、过去 5 分钟、过去 15 分钟的 Load 平均值:4.85、2.76、1.26
- 主机共 4 CPU 核,但 Load 有 4.85 : 有进程暂时抢不到任何 CPU 资源
CPU 使用率 (%CPU) :
- 进程使用的所有 CPU 的平均使用率
- 主机共 4 CPU 核 ,
%CPU
= 102.3 , 平均每 CPU 的使用率 = 25%
JVM 监控
例子 : Broker 进程进行 Full GC 后,堆上存活的活跃对象大小是 700MB
- 将老年代堆大小设置 = 该数值的 1.5 倍或 2 倍 = 1.4GB
JVM 进程指标监控:
- Full GC 发生频率和时长 : 评估 Full GC 对 Broker 进程的影响
- 活跃对象大小 : 设堆大小的依据,能调优 JVM 各个代的堆大小
- 应用线程总数 : 了解 Broker 进程对 CPU 的使用情况
2019-07-30T09:13:03.809+0800: 552.982: [GC cleanup 827M->645M(1024M), 0.0019078 secs]
Broker JVM 进程默认用 G1 的 GC 算法,当 cleanup 结束后,堆上活跃对象大小从 827MB 缩减成 645MB
- G1 的 Full GC 是单线程执行的,速度非常慢
- 一旦 Broker 进程频繁 Full GC,开启
-XX:+PrintAdaptiveSizePolicy
查看 Full GC 原因
集群监控
查看 Broker 进程是否启动,端口是否建立 :
- Docker 启动 Kafka 时,容器虽然成功启动了,但网络设置有误,会出现进程已经启动但端口未成功建立监听
查看 Broker 日志 :
- 服务器日志 : server.log
- 控制器日志 : controller.log
- 主题分区状态变更日志 : state-change.log
查看 Broker 线程的运行状态 :
kafka-log-cleaner-thread
:Log Compaction
日志 Compaction : 一旦挂了,所有 Compaction 都会中断ReplicaFetcherThread
: 副本拉取消息的线程 (Follower 副本向 Leader 副本拉取消息) : 一旦挂了,对应的 Follower 副本不会从 Leader 副本拉取消息,Follower 副本的 Lag 会越来越大
Broker JMX 指标 :
BytesIn
/BytesOut
: Broker 每秒入站和出站字节数。保证不要接近网络带宽,网卡打满 : 容易出现丢包NetworkProcessorAvgIdlePercent
: 网络线程池线程平均的空闲比例。确保该值 > 30%。当 < 30% : 网络线程池繁忙,要增加网络线程数或 负载转移,减轻 Broker 负载RequestHandlerAvgIdlePercent
: I/O 线程池线程平均的空闲比例。该值 < 30%,要调整 I/O 线程池数,减轻 Broker 负载UnderReplicatedPartitions
:未充分备份的分区数。该分区可能有数据丢失ISRShrink
/ISRExpand
:ISR 收缩和扩容的频次。当 ISR 中副本频繁进出,要判断副本频繁进出 ISR 的原因ActiveControllerCount
:激活状态的控制器数。正常 : Controller 所在 Broker 是 1,其他 Broker 是 0。当多台 Broker 是 1 :集群可能有脑裂 :排查网络连通性
监控 Kafka 客户端
客户端与 Broker 的网络往返时延(Round-Trip Time,RTT)
- 在客户端 ping 下 Broker ,查看 RTT
生产者 :
kafka-producer-network-thread
:负责实际消息发送的线程 。它挂了,Producer 将无法正常工作,但 Producer 进程不会挂request-latency
: 消息生产请求的延时 : Producer 程序的 TPS
消费者 :
kafka-coordinator-heartbeat-thread
: 心跳线程 , 关系到 Rebalancerecords-lag
,records-lead
: Consumer 消费进度join rate
,sync rate
: Rebalance 的频繁程度
相关文章:
Kafka 监控
Kafka 监控主机监控JVM 监控集群监控监控 Kafka 客户端主机监控 主机监控 : 监控 Kafka 集群 Broker 所在的节点机器的性能 主机监控指标 : 机器负载 (Load) , CPU 使用率内存使用率 (空闲内存 , 已使用内存 (Used Memory) )磁盘 I/O 使用率 (读使用率/ 写使用率) , 网络 I/…...
MultipartFile与File的互转
MultipartFile与File的互转前言MultipartFile转File1.FileUtils.copyInputStreamToFile转换2.multipartFile.transferTo(tempFile);3. (推荐)FileUtils.writeByteArrayToFile(file, multipartFile.getBytes());File转MultipartFile前言 需求是上传Excel文件并读取E…...
数据结构与算法基础-学习-15-二叉树
一、二叉树定义二叉树是N(N>0)个节点的有限集,它可能是空集或者由一个根节点及两棵互不相交的分别称作这个根的左子树和右子树的二叉树组成。二、二叉树特点1、每个节点最多两个孩子。(也就是二叉树的度小于等于2)2…...
接口测试要测试什么?
一. 什么是接口测试?为什么要做接口测试? 接口测试是测试系统组件间接口的一种测试。接口测试主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点。测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互…...
2023.03.12学习总结
项目部分写了内外菜单栏的伸缩,更新了导航栏,新增配置,scss变量 提交记录 学习了scss的使用和配置 ,设置了scss全局变量,组件样式 给element-plus配置了主题颜色,配置到了全局 http://t.csdn.cn/FhZYa …...
数据结构入门6-1(图)
目录 注 图的定义 图的基本术语 图的类型定义 图的存储结构 邻接矩阵 1. 邻接矩阵表示法 2. 使用邻接矩阵表示法创建无向网 3. 邻接矩阵表示法的优缺点 邻接表 1. 邻接表表示法 2. 通过邻接表表示法创建无向图 3. 邻接表表示法的优缺点 十字链表(有向…...
把C#代码上传到NuGet,大佬竟是我自己!!!
背景 刚发表完一篇博客总结自己写标准化C#代码的心历路程,立马就产生一个问题,就是我写好标准化代码后,一直存放磁盘的话,随着年月增加,代码越来越多,项目和版本的管理就会成为一个令我十分头疼的难题&…...
解决前端“\n”不换行问题
在日常开发过程中,换行显示是一种很常见的应用需求,但是偶然发现,有时候使用 "\n"并不会换行显示,只会被识别为空格,如下图。 通过上图可以看出,"\n"它被识别成了一个空格显示&#…...
Python打包成exe,文件太大问题解决办法(比保姆级还保姆级)
首先我要说一下,如果你不在乎大小,此篇直接别看了,因为我写过直接打包的,就多20M而已,这篇就别看了,点击查看不在乎大小直接打包这篇我觉得简单的令人发指 不废话,照葫芦画瓢就好 第1步&#…...
CSS弹性布局flex属性整理
1.align-items align-items属性:指定弹性布局内垂直方向的对齐方向。 常用属性: center 垂直居中展示 flex-start 头部对齐 flex-end 底部对齐 2. justify-content justify-content属性:属性(水平)对齐弹…...
14个你需要知道的实用CSS技巧
让我们学习一些实用的 CSS 技巧,以提升我们的工作效率。这些 CSS 技巧将帮助我们开发人员快速高效地构建项目。 现在,让我们开始吧。 1.CSS :in-range 和 :out-of-range 伪类 这些伪类用于在指定范围限制之内和之外设置输入样式。 (a) : 在范围内 如…...
【Flutter从入门到入坑之四】构建Flutter界面的基石——Widget
【Flutter从入门到入坑】Flutter 知识体系 【Flutter从入门到入坑之一】Flutter 介绍及安装使用 【Flutter从入门到入坑之二】Dart语言基础概述 【Flutter从入门到入坑之三】Flutter 是如何工作的 WidgetWidget 是什么呢?Widget 渲染过程WidgetElementRenderObjectR…...
中职网络空间安全windows渗透
目录 B-1:Windows操作系统渗透测试 1.通过本地PC中渗透测试平台Kali对服务器场景Windows进行系统服务及版本扫描渗透测试,并将该操作显示结果中Telnet服务对应的端口号作为FLAG提交;编辑 2.通过本地PC中渗透测试平台Kali对服务器场景Wind…...
普通二叉树的操作
普通二叉树的操作1. 前情说明2. 二叉树的遍历2.1 前序、中序以及后序遍历2.1.1 前序遍历2.1.2 中序遍历、后序遍历2.2 题目练习2.2.1 求一棵二叉树的节点个数2.2.2 求一棵二叉树的叶节点个数2.2.3 求一棵二叉树第k层节点的个数2.2.4 求一棵二叉树的深度2.2.5 在一棵二叉树中查找…...
Oracle:递归树形结构查询功能
概要树状结构通常由根节点、父节点(PID)、子节点(ID)和叶节点组成。查询语法SELECT [LEVEL],* FROM table_name START WITH 条件1 CONNECT BY PRIOR 条件2 WHERE 条件3 ORDER BY 排序字段说明:LEVEL—伪列࿰…...
MongoDB数据库性能监控详解
目录一、MongoDB启动超慢1、启动日常卡住,根本不用为了截屏而快速操作,MongoDB启动真的超级慢~~2、启动MongoDB配置服务器,间歇性失败。3、查看MongoDB日志,分析“MongoDB启动慢”的原因。4、耗时“一小时”,MongoDB启…...
python不要再使用while死循环,使用定时器代替效果更佳!
在python开发的过程中,经常见到小伙伴直接使用while True的死循环sleep的方式来保存程序的一直运行。 这种方式虽然能达到效果,但是说不定什么时候就直接崩溃了。并且,在Linux环境中在检测到while True的未知进程就会直接干掉。 面对这样的…...
什么是接口测试?十年阿里测试人教你怎样做接口测试
一 什么是接口? 接口测试主要用于外部系统与系统之间以及内部各个子系统之间的交互点,定义特定的交互点,然后通过这些交互点来,通过一些特殊的规则也就是协议,来进行数据之间的交互。接口测试主要用于外部系统与系统之…...
1.10-1.12 Makefile
1. Makefile简介 举个栗子,如下为redis-5.0.10的项目目录,有很多的文件 有了Makefile文件,可以简单的make一下就可以对项目文件进行编译,最终生成可执行程序。 2. Makefile栗子1 首先,创建vim Makefile按照PPT里的格…...
Leetcode. 88合并两个有序数组
合并两个有序数组 文章目录归并思路二归并 核心思路: 依次比较,取较小值放入新数组中 i 遍历nums1 , j 遍历nums2 ,取较小值放入nums3中 那如果nums[i] 和nums[j]中相等,随便放一个到nums3 那如果nums[i] 和nums[j]中相…...
【数据库】数据库查询(进阶命令详解)
目录 1.聚合查询 1.1聚合函数 COUNT函数 SUM函数 AVG函数 MAX函数 MIN函数 1.2GROUP BY子句 1.3HAVING 2.联合查询 2.1内连接 2.2外连接 2.3自连接 2.4子查询 3.合并查询 写在前面: 文章截图均是每个代码显示的图。数据库对代码大小写不敏感&am…...
参数缺省和函数重载讲解
一路风雨兼程磨砺意志,三载苦乐同享铸就辉煌 目录 1.参数缺省的概念 2.参数缺省的用法 3.缺省参数分类 3.1.全缺省参数 3.2.半缺省参数 4.函数重载的概念 5.函数重载的用法 6.函数重载的原理 1.参数缺省的概念 一般情况下,函数调用时的实参个数应…...
关于召开2023第八届国际发酵培养基应用发展技术论坛的通知
生物发酵培养基是影响产业技术水平、环境友好程度的重要影响因素,为进一步实现生物发酵培养基的稳定可控、高效生产以及绿色安全,进一步推动生物技术的创新升级、绿色低碳循环生产,需要加强跨界联合,集中优势力量,突破…...
Java之深度优先(DFS)和广度优先(BFS)及相关题目
目录 一.深度优先遍历和广度优先遍历 1.深度优先遍历 2.广度优先遍历 二.图像渲染 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 三.岛屿的最大面积 1.题目描述 2.问题分析 3代码实现 1.广度优先遍历 2.深度优先遍历 四.岛屿的周长 1.题目描…...
【链表OJ题(四)】反转链表
📝个人主页:Sherry的成长之路 🏠学习社区:Sherry的成长之路(个人社区) 📖专栏链接:数据结构 🎯长路漫漫浩浩,万事皆有期待 文章目录链表OJ题(四)1. 反转…...
java ArrayList源码分析(深度讲解)
ArrayList类的底层实现ArrayList类的断点调试空参构造的分步骤演示(重要)带参构造的分步骤演示一、前言大家好,本篇博文是对单列集合List的实现类ArrayList的内容补充。之前在List集合的万字详解篇,我们只是拿ArrayList演示了List…...
【网络编程】零基础到精通——NIO基础三大组件和ByteBuffer
一. NIO 基础 non-blocking io 非阻塞 IO 1. 三大组件 1.1 Channel & Buffer channel 有一点类似于 stream,它就是读写数据的双向通道,可以从 channel 将数据读入 buffer,也可以将 buffer 的数据写入 channel,而之前的 st…...
操作系统 - 1. 绪论
目录操作系统基本概念概念特征功能操作系统的分类与发展手工操作单道批处理系统多道批处理系统分时系统实时系统操作系统的运行环境CPU 运行模式中断和异常的处理系统调用程序的链接与装入程序运行时内存映像和地址空间操作系统的体系结构操作系统的引导操作系统基本概念 概念…...
详谈parameterType与resultType的用法
resultMap 表示查询结果集与java对象之间的一种关系,处理查询结果集,映射到java对象。 resultMap 是一种“查询结果集---Bean对象”属性名称映射关系,使用resultMap关系可将将查询结果集中的列一一映射到bean对象的各个属性&#…...
【Linux】进程概念、fork() 函数 (干货满满)
文章目录📕 前言📕 进程概念📕 Linux下查看进程的两种方法方法一方法二📕 pid() 、ppid() 函数📕 fork() 函数、父子进程初识再理解📕 fork做了什么📕 如何理解 fork 有两个返回值📕…...
网站做qq链接代码/什么是网络整合营销
之前有一篇写过pycharm远程访问服务器,这里还写vscode的一个类似功能理由有两个。vscode相比于pycharm占用的内存要小。vscode远程访问不要钱!!!而pycharm必须要付费的专业版才拥有这个功能。但是vscode也有不好的地方,…...
常州专业网站建设公司咨询/怎么在百度上推广产品
Linux Read ACPI Table Tools.ACPI tools的安装:#yum install acpica-tools或者到下面链接下载源码:下面示例是解析SSDT1表的步骤。#acpidump -o ACPI_table.out#acpixtract -a ACPI_table.outIntel ACPI Component ArchitectureACPI Binary Table Extra…...
网站建设第二年费用/网上哪里接app推广单
又到3dmax插件神器的小课堂时间了!小伙伴们还记得之前几张的知识点吗?如果不记得自己去温习,温故而知新哦!如果学会了,下面学习3dmax插件神器小技巧的第四章建模篇的第4.16小节:怎么用3dmax插件神器去完成背…...
做产地证网站/公司网站如何推广
我这算是积极响应国家号召了,对吧?总理都点赞好几次地摊经济了,朋友圈和微信 《一线大厂Java面试题解析后端开发学习笔记最新架构讲解视频实战项目源码讲义》 【docs.qq.com/doc/DSmxTbFJ1cmN1R2dB】 完整内容开源分享 社群都刷爆了。有一段白…...
外贸订单网站有哪些/百度人工客服
前言: 在讲解Kafka的架构前我们先了解一下什么是消息队列 1. 消息队列的讲解 消息: 应用之间的信息相互传递 消息队列(Message Queue): 将消息放在队列中保证消息可靠传递 1.1 消息队列的特点 应用系统之间解耦----12306–用户系统后台消息驱动:以消息驱动应用…...
网站的首页页面布局怎么做/谷歌浏览器app下载安装
如图 行尾空格不能使用下划线 解决方法 点击右上角的“文件” 选择“选项” 找到常规与保存 找到兼容性选项 勾选为尾部空格添加下划线 然后确定即可...