iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python 基于Python结合pyk
  • 549
分享到

Python 基于Python结合pyk

Pythonpyk 2023-01-30 23:01:12 549人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控   By: 授客 QQ:1033553122   1.测试环境 python 3.4   ZooKeeper-3.4.13.tar.gz 下载地

基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控

  By: 授客 QQ:1033553122

 

1.测试环境

python 3.4

 

ZooKeeper-3.4.13.tar.gz

下载地址1:

Http://zookeeper.apache.org/releases.html#download

https://www.apache.org/dyn/closer.cgi/zookeeper/

https://mirrors.tuna.tsinghua.edu.cn/apache/zookeeper/

 

下载地址2:

https://pan.baidu.com/s/1dnBgHvySE9pVRZXJVMezyQ

 

kafka_2.12-2.1.0.tgz

下载地址1:

http://kafka.apache.org/downloads.html

下载地址2:

https://pan.baidu.com/s/1VnHkJgy4iQ73j5rLbEL0jw

 

pykafka-2.8.0.tar.gz

下载地址1:

https://pypi.org/project/pykafka/

https://files.Pythonhosted.org/packages/55/4b/4828ec5ed766cca0c27de234688122494c5762965e70deeb88b84f5d8d98/pykafka-2.8.0.tar.gz

  

 

2.实现功能

实时采集Kafka生产者主题生产速率,主题消费速率,主题分区偏移,消费组消费速率,支持同时对多个来自不同集群的主题进行实时采集,支持同时对多个消费组实时采集

 

 

 

3.使用前提

1、“主题消费速率”&“消费组消费速率” 统计 依赖“消费组”,所以要统计消费速率,必须存在消费组才能统计;

 

2、“主题消费速率”&“消费组消费速率” 统计 依赖消费者自动、手动提交“offset”,所以所以要统计消费速率,必须确保消费者消费时,会提交消息的offset

 

3、Kafka版本大于等于0.10.1.1

 

 

 

4.使用方法

influxDB主机配置

KafkaMonitor\conf\influxDB.conf

[INFLUXDB]

influxdb_host = 10.203.25.106

influxdb_port = 8086

 

brokers集群配置

KafkaMonitor\conf\brokers.conf

 

[CLUSTER1]

broker1 = 127.0.0.1:9092

 

[bus]

#broker1 =10.202.xxx.xx:9096,10.202.xx.xx:9096,10.202.xxx.x:9096

 

格式说明:

[集群名称]

自定义brokers标识 = broker ip:port配置(如果有多个broker,用英文逗号分隔)

 

如果不想对指定集群进行监控(不监控该集群的主题生产、消费速率,主题分区偏移,消费组消费速率),用 # 号注释掉 该集群的“自定义brokers标识” 所在行即可,如上

 

topics主题配置

KafkaMonitor\conf\brokers.conf

 

[CLUSTER1]

topic1 = MY_TOPIC1

 

[bus]

topic1=NEXT_MARM_CORE_REPORT

#topic2=NEXT_MARM_CORE_EVENT

 

格式说明:

[集群名称]

自定义topic 标识 = topic名称

 

如果不想对指定主题进行监控(不监控该主题的生产、消费速率,主题分区偏移,该主题相关消费组消费速率),用 # 号注释掉 该集群的“自定义 topic标识” 所在行即可,如上

 

注意:每个集群名称下的 自定义 topic 标识不能重复

consumer_groups消费组配置

KafkaMonitor\conf\consumer_groups.conf

 

[CLUSTER1]
groupID1 = MY_TOPIC1|MY_GROUP1:5000

[bus]
#groupID1=NEXT_MARM_CORE_EVENT|NEXT_MARM_CORE_TASK
groupID2=NEXT_MARM_CORE_REPORT|NEXT_MARM_CORE_REPORT,NEXT_MARM_CORE_REPORTTAG

 

格式说明:

[集群名称]

自定义consumer_groups 标识 = 主题名称|消费该主题的消费组名称[:提交msg offset的时间间隔(单位为 毫秒)](如果有多个消费组,彼此之间用逗号分隔)

 

