centos7,zabbix3.2通过zabbix_java_gateway监控jmx[java/tomcat]
网络上很多教程也比较多和全了,但是自己做时候多多少少的坑备注下吧。
1,监控原理简单说一下,就是zabbix_server通过代理(zabbix_java_gateway)来获取agent端(tomcat)的数据。【当然可以和zabbix_agent分开使用了】
2。配置举例吧。zabbix_server:10.2.2.123 zabbix_java_gateway:10.2.2.124 tomcat:10.2.2.125
三台机器是可以在一起的,但是为了区分三个作用还是分开来看吧
3.在zabbix_server端,修改配置文件
JavaGateway=10.2.2.124
JavaGatewayPort=
StartJavaPollers=
在zabbix_java_gateway修改配置文件
LISTEN_IP="0.0.0.0"
LISTEN_PORT=
START_POLLERS=
listen_ip 我猜测是监控的地址池,不过没有验证 StartJavaPollers<=START_POLLERS
tomcat端修改catalina.sh文件,$(tomcat)/bin/Catalina.sh加入
export CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.port=
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Djava.rmi.server.hostname=10.2.2.125"
注意这个10.2.2.125要写进/etc/hosts中,因为jmxremote这个包在回调信息时候回查询其域名,不然回找不到路由。有时候不写也行,我块儿我也不太明白,先留着这个坑吧(我测试过连接成功之后删除可以用,可能是记住了路由,不过最后还是都配置好比较好)。最好实现所有的内网服务器可以通过域名来互相访问通。(ansible/saltstack之类的来做呗)
4.有人说要把jmxremote这个包放到$(tomcat)/lib/中,不过我没放也可以,给个下载地址吧。一般在tomcat自己镜像同目录的bin/extras/ 目录中
然后下载cmdline-jmxclient-0.10.3.jar这个包,我一直不知道这个包是哪个公司做的,而且这个包好像也没人用新版本,这个版本用了n年了吧,不过能用就挺好。
现在tomcat端 测试
java -jar cmdline-jmxclient-0.10..jar - 127.0.0.1: org.apache.logging.log4j2:component=Loggers,name=org.springframework,type="WebappClassLoader\n context: ROOT\n delegate: false\n----------> Parent Classloader:\njava.net.URLClassLoader@4bf558aa\n"
org.apache.logging.log4j2:component=Appenders,name=RollingFile,type="WebappClassLoader\n context: ROOT\n delegate: false\n----------> Parent Classloader:\njava.net.URLClassLoader@4bf558aa\n"
Catalina:context=/,host=localhost,type=Loader
com.alibaba.druid:type=DruidDataSourceStat
Catalina:name=HttpRequest1,type=RequestProcessor,worker="http-nio-8088"
java.util.logging:type=Logging
org.apache.logging.log4j2:component=Loggers,name=,type="WebappClassLoader\n context: ROOT\n delegate: false\n----------> Parent Classloader:\njava.net.URLClassLoader@4bf558aa\n"
java.lang:type=Compilation
Catalina:port=,type=Connector
JMImplementation:type=MBeanServerDelegate
java.lang:type=ClassLoading
有数据就说明catalina.sh配置没问题
然后在zabbix_java_gateway端 测试
java -jar cmdline-jmxclient-0.10..jar - 10.2.2.125: org.apache.logging.log4j2:component=Loggers,name=org.springframework,type="WebappClassLoader\n context: ROOT\n delegate: false\n----------> Parent Classloader:\njava.net.URLClassLoader@4bf558aa\n"
org.apache.logging.log4j2:component=Appenders,name=RollingFile,type="WebappClassLoader\n context: ROOT\n delegate: false\n----------> Parent Classloader:\njava.net.URLClassLoader@4bf558aa\n"
Catalina:context=/,host=localhost,type=Loader
com.alibaba.druid:type=DruidDataSourceStat
Catalina:name=HttpRequest1,type=RequestProcessor,worker="http-nio-8088"
java.util.logging:type=Logging
org.apache.logging.log4j2:component=Loggers,name=,type="WebappClassLoader\n context: ROOT\n delegate: false\n----------> Parent Classloader:\njava.net.URLClassLoader@4bf558aa\n"
java.lang:type=Compilation
Catalina:port=,type=Connector
JMImplementation:type=MBeanServerDelegate
java.lang:type=ClassLoading
要让zabbix_java_gateway端也能获取数据才行
5.zabbix自带模板除了检测版本和压缩传输的两项,其他基本不能直接用,要用java -jar cmdline-jmxclient-0.10.3.jar - 10.2.2.125: | grep "监控项"慢慢调整才能用
比如
jmx["Catalina:type=GlobalRequestProcessor,name=http-8080",requestCount]
调整为
jmx["Catalina:type=GlobalRequestProcessor,name=\"http-8080\"",requestCount]
一个一个改太麻烦,可以导出模板xml文件,vim 或者 emeditor来批量修改(其他带正则表达式的替换工具也行)
改好了就添加主机,使用jmx的方式IP:port 10.2.2.125:12345
关联模板,
完成
centos7,zabbix3.2通过zabbix_java_gateway监控jmx[java/tomcat]的更多相关文章
- 利用JMX来监控大部分java应用
JMX(JavaManagement Extensions,即Java管理扩展)是一个为应用程序.设备.系统等植入管理功能的框架.JMX可以跨越一系列异构操作系统平台.系统体系结构和网络传输协议,灵活 ...
- Zabbix JMX之tomcat监控
工作原理: 1.JAVA-GATEWAY Zabbix本身不支持直接监控Java,在zabbix 1.8以前,只能使用Zapcat来做代理监控,而且要修改源代码,非常麻烦.所有后来为了解决这个监控问 ...
- zabbix 基于JMX的Tomcat监控
zabbix 基于JMX的Tomcat监控 一.环境 ubuntu14.04 LTS Java 1.7.0 zabbix 2.4.5 二.安装配置 1.安装JavaGateway 在ubuntu14. ...
- zabbix日常监控项java(四)
yum install net-tools netstat命令 yum -y install bash-completion 命令自动补全包 https://github.com/qiueer/zab ...
- 分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比
分布式协调服务Zookeeper集群监控JMX和ZkWeb应用对比 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. JMX是用来远程监控Java应用的框架,这个也可以用来监控其他的J ...
- zabbix日常监控项java(四又分之一)
因zabbix自带监控JMX的模板通用性差的问题,需要我们自己新建一个属于自己的模板,于是本文就出现了.... 大部分都是参考网上其他博主的文档,在此作为梳理.总结:以方便自己日后使用查询.
- CentOS7下部署java+tomcat+mysql项目及遇到的坑
CentOS 7 下安装部署java+tomcat+mysql 前置:CentOS7安装:https://jingyan.baidu.com/article/b7001fe1d1d8380e7382d ...
- jconsole监控远程linux tomcat运行情况的配置 (转)
来自:http://zhumeng8337797.blog.163.com/blog/static/100768914201242494649455/ 步骤如下: 1.编辑tomcat/bin/cat ...
- JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!)
JProfiler远程监控Linux上Tomcat的安装过程细讲(步骤非常详细!!!) 1.文件准备: 服务器:CentOS Linux release 7.3.1611 (Core) Apa ...
随机推荐
- java web(四):request、response一些用法和文件的上传和下载
上一篇讲了ServletContent.ServletCOnfig.HTTPSession.request.response几个对象的生命周期.作用范围和一些用法.今天通过一个小项目运用这些知识.简单 ...
- 浏览器输入url回车后,会发生什么?
通常我们想访问某一个网址,我们会在浏览器中输入它的域名,然后点击回车进行跳转,这样就可以进到网站的主页,看似简单的两步,其实背后都需要大量的代码在运行,支持,才能完成!那浏览器到底都做了哪些事呢? 一 ...
- cellmap 基站查询 for android
cellmap for android 3.6.8.8.1.8 更新日期:2019年4月28日 特别声明:本软件不能进行手机定位,不能对手机号码定位,谨防被骗. 安装说明:请卸载旧版本后,重新下载安装 ...
- python MySQL执行SQL查询结果返回字典
写自动化测试的时候我希望执行数据库前置任务,把数据库查询的结果作为请求的参数,但是正常返回结果为列表嵌套里面,这样就会影响到关键字准确的获取,特别的受限于SQL的查询字段的的顺序,所以希望返回的单条数 ...
- Spring Boot - AOP(面向切面)
AOP 全称 Aspect Oriented Programming(面向切面),AOP主要实现的目的是针对业务处理过程中的切面进行提取,它所面对的是处理过程中的某个步骤或阶段,以获得逻辑过程中各部分 ...
- vim汇总
跳到100行 100gg :100
- Realm 处理List<String> 问题 Type parameter 'java.lang.String' is not within its bound; should implement 'io.realm.RealmModel
public class InitAppBean extends RealmObject { private String sapling; private String logistics; pri ...
- ASP.NET core 2.1部署到 Centos 7
步骤要点: 一.关闭Centos selinux: 操作方式: 1.永久关闭:打开/etc/selinux/config文件,设置SELINUX=disabled,注意,不是SELINUXTYPE=d ...
- JAVA 中BIO,NIO,AIO的理解 (转)
转自: http://qindongliang.iteye.com/blog/2018539 另外类似可参考资料 :http://www.360doc.com/content/13/1029/20/9 ...
- 通过setup.py安装项目dependencies
一.使用方法 安装命令 $ pip install -e <option> setup.py 二.具体介绍 pip intall -e 举例一个setup.py $ pip int ...