包含JVM监控 使用 Zabbix 监控 Tomcat( 三 )

3.12.网络流量:
Tomcat本地查看接收的字节:
接收的字节:java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:8090 Catalina:name="http-nio-8080",type=GlobalRequestProcessor bytesReceived发送的字节:java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:8090 Catalina:name="http-nio-8080",type=GlobalRequestProcessor bytesSentZabbix监控tomcat接受字节键值:
接收的字节:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-8080"",bytesReceived]发送的字节:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-8080"",bytesSent]3.13.tomcat请求,出错请求:
tomcat本地查看tomcat请求数:
tomcat请求数: java -jar cmdline-jmxclient-0.10.3.jar - 192.168.10.46:8090 Catalina:name="http-nio-8080",type=GlobalRequestProcessor requestCounttomcat出错请求: java -jar cmdline-jmxclient-0.10.3.jar - 192.168.10.46:8090 Catalina:name="http-nio-8080",type=GlobalRequestProcessor errorCountzabbix监控tomcat请求数:
tomcat请求数: jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-8080"",requestCount]tomcat出错请求:jmx["Catalina:type=GlobalRequestProcessor,name="http-nio-8080"",errorCount]4.问题的解答
最近有网友联系我说,看着我的博文搭建完了环境,获取不到数据,我帮助排查了一下,找到了问题所在,特此记录 。
网友的报错如下:
# java -jar /root/cmdline-jmxclient-0.10.3.jar - 127.0.0.1:9080 java.lang:type=MemoryPool,name=PS Eden Space Usag11/11/2016 10:03:37 +0800org.archive.jmx.Client java.lang:name=PS Eden Space,type=MemoryPool is not a registered bean4.1.解决思路

  • 如果你使用命令行监控获取不到数据,那么就先使用jconsole看看有没有数据,
  • 如果jconsole有数据,那么就往下看,反之检查你的环境 。
  • 如果jconsole有数据,但是命令行没有数据,那么就是Mbean的Object Name或者属性有问题,网友都是复制我的,但是自己本地环境和我的环境不一样所以导致获取不到数据,查询自己的本地Mbean方法有两种,分别是图形和命令行,网友的报错说事自己的Eden Space空间有问题,那么我就贴出来查看本地内存池的Object Name和属性的方法 。
(1)通过jconsole查看:
包含JVM监控 使用 Zabbix 监控 Tomcat

文章插图
 
(2)通过命令行查看:直接使用java -jar cmdline-jmxclient-0.10.3.jar – 127.0.0.1:8090命令可以获取所有的Mbean信息,输出太多这里就不贴输出结果了 。我通过grep命令获取所有内存池的监控信息方式如下 。
[root@tomcat-01 ~]# java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:8090 | grep MemoryPooljava.lang:name=Compressed Class Space,type=MemoryPooljava.lang:name=Metaspace,type=MemoryPooljava.lang:name=PS Old Gen,type=MemoryPooljava.lang:name=PS Eden Space,type=MemoryPooljava.lang:name=PS Survivor Space,type=MemoryPooljava.lang:name=Code Cache,type=MemoryPool然后我要获取Eden Space的所有属性信息方式如下:(一些特殊字符需要转义)
[root@tomcat-01 ~]# java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:8090 java.lang:name=PS Eden Space,type=MemoryPoolAttributes:Usage: Usage (type=javax.management.openmbean.CompositeData)PeakUsage: PeakUsage (type=javax.management.openmbean.CompositeData)MemoryManagerNames: MemoryManagerNames (type=[Ljava.lang.String;)UsageThreshold: UsageThreshold (type=long)UsageThresholdExceeded: UsageThresholdExceeded (type=boolean)UsageThresholdCount: UsageThresholdCount (type=long)UsageThresholdSupported: UsageThresholdSupported (type=boolean)CollectionUsageThreshold: CollectionUsageThreshold (type=long)CollectionUsageThresholdExceeded: CollectionUsageThresholdExceeded (type=boolean)CollectionUsageThresholdCount: CollectionUsageThresholdCount (type=long)CollectionUsage: CollectionUsage (type=javax.management.openmbean.CompositeData)CollectionUsageThresholdSupported: CollectionUsageThresholdSupported (type=boolean)Valid: Valid (type=boolean)Name: Name (type=java.lang.String)Type: Type (type=java.lang.String)ObjectName: ObjectName (type=javax.management.ObjectName)Operations:resetPeakUsage: resetPeakUsageParameters 0, return type=void那么我们在查看Eden Space空间的使用信息 。就看到已经出来数据了
[root@tomcat-01 ~]# java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:8090 java.lang:name=PS Eden Space,type=MemoryPool Usage12/03/2016 08:33:58 +0800 org.archive.jmx.Client Usage:committed: 712507392init: 537395200max: 712507392used: 396006304
【包含JVM监控 使用 Zabbix 监控 Tomcat】


推荐阅读