首先,我要吐槽一下這個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")
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
6.web zabbix添加過程省略