kafka监控

news/2024/11/14 17:55:33/文章来源:https://www.cnblogs.com/mason77/p/18540307

kafka监控部署

kafka使用Prometheus、Grafana和kafka_exporter来构建kafka指标监控

问题背景

在实时场景下,对于数据积压是很常见的,我们更希望如何去快速知道有没有数据积压,目前消费了多少,速度怎么样,趋势如何。可以使用原生命令kafka-consumer-groups.sh --bootstrap-server node01:9092,node02:9092,node03:9092 --group test --describe来查看当前group所消费的topic的进度如何,如果group很多,topic很多,这样使用命令的效率反而会更低

解决方案

将Kafka的度量指标暴露给监控系统,以便进行数据收集、分析和可视化展示。使用kafka-exporter、PrometheusGrafana这一组合来进行Kafka监控的原理和流程大致如下:

原理概述

  1. kafka-exporter: kafka-exporter是一个代理或者中间件,它的主要任务是将Kafka通过JMX暴露的指标转换成Prometheus能够理解的格式。Kafka内部使用Yammer Metrics来收集各种性能和状态指标,并通过JMX暴露出来。kafka-exporter通过连接到Kafka BrokerJMX端口,读取这些指标,并以HTTP端点的形式提供给Prometheus拉取

  2. Promethues: Promethues是一个开源的监控系统,可以定期地从目标拉取指标数据,Prometheus负责收集这些数据,并存储在本地数据库中,支持查询语言 PromQL 进行灵活的数据检索和聚合运算

  3. Grafana: Grafana是一个强大的可视化平台,可以连接到Prometheus作为数据源,用来展示和分析监控数据。用户可以在Grafana中创建仪表板,通过各种图表和面板直观地展示Kafka的性能指标,如消息吞吐量、延迟、消费者滞后等

监控部署

kafka-exporter部署

  1. github上下载官网安装包
    kafka_exporter

  2. 解压安装包

    tar -zxvf kafka_exporter-1.7.0.linux-amd64.tar.gz -C kafka_exporter-1.7.0
    
  3. 启动程序

    nohup ./kafka_exporter --kafka.server=node01:9092 --kafka.server=node02:9092 --kafka.server=node03:9092 > /dev/null 2>&1 &
    
  4. 去web上查看是否成功生成metrics数据

    如果生成如下的结果,那就说明metrics数据已经采集到了
    kafka_metrics

Prometheus采集metrics数据

  1. 配置数据采集地址

    在配置好监控数据源以后,现在就要告诉Prometheus应该去哪里采取数据给存放到本地中。打开Promethues的配置文件,增加kafka-exporter暴露的地址即可
    执行以下代码,代开配置文件

    vim promethues.yml
    

    在文件末尾添加以下代码

    - job_name: kafka-prostatic_configs:- targets: ['node01:9308']labels:instance: kafka-pro
    

    这段代码的含义就是告诉Prometheus去targets采取数据来

    job_name: 指定监控任务的名称
    target: 监控的目标地址
    lables: 为监控目标添加额外的标签信息

  2. 重启Premothues服务

    sudo systemctl restart premothues
    
  3. 查看数据是否被采集到

    在web中打开网页http://10.10.1.27:9090/targets,查看是否出现我们的job,成功的情形如下:
    prometheus_kafka
    status: 服务状态,如果为up,表示服务可用

数据导入到Grafana形成看板

  1. 创建数据源

    选择使用Prometheus的datasource
    datasource

    指定地址
    address

  2. 下载看板模板json

    在Grafana官网下载看板模板
    download

  3. 配置看板

    创建Prometheus的数据源
    import

    导入json看板配置文件
    jsonFile

    选择Prometheus的数据源
    choosesource

    现实看板
    final

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

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

相关文章

实景三维赋能地灾风险管控

在当今社会,随着城市化进程的加速以及工业化的发展,地质灾害成为了威胁人们生命财产安全的重要因素之一。特别是在全球气候变化的背景下,极端天气事件的增多导致地质灾害的发生频率和强度都有所上升。因此,如何有效地进行地质灾害的风险管控,成为当前亟待解决的问题之一。…

