zabbix监控websphere的几个监控项

首先,我要吐槽一下这个AIX系统,这该死的天杀的玩个锤子象拔蚌的系统,没有自动补齐,删除文本字符也跟linux不一样,这让用惯的linux的我各种蓝瘦。

这个问题是在项目中遇到的,由于没有接触过AIX和Websphere,差点哭了,请大佬帮忙测试的,此处不详细解释只写取值过程

目标:获取websphere的JDBC连接池使用率,连接数,等待的线程数

1.AIX里面好像是jpython,直接放脚本

里面的C254好像是websphere的名字,我也不太懂,按着照猫画虎改一下,下面出现的都照样改一下

perfStr=AdminControl.queryNames( 'type=Perf,process=C251,*')
perfObj=AdminControl.makeObjectName( perfStr)
srvrStr=AdminControl.queryNames( 'type=Server,name=C251,*')
srvrObj=AdminControl.makeObjectName( srvrStr)
stats=AdminControl.invoke_jmx( perfObj, 'getStatsObject', [ srvrObj,java.lang.Boolean('true')], ['javax.management.ObjectName', 'java.lang.Boolean'])
print stats.getStats('connectionPoolModule').getStats('DB2').getStats('jdbc/dsejianlong').getStatistic('PercentUsed')
print stats.getStats('connectionPoolModule').getStats('DB2').getStats('jdbc/dsejianlong').getStatistic('WaitingThreadCount')
print stats.getStats('connectionPoolModule').getStats('DB2').getStats('jdbc/dsejianlong').getStatistic('CreateCount')
print AdminControl.invoke(AdminControl.queryNames("*:name=dsejianlong,process=C251,*"), "showPoolContents")
py脚本获取websphere信息

2.放shell脚本,获取3个监控项的数据

#!/bin/ksh
/WAS9/WebSphere/AppServer/bin/wsadmin.sh    -lang jython  -f  /etc/zabbix/zabbix_agentd/WAS_C254.py  > /etc/zabbix/zabbix_agentd/log/WAS_C254_tmp.log
cp /etc/zabbix/zabbix_agentd/log/WAS_C254_tmp.log  /etc/zabbix/zabbix_agentd/log/WAS_C254.log

grep PercentUsed /etc/zabbix/zabbix_agentd/log/WAS_C254.log  |awk  -F'current='  '{print $2}' |awk -F','  '{print $1}' >/etc/zabbix/zabbix_agentd/log/C254_java_pool_PercentUsed.log

grep "Total number of connection" /etc/zabbix/zabbix_agentd/log/WAS_C254.log   |awk -F'max/min' '{print $1}'  |awk -F'connections:' '{print $2}'   |awk -F'(' '{print $1}' | sed 's/ //g'    >
/etc/zabbix/zabbix_agentd/log/C254_java_pool_connectionnumber.log

#add for WaitingThreadCount
grep WaitingThreadCount  /etc/zabbix/zabbix_agentd/log/WAS_C254.log |awk  -F'current='  '{print $2}' |awk -F','  '{print $1}' >  /etc/zabbix/zabbix_agentd/log/C254_java_pool_WaitingThreadCoun
t.log
获取值写入文件读取

3.新建一个log目录,记得在脚本中做好指向

4.在zabbix配置文件末尾添加

# JDBC Pool C254
UserParameter=C254_CJavaPool_PercentUsed.check,cat /etc/zabbix/zabbix_agentd/log/C254_java_pool_PercentUsed.log
UserParameter=C254_JavaPool_Connectionnumber.check,cat /etc/zabbix/zabbix_agentd/log/C254_java_pool_connectionnumber.log
UserParameter=C254_JavaPool_WaitingThreadCount.check,cat /etc/zabbix/zabbix_agentd/log/C254_java_pool_WaitingThreadCount.log
自定义监控项

5.添加定时任务,定时执行

#JDBC C254
0,5,10,15,20,25,30,35,40,45,50,55 * * * *  /etc/zabbix/zabbix_agentd/WAS_C254_check.sh
crontab

6.web zabbix添加过程省略

posted @ 2019-01-16 17:53  不吃鱼的喵了个咪  阅读(1129)  评论(1编辑  收藏  举报