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

[经验分享] Python实现的weblogic监控

[复制链接]

尚未签到

发表于 2017-2-15 09:41:51 | 显示全部楼层 |阅读模式
  利用WLST调用对weblogic server进行监控,Python实现。
# WLST WebLogic Server Monitoring Script
# Author: Madan M Noru
# This script can be used to monitor JVM, EXECUTE QUEUE, JDBC and JMS Resources
# of all the WebLogic Instances running in a domain.
  # NOTE: If you are unable to run this script, it could be an indentation problem. Please post your E-mail Id, I can send you the script.
import time
Now = time.localtime(time.time())[6]
print Now
username='eprm'
password='eprm123456'
url='t3://134.96.101.9:8001'
urldict={}
connect(username,password,url)
serverlist=adminHome.getMBeansByType('Server')
print serverlist
  for svr in serverlist:
#urldict['' + svr.getName() + ''] = str(svr.getListenPort())
        urldict[svr.getName()]='t3://'+svr.getListenAddress()+':'+str(svr.getListenPort())
disconnect()
  for svr,url in urldict.items():
        try:
                connect('eprm','eprm123456','t3://134.96.101.9:8001')
                jvmrtlist=home.getMBeansByType('JVMRuntime')
                print jvmrtlist
                print ' '
                print ' ' 
                print 'The Runtime Stats of Server: '+svr
                print ' '
                print 'JVM'
                print ' '
                print 'FreeJVM TotalJVM UsedJVM' 
                print ' '
                for jvmRT in jvmrtlist:
                        freejvm = jvmRT.getAttribute("HeapFreeCurrent")
                        totaljvm = jvmRT.getAttribute("HeapSizeCurrent")
                        usedjvm = (totaljvm - freejvm)
                        print freejvm,' ',totaljvm,' ',usedjvm
                        print ' '
                        print '------------------------------------------------'
                        #time.sleep(5)
  #注释掉部分为执行队列的监控
#               eqrtlist=home.getMBeansByType('ExecuteQueueRuntime')
#               print ' '
#               print ' '
#               print 'EXECUTE QUEUES'
#               print ' '
#               print 'ExecuteQueueName TotalCount CurrIdleCount PendRequestCurrCount ServicedRequestTotalCount'
#               print ' '
#               for eqRT in eqrtlist:
#                       eqname = eqRT.getAttribute("Name")
#                       eqtthreads = eqRT.getAttribute("ExecuteThreadTotalCount")
#                       eqithreads = eqRT.getAttribute("ExecuteThreadCurrentIdleCount")
#                       eqqc = eqRT.getAttribute("PendingRequestCurrentCount")
#                       eqthrougp = eqRT.getAttribute("ServicedRequestTotalCount")
#                       print eqname,' ',eqtthreads,' ',eqithreads,' ',eqqc,' ',eqthrougp
#                       print ' '
#               
                poolrtlist=home.getMBeansByType('JDBCConnectionPoolRuntime')
                print ' '
                print ' '
                print 'JDBC CONNECTION POOLS'
                print ' '
                print 'Name Maxcapacity ActiveCurrent ActiveHighCount WaitSecondsHighCount WaitingCurrentCount State'
                print ' '
                for poolRT in poolrtlist:
                        pname = poolRT.getName()
                        pmaxcapacity = poolRT.getAttribute("MaxCapacity")
                        paccc = poolRT.getAttribute("ActiveConnectionsCurrentCount")
                        pachc = poolRT.getAttribute("ActiveConnectionsHighCount")
                        pwshc = poolRT.getAttribute("WaitSecondsHighCount")
                        pwfccc = poolRT.getAttribute("WaitingForConnectionCurrentCount")
                        pstate = poolRT.getAttribute("State")
                        print pname,' ',pmaxcapacity,' ',paccc,' ',pachc,' ', pwshc,' ',pwfccc,' ',pstate
                        print ' '
                        print '-------------------------------------------------------------'
  domainRuntime()                                                             
                #cd('ServerRuntimes/'+svr+'/WorkManagerRuntimes/weblogic.kernel.Default')
                cd('ServerRuntimes/'+svr+'/ThreadPoolRuntime/ThreadPoolRuntime')
                print ls()                                                                  
                print '-----------------------------------------------------------------'
                
                jmsrtlist=home.getMBeansByType('JMSDestinationRuntime')
                print ' '
                print ' '
                print 'JMS DESTINATIONS'
                print ' '
                print 'Name ByteCurr Pending Received High MsgCurr Pending High Received ConsumersTotal' 
                print ' '
                for jmsRT in jmsrtlist:
                        jmsname = jmsRT.getAttribute("Name")
                        jmsbcc = jmsRT.getAttribute("BytesCurrentCount")
                        jmsbpc = jmsRT.getAttribute("BytesPendingCount")
                        jmsbrc = jmsRT.getAttribute("BytesReceivedCount")
                        jmsbhc = jmsRT.getAttribute("BytesHighCount")
                        jmsmcc = jmsRT.getAttribute("MessagesCurrentCount")
                        jmsmpc = jmsRT.getAttribute("MessagesPendingCount")
                        jmsmhc = jmsRT.getAttribute("MessagesHighCount")
                        jmsmrc = jmsRT.getAttribute("MessagesReceivedCount")
                        jmsctc = jmsRT.getAttribute("ConsumersTotalCount")
                        print jmsname,' ',jmsbcc,' ',jmsbpc,' ',jmsbrc,' ',jmsbhc,' ',jmsmcc,' ',jmsmpc,' ',jmsmhc,' ', jmsmrc,' ',j
msctc
                        print ' '
                        print '-------------------------------------------------------------------'
                disconnect()
        except:
                print "Skipping "+svr
                continue

运维网声明 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-342364-1-1.html 上篇帖子: weblogic与hibernate问题解决 下篇帖子: weblogic部署常见错误
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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