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
------------------------------------------------------end------------------------------------
专注技术提升,交流。
- Zabbix JMX之tomcat监控
工作原理: 1.JAVA-GATEWAY Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问 ...
- zabbix通过jmx监控tomcat
Zabbix版本: Zabbix 3.0.2 一.服务端配置 1.安装jdk(版本1.7.0_79) 安装与配置比较简单,过程省略.执行java -version命令,出现类似界面表示成功. 2. ...
- zabbix使用jmx监控tomcat
zabbix监控Tomcat/JVM实例性能(115) – 运维生存时间http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ zabbi ...
- Zabbix通过JMX方式监控java中间件
Zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“Zabbix-Java-gateway”:它是用java写的一个程序. 工作原理: zabbix_server想知道一台主机上的特定 ...
- zabbix添加Tomcat监控
参靠了网上一些关于zabbix添加Tomcat的监控配置,自己整理了下: 一.服务器端配置1.找到zabbix源码存放路径 # find / -name zabbix_java #/usr/local ...
- 【 Zabbix 】— Tomcat监控及故障重启服务
一.监控tomcat原理 zabbix_server开启java poller,zabbix_java开启JavaGateway, 端口为:10052,tomcat JMX开启12345提供性能数据. ...
- 基于zabbix 的memached 多实例监控
基于zabbix 的memached 多实例监控 zabbix agentd 配置文件新增配置: UserParameter=memcached.server.discovery[*],ps uax ...
- 使用JMX工具远程监控tomcat配置
使用JMX工具远程监控tomcat,在tomcat启动时添加配置参数: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.po ...
- zabbix基于SNMP 协议监控路由器
zabbix基于SNMP 协议监控路由器 步骤 步骤超级方便. 1. 路由器上开启snmp 2. 确保外网能訪问到 3. 用snmpwalk測试 4. 加入zabbix主机,SNMP interfac ...
随机推荐
- Solr总结
http://www.cnblogs.com/guozk/p/3498831.html Solr调研总结 开发类型 全文检索相关开发 Solr版本 4.2 文件内容 本文介绍solr的功能使用及相关注 ...
- Keil工程文件的建立、设置与目标文件的获得
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为 CPU 可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工 汇编的方法了.机器汇编是通过汇编软件 ...
- Qt学习笔记网络(URL和下载的功能都有)
http://www.cnblogs.com/li-peng/p/3656613.html
- java HastTable实现
public class HashTable{ private String[] name; //关键字 private int sum; //容量 public static void ...
- MSBuild 教程(2)
如果你没有看过第一部分教程,请先看完后再回到这里来继续我们的第二部分. 我们下一步的工作是发布我们的网站,也就是创建Publish target. 为了能使我们的target工作,我们需要给它传递两个 ...
- 【HDOJ】1823 Luck and Love
二维线段树.wa了几次,不存在输出-1,而不再是一位小数. #include <cstdio> #include <cstring> #define MAXN 105 #def ...
- java学习面向对象之final关键字
之前我们讲过继承的相关知识了,继承就是子类继承父类的属性和方法并且还可以覆盖父类的方法.但是这样有一个缺陷是什么呢,就是当我们一个类当中涉及一些封装的核心的东西或者对整个系统非常关键的方法或者类的时候 ...
- touchend事件的preventDefault阻止掉了click事件
<div id="box">box</div> <script> var isTouchDevice = function() { return ...
- Linux给用户增加sudo权限
有时候我们在Linux下执行sudo的时候,出现 xxx is not int the sudoers file 告诉我们当前用户不是sudoer,所以我们要把当前用户添加进去,步骤如下: 1.进入超 ...
- 400. Nth Digit
这个EASY难度的题怎么感觉比H的还难,昨天没做出来,今天才做出来.. 呃啊..我生 气 啦.. 直接看的答案,耻辱. 1 digit: 1~9 总共1×9个 2 digits: 10~99 总共2× ...