一、介绍

我们知道 java 项目中的 JMX 接口信息是十分有用的,我们可以提取这些信息来分析或告警。但是 JMX 的 API 只在 java 中实现,因此,找到一个 Python 代码调用 Java 代码的桥梁是非常有意义的。JPype 就是这样的一个工具,利用它可以使 Python 程序方便的调用 Java 代码,从而扩充 Python 语言的能力,弥补 Python 语言的不足。本文介绍了如何利用 JPype 来对JMX接口进行访问查询。官方地址:http://jpype.sourceforge.net/

二、安装

我们这里用pip安装简单一些。这里注意名称是JPype1。

# pip install JPype1

三、示例

#!/usr/bin/python
import jpype
from jpype import java
from jpype import javaxHOST='gf0'
PORT=8386
USER='admin'  # 这里没有配安全认证的话可以不填
PASS='mypass' # 同上URL = "service:jmx:rmi:///jndi/rmi://%s:%d/jmxrmi" % (HOST, PORT)
#this it the path of your libjvm /usr/lib/jvm/sun-jdk-1.6/jre/lib/amd64/server/libjvm.so on linux
jpype.startJVM("/System/Library/Frameworks/JavaVM.framework/Libraries/libjvm_compat.dylib") # 这里写对应使用的jdk路径
java.lang.System.out.println("JVM load OK")jhash = java.util.HashMap()
jarray=jpype.JArray(java.lang.String)([USER,PASS])
jhash.put (javax.management.remote.JMXConnector.CREDENTIALS, jarray);
jmxurl = javax.management.remote.JMXServiceURL(URL)
jmxsoc = javax.management.remote.JMXConnectorFactory.connect(jmxurl,jhash)
connection = jmxsoc.getMBeanServerConnection();object="java.lang:type=Threading"  # 查询线程
attribute="ThreadCount"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print  attribute, attr#Memory is a special case the answer is a Treemap in a CompositeDataSupport
object="java.lang:type=Memory"     # 查询内存
attribute="HeapMemoryUsage"
attr=connection.getAttribute(javax.management.ObjectName(object),attribute)
print attr.contents.get("used")

这里只列举了几个指标。在java mission control上可以看到完整的各个指标,都可以拿来查询分析。

四、参考地址

http://blog.nobugware.com/post/2010/11/08/jmx-query-python-cpython/

转载于:https://www.cnblogs.com/bugsbunny/p/8397715.html

使用Python查询JMX相关推荐

  1. python 查询 elasticsearch 常用方法(Query DSL)

    2019独角兽企业重金招聘Python工程师标准>>> 1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsea ...

  2. python帮助生活-想把python运用在实际生活中?那么python查询价格方法可以帮助你...

    [摘要]通过本次课程可以让python学员了解一下python查询价格方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...

  3. python生活中哪些运用_【想把python运用在实际生活中?那么python查询价格方法可以帮助你】- 环球网校...

    [摘要]通过本次课程可以让python学员了解一下python查询价格方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...

  4. python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践

    作者:Przemyslaw Piotrowski 首先,熟悉 Oracle-Python 连接性的基本概念 2007 年 9 月发布 参见系列目录 在 Python 做事方式的核心原则中,有一个规定是 ...

  5. python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践

    在 Python 做事方式的核心原则中,有一个规定是要求具有到 API 的高级接口.数据库 API(在此例中为 Oracle API)就是一个例子.使用 Computronix 的 cx_Oracle ...

  6. python查询JCR分区

    python查询JCR分区 直接上代码 结果 已编译好.exe文件下载 直接上代码 import requests from urllib import parse,request import js ...

  7. Python 查询QQ是否在线

    ''' Python 查询QQ是否在线 by 郑瑞国 使用第三方模块 requests ''' import requests from xml.etree import ElementTreewhi ...

  8. 通过 Python 查询 Excel 数据

    通过 Python 查询 Excel 数据 我有一个记录学生信息的 Excel 表格,我想通过学生的姓名或者学号查询学生的信息. 学生信息如下 姓名 学号 性别 年龄 身份证号码 期末总成绩 张三 H ...

  9. JVM监控:python脚本JMX获取JVM状态

    python脚本JMX获取JVM状态 主要原理: 主要通过python库jmxquery,jmxquery是通过python脚本调用它里面的JAR包的JAVA方法连接JMX端口,以获取JVM的状态. ...

最新文章

  1. C#中的代理(delegate)[转载]
  2. Swift之深入解析如何进行多重条件排序
  3. windows XP下DCOM的权限配置
  4. python写一个ssh工具_用Python写个自动ssh登录远程服务器的小工具
  5. .NET Standard 2.0 特性介绍和使用指南
  6. asp.net ajax技巧6
  7. android麦克风监听动画效果,微信小程序实现录音时的麦克风动画效果实例
  8. 做折线图_python的visvis库做折线图(line.py)代码详解
  9. 项目中查询数据和模糊查询
  10. http请求头中包含未编码中文时webapi self host崩溃
  11. Eclipse快捷键的设置和使用(大小写快捷键等)
  12. 基于RWEQ模型的土壤风蚀模数估算及其变化归因分析、RWEQ模型相关的SCI论文撰写技巧
  13. 姓杨取名:杨姓女孩文雅有寓意的名字,真的是万里挑一
  14. 沃顿商学院自我管理课——埃里克.格雷腾斯
  15. 交互设计书单--西南交大课程推荐
  16. 【HDU4416】Good Article Good sentence【后缀数组】
  17. wiki服务器网页地址,搭建个人wiki站点
  18. org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No leas e on
  19. 【Uniapp商城项目】开发过程中遇到的bug问题汇总
  20. 微信小程序-申请正式的appid+开通云开发(新建项目之后界面没有云开发按钮)

热门文章

  1. u盘自动运行bat_如何让u盘插入电脑后自动播放 u盘插入电脑后自动播放方法
  2. 微信个人号API接口,个人号开发
  3. 计算机产品设计需要学什么,产品设计需要学什么课程 就业前景怎么样
  4. 安卓能连接无线苹果不能连接到服务器,为啥安卓连的上的WiFi苹果连上了没网 快来看看...
  5. Redis新数据类型Geospatial
  6. SpringBoot社区小区物业管理停车场系统(Java+Layui+MyBatis+Python+Mysql)
  7. 内网渗透(一)之基础知识-内网渗透介绍和概述
  8. 我还是小兵的时候,我的领导推荐我看的书
  9. 互联网大会:马化腾先发制人 周鸿祎反扑【上】
  10. JAVA线程万年历(阳历+阴历+节日+时间)