使用Python查询JMX
一、介绍
我们知道 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相关推荐
- python 查询 elasticsearch 常用方法(Query DSL)
2019独角兽企业重金招聘Python工程师标准>>> 1. 建立连接 from elasticsearch import Elasticsearch es = Elasticsea ...
- python帮助生活-想把python运用在实际生活中?那么python查询价格方法可以帮助你...
[摘要]通过本次课程可以让python学员了解一下python查询价格方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...
- python生活中哪些运用_【想把python运用在实际生活中?那么python查询价格方法可以帮助你】- 环球网校...
[摘要]通过本次课程可以让python学员了解一下python查询价格方法,对代码编程有个感性的认知.也好让大家能够理性选择,不要盲目跟从,选择适合自己当前阶段的学习内容,循序渐进,以兴趣自我探索为向 ...
- python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践
作者:Przemyslaw Piotrowski 首先,熟悉 Oracle-Python 连接性的基本概念 2007 年 9 月发布 参见系列目录 在 Python 做事方式的核心原则中,有一个规定是 ...
- python查询最高分_精通 Oracle+Python,第 1 部分:查询最佳应践
在 Python 做事方式的核心原则中,有一个规定是要求具有到 API 的高级接口.数据库 API(在此例中为 Oracle API)就是一个例子.使用 Computronix 的 cx_Oracle ...
- python查询JCR分区
python查询JCR分区 直接上代码 结果 已编译好.exe文件下载 直接上代码 import requests from urllib import parse,request import js ...
- Python 查询QQ是否在线
''' Python 查询QQ是否在线 by 郑瑞国 使用第三方模块 requests ''' import requests from xml.etree import ElementTreewhi ...
- 通过 Python 查询 Excel 数据
通过 Python 查询 Excel 数据 我有一个记录学生信息的 Excel 表格,我想通过学生的姓名或者学号查询学生的信息. 学生信息如下 姓名 学号 性别 年龄 身份证号码 期末总成绩 张三 H ...
- JVM监控:python脚本JMX获取JVM状态
python脚本JMX获取JVM状态 主要原理: 主要通过python库jmxquery,jmxquery是通过python脚本调用它里面的JAR包的JAVA方法连接JMX端口,以获取JVM的状态. ...
最新文章
- C#中的代理(delegate)[转载]
- Swift之深入解析如何进行多重条件排序
- windows XP下DCOM的权限配置
- python写一个ssh工具_用Python写个自动ssh登录远程服务器的小工具
- .NET Standard 2.0 特性介绍和使用指南
- asp.net ajax技巧6
- android麦克风监听动画效果,微信小程序实现录音时的麦克风动画效果实例
- 做折线图_python的visvis库做折线图(line.py)代码详解
- 项目中查询数据和模糊查询
- http请求头中包含未编码中文时webapi self host崩溃
- Eclipse快捷键的设置和使用(大小写快捷键等)
- 基于RWEQ模型的土壤风蚀模数估算及其变化归因分析、RWEQ模型相关的SCI论文撰写技巧
- 姓杨取名:杨姓女孩文雅有寓意的名字,真的是万里挑一
- 沃顿商学院自我管理课——埃里克.格雷腾斯
- 交互设计书单--西南交大课程推荐
- 【HDU4416】Good Article Good sentence【后缀数组】
- wiki服务器网页地址,搭建个人wiki站点
- org.apache.hadoop.hdfs.server.namenode.LeaseExpiredException: No leas e on
- 【Uniapp商城项目】开发过程中遇到的bug问题汇总
- 微信小程序-申请正式的appid+开通云开发(新建项目之后界面没有云开发按钮)
热门文章
- u盘自动运行bat_如何让u盘插入电脑后自动播放 u盘插入电脑后自动播放方法
- 微信个人号API接口,个人号开发
- 计算机产品设计需要学什么,产品设计需要学什么课程 就业前景怎么样
- 安卓能连接无线苹果不能连接到服务器,为啥安卓连的上的WiFi苹果连上了没网 快来看看...
- Redis新数据类型Geospatial
- SpringBoot社区小区物业管理停车场系统(Java+Layui+MyBatis+Python+Mysql)
- 内网渗透(一)之基础知识-内网渗透介绍和概述
- 我还是小兵的时候,我的领导推荐我看的书
- 互联网大会:马化腾先发制人 周鸿祎反扑【上】
- JAVA线程万年历(阳历+阴历+节日+时间)