设为首页 收藏本站
查看: 865|回复: 0

[经验分享] monitoring tomcat with zabbix

[复制链接]

尚未签到

发表于 2018-12-1 15:27:18 | 显示全部楼层 |阅读模式
转载  |
  zabbix提供了一个java gateway的应用去监控jmx(Java Management
Extensions,即Java管理扩展)是一个为应用程序、设备、系统等植入管理功能的框架。JMX可以跨越一系列异构操作系统平台、系统体系结构和
网络传输协议,灵活的开发无缝集成的系统、网络和服务管理应用。
一. Zabbix 的JMX监控架构

二.安装Java gateway[zabbix服务端操作]
1.安装jdk
  首先要安装jdk,我的系统位redhat 6.4 x64位,我使用rpm包安装jdk,从http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html下载最新的jdk,rpm包(我使用7u79版本,最新为8)并上传到zabbix server
1rpm -ivh jdk-7u79-linux-x64.rpm  安装成功之后添加系统环境变量
1vi /etc/profile  添加如下
1  2
  3
  4
  5
JAVA_HOME=/usr/java/jdk1.7.0_79  JRE_HOME=/usr/java/jdk1.7.0_79/jre
  PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
  export JAVA_HOME JRE_HOME PATH>  使配置生效
1source /etc/profile  测试,输入
1java -version  如果显示如下信息表示jdk安装完成
1  2
  3
  4
java version "1.7.0_79"  Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
  Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
  You have mail in /var/spool/mail/root
2.安装Java gateway
  可使用rpm进行安装,我使用源码安装,大家可在安装zabbix时启用—enable-java参数即可安装zabbix java gateway,如果第一次没有加载,可重新加载编译安装,我使用以下参数安装
1./configure --prefix=/usr/local/zabbix --enable-server --enable-agent --enable-java --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2  以上参数可安装zabbix server,java gateway,snmp,zabbix agent
  ,建议大家使用。
3.配置Java gateway
  安装好之后可在/usr/local/zabbix/sbin/目录下看到zabbix_java目录(具体根据实际安装情况)
  编辑配置文件
1  2
  3
  4
  5
vi /usr/local/zabbix/sbin/zabbix_java/settings.sh  LISTEN_IP="127.0.0.1"
  LISTEN_PORT=10052
  PID_FILE="/tmp/zabbix_java.pid"
  START_POLLERS=5
  修改zabbix server配置文件
1  2
  3
  4
vi /usr/local/zabbix/etc/zabbix_server.conf  JavaGateway=127.0.0.1
  JavaGatewayPort=10052
  StartJavaPollers=5
4.启动测试Java gateway
  启动Java gateway
1/usr/local/zabbix/sbin/zabbix_java/startup.sh  可使用
1netstat -lntp | grep 10052  查看是否已经监听10052端口,如果已监听,表示启动成功,如果没有,可通过zabbix_server日志查看解决.
5.添加catalina-jmx-remote.jar
  添加catalina-jmx-remote.jar到zabbix java gateway的lib目录下,catalina-jmx-remote.jar包可在http://archive.apache.org/dist/tomcat/下,在各版本目录的bin/extras/子目录下
1  2
cd /usr/local/zabbix/sbin/zabbix_java/lib/  wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.61/bin/extras/catalina-jmx-remote.jar
  并重启zabbix和java gateway
1  2
  3
/usr/local/zabbix/sbin/zabbix_java/shutdown.sh  /usr/local/zabbix/sbin/zabbix_java/startup.sh
  /etc/init.d/zabbix-server restart
6.下载测试工具cmdline-jmxclient-0.10.3.jar
  cmdline-jmxclient-0.10.3.jar为一个测试工具,可用来测试jmx是否配置正确,下载cmdline-jmxclient-0.10.3.jar(下载到任意目录)
1wget http://crawler.archive.org/cmdline-jmxclient/cmdline-jmxclient-0.10.3.jar三.被监控tomcat 配置[被监控tomcat操作]
1.添加catalina-jmx-remote.jar
  添加catalina-jmx-remote.jar文件到tomcat的lib目录
