当前服务器应用越来越广泛使用tomcat开发,通常针对tomcat的监控主要是使用jconsole进行监控,随着需要监控的tomcat的应用的增多,使用jconsole监控tomcat运行情况会显得越来越复杂,并且jconsole本身并不记录tomcat运行状况的历史数据,这就给运维带来了很多问题。
嘉盛泰科技针对客户的这一情况,提出使用zabbix监控tomcat应用。zabbix通过java官方接口组件jmxremote能够广泛的监控tomcat的各项运行数据,不仅可以及时发现tomcat运行过程中出现的各种异常,也可以通过分析历史数据,为tomcat程序的优化提供数据支持。
使用zabbix监控tomcat需要配置zabbix-server服务端以及tomcat客户端。
zabbix-server服务端主要通过安装配置zabbix-java-gateway实现,tomcat客户端需要安装配置jmxremote组件。
zabbix-server端配置
1、 安装zabbix-jmx接口组件zabbix-java-gateway。推荐使用zabbix官方源yum方式安装。
2、 配置zabbix官方源 rpm -ivh zabbix/2.4/rhel/6/x86_64/zabbix-release-2.4-1.el6.noarch.rpm
3、 使用yum方法安装zabbix-java-gateway yuminstall Zabbix-java-gateway -y
4、 配置zabbix-java-gateway配置文件
配置文件路径/etc/Zabbix/Zabbix-java-gateway.conf 修改以下内容 LISTEN_IP="0.0.0.0"#监听地址 LISTEN_PORT=10052#监听端口 START_POLLERS=5# 开启的工作线程数(必须大于等于后面zabbix_server.conf文件的StartJavaPollers参数)
5、 设置zabbix-java-gateway开机启动 chkconfig Zabbix-java-gatewayon启动zabbix-javagate-way
service Zabbix-java-gatewaystart
注意:
Zabbix2.x版本zabbix-java-gateway是随zabbix-server一同启动,zabbix3.x版本需要单独启动zabbix-java-gateway 检查端口启动情况 # netstat -anp|grep 10052 tcp 0 0 0.0.0.0:10052 0.0.0.0:* LISTEN 9613/java
6、 配置zabbix-server配置文件 JavaGateway=127.0.0.1 # JavaGateway 服务器地址, zabbix_server与zabbix_java_gateway在同一台主机 JavaGatewayPort=10052 #端口 StartJavaPollers=5
7、 重启zabbix-zabbix # servicezabbix_serverrestart
客户端配置
1、 修改tomcat启动参数 修改tomcat/bin/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=xxxx #定义jmx监听端口 -Djava.rmi.server.hostname=本机ip"
2、 添加jmxremote组件,并重新启动tomcat组件 cpcatalina-jmx-remote.jar~/tomcat/lib/
3、 使用cmdline测试tomcat-jmx-remote配置情况 java-jarcmdline-jmxclient.jar **ip**:**端口**java.lang:type-MemoryNonHeapMemoryUsage committed:23000123 init:24567891 max:23000000 used:5858595
4、 获取jmx-remote监控内容 下载安装java-jdk 在JAVA_HOME/jdk/bin/目录下,运行jconsor.exe 选择远程进程,jmx链接地址,用户名密码留空。 在mbean中查看能够监控的参数
5、 编辑tomcat监控模板 根据上述查看的监控参数编辑配置监控项目 类型选择jmxagent代理程序 键值填写jmx[“项目值”,请求值]
6、 可以根据获取的监控值,编辑需要展示的图片。
原创: 嘉盛泰科技
|