账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    jmx监控jvm
    38
    0

    1,这边需要使用zabbix监控jvm,但是发现自带的模版很多都无法使用,关键很多指标也看的不是很懂,所以特来请教jmxclient的语法使用。

    2,如下是个人总结的

    jmxclient 故名思义 就是jmx客户端,主要用于连接jmx获取数据的终端
    
    
    
    1,使用jmxclient工具获取jvm数据
    
    
    a,查看jmx有哪些参数
    
    #13080为jmx开启的端口,配置在catalina.sh中配置
    
    java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.12:13080
    
    
    
    b,查看jmx不同类别的参数
    
    java -jar jmxcmd.jar  - 127.0.0.1:13080|grep 'java.lang' 
    
    java -jar jmxcmd.jar  - 127.0.0.1:13080|grep 'Catalina' 
    
    
    
    命令:java -jar jmxcmd.jar  - 127.0.0.1:13080|grep 'java.lang' 
    
    
    
    输出如下结果: 
    java.lang:type=Runtime
    java.lang:name=MarkSweepCompact,type=GarbageCollector
    java.lang:name=Compressed Class Space,type=MemoryPool
    java.lang:type=Compilation
    java.lang:type=ClassLoading
    java.lang:name=CodeCacheManager,type=MemoryManager
    java.lang:type=Memory
    java.lang:name=Metaspace,type=MemoryPool
    java.lang:name=Copy,type=GarbageCollector
    java.lang:name=Eden Space,type=MemoryPool
    java.lang:type=Threading
    java.lang:name=Survivor Space,type=MemoryPool
    java.lang:type=OperatingSystem
    java.lang:name=Metaspace Manager,type=MemoryManager
    java.lang:name=Code Cache,type=MemoryPool
    java.lang:name=Tenured Gen,type=MemoryPool
    
    
    
    命令:java -jar jmxcmd.jar  - 127.0.0.1:13080|grep 'Catalina' 
    
    
    
    输出如下结果:
    Catalina:port=8009,type=Connector
    Catalina:host=localhost,name=AccessLogValve,type=Valve
    Catalina:name="http-nio-8080",type=GlobalRequestProcessor
    Catalina:type=Mapper
    Catalina:type=NamingResources
    Catalina:host=localhost,name=StandardHostValve,type=Valve
    Catalina:realmPath=/realm0/realm0,type=Realm
    Catalina:type=Service
    Catalina:context=/,host=localhost,name=Cache,type=WebResourceRoot
    Catalina:name="ajp-nio-8009",type=GlobalRequestProcessor
    Catalina:type=MBeanFactory
    Catalina:J2EEApplication=none,J2EEServer=none,j2eeType=WebModule,name=//localhost/
    Catalina:port=8080,type=ProtocolHandler
    Catalina:name=StandardEngineValve,type=Valve
    Catalina:port=8009,type=ProtocolHandler
    Catalina:realmPath=/realm0,type=Realm
    Catalina:host=localhost,type=Deployer
    Catalina:class=org.apache.catalina.UserDatabase,name="UserDatabase",resourcetype=Global,type=Resource
    Catalina:type=Server
    Catalina:context=/,host=localhost,type=WebResourceRoot
    Catalina:type=StringCache
    Catalina:name="ajp-nio-8009",type=ThreadPool
    Catalina:port=8080,type=Connector
    Catalina:host=localhost,name=ErrorReportValve,type=Valve
    Catalina:host=localhost,type=Host
    Catalina:name="http-nio-8080",type=ThreadPool
    Catalina:type=Engine
    

    3,问题
    a, java.lang Catalina 这个在java中是什么?

    b, 我如何知道某个参数的具体用法
    比如:
    上面可以看的到java.lang:name=Code Cache,type=MemoryPool 这个参数,这边可以通过

    java -jar jmxcmd.jar - 127.0.0.1:13080 java.lang:name="Code Cache",type=MemoryPool Usage

    的命令获取值,执行命令后的值:
    09/13/2018 20:24:06 +0800 de.layereight.jmxcmd.Client Usage:
    committed: 8650752
    init: 2555904
    max: 251658240
    used: 8447296

    但是请问其他的参数如何获取具体的值呢?难道都是Usage吗(测试了一下,就这个可以)?

    谢谢各位大牛!!!

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 鬼缔 普通会员 1楼
      502 Bad Gateway

      502 Bad Gateway


      nginx
    更多回答
    网站公告
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部