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

[经验分享] Zabbix监控JBOSS4.xx或EAP5.xx

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2014-11-17 13:40:24 | 显示全部楼层 |阅读模式
1.1 实验环境
  • Zabbix Server 2.2.0(172.16.0.2)
  • JBoss Server EAP 5.2.0或jboss-4.2.3.GA (172.16.0.2)
  • Both servers running Red Hat Enterprise Linux 6.3

1.2 Zabbix Serverd上Javagateway安装配置1.工作原理:
Zabbix server想知道一台主机上的特定的JMX值时,它向Zabbix-Javagateway询问,而Zabbix-Javagateway使用“JMXmanagementAPI”去查询特定的应用程序,而前提是应用程序这端在开启时需要“-Dcom.sun.management.jmxremote”参数来开启JMX查询就行了。
Zabbixserver有一个特殊的进程用来连接Javagateway叫StartJavaPollers;Javagateway通过配置文件中START_POLLERS参数设置启动多个线程,在zabbix服务器这边如果一个连接所用时间超过Timeout,将会被中断,但是Javagateway将继续从JMXcounter取数据。所以StartJavaPollers设置的值要小于等于START_POLLERS设置的值。Zabbix-Javagateway就相当于一个代理。
2.安装JDK环境(如果Java环境已经配置,则跳过此步骤)
安装方法将jdk-6u37-linux-x64.bin上传到Zabbix Server的/usr/local下#cd /usr/local/# chmod +x jdk-6u37-linux-x64.bin# ./jdk-6u37-linux-x64.bin
# vim /etc/profile在最后加入下面语句#set java environmentJAVA_HOME=/usr/local/jdk1.6.0_37CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarPATH=$JAVA_HOME/bin:$PATHexport JAVA_HOME CLASSPATH PATH
使环境值立即生效# source /etc/profile查看JAVA是不是安装成功# java -version

(测试过,如果java环境是OpenJDK,则编译时会报错如)

