Zabbix 通过 JMX 监控 java 进程

Posted tiantiandas

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Zabbix 通过 JMX 监控 java 进程相关的知识,希望对你有一定的参考价值。

参考: [ JMX monitoring ] [ Zabbix Java gateway ] [ JMX Monitoring (Java Gateway) not Working ]

  • 这里会说明通过 JMX 监控 java 进程的配置过程以及需要注意的问题.

  • 本文在 zabbix 已经安装好的基础之上展开. 如果使用 zabbix_proxy , 配置完全一致, 只需要打开zabbix_proxy 对 java app server 有所有端口的访问权限即可.


环境说明

基本环境

  • OS: CentOS 7.x
  • Zabbix 系列版本: 3.4.11
  • zabbix-server IP: 172.16.1.10
  • zabbix-java-gateway IP: 172.16.1.10
  • java app server IP: 172.16.1.11

网络配置需求

zabbix 相关进程都监听在默认端口:

  • zabbix-server: 10051
  • zabbix-agentd: 10050
  • zabbix-java-gateway: 10052


  • zabbix-server: 访问 zabbix-agentd 10050
  • zabbix-agentd: 访问 zabbix-server 10051
  • zabbix-java-gateway: 访问 zabbix-agentd 所有的端口权限. (原因可以查看 这里)


zabbix 配置

安装 zabbix-java-gateway

在 172.16.1.10 (zabbix-server / zabbix-java-gateway ) 上执行:

rpm -i https://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbix-release-3.4-2.el7.noarch.rpm

yum -y install zabbix-java-gateway


配置 /etc/zabbix/zabbix_java_gateway.conf

LISTEN_IP="0.0.0.0"
LISTEN_PORT=10052
PID_FILE="/var/run/zabbix/zabbix_java.pid"
START_POLLERS=5
TIMEOUT=3 


配置 /etc/zabbix/zabbix_server.conf

JavaGateway=localhost
JavaGatewayPort=10052
StartJavaPollers=5


关于 START_POLLERSStartJavaPollers 值的设定需求: StartJavaPollers <= START_POLLERS ( [ 原因 ])

如果 StartJavaPollers > START_POLLERS, 会出现 zabbix-java-gateway 没有线程来接收进来的请求.

启动服务

# start zabbix-server 
zabbix_server

# start zabbix-java-gateway
zabbix_java-gateway



Java App 启动参数的配置

具体可以参考 [ 这里 ].

启动参数如下

java -Djava.rmi.server.hostname=172.16.1.11 -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=18383 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar /data/app/demo.jar


这里需要说明:

  • Djava.rmi.server.hostname : 这里需要指定 Java App 运行服务器的 IP 地址. 如果不指定这个参数, 则只接收来自 localhost 的请求.
  • Dcom.sun.management.jmxremote.port: JMX 监听的端口. 只要不冲突即可.


Zabbix GUI 配置

配置请看 [ 这里 ].

配置 JMX Interface:

  • IP Address: Java APP 所在的服务器地址
  • Port: Dcom.sun.management.jmxremote.port 所配置的端口
  • Link 模板

在配置过程中需要注意的地方:

  • zabbix-server ( 或者 zabbix-proxy ) 需要有访问 Java App Server 的所有端口的权限.

































以上是关于Zabbix 通过 JMX 监控 java 进程的主要内容,如果未能解决你的问题,请参考以下文章

Zabbix- JMX监控

JVM进程状态监控

zabbix通过jmx监控tomcat

Zabbix3.2.6之通过JMX监控Tomcat

Zabbix 3.0 监控Tomcat

zabbix监控通过jmx监控tomcat的配置过程