
Zabbix 部署jmx监控Tomcat
时间:2018-07-07 作者:zhankehua 评论:0 点击:4185 次
一、环境
两台服务器,一台是Zabbix_java_Server ,另一台Tomcat-Server
需要用到的文件:catalina-jmx-remote.jar cmdline-jmxclient-0.10.3.jar
vim /etc/zabbix/zabbix_server.conf
# JavaGateway的服务器IP地址
JavaGateway=192.168.247.133
# JavaGateway的服务端口
JavaGatewayPort=10052
# 从javaGateway采集数据的进程数
StartJavaPollers=5
Zabbix 监控Tomcat
一、 环境
两台服务器(VMware虚拟机),操作系统均为CentOS 7。分别部署在不同的实体机上,采用桥接方式接入同一局域网。一台是Zabbix Server ,另一台Tomcat-Server。
需要用到的文件:catalina-jmx-remote.jar和jmxcmd
【注:jmxcmd是基于cmdline-jmxclient开发的,因为cmdline-jmxclient-0.10.3.jar在2006年停止开发了。】
下载地址:
catalina-jmx-remote.jar
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.88/bin/extras/
jmxcmd
https://sourceforge.net/projects/jmxcmd/
二、 Tomcat Server配置
1、CentOS7安装Tomcat
因为CentOS7默认安装了java ,所以,这里不再安装java
现地开始安装tomcat
下载tomcat7的安装文件
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.69/bin/apache-tomcat-7.0.69.tar.gz
【注:其实tomcat不同的版本可在此处下载 http://mirror.bit.edu.cn/apache/tomcat/】
放到虚拟机/home/zhanxy/Downloads下,并解压
建立两个目录
mkdir /usr/ejy365/tomcat_cluster
mkdir /usr/ejy365/tomcat_cluster/tomcat1
mv ./apache-tomcat-7.0.69/ /usr/ejy365/tomcat_cluster/tomcat1
进入tomcat的bin目录后通过vi命令打开catalina.sh文件,并在其中加入如下配置:
JAVA_OPTS="-Xms512m -Xmx1024m -Xss1024K -XX:PermSize=512m -XX:MaxPermSize=1024m"
export TOMCAT_HOME=/usr/ejy365/tomcat_cluster/tomcat1/apache-tomcat-7.0.69
export CATALINA_HOME=/usr/ejy365/tomcat_cluster/tomcat1/apache-tomcat-7.0.69
export JRE_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64/jre
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.65-3.b17.el7.x86_64
接下来我们就可以尝试启动tomcat了,切换到tomcat的bin目录输入启动命令:
./startup.sh
这个时候,在外网还是无法打开tomcat,原因就是和windows相比linux有更强的安全机制,在CentOS 7中引入了一个更强大的防火墙——Firewall。我们需要在Firewall中开启8080端口,也就是将8080端口加入到zone(Firewall的新特性,简单讲它的作用就是定义了网络区域网络连接的可信等级)中。命令如下:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
这样就成功的将8080端口加入了public区域中,permanent参数表示永久生效,即重启也不会失效,最后不要忘记更新防火墙规则:
firewall-cmd --reload
OK,下面看一下public区域下所有已打开的端口,命令如下:
firewall-cmd --zone=public --list-ports
可以看到8080端口已经成功打开:
2、配置catalina-jmx-remote.jar
首先下载 catalina-jmx-remote.jar,要与tomcat版本对应(估计只需要大版本对应,因为我tomcat的版本为7.0.69,但下载的catalina-jmx-remote.jar版本为7.0.88,可以正常使用)。下载地址
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.88/bin/extras/
将catalina-jmx-remote.jar放在tomcat的lib目录下。我的是/usr/ejy365/tomcat_cluster/tomcat1/apache-tomcat-7.0.69/lib
【注:按照网上说要放在bin下,对于我来说不可用,放在lib下可用。】
在catalina.sh中添加如下内容:
CATALINA_OPTS="-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=fase \
-Djava.rmi.server.hostname=192.168.1.238"
网友可能会发现,这里为什么没有配置网上说的端口号(-Dcom.sun.management.jmxremote.port=12345)呢?那是因为,在我在此处配置端口号后,tomcat就启动不了。端口号需要在 server.xml中配置
<Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiServerPortPlatform="12346" rmiRegistryPortPlatform="12345"/>
启动tomcat,并查看是否启动成功。
在bin下输入./startup.sh
查看端口:
看到上面内容,说明已启动成功了。
三、 Zabbix server配置
在安全时,没有安装zabbix-java-gateway。现在需要安装此服务。
输入yum install zabbix-java-gateway进行安装。
配置zabbix_java_gateway.conf
/etc/zabbix/zabbix_java_gateway.conf
#监控地址
LISTEN_IP="0.0.0.0"
#监听端口
LISTEN_PORT=10052
#进程文件路径
PID_FILE="/var/run/zabbix/zabbix_java.pid"
#开启的工作线程数
START_POLLERS=5
#超时
TIMEOUT=3
配置zabbix_server.conf
vim /etc/zabbix/zabbix_server.conf
# JavaGateway的服务器IP地址
JavaGateway=192.168.1.11<br>
# JavaGateway的服务端口
JavaGatewayPort=10052<br>
# 从javaGateway采集数据的进程数
StartJavaPollers=5
最后,重启zabbix-server,abbix-java-gateway服务
添加主机及相应模板
到此结束 。
参考网址:
https://www.linuxidc.com/Linux/2016-09/135555.htm
https://www.cnblogs.com/Dev0ps/p/8656117.html
https://blog.csdn.net/reblue520/article/details/52623604/
https://github.com/zhujinhe/tomcat-zabbix-template
http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.88/bin/extras/
本文标签:
转载请注明出处: http://www.itsec365.cn/?id=53
已有 4185 位网友参与,快来吐槽:
发表评论