ZABBIX通过JMX监控tomcat

简介:

在Zabbix中,JMX监控数据的获取由专门的代理程序来实现,即Zabbix-Java-Gateway来负责数据的采集,Zabbix-Java-Gateway和JMX的Java程序之间通信获取数据

JMX在Zabbix中的运行流程:

1.Zabbix-Server找Zabbix-Java-Gateway获取Java数据
2.Zabbix-Java-Gateway找Java程序(zabbix-agent)获取数据
3.Java程序返回数据给Zabbix-Java-Gateway
4.Zabbix-Java-Gateway返回数据给Zabbix-Server
5.Zabbix-Server进行数据展示

配置JMX监控的步骤:

1.安装Zabbix-Java-Gateway。
2.配置zabbix_java_gateway.conf参数。
3.配置zabbix-server.conf参数。
4.Tomcat应用开启JMX协议。
5.ZabbixWeb配置JMX监控的Java应用。

1.配置所有Agent(标准化目录结构)

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_agentd.conf #编辑配置文件引用key
Include=/etc/zabbix/zabbix_agentd.d/*.conf  
[root@linux-node1 ~]# mkdir /etc/zabbix/scripts #存放Shell脚本

2.安装java以及zabbix-java-gateway (如果源码安装加上--enable-java参数)

[root@linux-node1 ~]# yum install  zabbix-java-gateway java-1.8.0-openjdk -y

3.启动zabbix-java-gateway

[root@linux-node1 ~]# systemctl start zabbix-java-gateway
[root@linux-node1 ~]# netstat -lntup|grep 10052
tcp6       0      0 :::10052                :::*                    LISTEN      13042/java

4.修改zabbix-server 配置文件

[root@linux-node1 ~]# vim /etc/zabbix/zabbix_server.conf
JavaGateway=192.168.90.11  # java gateway地址(如果和zabbix-server装一起可以写127.0.0.1)
JavaGatewayPort=10052  #java gateway端口,默认端口10052
StartJavaPollers=5  #启动进程轮询java gateway

5.重启zabbix-server

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

6.开启tomcat的远程jvm配置文件

[root@linux-node1 ~]# vim /usr/local/tomcat/bin/catalina.sh  #找到自己本机tomcat路径(如果是salt来管,修改salt模板即可)
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=12345
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false 
-Djava.rmi.server.hostname=192.168.90.11"

#远程jvm配置文件解释
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote # #启用远程监控
JMX-Dcom.sun.management.jmxremote.port=12345 #jmx远程端口,Zabbix添加时必须一致
-Dcom.sun.management.jmxremote.authenticate=false #不开启用户密码认证
-Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=192.168.90.11" #运行tomcat服务IP(不要填写错了)

7.重启tomcat服务

[root@linux-node1 ~]# /usr/local/tomcat/bin/shutdown.sh
[root@linux-node1 ~]# /usr/local/tomcat/bin/startup.sh

8.zabbix添加tomcat主机,并添加Zabbix自带java监控模板,如图4-10、图4-11、图4-12
4-10
图4-10
4-11
图4-11
4-12
图4-12

9.查看图形,如图4-13
4-13

10.自带的监控可能无法满足企业需求,大家可以根据公司的业务定制不同的JVM监控模板。



本文转自 baishuchao 51CTO博客,原文链接:http://blog.51cto.com/baishuchao/1958241

相关文章
|
3月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
3月前
|
Arthas 监控 Java
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
Arthas 可以用于监控和诊断在 Windows 系统下部署的 Tomcat 服务
173 2
|
4月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
75 4
|
4月前
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
134 0
|
5月前
|
监控 Java 应用服务中间件
Tomcat打开远程调试和jmx远程监控
Tomcat打开远程调试和jmx远程监控
|
6月前
|
监控 关系型数据库 MySQL
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
企业实战(8)CentOS 6.8安装Zabbix-agent 5.0监控主机性能与Mysql数据库
|
1月前
|
数据采集 监控 数据库
请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
【2月更文挑战第25天】请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
25 2
|
6月前
|
监控
zabbix如何添加自定义监控项
zabbix如何添加自定义监控项
256 0
|
2月前
|
监控 Cloud Native 关系型数据库
使用 Grafana 统一监控展示 - 对接 Zabbix
使用 Grafana 统一监控展示 - 对接 Zabbix
|
4月前
|
监控 Docker 容器
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
221 0

推荐镜像

更多