• zabbix 基于JMX的Tomcat监控


    一、环境

      ubuntu14.04 LTS

      Java 1.7.0

      zabbix 2.4.5

    二、安装配置

      1、安装JavaGateway

      在ubuntu14.04LTS下因为直接使用的是 zabbix-release_2.4-1+trusty_all.deb 包安装的zabbix,

    sudo apt-get install zabbix-server-mysql zabbix-frontend-php

    所以要实现jmx只需要安装一个zabbix-java-gateway的包即可

    sudo apt-get install zabbix-java-gateway

      如果是直接源码编译zabbix-2.4.5,只需要

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

      2、配置zabbix_java_gateway.conf

    cd /etc/zabbix
    sudo vim zabbix_java_gateway.conf
    
    添加:
    LISTEN_IP="0.0.0.0"
    LISTEN_PORT=10052
    PID_FILE="/tmp/zabbix_java.pid"
    START_POLLERS=5

      其中 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_java_gateway

    sudo  service zabbix_java_gateway start

      5、监测启动zabbix_java_gateway是否成功

    sudo netstat -nutpl | grep 10052
    
    tcp6       0      0 :::10052                :::*                    LISTEN      7681/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.45.127 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 service zabbix-java-gateway restart

      8、在zabbix服务器端用工具测试 

      下载cmdline-jmxclient-0.10.3.jar工具

    wget  http://repo.typesafe.com/typesafe/repo/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar
    
    测试:
    java -jar cmdline-jmxclient-0.10.3.jar - 192.168.45.127:12345 java.lang:type=Memory NonHeapMemoryUsage
    
    06/11/2015 15:49:30 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
    committed: 26214400
    init: 2555904
    max: -1
    used: 25515648
  • 相关阅读:
    模型分离(选做)
    密码保护
    实现搜索功能
    完成个人中心—导航标签
    个人中心标签页导航
    评论列表显示及排序,个人中心显示
    完成评论功能
    从首页问答标题到问答详情页
    IDEA常用快捷键
    就业培训学习记录-day010
  • 原文地址:https://www.cnblogs.com/chrisDuan/p/4569312.html
Copyright © 2020-2023  润新知