Python脚本,用于查询RocketMQ的JMX接口以获取生产者和消费者的连接数

这篇具有很好参考价值的文章主要介绍了Python脚本,用于查询RocketMQ的JMX接口以获取生产者和消费者的连接数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

以下是一个简单的Python脚本,用于查询RocketMQ的JMX接口以获取生产者和消费者的连接数。这个脚本依赖于requests库来发送HTTP请求。

首先,你需要在Broker的配置文件中开启JMX:

com.alibaba.rocketmq.common.MQVersion.enable_jmx = true

然后,你可以使用以下脚本来获取连接数:

import requests
import json

# 定义JMX接口地址
broker_address = "localhost"
broker_port = "10911"
jmx_url = f"http://{broker_address}:{broker_port}/jmx/query"

# 定义要查询的MBeans
mbeans = [
    "com.alibaba.rocketmq.common:type=BrokerController,name=BrokerControllerState,service=brokerAddr={broker_address}:{broker_port}",
]

# 发送请求并获取响应
for mbean in mbeans:
    response = requests.get(f"{jmx_url}?objectName={mbean}")

    # 解析并打印结果
    data = json.loads(response.text)
    for datum in data:
        if datum["name"] == "producerConnectionCount":
            print(f"Producer connection count: {datum['value']}")
        elif datum["name"] == "consumerConnectionCount":
            print(f"Consumer connection count: {datum['value']}")

然后,你可以在Zabbix中创建一个新的监控项,用于执行这个脚本并收集结果。例如,你可以使用system.run键来执行脚本:

system.run[/path/to/your/script.py]

然后,你可以创建一个新的触发器,用于检测连接数是否超过了你的预设阈值。例如,如果你希望在连接数超过100时触发警告,你可以使用以下触发器表达式:

{your_host:system.run[/path/to/your/script.py].last()} > 100

请注意,这只是一个基本的示例,你可能需要根据实际的RocketMQ和Zabbix配置进行调整。如果你遇到任何问题,我建议你参考RocketMQ和Zabbix的官方文档或者寻求社区的帮助。

RocketMQ的JMX开关默认是开启的,即com.alibaba.rocketmq.common.MQVersion.enable_jmx = true是默认配置,一般情况下无需显式指定。

但如果你想要查看当前配置是否开启了JMX,你可以在RocketMQ Broker的配置文件中查看。这个文件一般位于RocketMQ的安装目录下的conf目录中,文件名可能是broker.properties或者其他你自定义的名称。

你可以打开这个文件并查找com.alibaba.rocketmq.common.MQVersion.enable_jmx这一项。如果文件中没有这一项,那么JMX默认是开启的。如果有这一项,并且它的值被设置为false,那么说明JMX被关闭了。

例如,你可以使用grep命令来查找:

grep "com.alibaba.rocketmq.common.MQVersion.enable_jmx" /path/to/your/broker.properties

如果命令没有输出,那么说明JMX默认是开启的。如果命令输出了com.alibaba.rocketmq.common.MQVersion.enable_jmx = false,那么说明JMX被关闭了。

如果你想要开启JMX,你只需要在配置文件中添加或者修改这一项为true即可:

com.alibaba.rocketmq.common.MQVersion.enable_jmx = true

然后重启Broker以使配置生效。文章来源地址https://www.toymoban.com/news/detail-527625.html

