JMX

本文参考 http://www.jianshu.com/p/414647c1179e ;因为jmx配置都是按照下面的步骤:但是同时我遇到两个问题:
一:离线分析JMX里面函数执行情况加上:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder
二: 本地一直联系不上分析的服务器,然后加上这句:-Djava.rmi.server.hostname=host ip ;然后就可以了

JMX全称Java Management Extensions, 为Java应用提供管理扩展功能。在Java 5的时候引入
概念
Name
Description

MBean
全称为Managed Bean, 你可以实现一个MBean来JMX提供管理内容

MBean Server(也叫JMX Agent)
提供集中注册管理MBean功能,允许远程通过他代理操作MBean

JMX Connectors
通过实现不同的通讯协议,来允许远程访问

Jconsole
一款JMX图形客户端,运行用户访问本地或者远程的JMX,默认包含在Java SDK工具中

Referering Java Opts
启动Java可以赋予JVM Machine一些参数,例如设置运行内存堆栈的大小。此处列举一些有关JMX的相关参数
参数名
类型
描述

-Dcom.sun.management.jmxremote
布尔
是否支持远程JMX访问,默认true

-Dcom.sun.management.jmxremote.port
数值
监听端口号,方便远程访问

-Dcom.sun.management.jmxremote.authenticate
布尔
是否需要开启用户认证,默认开启

-Dcom.sun.management.jmxremote.ssl
布尔
是否对连接开启SSL加密,默认开启

-Dcom.sun.management.jmxremote.access.file
路径
对访问用户的权限授权的文件的路径,默认路径JRE_HOME/lib/management/jmxremote.access

-Dcom.sun.management.jmxremote. password.file
路径
设置访问用户的用户名和密码,默认路径JRE_HOME/lib/management/ jmxremote.password

例如,你需要启动一个常驻后台的springboot程序(比如app.jar),如何开启一个支持远程访问的JMX,可以尝试下面的命令
java -jar app.jar -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=10080 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

对于关于JMX相关的参数你配置这些就够了,就可以使用Jconsole连接,


Jconsole Panel

这个仅仅限于你在本地访问,也就是说远程访问。
你需要支持远程访问协议,也就是前面描述的JMX Connector,可以添加一个参数
-Djava.rmi.server.hostname=服务器的IP地址或者域名

就可以开启远程RMI协议访问,正常情况此时应该就能正常看到类似下面的界面


JMX Runtime

不过在我的工作做,此时发现仍然不能再远程访问,查询了相关资料后,有可能是防火墙的原因屏蔽了相关接口。在Java启动时,JMX会绑定一个接口,RMI也会绑定一个接口,在复杂网络环境下,有可能你通过打开防火墙允许了JMX端口的通过,但是由于没有放行RMI,远程连接也是会失败的。
这是因为JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口,很有可能这个端口会被防火墙给阻止,以至于连接超时失败。好在在Java7u25版本后可-Dcom.sun.management.jmxremote.rmi.port=端口号
来定死这个端口,好消息是,你可以将这个端口和jmx.port
的端口设置成一个端口,这样防火墙策略就只需要同行一个端口就可以了。
额外内容:
Sample for authtication

password filemonitorRole password1controlRole password2

access filemonitorRole readonlycontrolRole readwrite

References
http://docs.oracle.com/javase/7/docs/technotes/guides/management/agent.html
http://stackoverflow.com/questions/20884353/why-java-opens-3-ports-when-jmx-is-configured/21552812#21552812
http://stackoverflow.com/questions/7163173/jmx-enabled-java-application-appears-to-open-a-random-high-order-port-when-jmx-c
http://jingyan.baidu.com/article/acf728fd3c568af8e410a37a.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,881评论 4 368
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 68,052评论 1 301
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 110,598评论 0 250
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,407评论 0 217
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,823评论 3 294
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,872评论 1 224
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 32,037评论 2 317
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,778评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,505评论 1 247
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,745评论 2 253
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,233评论 1 264
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,568评论 3 260
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,231评论 3 241
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,141评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,939评论 0 201
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,954评论 2 283
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,784评论 2 275

推荐阅读更多精彩内容

  • 简介 全称Java Management Extensions,从Java5.0开始引入到标准Java技术平台中。...
    0d1b415a365b阅读 2,025评论 0 4
  • JMX全称Java Management Extensions, 为Java应用提供管理扩展功能。在Java 5的...
    azzgo阅读 18,631评论 5 14
  • 上一篇文章在谈Intellij IDEA使用Tomat应用部署的实现方式时,讲到其是通过操作Tomcat的MBea...
    侯树成阅读 5,350评论 1 5
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,381评论 6 343
  • 一、java 环境变量 1. 计算机-》属性-》高级系统设置-》环境变量-》系统变量 JAVA_HOME : jd...
    康明阅读 413评论 0 0