现象1:weblogic获取数据源-活动连接数报错Connection test failed with the following exception: weblogic.common.resourcepool.ResourceDisabledException: Pool XXX is Suspended, cannot allocate resources to applications.
解决:可以连接登录到当前的weblogic账户,进入到该机器下的XXX目录下,运行cmo.start()操作,Pool XXX 就会被启用起来,状态变成running,不再是挂起状态,接下来就可以获取weblogic数据源的指标。
现象2:不知道目录下有哪些指标和方法,想要查看不同目录下的指标。
解决:如果想要查看某一个目录下的指标、值和目录,首先,进入到该目录下,运行ls()方法,其次,获取这些指标,可以采用dir(cmo),可以查看出cmo下所以的方法。
注意: 如果获取的指标值是false/true,获取指标的方法一般是:cmo.isXXXX();如果获取的值是在正常的值,获取指标的方法一般是cmo.getXXXX();如果获取的指标值是:void: 那么直接cmo.XXXX();如果获取的指标值是: String : String(protocol),那么获取方法就是:cmo.XXXX(参数)。
注:参数根据该函数和括号内的意思进行揣测。
连接操作:
username = '' #用户名
password = '' #密码
URL = '' #地址 如t3://10.10.10.1:7003
connect(username, password, URL) #连接
domainRuntime() #进入domainRuntime目录状态
print ("===============================")
print ("========服务基本状态信息=======")
print ("===============================")
ActivationTime = cmo.getActivationTime()
print("ActivationTime: " + str(ActivationTime))
MigrationDataRuntimes = cmo.getMigrationDataRuntimes()
print("MigrationDataRuntimes: " + str(MigrationDataRuntimes))
#如果获取的不在当前目录 可以进行切换目录
servers = domainRuntimeService.getServerRuntimes() #返回当前域中当前运行的服务器
for server in servers:
try:
#get ServerName
serverName = server.getName()
print ("========="+serverName+"============")
print ("========服务运行状态信息=======")
print ("===============================")
print("ServerName: " + serverName)
cd("/ServerRuntimes/" + serverName) #切换目录
except WLSTException,e:
pass
weblogic部分结构
wls:/base_domain/domainRuntime> ls()
dr-- AppRuntimeStateRuntime
dr-- CoherenceMetricsRuntime
dr-- CoherenceServerLifeCycleRuntimes
dr-- ConsoleRuntime
dr-- DeployerRuntime
dr-- DeploymentManager
dr-- DomainServices
dr-- LogRuntime
dr-- MessageDrivenControlEJBRuntime
dr-- MigratableServiceCoordinatorRuntime
dr-- MigrationDataRuntimes
dr-- PolicySubjectManagerRuntime
dr-- SNMPAgentRuntime
dr-- ServerLifeCycleRuntimes
dr-- ServerRuntimes
dr-- ServerServices
dr-- ServiceMigrationDataRuntimes
dr-- SystemComponentLifeCycleRuntimes
-r-- ActivationTime Fri Jul 05 09:07:10 CST 2019
-r-- MigrationDataRuntimes null
-r-- Name base_domain
-rw- Parent null
-r-- ServiceMigrationDataRuntimes null
-r-- Type DomainRuntime
-r-x preDeregister Void :
-r-x restartSystemResource Void : WebLogicMBean(weblogic.management.configuration.SystemResourceMBean)
注: 我的理解是在base_domain/domainRuntime/目录下 运行ls() 命令 出现下面的内容:
- dr-- 是目录,该可以再次进入,
- -r-- 是文件,也就是可以被获取的weblogic的指标项,cmo.get/isXXX()
- 通常后面标注是void:/void:XXXX等,也就是一些可以直接被调用的方法cmo.XXX(有无参数)