zoukankan      html  css  js  c++  java
  • JMX类型监控

    zabbix服务器配置

    zabbix_server.conf:
    JavaGateway=10.42.239.219		#JavaGateway的IP
    JavaGatewayPort=10052			#JavaGateway监听的端口
    StartJavaPollers=20				#获取数据的并发数
    
    
    zabbix_java_gateway.conf
    LISTEN_IP="0.0.0.0"			#监控地址
    LISTEN_PORT=10052			#监听端口
    START_POLLERS=5				#开启的工作线程数
    TIMEOUT=3					#超时
    

    可以在本地使用cmdline-jmxclient-0.10.3.jar 包来测试键来获取值
    查看被监控服务器支持的JMX内容
    查看10.42.233.22上tomcat当前支持的监控内容:
    java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.42.233.22:10052
    注意第二个 - 前后都是空格

    查看java.lang:type=Memory监控项支持的属性
    java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.42.233.22:10052 java.lang:type=Memory

    Attributes:
    Verbose: Verbose (type=boolean)
    HeapMemoryUsage: HeapMemoryUsage (type=javax.management.openmbean.CompositeData)
    NonHeapMemoryUsage: NonHeapMemoryUsage (type=javax.management.openmbean.CompositeData)
    ObjectPendingFinalizationCount: ObjectPendingFinalizationCount (type=int)
    ObjectName: ObjectName (type=javax.management.ObjectName)
    Operations:
    gc: gc
    Parameters 0, return type=void

    查看java.lang:type=Memory HeapMemoryUsage具体值
    java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.42.233.22:10052 java.lang:type=Memory HeapMemoryUsage

    10/16/2018 17:35:48 +0800 org.archive.jmx.Client HeapMemoryUsage:
    committed: 1043857408
    init: 260017728
    max: 3698327552
    used: 329089432

    监控项中的配置
    jmx["java.lang:type=Memory",HeapMemoryUsage.used]
    java.lang:type=Threading中属性PeakThreadCount数据

    MBean中一般有属性,操作,通知等,对于属性值,zabbix是可以获取到值的,对于操作信息,处于安全考虑,外部是调用不到的,只能在jconsole中来执行方法来获取值,
    java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.42.233.22:10052 java.lang:type=Threading PeakThreadCount

    用jconsole来获取MBean中的操作值
    java -jar /tmp/cmdline-jmxclient-0.10.3.jar - 10.42.233.22:10052 java.lang:type=Threading getThreadingCount=参数1,参数2

    jconsole连接

    方式1 通过ip:port连接
    方式2 用过协议连接

    问题

    1. 启动监控后提示 connect timeout的问题

    在生产环境使用javagateway监控中间件 weblogic tomcat等信息的时候,出现connect timeout的问题,问题可能是是网络防火墙的限制

    链接文
    https://blog.51cto.com/xiumin/1898472
    就是说javagateway主机对被监控中间件主机的指定端口发起连接,被控主机在返回数据包的时候是另起的其他端口返回的数据,由于防火墙的限制,回的包被截断

    解决:
    在中间件配置信息jvm里固定rmi
    -Dcom.sun.management.jmxremote=true
    -Dcom.sun.management.jmxremote.port=10052
    -Dcom.sun.management.jmxremote.rmi.port=10052 跟上方port保持一致,可能是复用同一套连接,不另起端口返回jmx信息,
    -Dcom.sun.management.jmxremote.ssl=false
    -Dcom.sun.management.jmxremote.authenticate=false
    -Djava.rmi.server.hostname=10.42.233.22" #Tomcat所在机器IP地址

  • 相关阅读:
    linux下18种监测网络带宽方式
    python常用正则表达式
    python获取当前路径
    python获取本机的IP
    Linux 误卸载自带python后的解决办法
    jmeter分布式运行
    jmeter非GUI的运行命令
    linux下安装jmeter
    java基础笔记(8)
    java基础笔记(7)
  • 原文地址:https://www.cnblogs.com/cizao/p/11481815.html
Copyright © 2011-2022 走看看