多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
* 安装的过程中需要修改Tomcat的配置文件,还有新建一个setenv.sh的文件,趟坑很痛苦。 > * zabbix获取Tomcat监控数据过程: > 1.Zabbix-Server找Zabbix-Java-Gateway获取Java数据 > 2.Zabbix-Java-Gateway找Java程序(zabbix-agent)获取数据 > 3.Java程序返回数据给Zabbix-Java-Gateway > 4.Zabbix-Java-Gateway返回数据给Zabbix-Server * * * * * 实现监控tomcat主要有两步: 1. 安装zabbix-java-gateway(server端) 2. 修改Tomcat配置 * * * * * ### 1. 安装zabbix-agent服务 * 安装zabbix-agent(在要监控的Tomcat所在主机上安装,如果有则不用重复安装) ~~~ wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+trusty_all.deb dpkg -i zabbix-release_3.0-1+trusty_all.deb apt-get install zabbix-agent ~~~ * 修改zabbix-agent配置 `sudo vim /etc/zabbix/zabbix_agentd.conf` ~~~ Server=192.168.2.25 # 允许zabbix-server获取数据,用于自动发现 ServerActive=192.168.2.25 # 主动给zabbix-server推送数据 Hostname=bigdata2 # 标识zabbix服务,每台机器唯一 ~~~ * 重启zabbix-agent服务 `service zabbix-agent restart` * * * * * ### 2.安装zabbix-java-gateway(zabbix-server端安装) `sudo apt-get install zabbix-java-gateway` > * 测试gateway是否安装成功 ~~~ sudo service zabbix-java-gateway status ~~~ #### 2.1 修改Java-gateway的配置(zabbix-server端配置) `sudo vim /etc/zabbix/zabbix_java_gateway.conf` ~~~ # 监听地址 LISTEN_IP=”0.0.0.0″ # 监听端口 LISTEN_PORT=10052 # PID_FILE文件 PID_FILE=”/var/run/zabbix/zabbix_java.pid” # 开启的工作线程数 START_POLLERS=5 # 启动zabbix-java-gateway: service zabbix-java-gateway start ~~~ #### 2.2 修改zabbix_server的配置文件并重启 `sudo vim /etc/zabbix/zabbix_server.conf ` ~~~ # JavaGateway的服务器IP地址 JavaGateway=192.168.2.25 # JavaGateway的服务端口 JavaGatewayPort=10052 # 从javaGateway采集数据的进程数 StartJavaPollers=5 ~~~ * 配置文件修改后,重启zabbix-server: `service zabbix-server restart` * * * * * ### 3. Tomcat配置 #### 3.1 在Tomcat的bin目录下修改setenv.sh(没有就自己建立一个),注意修改catalina.sh是没有用的!!! ~~~ zabbix@zabbix02:/opt/apache-tomcat-8.5.15/bin$ vim setenv.sh CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.2.81" #Tomcat所在地址 CATALINA_OPTS="${CATALINA_OPTS} -Djavax.management.builder.initial=" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote=true" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.ssl=false" CATALINA_OPTS="${CATALINA_OPTS} -Dcom.sun.management.jmxremote.authenticate=false" ~~~ #### 3.2 修改server.xml 1. 加入监听端口配置 > * 加入以下,注意加入位置 ~~~ <Listener className="org.apache.catalina.mbeans.JmxRemoteLifecycleListener" rmiRegistryPo rtPlatform="12345" rmiServerPortPlatform="12345"/> ~~~ ![](https://box.kancloud.cn/58016dbc12ad8f3f5fbe2cf3292ea1b1_911x342.png) Java进程会监听12345端口 #### 问题 * > 启动Tomcat报如下错误,是因为没有修改setenv.sh ~~~ Caused by: java.io.FileNotFoundException: jmxremote.access (No such file or directory) at java.io.FileInputStream.open0(Native Method) at java.io.FileInputStream.open(FileInputStream.java:195) at java.io.FileInputStream.<init>(FileInputStream.java:138) at java.io.FileInputStream.<init>(FileInputStream.java:93) ~~~ ![](https://box.kancloud.cn/a81b8c21a4f02d0137bd876f87e4f36c_934x255.png) #### 3.3 下载catalina-jmx-remote.jar包 * 下载catalina-jmx-remote.jar包放入tomcat的lib目录下 ![](https://box.kancloud.cn/2ee5b1322f2ebe253a25b9aad434a440_838x175.png) ### 3.4 重启Tomcat ~~~ ./shutdown.sh sudo ./startup.sh ~~~ * > 查看12345端口是否开启 `netstat -anp |grep 12345` ![](https://box.kancloud.cn/ce6345ab93e57cbd162bc5b06c35671a_904x128.png) ### 4.页面配置 1. 配置获取数据端口,和server.xml中的端口对应 ![](https://box.kancloud.cn/42f977e773df8c402fc08095bc152dd6_963x745.png) 2. 添加Tomcat模板 ![](https://box.kancloud.cn/117ad4f9eb46360ac4b5015c21693b94_1018x490.png) * Tomcat自带的 Template JMX Tomcat不好用,所以导入用户自定义的Tomcat模板