【前提】
安装了合适版本的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