java jmx监控_Zabbix4.0通过JMX监控多实例java运行

(一)简介

1、JMX简介

JMX的全称是Java Management Extensions,即Java管理扩展(Java Management Extensions,即Java管理扩展,是一个为应用程序、设备、系统等植入管理功能的框架,JMX可以跨越一系列异构操作系统平台、系统体系结构和网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用)。Java程序会开放一些端口,用来获取运行状况。Zabbix 2.0开始,内置了监控JMX的功能,叫做“Zabbix Java Gateway”,在Zabbix Server和Zabbix Proxy上启动名为“Zabbix Java Gateway”的进程,当需要获取JMX数据时,Zabbix Server会“问”JMX Gateway,然后JMX Gateway根据JMX管理API去查询需要的数据。在使用时,Java程序不需要在代码中新增任何东西,只需要在启动的时候加上一些JVM参数,使得它可以支持使用端口监控JMX。

2、监控原理:当Zabbix-Server需要知道java应用程序的某项性能的时候,会启动自身的一个Zabbix-JavaPollers进程去连接Zabbix-JavaGateway请求数据,而ZabbixJavagateway收到请求后使用"JMXmanagementAPI"去查询特定的应用程序,而前提是应用程序这端在开启时需要"-Dcom.sun.management.jmxremote"参数来开启JMX远程查询就行。Java程序会启动自身的一个简单的小程序端口12345向Zabbix-JavaGateway提供请求数据。

d4092b898f7f113ea8a1227bbddf721b.png

从上面的原理图中可以看出,配置Zabbix监控Java应用程序的关键点在于:配置Zabbix-JavaGateway、让Zabbix-Server能够连接Zabbix-JavaGateway、Tomcat开启JVM远程监控功能等

3、监控架构

ec29ec050a797813721a8bb27e3f13e8.png

*(二)需要安装服务:JDK环境部署 (略)

zabbix-server端编译安装Zabbix-Java-gateway选项

修改zabbix_server配置文件

重启zabbix_server

修改JAR包的启动文件(agent端)

下载相应的JMX的jar包,在zabbix-server端进行验证

修改相应的模板在zabbix Web页面进行修改

**

(三)、具体安装配置

1、JDK环境部署(略)

2、Zabbix-Java-gateway安装和配置

方法一、编译安装。编译是需要加上 --enable-java来启用通过JMX监控tomcat的支持,zabbix server安装请看站内相应文档

./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --with-mysql --enable-java --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2

方法二、yum直接安装。

yum -y install zabbix-java-gateway

3、修改zabbix java配置

[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf

JavaGateway=172.19.152.247

JavaGatewayPort=10052

StartJavaPollers=5

4、重启zabbix-server,并查看端口是否启动

[root@zabbix-server ~]# systemctl restart zabbix-server

[root@zabbix-server ~]# systemctl status zabbix-server

● zabbix-server.service - Zabbix Server

Loaded: loaded (/usr/lib/systemd/system/zabbix-server.service; enabled; vendor preset: disabled)

Active: active (running) since 二 2019-05-21 15:03:20 CST; 8s ago

Process: 5974 ExecStop=/bin/kill -SIGTERM $MAINPID (code=exited, status=0/SUCCESS)

Process: 5977 ExecStart=/usr/sbin/zabbix_server -c $CONFFILE (code=exited, status=0/SUCCESS)

Main PID: 5979 (zabbix_server)

CGroup: /system.slice/zabbix-server.service

├─6067 /usr/sbin/zabbix_server: java poller #1 [got 0 values in 0.000018 sec, idle 5 sec]

├─6068 /usr/sbin/zabbix_server: java poller #2 [got 0 values in 0.000010 sec, idle 5 sec]

├─6069 /usr/sbin/zabbix_server: java poller #3 [got 0 values in 0.000016 sec, idle 5 sec]

├─6070 /usr/sbin/zabbix_server: java poller #4 [got 0 values in 0.000013 sec, idle 5 sec]

├─6071 /usr/sbin/zabbix_server: java poller #5 [got 0 values in 0.000011 sec, idle 5 sec]

[root@zabbix-server ~]# netstat -lntp|grep java

tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 3646/java

tcp 0 0 0.0.0.0:8081 0.0.0.0:* LISTEN 3646/java

tcp 2 0 127.0.0.1:32000 0.0.0.0:* LISTEN 2477/java

tcp 0 0 172.19.152.247:10052 0.0.0.0:* LISTEN 8809/java

tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 3646/java

5、被监控的客户端添加JMX支持。给启动脚本添加参数,开启JMX

######## 在 Execute The Requested Command 前加入如下代码(未采用认证加密方式):

-Dcom.sun.management.jmxremote

-Djava.rmi.server.hostname=172.19.195.148

-Dcom.sun.management.jmxremote.port=10053

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false

重新启动查看端口是否运行

[appuser@preuser195147 ~]$ netstat -lntp|grep 10053

(Not all processes could be identified, non-owned process info

will not be shown, you would have to be root to see it all.)

tcp 0 0 0.0.0.0:10053 0.0.0.0:* LISTEN 25200/java

6、下载相应的JMX的jar包(链接:https://pan.baidu.com/s/1FzslYQZ7snw38EMDsh2c9A 提取码:g3ie),在zabbix-server端进行验证

[root@zabbix-server opt]# cd /data/tomcat/

[root@zabbix-server tomcat]# java -jar cmdline-jmxclient-0.10.3.jar - 172.19.195.148:10053 java.lang:type=Memory NonHeapMemoryUsage

05/21/2019 17:15:55 +0800 org.archive.jmx.Client NonHeapMemoryUsage:

committed: 212074496

init: 2555904

max: 1862270976

used: 201090744

7、导入模板添加监控并添加监控。主机

f546bfcccc57c1291aa62dbf4cf8b3dd.png

2adef289d2f6a78b2d49ced175992dcc.png

查看监控图形

c79726339d128d8f4102416070228de6.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值