到了这里,关于Python脚本,用于查询RocketMQ的JMX接口以获取生产者和消费者的连接数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 1.6 实战:Postman请求Get接口-获取用于登录的图形验证码

    上一小节我们学习了Postman的布局,对Postman有了一个整体的认知,本小节我们就来实操一下Get接口。 我们打开Postman,点击我们之前创建的请求”获取登录页验证码“。我们在地址栏里填入获取登录页验证码的接口地址。怎么查看这个接口地址呢?我们打开校园二手交易系统,

    2024年02月04日
    浏览(60)
  • jmeter -获取cookie管理器中的cookie值用于压测接口

    背景: 由于任务的原因,需要针对某个接口进行压测。但是压测这个接口时,需要获取用户的身份信息。如果先通过登录再进行压测的话,没有办法给出针对这个接口的压测数据。所以需要想办法直接将用户的身份信息(cookie+token)提前拿到,直接赋给压测的接口。 token可以

    2024年02月08日
    浏览(87)
  • 支持fiddler导出到jmx脚本的插件介绍

    1.1目的 本文档主要是针对支持fiddler导出到jmx脚本的插件内容的介绍。 1.2背景 jmeter作为一款开源轻便的接口测试工具,极大的方便了我们的接口自动化测试工作;但是如何把jmeter和其他工具结合起来,更高效的进行接口脚本开发是我们需要考虑的方面,故此开发了支持fiddl

    2024年02月11日
    浏览(61)
  • Python自动发送消息小脚本,可用于各种聊天框~

         作者主页: 爱笑的男孩。的博客_CSDN博客-深度学习,YOLO,活动领域博主 爱笑的男孩。擅长深度学习,YOLO,活动,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域. https://blog.csdn.net/Code_and516?type=collect  个人简介:打工人。  

    2023年04月24日
    浏览(43)
  • 用于自动化的 10 个杀手级 Python 脚本

    用于自动化的 10 个杀手级 Python 脚本 您是否厌倦了在繁琐的任务上浪费时间? 您是否梦想着一个计算机为您完成所有工作的世界?别无所求,因为我们有 5 个 Python 脚本,准备好告别体力劳动,自动化开始吧! “自动化不是人类工人的敌人,而是盟友。自动化将工人从苦差

    2023年04月27日
    浏览(32)
  • RocketMQ生产者和消费者都开启Message Trace后,Consume Message Trace没有消费轨迹

    1、生产者和消费者所属同一个程序 2、生产者开启消息轨迹 3、消费者开启消息轨迹 4、生产者和消费者一起开启后,在RocketMQ可视化界面,无法查看到消息的消费轨迹 注:如果只开启生产者或消费者其中之一的消息轨迹,则消息的消费轨迹是正常的 无法展示消费轨迹 具体原

    2024年02月14日
    浏览(42)
  • 在Postman的脚本中使用pm对象获取接口的请求参数

    query params页面 在tests中写脚本做后置处理:(此处以设置不同类型用户的全局变量为例) 执行后的响应信息: 执行后可在 console 中可见获取到的print type: 执行后可在 environment quick look 中可见变量信息: 使用双花括号进行引用: {{deliverToken}} 执行后的效果: 其中tests中的关

    2024年02月09日
    浏览(50)
  • 若依前后端分离版:增加新的登录接口,用于小程序或者APP获取token,并使用若依的验证方法

    登录校验 ——AppLoginService类  具体代码  具体代码  具体代码 此时运行时,会有冲突!!! 需要在 xxx-framework/src/main/java/....../SecurityConfig中条件 如图:  此时启动项目不会报冲突的错 千万千万要添加!!! 下图中的LongUser类要添加东西  要在public String getPassword(){}中添加

    2024年02月07日
    浏览(49)
  • Kafka官方生产者和消费者脚本简单使用

    怎样使用Kafka官方生产者和消费者脚本进行消费生产和消费?这里假设已经下载了kafka官方文件,并已经解压. 这就可以见到测试kafka对应topic了.

    2024年02月04日
    浏览(45)
  • 若依@v3.8.6前后端分离版:添加新用户表添加新登录接口,用于小程序或者APP获取token,并使用若依的验证方法

    1、创建一个前端APP用户表:app_user表,并插入一条数据 2、创建 AppUser 实体类 目录:ruoyi-common——src——main——java——com.ruoyi.common——core——domian——entity 注意:与 SysUser 同级目录 3、创建 AppUserMapper.xml 映射文件 目录:ruoyi-system——src——main——resources——mapper.system 注

    2024年02月04日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包