注意:

1、如果有为消费组设置提交msg offset的时间间隔,并且该时间间隔大于统一设置的数据采集频率,那么该消费组的数据采集频率将自动调整为对应的 提交msg offset的时间间隔/1000 + 1

2、主题消费速率的统计依赖消费该主题的所有消费组的数据信息,所以,同一个主题,不要配置在多个“自定义consumer_groups 标识”配置值中

3、主题消费速率数据采集频率取最大值 max(统一设置的数据采集频率,max(消费该主题的消费组提交msg offset的时间间隔/1000 + 1))

 

如果不想对指定消费组进行监控(不监控该消费组消费速率,消费组关联的主题消费速率),用 # 号注释掉 该集群的“自定义consumer_groups 标识” 所在行即可,如上,,或者把对应消费组及其提交msg offset的时间间隔信息删除即可。

 

运行程序

python main.py 采集频率(单位 秒) 采集时长

eg:

每5秒采集一次,总共采集120秒

python main.py 5 120

 

 

 

 

注意:

如果(根据配置自动调整后的)采集频率时间间隔大于单次程序采样耗时,则处理完成后立即进行下一次采样,忽略采样频率设置,实际采集时长变长,但是采集次数不变 int(采集时长/采样频率)

 

grafana图表配置

数据源配置

 

 

说明:Database db_+brokers.conf中配置的集群名称

 

Dashboard变量配置

 

 

 

 

 

Dashboard Pannel主要配置项

 

 

 

 

 

效果展示

 

 

 

参考链接:

https://pykafka.readthedocs.io/en/latest/index.html

 

源码下载地址:

https://gitee.com/ishouke/KafkaMonitor

--结束END--

本文标题: Python 基于Python结合pyk