20222301 2024-2025-1 《网络与系统攻防技术》实验五实验报告

1.实验内容 (1)从www.besti.edu.cn、baidu.com、sina.com.cn中选择一个DNS域名进行查询,获取如下信息: ①DNS注册人及联系方式 ②该域名对应IP地址 ③IP地址注册人及联系方式 ④IP地址所在国家、城市和具体地理位置 (2)尝试获取BBS、论坛、QQ、MSN中某一好友的IP地址,并…

高级语言程序设计作业 11/11

2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C 高级语言程序设计课程第五次作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400215 姓名:胡加乘1 #include <iostream>using namespace std;#define ROWS 3 #define COLS 5i…

win 11 开发板,windows,ubuntu虚拟机网络互通

确保在同一个网段里面就行 如果ping开发板不通,将win防火墙关闭了试一试 虚拟机使用桥接模式,桥接到正确的网卡上,此处使用的是usb网卡 编辑->虚拟机网络编辑器ubuntu手动设置桥接的网卡信息此处ens32是桥接的网卡 ens33是NAT网卡windows也是同样设置,注意网段保持一致虚拟机…

手把手教你搭建OpenDRIVE道路模型(上)

在自动驾驶技术的研发与验证阶段,OpenDRIVE格式的数据被广泛应用于仿真测试平台的搭建,帮助开发者在虚拟环境中对算法进行高效迭代与优化,从而加速自动驾驶技术的商业化进程,推动汽车行业向更加智能化、自主化的未来发展。 OpenDRIVE作为一种高度专业化的道路建模标准…

SpringBoot项目引入Elasticsearch时启动失败

1、前情提要: https://www.elastic.co/guide/en/elasticsearch/client/java-api-client/current/installation.html 以上是Elasticsearch对接Java的官方文档(pom依赖部分)我本地Windows安装的Elasticsearch也是8.15.3版本 2、启动报错 *************************** APPLICA…

四款超实用的免费报表工具推荐!轻松选择适合你的数据神器

现如今,报表工具逐渐成为企业数据分析和决策的重要一环。本文将为大家介绍四款免费报表工具,通过这些工具,用户可以轻松地将原始数据转换为直观易懂的报表,帮助决策者更快地获取信息和做出判断。无论是寻求简单易用、实时更新,还是需要强大的数据分析能力的用户,都能在这…

联训题单 / 集训杂题纪要

UPD: 新增了杂题选改栏 总览题单 进度 备注数据结构1 4/24 数据结构可爱捏 >_<搜索 模拟 All Clear/10 搜索可爱捏 >_<数学1 0/11 数学不可爱捏 `-字符串 6/13 哈希可爱捏 >_<杂题选改 7 杂题专题没了,杂题倒是有不少数据结构 1 STEP 读假题了,读成下面这…

Python 提取PowerPoint文档中的图片

如果你需要在多个PowerPoint演示文稿中使用相同的图片,直接从原始PPT中提取并保存图片可以避免重复寻找和下载。此外,将PPT中的重要图片提取出来可以将其作为备份,以防原文件损坏或丢失。本文将通过以下两个示例介绍如何使用Python提取PPT文档中的图片。Python 提取指定幻灯…

高级语言程序设计课程第七次个人作业

班级:https://edu.cnblogs.com/campus/fzu/2024C 作业要求:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400121 姓名:林永庆 12 从左到右,从上到下,从右到左,从下到上345678总结:菜就多练 反思:菜就多练

解线性方程组迭代法

解线性方程组迭代法 在数值分析中,迭代法是解决大规模线性方程组的重要工具。迭代法可以有效地减少计算复杂度,使得求解效率更高。本文将从前置知识开始,介绍向量和矩阵的范数,再深入探讨求解线性方程组的 Jacobi 和 Gauss-Seidel 迭代法。 一、前置知识:向量和矩阵的范数…

Linux kernel 堆溢出利用方法(二)

本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通过讲解另一道相对来说比较困难的kernel off-by-null + docker escape来深入了解这种漏洞的利用手法。前言 本文我们通过我们的老朋友heap_bof来讲解Linux kernel中off-by-null的利用手法。在通…