zabbix jmx监控-阿里云开发者社区

开发者社区> 开发与运维> 正文

zabbix jmx监控

简介:

【前提】

安装了合适版本的jdk。


jmx监控的步骤:


1. 添加主机监控的时候,要加上JMX interface要填写, ip为主机IP, 端口为java端开启的远程端口,默认是12345

2. 前端添加item的时候,Type选择JMX agent, key为 jmx[....]样子(jmx怎么获取的就不知道了)

3. 代理或者Server端的软件 确定安装了yum install zabbix.xx-java-gateway.x86_64 

4. 代理或者Server端确定配置文件开启了JavaGateway 

JavaGateway=127.0.0.1

JavaGatewayPort=10052

StartJavaPollers=5 

5 启动 zabbix安装目录下 sbin/zabbix_java/startup.sh  次数netstat -tulnp |grep 10052  端口已经监听

6 ps -ef |grep zabbix |grep java  已经开启


启动成功会存在以个如下进程


zabbix   26131     1  0 Oct13 ?        00:50:58 java -server -classpath lib:lib/android-json-4.3_r3.1.jar:lib/logback-classic-0.9.27.jar:lib/logback-core-0.9.27.jar:lib/slf4j-api-1.6.1.jar:bin/zabbix-java-gateway-3.0.1.jar -Dzabbix.pidFile=/data1/env/zabbix30/sbin/zabbix_java/zabbix_java.pid com.zabbix.gateway.JavaGateway


7 zabbix client端   netstat -tulnp |grep 12345 已经监控




报错:

/data1/env/zabbix30/sbin/zabbix_java/startup.sh 

Exception in thread "main" java.lang.UnsupportedClassVersionError: com/zabbix/gateway/JavaGateway : Unsupported major.minor version 52.0

at java.lang.ClassLoader.defineClass1(Native Method)



原因: jdk没有安装


【实例 部署tomcat 加zabbix监控jvm】

JVM监控方法一: https://docs.oracle.com/javase/8/docs/technotes/guides/management/snmp.html   使用snmp MIB库的方法



jVM监控方法二: JMX的方法 zabbix自带






10.59.74.34 agenttest 测试安装tomcat进行监控



下载: apache-tomcat-7.0.57.tar.gz         


下载地址:https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/

wget https://archive.apache.org/dist/tomcat/tomcat-7/v7.0.57/bin/apache-tomcat-7.0.57.tar.gz



tar xvf apache-tomcat-7.0.57.tar.gz 

ln -s apache-tomcat-7.0.57 tomcat


sh startup.sh

sh shutdown.sh

ps -ef |grep java



#使用www用户去运行

chown www.www -R /data1/env/tomcat


su - www

sh tomcat/bin/startup.sh






测试tomcat是否部署成功


netstat -tulnp |grep 8080


ngixn 做代理访问tomcat的8080端口


[root@dev-zabbixagenttest conf.d]# cat  tomcat.conf 

server {

    listen       80;

    server_name localhost;

    root /data1/env/tomcat/webapps/ROOT/;

    location / {

        proxy_pass http://localhost:8080;

        

    }

}




测试web访问成功:

http://ip



访问的内容是tomcat默认提供的

[root@dev-zabbixagenttest src]# ls /data1/env/tomcat/webapps/ROOT/

asf-logo.png       bg-button.png  bg-nav-item.png  bg-upper.png  favicon.ico  RELEASE-NOTES.txt  tomcat.gif  tomcat-power.gif  WEB-INF

asf-logo-wide.gif  bg-middle.png  bg-nav.png       build.xml     index.jsp    tomcat.css         tomcat.png  tomcat.svg



部署tomcat应用  内容管理系统  jspxcms


wget http://www.jspxcms.com/uploads/jspxcms-6.0.1-release.zip


unzip jspxcms-6.0.1-release.zip 


将刚解压出来内容(也是ROOT命名的目录)对原有的root进行替换

rm -rf /data1/env/tomcat/webapps/ROOT


mv ROOT/ /data1/env/tomcat/webapps/


chown -R www.www ROOT/


再次访问: 就出现了安装向导



安装参考: http://ywliyq.blog.51cto.com/11433965/1772272




 grant all privileges on *.* to 'jspxcms'@'localhost' identified by 'jspxcms';




数据库/数据库密码 jspxcms/jspxcms

 使用管理员密码

 admin/12qwaszx




安装提示完成,重启tomcat即可,看到页面,安装完成




测试JVM的监控 通过zabbix 的JMX






参考http://zengestudy.blog.51cto.com/1702365/1789425

https://www.zabbix.com/documentation/3.0/manual/config/items/itemtypes/jmx_monitoring


236行处

# ----- Execute The Requested Command -----------------------------------------

添加


# ----- Execute The Requested Command -----------------------------------------

CATALINA_OPTS="$CATALINA_OPTS

-Djava.rmi.server.hostname=10.59.74.34 

-Dcom.sun.management.jmxremote

-Dcom.sun.management.jmxremote.port=12345

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false"




重启tomcat后可能出现的报错

修改Tomcat配置文件后,记得重启Tomcat。

注意:在测试环境中,发现启动tomcat总是失败,原因是主机名无法被解析,导致tomcat无法启动。报错信息如下:


Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: dnsserve

r: dnsserver: unknown error


解决办法:编辑/etc/hosts文件,将hostname写到该文件中


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4 dnsserver

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6




下载工具本地调试(和zabbix监控无关)

下载地址:https://www.versioneye.com/java/cmdline-jmxclient:cmdline-jmxclient/0.10.3

http://repo.typesafe.com/typesafe/releases/cmdline-jmxclient/cmdline-jmxclient/0.10.3/cmdline-jmxclient-0.10.3.jar



下载到tomcat的lib包下面

[www@dev-zabbixagenttest lib]$ java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Memory NonHeapMemoryUsage 

07/07/2016 14:09:17 +0800 org.archive.jmx.Client NonHeapMemoryUsage: 

committed: 91029504

init: 24576000

max: 136314880

used: 59882184




[www@dev-zabbixagenttest lib]$ java -jar cmdline-jmxclient-0.10.3.jar - 127.0.0.1:12345 java.lang:type=Threading ThreadCount

07/07/2016 14:12:02 +0800 org.archive.jmx.Client ThreadCount: 23

本文转自残剑博客51CTO博客,原文链接http://blog.51cto.com/cuidehua/1789771如需转载请自行联系原作者


cuizhiliang

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章