本文链接: https://www.lsjlt.com/news/181302.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python 基于Python结合pyk
    基于Python结合pykafka实现kafka生产及消费速率&主题分区偏移实时监控   By: 授客 QQ:1033553122   1.测试环境 python 3.4   zookeeper-3.4.13.tar.gz 下载地...
    99+
    2023-01-30
    Python pyk
  • 性能测试 基于Python结合Influ
    基于Python结合InfluxDB及Grafana图表实时采集Linux多主机性能数据   by:授客 QQ:1033553122   实现功能 1 测试环境 1 环境搭建 3 使用前提 3 使用方法 3 ...
    99+
    2023-01-30
    性能测试 Python Influ
  • 关于python DataFrame的合并方法总结
    目录python DataFrame的合并方法#concat函数#merge函数#append函数把两个dataframe合并成一个python DataFrame的合并方法 Pyt...
    99+
    2024-04-02
  • Python总结:Python基础(一)
    入门知识拾遗一、作用域对于变量的作用域,执行声明并在内存中存在,该变量就可以在下面的代码中使用。123if 1==1:    name = 'wupeiqi'print  name下面的结论对吗?外层变量,可以被内层变量使用内层变量,无法被...
    99+
    2023-01-31
    基础 Python
  • 基于Python的selenium
    一、安装 1.1安装Python,安装Python时需要勾选增加环境变量 如果之前已经安装过Python,需要将Python相关文件以及环境变量删除 1.2安装成功:在命令行界面下输入Python,最...
    99+
    2023-09-15
    python selenium pycharm
  • python基于selenium+cv2
    首先贴上我的安装包 一、selenium安装  I.打开pycharm,点击Settings,找到Project Interpreter,点击右边的下拉菜单下的show All...选项  II.点击show All...选项后,点击框...
    99+
    2023-01-30
    python selenium
  • 基于javax.validation结合spring的最佳实践
    前言 本人先将用到的配置、工具类贴出来,然后一步步告诉大家怎么使用 JSR303 是一套JavaBean参数校验的标准,它定义了很多常用的校验注解,我们可以直接将这些注解加在我们Ja...
    99+
    2024-04-02
  • 基于Python编写一个语音合成系统
    目录背景语音合成系统准备工作步骤代码实现背景 一直对语音合成系统比较感兴趣,总想能给自己合成一点内容,比如说合成小说,把我下载的电子书播报给我听等等。 语音合成系统 其实就是一个基于...
    99+
    2024-04-02
  • 基于python快速实现排列组合算法
    1.python语言简单、方便,其内部可以快速实现排列组合算法,下面做简单介绍、 2.一个列表数据任意组合 2.1主要是利用自带的库 #_*_ coding:utf-8 _*_ #__author__='dragon' impor...
    99+
    2023-01-31
    算法 排列组合 快速
  • 基于Python绘制三种不同的中国结
    目录前言示例一效果图代码展示示例二效果图代码展示示例三效果图代码展示前言 今天就来分享几个用python绘制的图案吧 马上就要迎来新年了 就绘制了几个中国结,嘿嘿 话不多说,直接展示...
    99+
    2023-01-09
    Python绘制中国结 Python 中国结
  • 基于 Python 和 Pandas 的
    Pandas 是 Python 的一个模块(module), 我们将用 Python 完成接下来的数据分析的学习. Pandas 模块是一个高性能,高效率和高水平的数据分析库. 从本质上讲,它非常像操作电子表格的无头版本,如Excel....
    99+
    2023-01-30
    Python Pandas
  • python学习总结二(python基础
    转眼间已经2月份了,python学习总结二进行中ing,今年的目标和打算。。。哎动力哪来,继续吧。 总结上篇 就是 对python 说包含的东东(字符串,数字,变量,操作符,函数,模块,类,列表,等) 总体简单解释下。 后面详细说明 一.语...
    99+
    2023-01-31
    基础 python
  • 基于python 3 的selenium
    本文主要是运用selenium模块模拟登陆新浪微博 python webdriver环境搭建教程:http://blog.csdn.net/nanjunxiao/article/details/7957326 # -*- c...
    99+
    2023-01-31
    python selenium
  • python小技巧-基于python本身
    1 脚本与命令行结合可以使用下面方法运行一个Python脚本,在脚本运行结束后,直接进入Python命令行。这样做的好处是脚本的对象不会被清空,可以通过命令行直接调用。python -i script.py或者你安装了ipython ipy...
    99+
    2023-01-31
    小技巧 python
  • python基础:集合-set()
    一、定义:集合是一个无序的,没有重复元素的序列。可以用来去重。使用{},和set()定义空集必须使用set()来定义可以set任何可迭代的对象string = 'this is string!' num = range(1, 11) lis...
    99+
    2023-01-31
    基础 python set
  • Python基础——集合(set)
    集合可以去除掉列表中重复的元素。 创建 list1=[123,123,456,789] list1=set(list1) list1 set1=set() type(set1) set1=set([123,123,456,4...
    99+
    2023-01-31
    基础 Python set
  • python基础之集合
    # set 不支持索引和切片,是一个无需的不重复得到容器 # 类似于字典,但是只有key 没有value # 创建集合 dic1={} set1={1,2,3} print...
    99+
    2024-04-02
  • 关于python类的组合
    关于python类的组合,绞尽脑汁之后,写了一个生活中的简单例子,有需要的童鞋可以理解下,水平有限,不对的地方望指正 #coding:utf-8 class Engine():#某发动机厂家描述发动机对象def init(self, eng...
    99+
    2023-01-31
    组合 python
  • Python数据结构:集合
    集合的定义  使用大括号,并且里面必须有初始值,否则是dict字典类型 集合的特征 集合内部的元素无序,所以不能使用索引、切片等操作 集合内部的元素具有唯一性,不允许元素重复出现 集合内部的元素,只能存放int, float, s...
    99+
    2023-01-30
    数据结构 Python
  • (python)数据结构---集合
    一、描述 set翻译为集合 set是可变的、无序的、不可重复的 set的元素要求可哈西(不可变的数据类型可哈西,可变的数据类型不可哈希) set是无序的,因此不可以索引,也不可以修改 线型结构的查询时间复杂度是O(n),随着数据的增大...
    99+
    2023-01-30
    数据结构 python
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作