zabbix-----3------监控tomcat

首先我们要安装上tomcat+jdk

我这里使用rpm包直接安装的:

[[email protected] ~]# rpm -ivh jdk-8u102-linux-x64.rpm 
Preparing...                          ################################# [100%]
Updating / installing...
   1:jdk1.8.0_102-2000:1.8.0_102-fcs  ################################# [100%]
[[email protected] ~]# java -version
java version "1.8.0_102"
Java(TM) SE Runtime Environment (build 1.8.0_102-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.102-b14, mixed mode)

#安装tomcat

[[email protected] ~]# tar xf apache-tomcat-7.0.53.tar.gz -C /usr/local
[[email protected] ~]# ls /usr/local/apache-tomcat-7.0.53/
bin  conf  lib  LICENSE  logs  NOTICE  RELEASE-NOTES  RUNNING.txt  temp  webapps  work
[[email protected] ~]# ln -s /usr/local/apache-tomcat-7.0.53/ /usr/local/tomcat
[[email protected] ~]# cd /usr/local/tomcat/bin/
[[email protected] bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat
Using CATALINA_HOME:   /usr/local/tomcat
Using CATALINA_TMPDIR: /usr/local/tomcat/temp
Using JRE_HOME:        /usr
Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar
Tomcat started.
[[email protected] bin]# netstat -lntup|grep 80
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      2850/nginx: master  
tcp6       0      0 :::8009                 :::*                    LISTEN      4795/java           
tcp6       0      0 :::8080                 :::*                    LISTEN      4795/java

验证:

这里可以使用官方的java-gatway来监控

zabbix-server会去找java-gateway,由javagateywa去找jmx

所以我们这里要找一台设备安装javagateway,这里安装到server-zabbix上

[[email protected] ~]# yum install zabbix-java-gateway^V^C
[[email protected] ~]# systemctl start zabbix-java-gateway.service
[[email protected] ~]# netstat -lntup
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      5506/mysqld         
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1274/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1857/master         
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      7923/zabbix_agentd  
tcp        0      0 0.0.0.0:10051           0.0.0.0:*               LISTEN      7117/zabbix_server  
tcp6       0      0 :::80                   :::*                    LISTEN      5588/httpd          
tcp6       0      0 :::22                   :::*                    LISTEN      1274/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1857/master         
tcp6       0      0 :::10050                :::*                    LISTEN      7923/zabbix_agentd  
tcp6       0      0 :::10051                :::*                    LISTEN      7117/zabbix_server  
tcp6       0      0 :::10052                :::*    #监听的这个端口                LISTEN      8776/java

window上安装jdk

配置zabbix-server去连接java-gateway

 vim /etc/zabbix/zabbix_server.conf
 JavaGateway=192.168.56.11
 StartJavaPollers=5 #如果tomcat很多的话,这个采集器要配置的大点

重启服务:systemctl restart zabbix-java-gateway.service

这里可以zabbix可以监控java程序来。下面要多tomcat开启jmx。下面我们修改catalina。sh这个文件

加入以下内容

CATALINA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=12345 -Djava.rmi.server.hostname=192.168.56.21"
# OS specific support.  $var _must_ be set to either true or false.

然后tomcat重启服务。就可以看到端口12345

======================================================

下面window上面安装完成后,我们在这个路径下面C:\Program Files\Java\jdk1.8.0_66\bin找到“jconsole”点击打开,如下图:

通过远程连接,输入192.168.56.21:12345连接到刚刚配置的tomcat。这个也是刚刚添加catalina里面配置的信息才能连接

上传一个cmdline-jmxclient-0.10.3到21上面。

使用cmdline-jmxclient-0.10.3到

测试取内存的值:

如何取上面输出的值那???

下面我们新创建一个主机

上面这几步完成一个主机的创建

对于如下图的不支持的items我们要从jconsole里面找到新的内容,让他支持。

如果从jconsole里面没有找到,说明新的设备的java已经没有这个项了。我们要选择删除这部分,如果有我们把jconsole里面显示的新的内容替换item模板里面的key

下面演示一个8080的错误,按照找的方法,我们找到了jconsole上面的对应的项目值,然后从server上测试发现没有注册,这个是什么原因?如图:

这里是因为名字中有双引号的原因,我们需要转移,如下命令

[[email protected] ~]# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.21:12345 Catalina:type=GlobalRequestProcessor,name=\"http-bio-8080\"
Attributes:
 requestCount: Introspected attribute requestCount (type=int)
 maxTime: Introspected attribute maxTime (type=long)
 bytesReceived: Introspected attribute bytesReceived (type=long)
 modelerType: Type of the modeled resource. Can be set only once (type=java.lang.String)
 bytesSent: Introspected attribute bytesSent (type=long)
 processingTime: Introspected attribute processingTime (type=long)
 errorCount: Introspected attribute errorCount (type=int)
Operations:
 resetCounters: Introspected operation resetCounters
  Parameters 0, return type=void
[[email protected] ~]# java -jar cmdline-jmxclient-0.10.3.jar - 192.168.56.21:12345 Catalina:type=GlobalRequestProcessor,name=\"http-bio-8080\"  requestCount
03/21/2017 13:24:01 -0400 org.archive.jmx.Client requestCount: 0

然后我们修改模板中item的key值

tomcat 7和8 都会不同,需要自己修改自己的模板,然后导出

时间: 2024-10-29 00:44:48

zabbix-----3------监控tomcat的相关文章

zabbix JMX监控Tomcat及错误解决方法

1.修改zabbix_java相关选项 [[email protected] zabbix]# cd  /usr/local/sbin/zabbix_java [[email protected] zabbix_java]# vim settings.sh [[email protected] zabbix_java]# sed -e '/^#/d;/^$/d' settings.sh   #该文件默认全部注释,启用下面几项即可 LISTEN_IP="0.0.0.0" LISTEN_P

Zabbix通过JMX监控tomcat——防火墙策略问题分析

一.现 状 对于Zabbix通过JMX来监控tomcat,网络上有很多文章,但大都是相同或类似的,且都是没有设置防火墙的,所以就安装而言百度就行.现在为了服务的安全,是必须开启防火墙的.于是出现了一系列的问题. 二.当前环境 1.Zabbix_server的Zabbix版本是3.0.4,系统是Centos7.0,使用YUM安装. Centos7.0 YUM安装地址:http://blog.csdn.net/reblue520/article/details/52136850 2.Zabbix-s

zabbix通过JMX监控tomcat,防火墙策略配置

一.目前的环境 被监控端192.168.153.191 /usr/local/tomcat 下载了catalina-jmx-remote.jar放到了tomcat安装目录的lib目录下,现在为止这个jar包没有派上用场. /usr/local/jdk1.7.0_79 在tomcat的bin目录下的catalina.sh脚本里面添加如下内容(可以写成一行,这个百度下能找到) Html代码 CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostn

Zabbix 监控 tomcat 连接池(报错org.archive.jmx.Client ...is not a registered bean)

Zabbix 监控 tomcat 连接池 一.     前言 领导提出需求,需要监控tomcat的连接池,之前已经通过zabbix监控了jvm(关于jvm监控这部分,后续补上).在网上找了很多教程,经历了很多坑,不过还是要感谢那些帮助过我的人,踩着坑搞出来,也是记忆犹新呀. 二.     基础环境 操作系统:Centos 6.8 Jdk:1.8.0_77(jdk最好是1.7及以上) Tomcat:7.0.69 Zabbix:3.0.3 三.     环境部署 (一)         Zabbix

Zabbix 监控Tomcat

Zabbix监控Tomcat 一.环境 两台服务器,一台是Zabbix_java_Server ,另一台Tomcat-Server 需要用到的文件:catalina-jmx-remote.jar cmdline-jmxclient-0.10.3.jar 二.Tomcat-Server被控端配置 # cd /usr/java/apache-tomcat-8.0.30/bin # vim catalina.sh 添加如下内容: CATALINA_OPTS="-Dcom.sun.management.

Zabbix通过JMX监控tomcat

Zabbix监控tomcat方案 1)zabbix的版本为2.4 编译zabbix的时候需要添加参数 --enable-java 2)服务器端配置 2.1确认已经安装JDK [[email protected] zabbix]# java -version java version "1.7.0_79" Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (buil