1  2
cd /opt/apache-tomcat/lib/  wget http://archive.apache.org/dist/tomcat/tomcat-7/v7.0.61/bin/extras/catalina-jmx-remote.jar
2.修改setenv.sh
1vi /opt/apache-tomcat/bin/setenv.sh  添加如下
1  2
  3
  4
  5
CATALINA_OPTS="${CATALINA_OPTS} -Djava.rmi.server.hostname=192.168.7.186"  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"
  注意:hostname位机器ip地址,即被监控机器对外服务地址
3.修改server.xml
1vi /opt/apache-tomcat/conf/server.xml  添加如下,注意添加位置在
1
  之后添加如下代码
14.添加tomcat应用自动发现脚本
  由于默认的jmx不能自动发现部署的新应用,因此需要添加一个脚本自动发现,并且利用zabbix的LLD(Low-level discovery)来发现
1  2
  3
  4
  5
  6
  7
  8
mkdir /opt/tomcat/  mkdir /tmp/tomcat/
  chmod -R 777 /tmp/tomcat/
  cd /opt/tomcat/
  wget http://dl.cactifans.org/tools/context.sh
  wget http://dl.cactifans.org/tools/cmdline-jmxclient-0.10.3.jar
  chmod a+x /opt/tomcat/context.sh
  echo "*/1  *  *  *  * root /opt/tomcat/context.sh" >>/etc/crontab
  context.sh脚本内容
1  2
#!/bin/bash  java -jar /opt/tomcat/cmdline-jmxclient-0.10.3.jar - 192.168.7.186:12345 Catalina:type=Manager,*| awk -F "," '{ print $1 }'|awk -F: '{ print $2 }'>/tmp/tomcat/context.csv
  此脚本在被监控端添加,注意要把ip改成本机的服务IP地址
  添加一个应用自动发现的程序,我放到zabbix agent的bin目录下
1  2
  3
cd /usr/local/zabbix/bin/  wget http://dl.cactifans.org/tools/context
  chmod a+x /usr/local/zabbix/bin/context
  修改zabbix agentd设置,添加应用自动发现的key
1  2
  3
vi /usr/local/zabbix/etc/zabbix_agentd.conf  #tomcat
  UserParameter=tomcat.context.discovery,/usr/local/zabbix/bin/context
  重启tomcat
1  2
/opt/apache-tomcat/bin/shutdown.sh  /opt/apache-tomcat/bin/startup.sh
  重启zabbix agent
1service zabbix-agent restart  注:防火墙需要开放12345,12346端口
四.测试并添加
1.测试
  在zabbix server上执行
1java -jar /root/cmdline-jmxclient-0.10.3.jar - 192.168.7.186:12345 java.lang:type=Memory NonHeapMemoryUsage  如果有如下回显表示jmx配置正确,如不正确,请检查配置
1  2
  3
  4
  5
07/23/2015 23:25:29 +0800 org.archive.jmx.Client NonHeapMemoryUsage:  committed: 271646720
  init: 270991360
  max: 587202560
  used: 38207984
  在zabbix server上用zabbix_get执行
1zabbix_get -s 192.168.7.153 -k tomcat.context.discovery  如果能回显如下数据表示获取成功
1  2
  3
  4
  5
  6
  7
  8
  9
  10
  11
  12
  13
  14
  15
  16
  17
  18
  19
  20
  21
  22
{  "data": [
  {
  "{#CONTEXT}": "context=/manager"
  },
  {
  "{#CONTEXT}": "context=/omai"
  },
  {
  "{#CONTEXT}": "context=/examples"
  },
  {
  "{#CONTEXT}": "context=/docs"
  },
  {
  "{#CONTEXT}": "context=/"
  },
  {
  "{#CONTEXT}": "context=/host-manager"
  }
  ]
  }
2.添加模版
  模版我已经做好了大家可直接倒入使用
  模版下载:zabbix_tomcat_templates.xml
  导入到zabbix,并关联到主机
五.最终效果




运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-642072-1-1.html 上篇帖子: Tomcat 工作原理【转】 下篇帖子: 应用容器_Tomcat
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表