设为首页 收藏本站
查看: 1119|回复: 0

[经验分享] Zabbix监控之JMX协议

[复制链接]

尚未签到

发表于 2019-1-19 09:31:50 | 显示全部楼层 |阅读模式
  zabbix2.0添加了支持用于监控JMX应用程序的服务进程,称为“ZabbixJavagateway”;它是用java写的一个程序。
  1.工作原理:
  zabbixserver想知道一台主机上的特定的JMX值时,它向ZabbixJavagateway询问,而ZabbixJavagateway使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX查询就行了。
  Zabbixserver有一个特殊的进程用来连接Javagateway叫StartJavaPollers;Javagateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Javagateway将继续从JMXcounter取数据。所以
  StartJavaPollers设置的值要小于等于START_POLLERS设置的值。
  ZabbixJavagateway就相当于一个代理。
  
  
  2.安装Javagateway
  软件包在zabbix自带的有,目前暂时只支持从zabbix软件包中获得
  1.先安装jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html   #下载对应版本的jdk
[root@zhu1 ~]# tar zxvf jdk-7u40-linux-i586.tar.gz
[root@zhu1 ~]# mv jdk1.7.0_40/ /usr/local/jdk
[root@zhu1 ~]# vim /etc/profile #在最后添加下面几行
export JAVA_HOME=/usr/local/jdk
export CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin
[root@zhu1 ~]# source /etc/profile
[root@zhu1 ~]# java -version
java version "1.7.0_40"
Java(TM) SE Runtime Environment (build 1.7.0_40-b43)
Java HotSpot(TM) Client VM (build 24.0-b56, mixed mode)
#出现此界面,说面jdk安装成功  2.安装Javagateway
  
[root@zhu1 ~]# tar zxvf zabbix-2.0.5.tar.gz
[root@zhu1 ~]# cd zabbix-2.0.5
[root@zhu1 zabbix-2.0.5]# ./configure --enable-java --prefix=/opt/zabbix_java_gatway
[root@zhu1 zabbix-2.0.5]# make && make install  3.修改Javagateway的配置文件
  
[root@zhu1 zabbix_java]# pwd
/opt/zabbix_java_gatway/sbin/zabbix_java
[root@zhu1 zabbix_java]# ll
总计 20
drwxr-xr-x 2 root root 4096 09-21 05:18 bin
drwxr-xr-x 2 root root 4096 09-21 05:18 lib
-rw-r--r-- 1 root root  665 09-21 05:18 settings.sh #java gateway的配置文件
-rwxr-xr-x 1 root root  299 09-21 05:18 shutdown.sh #关闭脚本
-rwxr-xr-x 1 root root 1191 09-21 05:18 startup.sh #启动脚本  
[root@zhu1 zabbix_java]# vim settings.sh
LISTEN_IP="0.0.0.0"  #可以不配置,采用默认值即可
LISTEN_PORT=10052  #可以不配置,采用默认值即可
PID_FILE="/tmp/zabbix_java.pid" #该项必须配置,保存pid文件的位置
START_POLLERS=5 #必须配置,启动的进出数  4.修改zabbixserver的配置文件,使支持javagateway
  
JavaGateway=127.0.0.1 #指定Java gateway的ip地址或主机名,由于Java gateway是搭建在zabbix server所在的主机上所以可用127.0.0.1;
JavaGatewayPort=10052 #Java gateway监听的端口号
StartJavaPollers=5 #设定连接java gateway 的进程数,当设置为0时表示不具有抓取java信息的能力  
  5.启动javagateway
  
[root@zhu1 zabbix_java]# ./startup.sh
[root@zhu1 zabbix_java]# netstat -lntp | grep 10052
tcp        0      0 :::10052                    :::*                        LISTEN      10179/java  **********************************************************************************************************************************************
  下面的配置以监控tomcat为例
  1.tomcat安装好后,在tomcat下载页面的Extras目录中下载catalina-jmx-remote.jar并放到tomcat/lib下面
  
[root@zhu1 ~]# wget wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.42/bin/extras/catalina-jmx-remote.jar
[root@zhu1 ~]# mv catalina-jmx-remote.jar /usr/local/tomcat/lib/  
[root@zhu1 ~]# cp  catalina-jmx-remote.jar /opt/zabbix_java_gatway/sbin/zabbix_java/lib/ #把catalina-jmx-remote.jar也放到zabbix_java/lib/下面,这是为了防止出现类没有发现的异常,有的文档上并没有这步操作  2.修改tomcatserver.xml配置文件,添加以下内容:
  
  3.修改tomcat/bin目录下catalina.sh,添加以下内容:
  
CATALINA_OPTS="-Dcom.sun.management.jmxremote  -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost"
#添加的位置一定不要在左后,由于是脚本文件,应添加在前面  4.启动tomcat
[root@zhu1 ~]# cd /usr/local/tomcat/bin/
[root@zhu1 bin]# ./startup.sh  5.下载cmdline-jmxclient-0.10.3.jar文件测试是否恩能够取得数据
  
[root@zhu1 ~]# wget http://repo.typesafe.com/typesafe/repo/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar
[root@zhu1 ~]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.70.133:12345 java.lang:type=Memory NonHeapMemoryUsage
09/21/2013 05:51:05 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 15335424
init: 12746752
max: 100663296
used: 12345112  上面这个是测试zabbixserver上的tomcat
  下面配置测试其他主机上的tomcat。
  1.server.xml文件不做任何配置,仅配置catalina.sh
  
CATALINA_OPTS="$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=12345  -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false"  2。测试
  
[root@zhu1 ~]# java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.70.135:12345 java.lang:type=Memory NonHeapMemoryUsage
09/21/2013 05:53:13 +0800 org.archive.jmx.Client NonHeapMemoryUsage:
committed: 15138816
init: 12746752
max: 100663296
used: 12474280  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  
  




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-665042-1-1.html 上篇帖子: zabbix优化之LLD Filter Multi 下篇帖子: zabbix简单安装
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表