zoukankan      html  css  js  c++  java
  • zabbix使用jmx监控tomcat

    环境:CentOS 7.2   Java 1.8.171    zabbix 3.2

    部署步骤:

    1.安装 Zabbix-Java-Gateway

    zabbix-server 需要配置Java支持,

    源码编译:需要添加--enable-java选项

    ./configure --enable-java --prefix=/usr/local/zabbix/zabbix_java
    make && make install

    yum 安装命令安装zabbix-java-gateway 包

    yum install zabbix-java-gateway

    2.配置zabbix_java_gateway.conf

    cd /etc/zabbix
    vim zabbix_java_gateway.conf
    
    编辑:
    LISTEN_IP="0.0.0.0"          //监听的服务器地址
    LISTEN_PORT=10052       //监听的端口
    PID_FILE="/var/run/zabbix/zabbix_java.pid"       //指定zabbix_java的pid文件位置
    START_POLLERS=5
    TIMEOUT=3

    其中 LISTEN_PORT 和 LISTEN_IP 可以不配置,zabbix_java 会采用默认值。但是 PID_FILE 和 START_POLLERS 必须配置,尤其主意 START_POLLERS,若不配置 zabbix_java 依旧可以启动但是是不工作的。

    3.配置zabbix_server 或 zabbix_proxy

    zabbix_server 或 zabbix_proxy 的配置文件中有以下内容需要配置:

    JavaGateway=127.0.0.1   // SERVER IP
    JavaGatewayPort=10052
    StartJavaPollers=5

    4.重启zabbix-server 和 zabbix_java_gateway

    systemctl restart zabbix-server
    systemctl start zabbix-java-gateway
    systemctl enable zabbix-java-gateway

    5.检测启动zabbix-java-gateway监听状况

    netstat -antupl | grep 10052
    tcp        0      0 192.168.30.100:10052    0.0.0.0:*               LISTEN      24837/java

    6.配置修改tomcat被监控端

    下载catalina-jmx-remote.jar
    将下载好的文件存放到tomcat子目录目录lib录下
    sudo mv catalina-jmx-remote.jar /usr/local/tomcat/apache-tomcat-7.0.53/lib/
    修改启动脚本文件
    cd /usr/local/tomcat/apache-tomcat-7.0.53/bin
    sudo vim catalina.sh
    在# ----- Execute The Requested Command -----------------下面添加如下内容:
    export CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.port=12345 -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=x.x.x.x" 
    -----备注(x.x.x.x是客户端ip地址,即tomcat本身ip地址,也可以是主机名)
    -----这里的Port要和zabbix服务器定义的监听jmx端口保持一致。
    cd /usr/local/tomcat/apache-tomcat-7.0.53/conf
    sudo vim server.xml
    修改server.xml配置文件添加下面一行内容
    <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener"  rmiRegistryPortPlatform="12345" rmiServerPortPlatform="12346"/>
    -----这里的Port要和zabbix服务器定义的监听jmx端口保持一致。
    
    修改tomcat服务器的hosts文件
    cat /etc/hosts
    192.168.30.100 localhost.localdomain localhost

    7.重启tomcat和zabbix-java-gateway

    sudo /usr/local/tomcat/apache-tomcat-7.0.53/bin/shutdown.sh
    如果不能关闭,直接 sudo killall java 
    sudo /usr/local/tomcat/apache-tomcat-7.0.53/bin/startup.sh 
    sudo systemctl restart zabbix-java-gateway

    8.下载zabbix服务器端用测试工具

    下载cmdline-jmxclient-0.10.3.jar工具

    获取tomcat的最大线程数。
    ]$ java -jar cmdline-jmxclient-0.10.3.jar - 192.168.30.100:12345  'Catalina:name="http-bio-8080",type=ThreadPool' maxThreads
    06/09/2018 17:34:47 +0800 org.archive.jmx.Client maxThreads: 200
    
    获取tomcat繁忙线程数。
    ]$ java -jar cmdline-jmxclient-0.10.3.jar - 192.168.30.100:12345 'Catalina:name="http-bio-8080",type=ThreadPool' currentThreadsBusy
    06/09/2018 17:36:48 +0800 org.archive.jmx.Client currentThreadsBusy: 5
    
    获取tomcat当前已经分配线程数。
    $ java -jar cmdline-jmxclient-0.10.3.jar - 192.168.30.100:12345  'Catalina:name="http-bio-8080",type=ThreadPool' currentThreadCount
    06/09/2018 17:38:15 +0800 org.archive.jmx.Client currentThreadCount: 11
    
    获取活动线程的当前数目,包括守护线程和非守护线程。
    java -jar cmdline-jmxclient-0.10.3.jar - 192.168.30.100:12345 java.lang:type=Threading ThreadCount
    06/09/2018 17:55:34 +0800 org.archive.jmx.Client ThreadCount: 225
    
    获取自从 Java 虚拟机启动以来创建和启动的线程总数目。
    java -jar cmdline-jmxclient-0.10.3.jar - 192.168.30.100:12345 java.lang:type=Threading TotalStartedThreadCount
    06/09/2018 17:55:52 +0800 org.archive.jmx.Client TotalStartedThreadCount: 112225
    
    获取Java 虚拟机启动或峰值重置以来峰值活动线程计数。
    java -jar cmdline-jmxclient-0.10.3.jar - 192.168.30.100:12345 java.lang:type=Threading PeakThreadCount
    06/09/2018 17:56:06 +0800 org.archive.jmx.Client PeakThreadCount: 244
    
    获取守护线程总数。
    java -jar cmdline-jmxclient-0.10.3.jar – 192.168.30.100:12345 java.lang:type=Threading DaemonThreadCount
    06/09/2018 17:52:20 +0800 org.archive.jmx.Client DaemonThreadCount: 195

    名称:tomcat已分配线程数
    键值:jmx["Catalina:name="http-bio-8080",type=ThreadPool",currentThreadCount]

    名称:tomcat最大线程数
    键值:jmx["Catalina:name="http-bio-8080",type=ThreadPool",maxThreads]

    名称:tomcat繁忙线程数
    键值:jmx["Catalina:name="http-bio-8080",type=ThreadPool",currentThreadsBusy]

    名称:java虚拟机启动以来创建和启动的线程总数目
    键值:jmx["java.lang:type=Threading","TotalStartedThreadCount"]

    名称:tomcat活动线程的当前数目,包括守护线程和非守护线程。
    键值:jmx["java.lang:type=Threading","ThreadCount"]

    名称:java虚拟机启动或峰值重置以来峰值活动线程数
    键值:jmx["java.lang:type=Threading","PeakThreadCount"]

  • 相关阅读:
    hduoj 1865 1string 【大数】【菲波那切数列】
    poj 1664 放苹果【M的N划分】
    新年第一篇
    3、XCode: 如何添加自定义代码片段
    2、文件夹
    1、获取当前屏幕显示的页面
    运算符
    表单数据接收
    PHP进入MySQL数据库
    my SQL认识和进入
  • 原文地址:https://www.cnblogs.com/walkman-sky/p/9323137.html
Copyright © 2011-2022 走看看