使用jolokia api监控ActiveMQ

本文介绍了如何使用jolokia API通过HTTP接口获取ActiveMQ的JMX后台数据,实现对ActiveMQ的Restful监控。

jolokia api提供了一种通过HTTP访问JMX获得AMQ后台数据的一种方式,即Restful Api

#!/usr/bin/env python
# -*- coding:utf-8 -*-
import requests
import json
import re
import time
import sys
n = 1
while True:
    queues = requests.get("http://172.16.1.15:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=activemq_server01/Queues",auth=("admin","admin"))

    listQueue = json.loads(queues.content)["value"]

    for queue in listQueue:
        data = queue['objectName'].encode('unicode-escape').split(r',')[1]
        queueName = data.split(r'=')[1]
        enqueue1 = requests.get("http://172.16.1.15:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=activemq_server01,destinationType=Queue,destinationName="+queueName+"/EnqueueCount",auth=("admin","admin"))
        dequeue1 = requests.get(
            "http://172.16.1.15:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=activemq_server01,destinationType=Queue,destinationName=" + queueName + "/DequeueCount",
            auth=("admin", "admin"))
        queueSize1 = requests.get(
            "http://172.16.1.15:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=activemq_server01,destinationType=Queue,destinationName=" + queueName + "/QueueSize",
            auth=("admin", "admin"))
        consumer1 = requests.get(
            "http://172.16.1.15:8161/api/jolokia/read/org.apache.activemq:type=Broker,brokerName=activemq_server01,destinationType=Queue,destinationName=" + queueName + "/ConsumerCount",
            auth=("admin", "admin"))
        enqueue = json.loads(enqueue1.content)['value']
        dequeue = json.loads(dequeue1.content)['value']
        queueSize = json.loads(queueSize1.content)['value']
        consumer = json.loads(consumer1.content)['value']


        print("第%d次采集:%-20s 待消费 %-5d 入队量 %-5d 出队量 %-5d 消费者 %-5d"% (n,queueName,queueSize,enqueue,dequeue,consumer))
    n=n+1
    time.sleep(5)

  

转载于:https://www.cnblogs.com/Peter2014/p/8404895.html

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值