zabbix监控tomcat(2)

zabbix监控tomcat 1.编译zabbix的时候需要添加参数--enable-java 关于如何安装zabbix,可以参考上一篇文章http://blog.unix178.com/ 备份zabbix_server.conf和zabbix_agentd.conf文件,重新编译安装zabbix [[email protected] zabbix-2.2.0]# ./configure --enable-server --enable-agent     --with-mysql --enab

zabbix 监控 tomcat/jvm性能

http://www.ttlsa.com/web/install-tomcat7-on-linux/ http://www.ttlsa.com/zabbix/zabbix-use-jmx-monitor-tomcat/ 配置tomcat jmx vim /usr/local/tomcat7/bin/catalina.sh # ----- Execute The Requested Command --------- 在次行下面加上 export CATALINA_OPTS="$CATALINA_

Zabbix使用jmx监控tomcat

Zabbix自带了一部分对于JMX的监控,如果要想使用此模板对tomcat进行比较简单的监控可以考虑使用此模板. 与其他应用使用zabbix-agent不同,对JMX进行监控需要使用zabbix-java-gateway,来与系统的JMX交互获取数据,zabbix-java-gateway将获取到的数据交给zabbix-agent,然后将zabbix-agent将数据发送给zabbix-server. 这里为了方便理解,使用两台机器,一台作为zabbix-server, 另一台作为tomcat服

zabbix通过JMX监控tomcat状态

因为公司大量使用tomcat作为应用服务,所以,这两天催生了一个想法,通过zabbix监控tomcat的运行状态,从而能够更快的发现tomcat服务出现的问题以及判断问题出现在哪块. 在网上找了一些资料来看,写的都不是很全面(PS:对于我这种菜鸟来说,还有很多东西不知道的,所以需要有解释的详细点的文档来帮助我更好理解原理,于是就有了本篇博文的诞生!) 首先,zabbix监控tomcat等这一类java平台的应用不是直接通过agentd来实现的,而是使用jmx来获取到tomcat这类应用的状态,然