您的位置:首页 > 运维架构

zabbix jmx监控

2016-06-16 09:18 441 查看
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 已经开启

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

【实例 部署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

本文出自 “崔德华运维打工从业路” 博客,请务必保留此出处http://cuidehua.blog.51cto.com/5449828/1789771
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: