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

相关文章
|
3月前
|
存储 SQL 监控
修改Zabbix源码实现监控数据双写,满足业务需求!
虽然对接Elasticsearch后有诸多好处,但是它不往数据库写历史数据了,同时还不再计算趋势数据了。有这么一个场景...
修改Zabbix源码实现监控数据双写,满足业务需求!
|
4月前
|
数据采集 监控 数据库
OceanBase社区版可以通过Zabbix监控
OceanBase社区版可以通过Zabbix监控
75 4
|
4月前
|
监控 关系型数据库 机器人
小白带你学习linux的监控平台zabbix
小白带你学习linux的监控平台zabbix
132 0
|
1月前
|
数据采集 监控 数据库
请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
【2月更文挑战第25天】请问OceanBase社区版能否通过zabbix监控,然后将报错信息展现到grafana?
25 2
|
6月前
|
监控
zabbix如何添加自定义监控项
zabbix如何添加自定义监控项
256 0
|
2月前
|
监控 Cloud Native 关系型数据库
使用 Grafana 统一监控展示 - 对接 Zabbix
使用 Grafana 统一监控展示 - 对接 Zabbix
|
4月前
|
监控 Docker 容器
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
Zabbix【部署 03】zabbix-agent2安装配置使用(zabbix-agent2监控docker实例分享)
219 0
|
4月前
|
监控 Java
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
Zabbix【部署 02】Zabbix-Java-Gateway安装配置使用(使用Zabbix-Java-Gateway通过JMX监控Java应用程序实例分享)
87 0
|
10天前
|
监控 关系型数据库 应用服务中间件
zabbix自定义监控、钉钉、邮箱报警
zabbix自定义监控、钉钉、邮箱报警,实验准备,安装,添加监控对象,添加自定义监控项,监控mariadb,监控NGINX,钉钉报警设置,邮件报警
129 0
|
4月前
|
存储 监控 前端开发
zabbix概述及简单的在centos7安装Zabbix5.0及添加监控对象
Zabbix是一种开源的企业级监控解决方案,用于实时监控网络、服务器、应用程序等各种设备和服务的性能和可用性,并提供通知和报警功能。它具有灵活可扩展、可定制化的特点,可以满足不同规模和需求的监控需求。
162 0

推荐镜像

更多