3.安装Javagateway
软件包在zabbix自带有,目前暂时只支持从zabbix软件包中获得
(备份zabbix_server.conf和zabbix_agentd.conf文件,编译安装需要GCC环境)
# cp -p zabbix_server.conf zabbix_server.conf.bak
# cp -p zabbix_agentd.conf zabbix_agentd.conf.bak
# tar zxvf zabbix-2.2.0.tar.gz
# cd zabbix-2.2.0
# ./configure –enable-java –prefix=/opt/zabbix_java
编译完成
1.jpg
# make && make install
4.修改Javagateway的配置文件
# vim /opt/zabbix_java/sbin/zabbix_java/settings.sh
在配置文件 settings.sh 中,可以配置以下参数:
LISTEN_IP=”172.16.0.2” #zabbix_server端ip地址
LISTEN_PORT=10052
START_POLLERS=5
2.jpg
5.修改zabbix_server的配置文件,使支持javagateway
# vi /etc/zabbix_server.conf
zabbix_server 或 zabbix_proxy 的配置文件中有以下内容需要配置:
JavaGateway=172.16.0.2
JavaGatewayPort=10052
StartJavaPollers=5
3.jpg
6.启动javagateway
# cd /opt/zabbix_java/sbin/zabbix_java/
#./startup.sh
#netstat –nlp |grep 10052
4.jpg
7.重启zabbix_server服务
# /etc/init.d/zabbix_server restart
1.3 客户端JBOSS服务器配置1. 启用远程JMX监控
编辑JBOSS_HOME/bin/run.conf(注:JBOSS_HOME为JBOSS安装的位置)
[iyunv@JBOSS-4 jboss-4.2.3.GA]# vi /usr/jboss-4.2.3.GA/bin/run.conf
在文件结尾加入下面几行:
5.jpg   
#JMX Remote Management configuration
JAVA_OPTS="$JAVA_OPTS -Dcom.rmi.server.hostname=<YOUR_JBOSS_SERVER_IP>" #注意如果没有此行,则JMX远程访问时会报错
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.port=12345" #端口号可以自己定义,注意不要冲突
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.authenticate=false"
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.ssl=false"
JAVA_OPTS="$JAVA_OPTS -Djboss.platform.mbeanserver"
JAVA_OPTS="$JAVA_OPTS -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl"
JBOSS_CLASSPATH="../lib/jboss-system-jmx.jar"
然后保存
2.重启JBOSS服务就开启JMX了
[iyunv@JBOSS-4 bin]# ./shutdown.sh –S
#nohup ./run.sh -b 0.0.0.0 & 此时可以通过#more nohup.out查看启动情况
查看端口是否监听
# netstat -nlp | grep 12345
6.jpg
3.使用cmdline-jmxclient-0.10.3.jar文件测试服务器端测试是否能正常获取信息
本地测试:
将cmdline-jmxclient-0.10.3.jar上传到JBOSS服务器上,为了方便管理,这里我们上传到JBOSS的lib目录下
7.jpg
4.测试有数据则表示成功
[iyunv@JBOSS-4 lib]# java -jar cmdline-jmxclient-0.10.3.jar -:- 172.16.0.13:12345
(注:这个命令会输出所有的Mbeans,”-:-“表示没有用户名和密码)
8.jpg
查找需要的Mbeans,如我们相查找和jboss.management.local相关的Mbens,可以使用命令:  
[iyunv@JBOSS-4 lib]# java -jar cmdline-jmxclient-0.10.3.jar -:- 172.16.0.13:12345 | grep jboss.management.local
9.jpg
远程测试:
将cmdline-jmxclient-0.10.3.jar上传到Zabbix Server服务器上
10.jpg
测试有数据则表示成功
[iyunv@zabbix-server tmp]# java -jar cmdline-jmxclient-0.10.3.jar -:- 172.16.0.13:12345
(一般通过zabbix-server能获取到数据,通过JMX监控就基本成功)
11.jpg
1.4 添加JBOSS监控主机1. 在web前端添加JBOSS主机,设置jmx ip地址及端口
12.jpg
2.添加成功后会显示JMX图标变绿,表示可用(必须有Items将能显示图标)
13.jpg
1.5 添加JBOSS监控项1. 在一台Windows机器上安装JAVA(该windows能与Weblogic服务器通信即可,不需要安装zabbix_agent)
下载JAVA程序,下载完后默认安装即可
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
14.jpg
2. 配置JDK环境变量
选择环境变量
15.jpg
选择新建,变量名输入“JAVA_HOME”,变量值输入“C:\Program Files\Java\jdk1.8.0_20\bin”
即JAVA安装目录

在Path变量名中,添加路径; C:\Program Files\Java\jdk1.8.0_20\bin
16.jpg
17.jpg

3. 在cmd下输入”jconsole”打开java监视和管理控制台
19.jpg
4.选择远程进程,输入tomcat的ip:端口号
20.jpg
21.jpg
5.这里以jboss.jca节点为例,展开jboss.jca-CachedConnectionManager,可以在右边详细中看到ObjectName的值: jboss.jca:service=CachedConnectionManager
这里的值在下面创建监控项时需要填入到Key中
22.jpg
6.选择属性State,右边详细可以查看到对象的属性值,这里所有属性下面的值,都是item里面key的值,后面创建item的时候就会体现出来了
23.jpg
7.这里我们以jboss.jca:service=CachedConnectionManager-State为例,进行创建监控项
6092100_1416055305AxSo.jpg
24.jpg
创建State监控项,
25.jpg
结果如下:
26.jpg
这里主要注意Key值,其他监控值方法操作一样
jmx["jboss.jca:service=CachedConnectionManager",State]
语法:
jmx["ObjectName",属性名]
8.监控结果如图所示
27.jpg
28.jpg

运维网声明 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-30448-1-1.html 上篇帖子: zabbix 监控 oracle 数据库 下篇帖子: Zabbix监控Nginx 和PHP-FPM状态 监控
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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