# OFMofm.ctl: Collects Oracle Fusion Middleware Plug-in Information # $Id: OFMofm.ctl,v 1.43 2016/04/25 17:16:02 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/OFM/OFMofm.ctl,v 1.43 2016/04/25 17:16:02 RDA Exp $ # # Change History # 20160421 SJC Add new plugin for $DOMAIN_HOME/system_components/OHS/*.log =head1 NAME OFM:OFMofm - Collects Oracle Fusion Middleware Plug-in Information =head1 DESCRIPTION This module collects Oracle Fusion Middleware Plug-in-related information. =head1 REPORTS =cut use Xml keep $KEEP_BLOCK return # --- begin section ----------------------------------------------------------- section begin # Load the common macros run OFM:DEVlib() run OFM:WLSlib() run RDA:library() # ----------------------------------------------------------------------------- # Section Init: Define the plugin capabilities # ----------------------------------------------------------------------------- section Init # Define the plugin capabilities var $plg = $arg[0] var $ctl = {\ WLS => {col => {OFM_OAM => 'OFM:OFMofm-WLS_OAM_Collect',\ OFM_OIM => 'OFM:OFMofm-WLS_OIM_Collect',\ OFM_OSB => 'OFM:OFMofm-WLS_OSB_Collect',\ OFM_SOA => 'OFM:OFMofm-WLS_SOA_Collect',\ OFM_WC => 'OFM:OFMofm-WLS_WC_Collect'},\ domlog => {OFM_EDQ => 'OFM:OFMofm-WLS_EDQ_DomLog_Log',\ OFM_SOA => 'OFM:OFMofm-WLS_SOA_DomLog_Log',\ OFM_WC => 'OFM:OFMofm-WLS_WC_DomLog_Log',\ OFM_WLI => 'OFM:OFMofm-WLS_WLI_DomLog_Log',\ OFM_WLS => 'OFM:OFMofm-WLS_WLS_DomLog_Log',\ OFM_OHS => 'OFM:OFMofm-WLS_OHS_DomLog_Log'},\ domprd => {OFM_ASA => 'OFM:OFMofm-WLS_ASA_Config',\ OFM_EDQ => 'OFM:OFMofm-WLS_EDQ_Config',\ OFM_OHS => 'OFM:OFMofm-WLS_OHS_Config',\ OFM_OSB => 'OFM:OFMofm-WLS_OSB_Config',\ OFM_OWSM => 'OFM:OFMofm-WLS_OWSM_Config',\ OFM_WC => 'OFM:OFMofm-WLS_WC_Config',\ OFM_WLS => 'OFM:OFMofm-WLS_WLS_Config',\ OFM_WS => 'OFM:OFMofm-WLS_WS_Config'},\ ini => {ofm_oam => 'OFM:OFMofm-WLS_OAM_Init',\ ofm_oim => 'OFM:OFMofm-WLS_OIM_Init',\ ofm_osb => 'OFM:OFMofm-WLS_OSB_Init',\ ofm_soa => 'OFM:OFMofm-WLS_SOA_Init',\ ofm_wc => 'OFM:OFMofm-WLS_WC_Init'},\ srvlog => {OFM_DEV => 'OFM:OFMofm-WLS_DEV_Log',\ OFM_JMS => 'OFM:OFMofm-WLS_JMS_Log',\ OFM_LTFS => 'OFM:OFMofm-WLS_LTFS_Log',\ OFM_OAM => 'OFM:OFMofm-WLS_OAM_Log',\ OFM_OHS => 'OFM:OFMofm-WLS_OHS_Log',\ OFM_OID => 'OFM:OFMofm-WLS_OID_Log',\ OFM_OSB => 'OFM:OFMofm-WLS_OSB_Log',\ OFM_OWSM => 'OFM:OFMofm-WLS_OWSM_Log',\ OFM_SOA => 'OFM:OFMofm-WLS_SOA_Log',\ OFM_STA => 'OFM:OFMofm-WLS_STA_Log',\ OFM_WC => 'OFM:OFMofm-WLS_WC_Log',\ OFM_WLS => 'OFM:OFMofm-WLS_WLS_Log'},\ srvprd => {OFM_DEV => 'OFM:OFMofm-WLS_DEV_SrvCfg_Config',\ OFM_DSCV => 'OFM:OFMofm-WLS_DSCV_SrvCfg_Config',\ OFM_OHS => 'OFM:OFMofm-WLS_OHS_SrvCfg_Config',\ OFM_OSB => 'OFM:OFMofm-WLS_OSB_SrvCfg_Config',\ OFM_OWSM => 'OFM:OFMofm-WLS_OWSM_SrvCfg_Config',\ OFM_PDA => 'OFM:OFMofm-WLS_PDA_Config',\ OFM_WC => 'OFM:OFMofm-WLS_WC_SrvCfg_Config',\ OFM_WS => 'OFM:OFMofm-WLS_WS_SrvCfg_Config'}}} if isFiltered() {delete $ctl->{'WLS','col','OFM_OIM'} delete $ctl->{'WLS','col','OFM_SOA'} delete $ctl->{'WLS','ini','ofm_oim'} delete $ctl->{'WLS','ini','ofm_soa'} } loop $key (keys($ctl,'*')) var $plg->{@{$key}} = $ctl->{@{$key}} # ----------------------------------------------------------------------------- # Section WLS_ASA_Config: Collect ASA config files from Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_ASA_Config =head2 adapter_files - Adapter Configuration Files Collects the Oracle Application Server Adapter configuration files. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering adapter configuration files' # Get the application files var (%dir,%fil) = () if ?testFile('fr',catFile($dir,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) loop $xml (xmlFind($obj,'domain/app-deployment|name *="Adapter"')) {var ($fil,$pth) = () if xmlFind($xml,'source-path') var $fil{getNativePath(xmlData(last))} = true if xmlFind($xml,'plan-dir') {if length($pth = xmlData(last)) {if !isAbsolute($pth = getNativePath($pth)) var $pth = catDir($dir,$pth) var $dir{$pth} = true } } if xmlFind($xml,'plan-path') {if !isAbsolute($fil = getNativePath(xmlData(last))) var $fil = catFile($pth,$fil) var $fil{$fil} = true } } } # Write the application files report adapter_files prefix {write '---+ Adapter Configuration Files' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser \ can present risks. To prevent them, access the file \ outside the browser or use the link to save them and use \ an adequate viewer.' write '|*File Name*| *Size*|*Last Modified Date*|' } loop $dir (keys(%dir)) {loop $fil (grepDir($dir,'^[^\.]','np')) var $fil{$fil} = true } loop $fil (keys(%fil)) {if ?testFile('fr',$fil) {var $lnk = encode(addSymbol($fil)) var $siz = getSize($fil) if $siz {output d,concat('asa_',basename($fil)) if ${CUR.O_LAST}->write_data($fil) var $lnk = concat('[[',${CUR.O_LAST}->get_raw(true),'][_blank][',$lnk,']]') end ${CUR.O_LAST} } write '|',$lnk,' | ',$siz,'|',getLastModify($fil,''),' |' } } if isCreated(true) toc '2:[[',getFile(),'][rda_report][Adapter Configuration Files]]' # ----------------------------------------------------------------------------- # Section WLS_DEV_SrvCfg_Config: Collect DEV server config files from Oracle # WebLogic Server # ----------------------------------------------------------------------------- section WLS_DEV_SrvCfg_Config =head2 Forms/Reports Configuration Files Collects the configuration parameters active per section by parsing F file. Collects the Oracle Forms/Reports-related configuration files for Oracle WebLogic Server. =cut var ($dir,$top,$srv) = @arg debug ' - Inside OFMofm module, gathering DEV configuration files' var @tbl = () var $cfg = catDir($top,'config','fmwconfig','servers',$srv) loop $sub (findDir(catDir($cfg,'applications'),'^reports_\d+(\.\d+){2,}','np')) {if ?testFile('fr',catFile($sub,'configuration','rwserver.conf')) call push(@tbl,lastFile()) } loop $sub (grepDir(catDir($dir,'stage','formsapp'),'^\d+(\.\d+){2}$','np')) call push(@tbl,grepDir(catDir($sub,'formsapp','config'),'^\.+$','pv')) call push(@tbl,grepDir(\ catDir($dir,'stage','reports','reports','configuration'),'^\.+$','pv')) loop $sub (\ findDir(catDir($dir,'tmp','_WL_user'),'^reports_\d+(\.\d+){2,}','np')) {loop $nam (findDir($sub,'^\.+$','nv')) call push(@tbl,grepDir(catDir($sub,$nam,'configuration'),'^\.+$','pv')) } # Collect the configuration parameters using formsweb.cfg file if ?testFile('fr',catFile(first(findDir(\ catDir($cfg,'applications'),'^formsapp_\d+','fnp')),'config','formsweb.cfg')) call write_forms_web(2,lastFile()) # Collect the configuration files pretoc '2:Forms/Reports Configuration Files' call sort_files(3,0,@tbl) unpretoc # ----------------------------------------------------------------------------- # Section WLS_DSCV_SrvCfg_Config: Collect DSCV server config files from Oracle # WebLogic Server # ----------------------------------------------------------------------------- section WLS_DSCV_SrvCfg_Config =head2 Oracle Discoverer Configuration Files Collects the Oracle Discoverer-related configuration files for Oracle WebLogic Server. =cut var ($dir,$top,$srv) = @arg debug ' - Inside OFMofm module, gathering DSCV configuration files' var @tbl = () loop $sub (grepDir(catDir($dir,'stage','discoverer'),'^\d+(\.\d+){2,4}$','np')) {call push(@tbl,\ catFile($sub,'discoverer','configuration','configuration.xml'),\ catFile($sub,'discoverer','install-plan.properties'),\ catFile($sub,'discoverer','mbeans.xml'),\ grepDir(catDir($sub,'discoverer','discoverer.war','WEB-INF'),'\.xml$','ip'),\ grepDir(catDir($sub,'discoverer','META-INF'),'\.xml$','ip')) } loop $prd (grepDir(catDir($dir,'tmp','_WL_user'),'^discoverer','np')) {loop $sub (grepDir($prd,'^\.+$','npv')) call push(@tbl,catFile($sub,'war','WEB-INF','web.xml')) } pretoc '2:Oracle Discoverer Configuration Files' call sort_files(3,0,@tbl) unpretoc # ----------------------------------------------------------------------------- # Section WLS_EDQ_Config: Collect EDQ config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_EDQ_Config =head2 EDQ Domain Configuration Files Collects the Oracle Enterprise Data Quality-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering EDQ configuration files' if isUnix() {var $hom = 'oedq.home' var $loc = 'oedq.local.home' } else {var $hom = 'oedq_home' var $loc = 'oedq_local_home' } pretoc '2:EDQ Domain Configuration Files' call sort_files(3,0,\ grepDir(catDir($dir,'edq',$hom),'\.properties$','dir'),\ grepDir(catDir($dir,'edq',$loc),'\.properties$','dir')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_EDQ_DomLog_Log: Collect EDQ domain log files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_EDQ_DomLog_Log =head2 EDQ Local Log Files Collects the Oracle Enterprise Data Quality-related domain local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering EDQ domain log files' if isUnix() {var $hom = catDir($dir,'edq','oedq.home','logs') var $loc = catDir($dir,'edq','oedq.local.home','logs') } else {var $hom = catDir($dir,'edq','oedq_home','logs') var $loc = catDir($dir,'edq','oedq_local_home','logs') } pretoc '2:EDQ Local Log Files' call sort_files(3,$lim,\ grepDir($hom,'\.log\.?\d*$','dir'),\ grepDir($loc,'\.log\.?\d*$','dir')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OAM_Collect: Collect OAM policy data from Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OAM_Collect =head2 Oracle Access Manager =head3 policydata - Policy Data Collects Oracle Access Manager-related policy data. RDA uses C in connected mode. =cut var ($dom,$srv,$hst,$prt,$usr,$pwd) = @arg if ?$OAM {if compare('EQ',$OAM,$srv) {debug ' - Inside OFMofm module, gathering OAM policy data' pretoc '3:Oracle Access Manager' set $cod {exportPolicy(out) " } # Set the OAM environment var $hom = nvl(getHome('.'),'') var $bkp = setContext({\ ORACLE_HOME => $hom,\ WLST_HOME => catDir($hom,'common','wlst')}) if ?testFile('e',catFile($hom,'common','bin',${AS.CMD:'setOAMWlstEnv'})) var $src = sourceContext(getNativePath(lastFile())) else var $src = \ sourceContext(catNative($hom,'common','bin',${AS.CMD:'setWlstEnv'})) # Get the policy data output F,policydata prefix {write "---+ '",$srv,"' Policy Data (",$dom,')' write '---## Using: exportPolicy' } var $out = newTemp('OAM') call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{out => quote(catDir(${CFG.D_CWD},$out))}) call writeFile($out) call unlinkTemp('OAM') if isCreated(true) toc '4:[[',getFile(),'][rda_report][Policy Data]]' # Restore the previous environment call restoreContext($src) call restoreContext($bkp) unpretoc } } # ----------------------------------------------------------------------------- # Section WLS_OHS_Config: Collect OHS config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_OHS_Config =head2 OHS Domain Configuration Files Collects the Oracle HTTP Server-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering OHS configuration files' pretoc '2:OHS Domain Configuration Files' call sort_files(3,0,\ catFile($dir,'config','config.xml'),\ catFile($dir,'config','fmwconfig','components','OHS','ohs_nm.properties')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OHS_SrvCfg_Config: Collect OHS config files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_OHS_SrvCfg_Config =head2 OHS Domain Server Configuration Files Collects the Oracle HTTP Server-related configuration files for Oracle WebLogic Server. =cut var ($dir,$top,$srv) = @arg debug ' - Inside OFMofm module, gathering OHS configuration files' var $cfg = catDir($top,'config','fmwconfig','components','OHS') pretoc '2:OHS Domain Server Configuration Files' # Gather OHS staging files pretoc '3:Staging Configuration Files' call sort_files(4,0,grepDir(catDir($cfg,$srv),'\.(html|txt|var)$','drv')) unpretoc # Gather OHS runtime files pretoc '3:Runtime Configuration Files' call sort_files(4,0,\ grepDir(catDir($cfg,'instances',$srv),'\.(html|txt|var)$','drv')) unpretoc 2 # ----------------------------------------------------------------------------- # Section WLS_OIM_Collect: Collect OIM metadata for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OIM_Collect =head2 Oracle Identity Manager Gathers application metadata for the OIM-related server by exporting metadata. RDA uses C in connected mode. =cut var ($dom,$srv,$hst,$prt,$usr,$pwd) = @arg if ?$OIM {var ($key,$tgt) = (cond(exists($OIM->{'OIMMetadata'}),\ @{$OIM->{'OIMMetadata'}},@{$OIM->{'oim'}})) if or(compare('EQ',$tgt,$srv),\ compare('EQ',$tgt,$OIM_CLUSTER{$srv})) {debug ' - Inside OFMofm module, collecting OIM server metadata' set $cod {exportMetadata(application=app,server=ins,toLocation=out,\ applicationVersion=ver) " } var ($app,$ver) = split('\#',$key) data concat('metadata_i_',$srv,'.zip') var ($out,$lnk) = (getFile('/'),getRawLink(true)) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{app => $app,\ ins => $srv,\ out => join('/',splitDir($out)),\ ver => $ver}) report concat('i_',$srv,'_metadata') if $siz = getSize($out) {write "---+ '",$srv,"' Metadata (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Metadata Name*| *Size*|*Last Modified Date*|' write '|[[',$lnk,'][_blank][',$app,'.zip]]| ',$siz,'|',\ getLastModify($out,''),' |' toc '3:Oracle Identity Manager' toc '4:[[',getFile(),'][rda_report][Metadata Information]]' } } } # ----------------------------------------------------------------------------- # Section WLS_OSB_Collect: Collect OSB data from Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OSB_Collect =head2 Oracle Service Bus Collects the Oracle Service Bus-related run-time management objects information. =head3 project - Project Export Collects OSB project data. =for stopwords JMSServer dumpMetrics =head3 JMSServer Information Collects JMS server run-time and JMS destination run-time management objects information. =head3 osb_drv_cache_diag_dump - OSB Derived Resource Caches Diagnostic Dump Gathers OSB derived resource caches diagnostic dump. RDA uses C in connected mode. =head3 osb_jms_asyn_tbl_diag_dump - OSB JMS Correlation Table Diagnostic Dump Gathers OSB JMS correlation table diagnostic dump. RDA uses C in connected mode. =head3 osb_mq_asyn_tbl_diag_dump - OSB MQ Correlation Table Diagnostic Dump Gathers OSB MQ correlation table diagnostic dump. RDA uses C in connected mode. =head3 svr_dump_metrics - dumpMetrics Gathers OSB dump metrics information (minimal collection). RDA uses C in connected mode. =cut var ($dom,$srv,$hst,$prt,$usr,$pwd) = @arg import $WLS_V12 if or($OSB,$OSB_ADMIN) {pretoc '3:Oracle Service Bus' if match(${GRP.OSB.W_DETAIL},'^(MAX|MIN)$') {if compare('EQ',$OSB_ADMIN,$srv) {# Get the OSB project information loop $req (${CUR.O_SETUP}->search('^WREQ_OFM_OSB_DOM')) {if sameDir($dir = $req->get_first('I_DOMAIN')->get_first('D_DOMAIN_HOME'),\ getDomain('.')) {debug ' - Inside OFMofm module, gathering OSB project data' var ($p_mnu,@prj) = ($req->get_first('T_PROJECT_SETUP')) break match($p_mnu,'^\-$') if match($p_mnu,'^\*$') call push(@prj,'All') else call push(@prj,$req->get_value('T_PROJECTS')) break !scalar(@prj) set $cod {from com.bea.wli.sb.management.configuration import SessionManagementMBean "from com.bea.wli.sb.management.configuration import ALSBConfigurationMBean "from com.bea.wli.config import Ref "from com.bea.wli.sb.util import Refs "from java.util import HashMap "from java.util import HashSet "from java.util import ArrayList "from java.io import FileInputStream "from java.io import FileOutputStream "from java.util import Collections "from com.bea.wli.config.resource import Diagnostic "from com.bea.wli.sb.util import EnvValueTypes "from com.bea.wli.config.env import QualifiedEnvValue "from com.bea.wli.config.env import EnvValueQuery "from com.bea.wli.config.customization import EnvValueCustomization "from com.bea.wli.config.customization import FindAndReplaceCustomization "from com.bea.wli.config.customization import Customization "from com.bea.wli.sb.management.importexport import ALSBImportOperation "import sys "try: " domainRuntime() " cfg=findService("ALSBConfiguration","com.bea.wli.sb.management.\ configuration.ALSBConfigurationMBean") " if prj[0] == 'All': " ref=Ref.DOMAIN " col=Collections.singleton(ref) " theBytes=cfg.export(col,true,None) " else: " cnt=0 " for nam in prj: " cur=Ref.makeProjectRef(nam) " if cur.getTypeId() == Ref.PROJECT_REF: " cnt += 1 " if cnt == 1: " col=Collections.singleton(cur) " tbl=ArrayList(col) " else: " tbl.add(cur) " theBytes=cfg.exportProjects(tbl,None) " aFile=File(rpt) " out=FileOutputStream(aFile) " out.write(theBytes) " out.close() "except: " pass " } # Get the project data output F,project prefix {write "---+ '",$srv,"' OSB Project Export (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser \ can present risks. To prevent them, access the file \ outside the browser or use the link to save them and use \ an adequate viewer.' write '|*Project File*|' } var $rpt = $[OUT]->add_report('d','sbconfig',0,'.jar') var $out = $rpt->get_file(true) if ?testFile('f',catFile($dir,'bin',${AS.CMD:'setDomainEnv'})) var $bkp = sourceContext($env = last) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{prj => [@prj],\ rpt => join('/',splitDir($out))}) if getSize($out) write '|[[',$rpt->get_raw(true),'][_blank][',$out,']] |' if ?$env call restoreContext($bkp) end $rpt if isCreated(true) toc '4:[[',getFile(),'][rda_report][Project Export]]' } } # Get the OSB JMS-related information if compare('eq',${GRP.OSB.W_DETAIL},'MAX') {debug ' - Inside OFMofm module, gathering OSB JMS-related data' set $cod {import re " "domainRuntime() "cd("ServerRuntimes") "print '---# RDA:BEGIN SECTION:4:JMSServer Information' "try: " for srv in ls('c',returnMap='true'): " cd(srv+"/JMSRuntime/"+srv+".jms/JMSServers") " print "---# RDA:BEGIN SECTION:5:'"+srv+"' Server" " for jms in ls('c',returnMap='true'): " cd(jms) " print '---# RDA:BEGIN' " ls() " print "---# RDA:END MACRO MBean:6|'"+jms+"' JMS Server|'"+srv+"' JMS \ Server Runtime Information ("+bas+')|'+pwd()+'|i_'+srv+\ '_svr_'+jms+'_jms_attr' " cd('Destinations') " print '---# RDA:BEGIN' " ls() " print "---# RDA:END MACRO MBean:7|JMS Destination|'"+srv+"' JMS \ Destination Runtime Information ("+bas+')|'+pwd()+'|i_'+srv+\ '_svr_'+jms+'_jms_dest' " for des in ls('c',returnMap='true'): " cd(des) " print '---# RDA:BEGIN' " ls() " print "---# RDA:END MACRO MBean:8|"+des+"|'"+srv+"' JMS Destination \ Runtime Information ("+bas+')|'+pwd()+'|i_'+srv+'_svr_'+jms+\ '_jms_'+des " cd('..') " cd('../..') " print '---# RDA:END SECTION' " cd('../../../..') "except WLSTException,e: " pass "print '---# RDA:END SECTION' "cd('..') " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call writeWas($cod,{bas => $dom,\ ins => $srv}) } } # Collect OSB diag dump var (undef,$tgt) = @{$OSB} if or(compare('EQ',$tgt,$srv),\ compare('EQ',$tgt,$OSB_CLUSTER{$srv})) {# Collect OSB dump metrics (MIN collection type only) if match(${GRP.OSB.W_DETAIL},'^MIN$') {debug ' - Inside OFMofm module, collecting OSB dump metrics' set $cod {import re "domainRuntime() "try: " cd("ServerRuntimes") " for trg in ls('c',returnMap='true'): " if re.match(trg,ins,re.I): " srv=trg " cd(srv) " break " print '---# RDA:BEGIN' " dumpMetrics(format="raw",servers=(srv)) " print "---# RDA:END REPORT:4|dumpMetrics|'"+ins+"' DMS Dump Metrics ("+\ bas+')|'+pwd()+'|i_'+ins+'_svr_dump_metrics' " cd('../..') "except WLSTException,e: " pass " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call writeWas($cod,{bas => $dom,\ ins => $srv}) } # Collect OSB diag dump debug ' - Inside OFMofm module, collecting OSB diag dump' set $cod {print '---# RDA:BEGIN' "try: " if v12 == 1: " executeDump(name='OSB.derived-caches') " else: " executeDump(name='OSB.derived-caches',appName='OSB') "except WLSTException,e: " pass "print "---# RDA:END REPORT:4|OSB Derived Resource Caches Diagnostic \ Dump|'"+ins+"' OSB Derived Resource Caches Diagnostic Dump ("+bas+\ ')|'+pwd()+'|i_'+ins+'_osb_drv_cache_diag_dump' "print '---# RDA:BEGIN' "try: " if v12 == 1: " executeDump(name='OSB.jms-async-table') " else: " executeDump(name='OSB.jms-async-table',appName='OSB') "except WLSTException,e: " pass "print "---# RDA:END REPORT:4|OSB JMS Correlation Table Diagnostic Dump|'"+\ ins+"' OSB JMS Correlation Table Diagnostic Dump ("+bas+')|'+pwd()+\ '|i_'+ins+'_osb_jms_asyn_tbl_diag_dump' "print '---# RDA:BEGIN' "try: " if v12 == 1: " executeDump(name='OSB.mq-async-table') " else: " executeDump(name='OSB.mq-async-table',appName='OSB') "except WLSTException,e: " pass "print "---# RDA:END REPORT:4|OSB MQ Correlation Table Diagnostic Dump|'"+\ ins+"' OSB MQ Correlation Table Diagnostic Dump ("+bas+')|'+pwd()+\ '|i_'+ins+'_osb_mq_asyn_tbl_diag_dump' " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call writeWas($cod,{'+v12',$WLS_V12,\ bas => $dom,\ ins => $srv}) } } unpretoc } # ----------------------------------------------------------------------------- # Section WLS_OSB_Config: Collect OSB config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_OSB_Config =head2 OSB Domain Configuration Files Collects the Oracle Service Bus-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg if compare('eq',${GRP.OSB.W_DETAIL},'MAX') {debug ' - Inside OFMofm module, gathering OSB configuration files' pretoc '2:OSB Domain Configuration Files' call sort_all_files(3,0,\ grepDir(catDir($dir,'lib'),'\.(bat|cmd|jar|sh|txt|xml)$|^README','ip'),\ grepDir(catDir($dir,'osb'),'^\.+$','rv'),\ grepDir(catDir($dir,'sbgen'),'^\.+$','rv'),\ grepDir(catDir($dir,'security'),'\.ldift$','ip')) unpretoc } # ----------------------------------------------------------------------------- # Section WLS_OSB_SrvCfg_Config: Collect OSB config files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_OSB_SrvCfg_Config =head2 OSB Domain Server Configuration Files Collects the Oracle Service Bus-related configuration files for Oracle WebLogic Server. =cut var ($dir) = @arg if compare('eq',${GRP.OSB.W_DETAIL},'MAX') {debug ' - Inside OFMofm module, gathering OSB configuration files' pretoc '2:OSB Domain Server Configuration Files' call sort_files(3,0,\ grepDir(catDir($dir,'data','ldap'),'\.ldift$','ip'),\ grepDir(catDir($dir,'data','ldap','conf'),'^\.+$','pv')) unpretoc } # ----------------------------------------------------------------------------- # Section WLS_OWSM_Config: Collect OWSM config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_OWSM_Config =head2 OWSM Domain Configuration Files Collects the Oracle Web Services Manager-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering OWSM configuration files' pretoc '2:OWSM Domain Configuration Files' call sort_files(3,0,\ catFile($dir,'config','config.xml'),\ catFile($dir,'config','fmwconfig','jps-config.xml'),\ catFile($dir,'config','fmwconfig','policy-accessor-config.xml'),\ catFile($dir,'config','fmwconfig','system-jazn-data.xml'),\ catFile($dir,'config','fmwconfig','wsm-config.xml'),\ catFile($dir,'config','jdbc','mds-owsm-jdbc.xml')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OWSM_SrvCfg_Config: Collect OWSM config files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_OWSM_SrvCfg_Config =head2 OWSM Domain Server Configuration Files Collects the Oracle Web Services Manager-related configuration files for Oracle WebLogic Server. =cut var ($dir,$top,$srv) = @arg debug ' - Inside OFMofm module, gathering OWSM configuration files' var $cfg = catDir($top,'config','fmwconfig','servers',$srv) pretoc '2:OWSM Domain Server Configuration Files' call sort_files(3,0,catFile($cfg,'logging.xml')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_SOA_Collect: Collect SOA metadata for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_SOA_Collect =head2 Oracle SOA Suite =head3 metadata - SOA Configuration Information Gathers application metadata for the SOA-related server by exporting metadata. RDA uses C in connected mode. =head3 metadata_comp - SOA Deployed Composites Information Gathers application deployed composites metadata for the SOA-related server by exporting metadata. RDA uses C in connected mode. =head3 soa_comp_diag_dump - SOA Composite Diagnostic Dump Gathers SOA composite diagnostic dump. RDA uses C in connected mode. =head3 soa_wsdl_diag_dump - SOA WSDL Diagnostic Dump Gathers SOA WSDL diagnostic dump. RDA uses C in connected mode. =head3 soa_jvm_thread_dump - SOA JVM Thread Dump Gathers SOA JVM Thread dump. RDA uses C in connected mode. =head3 svr_dump_metrics - dumpMetrics Gathers SOA dump metrics information (minimal collection). RDA uses C in connected mode. =cut var ($dom,$srv,$hst,$prt,$usr,$pwd) = @arg if ?$SOA {var ($key,$tgt) = @{$SOA} if or(compare('EQ',$tgt,$srv),\ compare('EQ',$tgt,$CLUSTER{$srv})) {pretoc '3:Oracle SOA Suite' if match(${GRP.SOA.W_DETAIL},'^(MAX|MIN)$') {debug ' - Inside OFMofm module, collecting SOA server metadata' set $cod {exportMetadata(application=app,server=ins,toLocation=out,\ docs='/soa/configuration/default/**') " } var ($app,undef) = split('\#',$key) var $rpt = $[OUT]->add_report('d',concat('metadata_i_',$srv),0,'.zip') var ($out,$lnk) = ($rpt->get_file(true),$rpt->get_raw(true)) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{app => $app,\ ins => $srv,\ out => join('/',splitDir($out))}) end $rpt report concat('i_',$srv,'_metadata') if $siz = getSize($out) {write "---+ '",$srv,"' SOA Configuration Information (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Metadata Name*| *Size*|*Last Modified Date*|' write '|[[',$lnk,'][_blank][',$app,'.zip]]| ',$siz,'|',\ getLastModify($out,''),' |' toc '4:[[',getFile(),'][rda_report][SOA Configuration Information]]' } # Gather SOA deployed composites information debug ' - Inside OFMofm module, collecting SOA server deployed composites' set $cod {exportMetadata(application=app,server=ins,toLocation=out,\ docs='/deployed-composites/deployed-composites.xml') " } var ($app,undef) = split('\#',$key) var $rpt = $[OUT]->add_report('d',concat('metadata_comp_i_',$srv),0,'.zip') var ($out,$lnk) = ($rpt->get_file(true),$rpt->get_raw(true)) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{app => $app,\ ins => $srv,\ out => join('/',splitDir($out))}) end $rpt report concat('i_',$srv,'_metadata_comp') if $siz = getSize($out) {write "---+ '",$srv,"' SOA Deployed Composites Information (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Metadata Name*| *Size*|*Last Modified Date*|' write '|[[',$lnk,'][_blank][',$app,'.zip]]| ',$siz,'|',\ getLastModify($out,''),' |' toc '4:[[',getFile(),'][rda_report][SOA Deployed Composites Information]]' } } # Collect soa dump metrics (MIN collection type only) if match(${GRP.SOA.W_DETAIL},'^MIN$') {debug ' - Inside OFMofm module, collecting SOA dump metrics' set $cod {import re "domainRuntime() "try: " cd("ServerRuntimes") " for trg in ls('c',returnMap='true'): " if re.match(trg,ins,re.I): " srv=trg " cd(srv) " break " print '---# RDA:BEGIN' " dumpMetrics(format="raw",servers=(srv)) " print "---# RDA:END REPORT:4|dumpMetrics|'"+ins+"' DMS Dump Metrics ("+\ bas+')|'+pwd()+'|i_'+ins+'_svr_dump_metrics' " cd('../..') "except WLSTException,e: " pass " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call writeWas($cod,{bas => $dom,\ ins => $srv}) } # Collect soa diagnostic dump to get composite information if ${GRP.SOA.B_COMP_DIAG_DUMP} {debug ' - Inside OFMofm module, collecting SOA composite diag dump' set $cod {executeDump(name='soa.composite',appName=app,\ args={'compositeName':'*','output':out}) " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{\ app => $app,\ out => join('/',splitDir(getGroupDir('D_CWD',getDir('C', true))))}) if grepDir(${OUT.C},'^soa_composite\d+\.zip$','it') {var ($nam) = (last) data $nam var ($lnk,$dst) = (getRawLink(true),getFile('')) if transfer(${OUT.C},$nam,${OUT.C},$dst) {report concat('i_',$srv,'_soa_comp_diag_dump') write "---+ '",$srv,"' SOA Composite Diagnostic Dump (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Diagnostic Dump Name*|' write '|[[',$lnk,'][_blank][',$nam,']]|' toc '4:[[',getFile(),'][rda_report][SOA Composite Diagnostic Dump]]' } } } # Collect soa diagnostic dump to get WSDL information if ${GRP.SOA.B_WSDL_DIAG_DUMP} {debug ' - Inside OFMofm module, collecting SOA WSDL diag dump' set $cod {print '---# RDA:BEGIN' "executeDump(name='soa.wsdl',appName=app,args={'compositeName':'*'}) "print "---# RDA:END REPORT:4|SOA WSDL Diagnostic Dump|'"+ins+"' SOA WSDL \ Diagnostic Dump ("+bas+')|'+pwd()+'|i_'+ins+'_soa_wsdl_diag_dump' " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call writeWas($cod,{app => $app,\ bas => $dom,\ ins => $srv}) } # Collect soa jvm thread dump information debug ' - Inside OFMofm module, collecting SOA JVM thread dump' set $cod {import datetime "print "---# RDA:BEGIN LIST" "for cnt in range(THREAD_DUMP): " java.lang.Thread.sleep(THREAD_DUMP_INT) " tim=datetime.datetime.utcnow().strftime("%Y%m%d_%H%M%S") " print '---# RDA:BEGIN' " try: " executeDump(name='jvm.threads',args={'context':'true'}) " except: " pass " print "---# RDA:END DATA:dump"+ins+'_'+tim+".dmp|i_"+ins+"_soajvm_dump_"+tim "print "---# RDA:END LIST write_list:4|SOA JVM Thread Dump|'"+ins+\ "' Latest "+str(THREAD_DUMP)+' SOA JVM Thread Dumps ('+bas+\ ')|Using: executeDump|i_'+ins+'_soa_jvm_thread_dump' " } call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call writeWas($cod,{'+THREAD_DUMP',${N_THREAD_DUMP:10},\ '+THREAD_DUMP_INT',${N_THREAD_DUMP_INTERVAL:5000},\ bas => $dom,\ ins => $srv}) # Collect common information only once for a domain if and(not($SOA_COMMON),match(${GRP.SOA.W_DETAIL},'^(MAX|MIN)$')) {debug ' - Inside OFMofm module, gathering SOA MBean-related information' set $cod {custom() "try: " cd('/oracle.as.soainfra.bpel') " cd('oracle.as.soainfra.bpel:type=BPELEngine,name=BPELEngine') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|BPEL Engine Runtime|BPEL Engine Runtime \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_bpel_eng_runtime' " cd('/oracle.as.soainfra.bpm') " cd('oracle.as.soainfra.bpm:name=CubeDispatcher,type=bpel') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|BPEL Cube Dispatcher Runtime|BPEL Cube \ Dispatcher Runtime Information ('+bas+')|'+pwd()+'|i_'+ins+\ '_bpel_cubedisp_runtime' " cd('..') " cd('oracle.as.soainfra.bpm:name=CubeDispatcher,type=bpmn') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|BPMN Cube Dispatcher Runtime|BPMN Cube \ Dispatcher Runtime Information ('+bas+')|'+pwd()+'|i_'+ins+\ '_bpmn_cubedisp_runtime' " cd('/oracle.as.soainfra.config') " cd('oracle.as.soainfra.config:name=bpel,type=BPELConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|BPEL Configuration|BPEL Configuration \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_bpel_config' " cd('..') " cd('oracle.as.soainfra.config:name=adapter,type=AdapterConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|Adapter Configuration|Adapter \ Configuration Information ('+bas+')|'+pwd()+'|i_'+ins+'_adp_config' " cd('..') " cd('oracle.as.soainfra.config:name=b2b,type=B2BConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|B2B Configuration|B2B Configuration \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_b2b_config' " cd('..') " cd('oracle.as.soainfra.config:name=bpmn,type=BPMNConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|BPMN Configuration|BPMN Configuration \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_bpmn_config' " cd('..') " cd('oracle.as.soainfra.config:name=business-rules,\ type=BusinessRulesConfig,Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|Business Rules Configuration|Business \ Rules Configuration Information ('+bas+')|'+pwd()+'|i_'+ins+\ '_br_config' " cd('..') " cd('oracle.as.soainfra.config:name=cep,type=CEPConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|CEP Configuration|CEP Configuration \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_cep_config' " cd('..') " cd('oracle.as.soainfra.config:name=edn,type=EDNConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|EDN Configuration|EDN Configuration \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_edn_config' " cd('..') " cd('oracle.as.soainfra.config:name=human-workflow,type=HWFMailerConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|HWF Configuration|HWF Configuration \ Information ('+bas+')|'+pwd()+'|i_'+ins+'_hwf_config' " cd('..') " cd('oracle.as.soainfra.config:name=mediator,type=MediatorConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|Mediator Configuration|Mediator \ Configuration Information ('+bas+')|'+pwd()+'|i_'+ins+'_med_config' " cd('..') " cd('oracle.as.soainfra.config:name=soa-infra,type=SoaInfraConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|SOA Infra Configuration|SOA Infra \ Configuration Information ('+bas+')|'+pwd()+'|i_'+ins+'_soa_config' " cd('..') " cd('oracle.as.soainfra.config:name=human-workflow,type=WorkflowConfig,\ Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|Workflow Configuration|Workflow \ Configuration Information ('+bas+')|'+pwd()+'|i_'+ins+'_wf_config' " cd('..') " cd('oracle.as.soainfra.config:name=human-workflow,\ type=WorkflowIdentityConfig,Application=soa-infra') " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:4|Workflow Identity Configuration|\ Workflow Identity Configuration Information ('+bas+')|'+pwd()+\ '|i_'+ins+'_wfi_config' "except: " pass } # Set the SOA environment var $dir = catDir(nvl(getHome('.'),''),'common','wlst') var $bkp = setContext({\ CLASSPATH => join(${RDA.T_SEPARATOR},@{SYS.CLASSPATH},\ grepDir(catDir($dir,'lib'),'\.jar$','ip'),\ grepDir(catDir($dir,'resources'),'\.jar$','ip')),\ WLST_HOME => $dir}) # Execute the request call setWasLogin($usr,$pwd,concat($hst,':',$prt)) if !writeWas($cod,{bas => $dom,\ ins => $srv}) {var $SOA_COMMON = true keep $SOA_COMMON } # Restore the previous environment call restoreContext($bkp) } unpretoc } } # ----------------------------------------------------------------------------- # Section WLS_WC_Collect: Collect WC information in Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_WC_Collect =head2 Oracle WebCenter Suite Collects the Oracle WebCenter Suite-related configuration management objects information. =cut var ($dom,$srv,$hst,$prt,$usr,$pwd) = @arg pretoc '3:Oracle WebCenter Suite' if ?$WC {if compare('EQ',$WC,$srv) {debug ' - Inside OFMofm module, gathering WC MBean-related information' set $cod {import re "for app in sel: " print "---# RDA:BEGIN SECTION:4:'" + app + "' Application" " print '---# RDA:BEGIN' " try: " listCommunityEventConnections(app,false) " except: " pass " print "---# RDA:END REPORT:5|Community Event Connections|'"+ins+"' \ Community Event Connections Information ("+bas+')|'+pwd()+'|i_'+ins+\ '_wc_com_evt_'+app " print '---# RDA:BEGIN' " try: " listWebConfConnections(app,false) " except: " pass " print "---# RDA:END REPORT:5|Web Conference Connections|'"+ins+"' Web \ Conference Connections Information ("+bas+')|'+pwd()+'|i_'+ins+\ '_wc_con_'+app " print '---# RDA:BEGIN' " try: " listTaskConnection(app,false) " except: " pass " print "---# RDA:END REPORT:5|Task Connection|'"+ins+"' Task Connection \ Information ("+bas+')|'+pwd()+'|i_'+ins+'_wc_task_'+app " print '---# RDA:BEGIN' " try: " listAnalyticsCollectorConnections(appName=app) " except: " pass " print "---# RDA:END REPORT:5|Analytics Collector Connection|'"+ins+"' \ Analytics Collector Connection Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_analytics_coll_'+app " print '---# RDA:BEGIN' " try: " listDefaultAnalyticsCollectorConnection(appName=app) " except: " pass " print "---# RDA:END REPORT:5|Default Analytics Collector Connection|'"+\ ins+"' Default Analytics Collector Connection Information ("+bas+\ ')|'+pwd()+'|i_'+ins+'_wc_dft_analytics_coll_'+app " print '---# RDA:BEGIN' " try: " listAnalyticsCollectorConfig(appName='analytics-collector') " except: " pass " print "---# RDA:END REPORT:5|Analytics Collector Configuration|'"+\ ins+"' Analytics Collector Configuration Information ("+bas+\ ')|'+pwd()+'|i_'+ins+'_wc_analytics_coll_cfg_'+app " print '---# RDA:BEGIN' " try: " listAnalyticsEventTypes(appName=app) " except: " pass " print "---# RDA:END REPORT:5|Analytics Event Types|'"+\ ins+"' Analytics Event Types Information ("+bas+\ ')|'+pwd()+'|i_'+ins+'_wc_analytics_evt_typ_'+app " if ses == 1: " print '---# RDA:BEGIN' " try: " listSpacesCrawler(appName=app,sesUrl=sesurl,sesPassword=sespwd,\ host=hst,port=prt) " except: " pass " print "---# RDA:END REPORT:5|Spaces Crawler|'"+ins+"' Spaces Crawler \ Information ("+bas+')|'+pwd()+'|i_'+ins+'_wc_spaces_crawler_'+app " print '---# RDA:BEGIN' " try: " listDocumentsCrawler(appName=app,sesUrl=sesurl,sesPassword=sespwd,\ host=hst,port=prt) " except: " pass " print "---# RDA:END REPORT:5|Documents Crawler|'"+ins+"' Documents \ Crawler Information ("+bas+')|'+pwd()+'|i_'+ins+\ '_wc_docs_crawler_'+app " print '---# RDA:BEGIN' " try: " listDiscussionsCrawler(appName=app,sesUrl=sesurl,\ sesPassword=sespwd,host=hst,port=prt) " except: " pass " print "---# RDA:END REPORT:5|Discussions Crawler|'"+ins+"' Discussions \ Crawler Information ("+bas+')|'+pwd()+'|i_'+ins+\ '_wc_disc_crawler_'+app " print '---# RDA:BEGIN SECTION:5:Analytics Information' " print '---# RDA:BEGIN' " try: " listDefaultAnalyticsCollectorConnection(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Default Analytics Collector \ Connection|'"+ins+"' Default Analytics Collector Connection \ Information ("+bas+')|'+ pwd()+'|i_'+ins+\ '_wc_dft_any_coll_conn_'+app " print '---# RDA:BEGIN' " try: " listAnalyticsCollectorConnections(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Analytics Collector Connections|'"+ins+"' \ Analytics Collector Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_any_coll_conn_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Content Information' " print '---# RDA:BEGIN' " try: " listJCRContentServerConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|JCR Content Server Connections|'"+ins+"' \ JCR Content Server Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_jcr_cs_conn_'+app " print '---# RDA:BEGIN' " try: " listDocumentsSpacesProperties(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Documents Spaces Properties|'"+ins+"' \ Documents Spaces Properties Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_doc_space_prp_'+app " print '---# RDA:BEGIN' " try: " listJCRPortalConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|JCR Portal Connections|'"+ins+"' \ JCR Portal Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_jcr_portal_conn_'+app " print '---# RDA:BEGIN' " try: " listJCRFileSystemConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|JCR File System Connections|'"+ins+"' \ JCR File System Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_jcr_fs_conn_'+app " print '---# RDA:BEGIN' " try: " listJCRSharePointConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|JCR Share Point Connections|'"+ins+"' \ JCR Share Point Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_jcr_shr_conn_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Discussions and Announcements Information' " print '---# RDA:BEGIN' " try: " listDefaultDiscussionForumConnection(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Default Discussion Forum Connection|'"+ins+"' \ Default Discussion Forum Connection Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_dft_diss_conn_'+app " print '---# RDA:BEGIN' " try: " listDiscussionForumConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Discussion Forum Connections|'"+ins+"' \ Discussion Forum Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_diss_conn_'+app " print '---# RDA:BEGIN' " try: " listDiscussionForumServiceProperties(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Discussion Forum Service Properties|'"+ins+"' \ Discussion Forum Service Properties Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_diss_svc_prp_'+app " print '---# RDA:BEGIN' " try: " listAnnouncementServiceProperties(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Announcement Service Properties|'"+ins+"' \ Announcement Service Properties Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_ann_svc_prp_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:External Applications Information' " print '---# RDA:BEGIN' " try: " listExtAppConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|External Applications Connections|'"+ins+"' \ External Applications Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_ext_app_conn_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Mail Information' " print '---# RDA:BEGIN' " try: " listIMPAdapters() " except: " pass " print "---# RDA:END REPORT:6|IMP Adapters|'"+ins+"' \ IMP Adapters Information ("+bas+')|'+pwd()+'|i_'+ins+\ '_wc_imp_adap_'+app " print '---# RDA:BEGIN' " try: " listDefaultIMPConnection(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Default IMP Connection|'"+ins+"' \ Default IMP Connection Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_dft_imp_conn_'+app " print '---# RDA:BEGIN' " try: " listIMPConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|IMP Connections|'"+ins+"' \ IMP Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_imp_conn_'+app " print '---# RDA:BEGIN' " try: " listIMPServiceProperties(appName=app) " except: " pass " print "---# RDA:END REPORT:6|IMP Service Properties|'"+ins+"' \ IMP Service Properties Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_imp_svc_prop_'+app " print '---# RDA:BEGIN' " try: " listDefaultMailConnection(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Default Mail Connection|'"+ins+"' \ Default Mail Connection Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_dft_mail_conn_'+app " print '---# RDA:BEGIN' " try: " listMailConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Mail Connections|'"+ins+"' \ Mail Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_mail_conn_'+app " print '---# RDA:BEGIN' " try: " listMailServiceProperties(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Mail Service Properties|'"+ins+"' \ Mail Service Properties Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_mail_svc_prop_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Notifications Information' " print '---# RDA:BEGIN' " try: " getNotificationsConfig(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Notifications Configuration|'"+ins+"' \ Notifications Configuration Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_notify_cfg_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Personal Events Information' " print '---# RDA:BEGIN' " try: " listPersonalEventConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Personal Event Connections|'"+ins+"' \ Personal Event Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_pers_evt_conn_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Personalization Information' " print '---# RDA:BEGIN' " try: " listWCPSCMISConnections(verbose=true) " except: " pass " print "---# RDA:END REPORT:6|WCPS CMIS Connections|'"+ins+"' \ WCPS CMIS Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_wcps_cmis_conn_'+app " print '---# RDA:BEGIN' " try: " listWCPSPeopleConnections(verbose=true) " except: " pass " print "---# RDA:END REPORT:6|WCPS People Connections|'"+ins+"' \ WCPS People Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_wcps_ppl_conn_'+app " print '---# RDA:BEGIN' " try: " listWCPSActivityGraphConnections(verbose=true) " except: " pass " print "---# RDA:END REPORT:6|WCPS Activity Graph Connections|'"+ins+"' \ WCPS Activity Graph Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_wcps_act_conn_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Portlet Producers Information' " print '---# RDA:BEGIN' " try: " listWSRPProducers(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|WSRP Producers|'"+ins+"' \ WSRP Producers Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_wsrp_prod_'+app " print '---# RDA:BEGIN' " try: " listPDKJavaProducers(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|PDK Java Producers|'"+ins+"' \ PDK Java Producers Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_pdkjava_prod_'+app " print '---# RDA:BEGIN' " try: " listPageletProducers(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Pagelet Producers|'"+ins+"' \ Pagelet Producers Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_pagelet_prod_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:RSS Information' " print '---# RDA:BEGIN' " try: " getRssProxyConfig(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Proxy Configuration|'"+ins+"' \ Proxy Configuration Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_proxy_cfg_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Secure Enterprise Search Information' " print '---# RDA:BEGIN' " try: " listSESConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|SES Connections|'"+ins+"' \ SES Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_ses_conn_'+app " print '---# RDA:BEGIN' " try: " listSearchSESConfig(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Search SES Configuration|'"+ins+"' \ Search SES Configuration Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_search_ses_cfg_'+app " print '---# RDA:BEGIN' " try: " listSearchConfig(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Search Configuration|'"+ins+"' \ Search Configuration Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_search_cfg_'+app " print '---# RDA:BEGIN' " try: " getSpacesCrawlProperties(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Crawl Properties|'"+ins+"' \ Crawl Properties Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_crawl_prp_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Worklists Information' " print '---# RDA:BEGIN' " try: " listBPELConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|BPEL Connections|'"+ins+"' \ BPEL Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_bpel_conn_'+app " print '---# RDA:BEGIN' " try: " listWorklistConnections(appName=app,verbose=true) " except: " pass " print "---# RDA:END REPORT:6|Worklist Connections|'"+ins+"' \ Worklist Connections Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_wrklst_conn_'+app " print '---# RDA:BEGIN' " try: " getSpacesWorkflowConnectionName(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Spaces Workflow Connection|'"+ins+"' \ Spaces Workflow Connection Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_wrkflw_conn_'+app " print '---# RDA:END SECTION' " print '---# RDA:BEGIN SECTION:5:Security Information' " print '---# RDA:BEGIN' " try: " listWebCenterIdStoreSearchConfig(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Id Store Search Configuration|'"+ins+"' \ Id Store Search Configuration Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_store_sch_cfg_'+app " print '---# RDA:BEGIN' " try: " printProfileConfig(appName=app) " except: " pass " print "---# RDA:END REPORT:6|Profile Configuration|'"+ins+"' \ Profile Configuration Information ("+bas+')|'+pwd()+\ '|i_'+ins+'_wc_prof_cfg_'+app " print '---# RDA:END SECTION' " print '---# RDA:END SECTION' "print '---# RDA:BEGIN SECTION:4:Java Object Cache Information' "try: " domainCustom() " cd('oracle.joc') " for joc in ls('c',returnMap='true'): " mat=re.search(r',ServerName=(.*)$', joc, re.M) " if mat: " trg=mat.group(1) " cd(joc) " print '---# RDA:BEGIN' " ls() " print '---# RDA:END MACRO MBean:5|'+trg+"|'"+trg+"' Java Object Cache \ Configuration Information ("+bas+')|'+pwd()+'|i_'+trg+'_wc_joc' " cd('..') " cd('..') "except: " pass "print '---# RDA:END SECTION' } # Set the WebCenter environment if compare('VALID',getProductVersion($hom = getHome('.')),'11.1.1.8.0') {call setWasType('WLS',catCommand($hom,'common','bin',${AS.CMD:'wlst'})) var $new = true } else {var $dir = catDir($hom,'common','wlst') var $bkp = setContext({\ CLASSPATH => join(${RDA.T_SEPARATOR},@{SYS.CLASSPATH},\ grepDir(catDir($dir,'lib'),'\.jar$','ip'),\ grepDir(catDir($dir,'resources'),'\.jar$','ip')),\ WLST_HOME => $dir}) } # Execute the request call setWasLogin($usr,$pwd,concat($hst,':',$prt)) if and($WC_SES_HOST,$WC_SES_PORT,$WC_SES_PWD) call writeWas($cod,{\ '+ses',1,\ '+prt',$prt,\ sel => [@{$WC_APP}],\ bas => $dom,\ ins => $srv,\ hst => $hst,\ sesurl => concat('http://',$WC_SES_HOST,':',$WC_SES_PORT,\ '/search/api/admin/AdminService'),\ sespwd => $WC_SES_PWD}) else call writeWas($cod,{'+ses',0,\ sel => [@{$WC_APP}],\ bas => $dom,\ ins => $srv}) =head3 Metadata Information Gathers application metadata for the WC-related server by exporting metadata. RDA uses C in connected mode. =cut if ?$WC_MDS {var ($key,$tgt) = @{$WC_MDS} if member($tgt,@{$WC_SRV}) {debug ' - Inside OFMofm module, collecting WC server metadata' set $cod {exportMetadata(application=app,server=ins,toLocation=out,docs='/**') " } var $app = field('\#',0,$key) data concat('metadata_i_',$tgt,'.zip') var ($out,$lnk) = (getFile('/'),getRawLink(true)) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{app => $app,\ ins => $tgt,\ out => join('/',splitDir($out))}) report concat('i_',$tgt,'_metadata') if $siz = getSize($out) {write "---+ '",$tgt,"' Metadata (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Metadata Name*| *Size*|*Last Modified Date*|' write '|[[',$lnk,'][_blank][',$app,'.zip]]| ',$siz,'|',\ getLastModify($out,''),' |' toc '4:[[',getFile(),'][rda_report][Metadata Information]]' } =head3 Portlet Metadata Information Gathers portlet producers metadata for the WC-related server by exporting metadata. RDA uses C in connected mode. =cut debug ' - Inside OFMofm module, collecting WC server portlet metadata' set $cod {exportPortletClientMetadata(appName=app,fileName=out,server=ins) " } data concat('portlet_metadata_i_',$tgt,'.zip') var ($out,$lnk) = (getFile('/'),getRawLink(true)) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{app => $app,\ ins => $tgt,\ out => join('/',splitDir($out))}) report concat('i_',$tgt,'_portlet_metadata') if $siz = getSize($out) {write "---+ '",$tgt,"' Portlet Metadata (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Metadata Name*| *Size*|*Last Modified Date*|' write '|[[',$lnk,'][_blank][',$app,'.zip]]| ',$siz,'|',\ getLastModify($out,''),' |' toc '4:[[',getFile(),'][rda_report][Portlet Metadata Information]]' } } } =for stopwords Pagelet pagelet =head3 Pagelet Producer Metadata Information Gathers pagelet producer application metadata for the WC-related server by exporting metadata. RDA uses C in connected mode. =cut if ?$WC_MDS_PAGELET {var ($key,$tgt) = @{$WC_MDS_PAGELET} if member($tgt,@{$WC_SRV}) {debug ' - Inside OFMofm module, collecting WC pagelet server metadata' set $cod {exportMetadata(application=app,server=ins,toLocation=out,docs='/**') " } var $app = field('\#',0,$key) data concat('pagelet_metadata_i_',$tgt,'.zip') var ($out,$lnk) = (getFile('/'),getRawLink(true)) call setWasLogin($usr,$pwd,concat($hst,':',$prt)) call requestWas($cod,{app => $app,\ ins => $tgt,\ out => join('/',splitDir($out))}) report concat('i_',$tgt,'_pagelet_metadata') if $siz = getSize($out) {write "---+ '",$tgt,"' Pagelet Producer Metadata (",$dom,')' write ' * Links point to files that have been collected in their \ original format. Opening them directly in your browser can \ present security risks. To prevent them, access the file \ outside the browser or use the link to save them and use an \ adequate viewer.' write '|*Metadata Name*| *Size*|*Last Modified Date*|' write '|[[',$lnk,'][_blank][',$app,'.zip]]| ',$siz,'|',\ getLastModify($out,''),' |' toc '4:[[',getFile(),\ '][rda_report][Pagelet Producer Metadata Information]]' } } } # Restore the previous environment if $new {if ${CUR.O_TARGET}->get_wlst(true) call setWasType('WLS',catCommand(last,'common','bin',${AS.CMD:'wlst'})) else call setWasType('WLS') } else call restoreContext($bkp) } } unpretoc # ----------------------------------------------------------------------------- # Section WLS_OAM_Init: Get the OAM Admin Server # ----------------------------------------------------------------------------- section WLS_OAM_Init var ($top,$dom) = @arg delete $OAM if ?testFile('fr',catFile($top,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) if compare('EQ',$dom,xmlData(xmlFind($obj,'domain/name'))) {var $OAM = xmlData(xmlFind($obj,'domain/admin-server-name')) keep $OAM } } # ----------------------------------------------------------------------------- # Section WLS_OIM_Init: Get the OIM servers containing Metadata # ----------------------------------------------------------------------------- section WLS_OIM_Init var ($top,$dom) = @arg delete $OIM,%OIM_CLUSTER if ?testFile('fr',catFile($top,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) if compare('EQ',$dom,xmlData(xmlFind($obj,'domain/name'))) {loop $xml (xmlFind($obj,'domain/app-deployment')) {if match($app = xmlData(xmlFind($xml,'name')),'^(OIMMetadata|oim)') var $OIM->{replace($app,'\#.*$')} = [$app,xmlData(xmlFind($xml,'target'))] } keep $OIM # Identify if the target server is linked to a cluster if xmlFind($obj,'domain/server') {loop $xml (last) {if xmlFind($xml,'cluster') var $OIM_CLUSTER{xmlData(xmlFind($xml,'name'))} = xmlData(last) else var $OIM_CLUSTER{xmlData(xmlFind($xml,'name'))} = undef } keep %OIM_CLUSTER } } } # ----------------------------------------------------------------------------- # Section WLS_OSB_Init: Get the OSB servers # ----------------------------------------------------------------------------- section WLS_OSB_Init var ($top,$dom) = @arg delete $OSB,$OSB_ADMIN,%OSB_CLUSTER if ?testFile('fr',catFile($top,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) if compare('EQ',$dom,$obj->find('domain/name')->get_data) {# Identify the OSB adminserver var $OSB_ADMIN = $obj->find('domain/admin-server-name')->get_data keep $OSB_ADMIN # Identify the OSB-related target servers if $obj->find('domain/app-deployment|\ name *="^(ALSB|Service\sBus)\sSubscription\sListener"') {var ($xml) = last var $OSB = [$xml->find('name')->get_data,$xml->find('target')->get_data] keep $OSB } # Identify if the target server is linked to a cluster if $obj->find('domain/server') {loop $xml (last) var $OSB_CLUSTER{$xml->find('name')->get_data} = \ $xml->find('cluster')->get_data keep %OSB_CLUSTER } } } # ----------------------------------------------------------------------------- # Section WLS_SOA_Init: Get the SOA servers containing Metadata # ----------------------------------------------------------------------------- section WLS_SOA_Init var ($top,$dom) = @arg delete $SOA,$SOA_COMMON,%CLUSTER if ?testFile('fr',catFile($top,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) if compare('EQ',$dom,xmlData(xmlFind($obj,'domain/name'))) {# Identify SOA-related target servers loop $xml (xmlFind($obj,'domain/app-deployment')) {if match($app = xmlData(xmlFind($xml,'name')),'^soa-infra') {var $SOA = [$app,xmlData(xmlFind($xml,'target'))] keep $SOA break } } # Identify if the target server is linked to a cluster if xmlFind($obj,'domain/server') {loop $xml (last) {if xmlFind($xml,'cluster') var $CLUSTER{xmlData(xmlFind($xml,'name'))} = xmlData(last) else var $CLUSTER{xmlData(xmlFind($xml,'name'))} = undef } keep %CLUSTER } } } # ----------------------------------------------------------------------------- # Section WLS_WC_Init: Get the WC Admin Server # ----------------------------------------------------------------------------- section WLS_WC_Init var ($top,$dom) = @arg delete $WC,$WC_APP,$WC_MDS,$WC_MDS_PAGELET,$WC_SES_HOST,$WC_SES_PORT,\ $WC_SES_PWD,$WC_SRV # Get the WebCenter application name var $WC_APP = [@{GRP.WC.WREQ_OFM_WC_DOM.T_APPLICATION}] keep $WC_APP # Get the WebCenter server list var $WC_SRV = [@{GRP.WC.WREQ_OFM_WC_DOM.T_SERVERS}] keep $WC_SRV # Get the WC Admin Server if ?testFile('fr',catFile($top,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) if compare('EQ',$dom,xmlData(xmlFind($obj,'domain/name'))) {var $WC = xmlData(xmlFind($obj,'domain/admin-server-name')) keep $WC loop $xml (xmlFind($obj,'domain/app-deployment')) {if match($app = xmlData(xmlFind($xml,'name')),'^pagelet-producer') {if !?$WC_MDS_PAGELET {var $WC_MDS_PAGELET = [$app,xmlData(xmlFind($xml,'target'))] keep $WC_MDS_PAGELET } } elsif !?$WC_MDS {loop $wc_app (@{$WC_APP}) {if match($app,concat('^',$wc_app,'\#')) {var $WC_MDS = [$app,xmlData(xmlFind($xml,'target'))] keep $WC_MDS break } } } } } } # Get the admin password for SES once ${GRP.WC.B_SES_COLLECT} {var $WC_SES_HOST = ${GRP.WC.T_SES_HOST} var $WC_SES_PORT = ${GRP.WC.N_SES_PORT} if !length($WC_SES_HOST) {echo 'Missing host name for Oracle Secure Enterprise Search instance' break } if !match($WC_SES_HOST,'^[\w\-\.]+$') {echo 'Invalid Oracle Secure Enterprise Search host name' break } if !and(expr('>=',$WC_SES_PORT,1),\ expr('<=',$WC_SES_PORT,65535)) {echo 'Invalid Oracle Secure Enterprise Search port number' break } var $WC_SES_PWD = askPassword(\ 'Enter the Admin password for Oracle Secure Enterprise Search:') keep $WC_SES_HOST,$WC_SES_PORT,$WC_SES_PWD } # ----------------------------------------------------------------------------- # Section WLS_PDA_Config: Collect PDA config files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_PDA_Config =head2 Portal Configuration Files Collects the Oracle Portal-related configuration files for Oracle WebLogic Server. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering PDA configuration files' pretoc '2:Portal Configuration Files' call sort_files(3,0,grepDir(\ catDir($dir,'stage','portal','portal','configuration'),'\.conf$','ip')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WC_Config: Collect WC config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_WC_Config =head2 UCM Domain Configuration Files Collects the Content Server-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering WC domain configuration files' pretoc '2:UCM Domain Configuration Files' var $cs = catDir($dir,'ucm','cs') call sort_files(3,0,\ grepDir(catDir($cs,'config'),'^\.+$','npv'),\ catFile($cs,'data','components','folders','config.cfg'),\ catFile($cs,'data','components','folders','install.cfg'),\ catFile($cs,'data','components','DesktopIntegrationSuite','config.cfg'),\ catFile($cs,'data','components','DesktopIntegrationSuite','install.cfg'),\ catFile($cs,'data','components','EmailMetadata','config.cfg'),\ catFile($cs,'data','components','EmailMetadata','install.cfg'),\ catFile($cs,'data','components','OCM','config.cfg'),\ catFile($cs,'data','components','OCM','install.cfg'),\ catFile($cs,'data','components','SiteStudio','config.cfg'),\ catFile($cs,'data','components','SiteStudio','install.cfg')) unpretoc =head2 COHR Domain Configuration Files Collects the Coherence-related configuration files for Oracle WebLogic Domain. =cut pretoc '2:COHR Domain Configuration Files' var $pth = undef if ?testFile('fr',catFile($dir,'config','config.xml')) {var $obj = xmlLoadFile(lastFile(),xmlDisable(xmlParser(),'BCDEPR')) if xmlFind($obj,'domain/library|name *="^custom\.webcenter\.spaces\.fwk"') {if xmlFind(last,'source-path') var $pth = xmlData(last) } } if ?$pth call cat_report(catDir(last,'APP-INF','classes'),\ 'content-coherence-cache-config.xml') unpretoc # ----------------------------------------------------------------------------- # Section WLS_WLS_Config: Collect Sysman config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_WLS_Config =for stopwords Sysman sysman =head2 Sysman Domain Configuration Files Collects the Sysman-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering sysman domain configuration \ files (can take time)' pretoc '2:Sysman Domain Configuration Files' call sort_files(3,0,grepDir(catDir($dir,'sysman'),'\.(log|trc)$','drv')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WC_SrvCfg_Config: Collect WC config files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_WC_SrvCfg_Config =for stopwords ldap =head2 LDAP Configuration Files Collects the Oracle WebCenter Suite-related ldap configuration files for Oracle WebLogic Server. =cut var ($dir,$top,$srv) = @arg debug ' - Inside OFMofm module, gathering WC configuration files' pretoc '2:LDAP Configuration Files' call sort_files(3,0,\ grepDir(catDir($dir,'data','ldap','conf'),'^\.+$','pv'),\ grepDir(catDir($dir,'data','ldap','ldapfiles'),'^\.+$','pv')) unpretoc =head2 Jive Information Collects the Oracle WebCenter Suite-related Jive files for Oracle WebLogic Server. =cut pretoc '2:Jive Information' var $cfg = catDir($top,'config','fmwconfig','servers',$srv) call sort_files(3,0,\ grepDir(catDir($cfg,'owc_discussions'),'^\.+$','pv'),\ grepDir(catDir($cfg,'owc_discussions','logs'),'^\.+$','pv')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WS_Config: Collect WS config files for Oracle WebLogic Domain # ----------------------------------------------------------------------------- section WLS_WS_Config =head2 WS Domain Configuration Files Collects the Oracle Web Services-related configuration files for Oracle WebLogic Domain. =cut var ($dir) = @arg debug ' - Inside OFMofm module, gathering WS configuration files' pretoc '2:WS Domain Configuration Files' call sort_files(3,0,\ catFile($dir,'config','config.xml'),\ catFile($dir,'config','fmwconfig','logging','weblogic.xml'),\ catFile($dir,'config','fmwconfig','logging','webservices-logging.xml')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WS_SrvCfg_Config: Collect WS config files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_WS_SrvCfg_Config =head2 WS Domain Server Configuration Files Collects the Oracle Web Services-related configuration files for Oracle WebLogic Server. =cut var ($dir,$top,$srv) = @arg debug ' - Inside OFMofm module, gathering WS configuration files' var $cfg = catDir($top,'config','fmwconfig','servers',$srv) pretoc '2:WS Domain Server Configuration Files' call sort_files(3,0,\ catFile($cfg,'logging.xml'),\ grepDir($dir,'(^(weblogic-)?webservices\.xml|\.wsdl)$','dr')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_DEV_Log: Collect DEV log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_DEV_Log =head2 Forms/Reports Local Log Files Collects the Oracle Forms/Reports-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering DEV log files' pretoc '3:Forms/Reports Local Log Files' call sort_files(4,$lim,\ catFile($dir,'logs','formsapp-diagnostic.log'),\ grepDir(catDir($dir,'logs','formsapp'),'formsapp-diagnostic\.log$','ip'),\ grepDir(catDir($dir,'logs','reports'),'_diagnostic\.log$','ip')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_JMS_Log: Collect JMS log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_JMS_Log =head2 OWSM Local Log Files Collects the Oracle JMS Server-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering JMS log files' pretoc '3:JMS Local Log Files' call sort_files(4,$lim,grepDir(catDir($dir,'logs','jmsServers'),'^[^\.]','r',1)) unpretoc # ----------------------------------------------------------------------------- # Section WLS_LTFS_Log: Collect LTFS log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_LTFS_Log =head2 LTFS Local Log Files Collects the StorageTek Linear Tape File System-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering LTFS log files' pretoc '3:LTFS Local Log Files' call sort_files(4,$lim,catFile($dir,'logs','LTFS-LE.log')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OAM_Log: Collect OAM log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OAM_Log =head2 OAM Local Log Files Collects the Oracle Access Manager-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering OAM log files' pretoc '3:OAM Local Log Files' call sort_files(4,$lim,\ grepDir(catDir($dir,'logs','auditlogs'),'^audit\.log$','r',1)) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OHS_Log: Collect OHS log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OHS_Log =head2 OHS Local Log Files Collects the Oracle HTTP Server-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering OHS log files' pretoc '3:OHS Local Log Files' call sort_files(4,$lim,grepDir(catDir($dir,'logs'),\ '^(admin_log(\.\d+)?|httpd\.pid|lastinvocation\.log)$','p')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OID_Log: Collect OID log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OID_Log =head2 OID Local Log Files Collects the Oracle Internet Directory-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering OID log files' pretoc '3:OID Local Log Files' call sort_files(4,$lim,grepDir(catDir($dir,'sysman','log'),'^\.+$','pv')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OSB_Log: Collect OSB log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OSB_Log =head2 OSB Local Log Files Collects the Oracle Service Bus-related local log files for Oracle WebLogic Server. =head3 JRockit Flight Recorder Files Collects the Oracle Service Bus-related JRockit flight recorder files. =cut var ($dir,$lim) = @arg import $FCP,%FCP if compare('eq',${GRP.OSB.W_DETAIL},'MAX') {debug ' - Inside OFMofm module, gathering OSB log files' pretoc '3:OSB Local Log Files' loop $fil (@fil = grepDir(catDir($dir,'data','ldap','log'),'^\.+$','pv')) var $FCP{$fil} = $FCP call sort_files(4,$lim,@fil) # Collect JRockit flight recorder files var ($max,$img,@jfr) = (3,catDir($dir,'logs','diagnostic_images')) pretoc '4:JRockit Flight Recorder Files' loop $fil (grepDir($img,'\.jfr$','t')) {next match($fil,'^_') call push(@jfr,catFile($img,$fil)) break !decr($max) } call sort_all_files(5,0,@jfr) unpretoc 2 } # ----------------------------------------------------------------------------- # Section WLS_OWSM_Log: Collect OWSM log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OWSM_Log =head2 OWSM Local Log Files Collects the Oracle Web Services Manager-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering OWSM log files' pretoc '3:OWSM Local Log Files' call sort_files(4,$lim,grepDir(catDir($dir,'logs','owsm'),'^[^\.]','r',1)) unpretoc # ----------------------------------------------------------------------------- # Section WLS_SOA_DomLog_Log: Collect SOA domain log files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_SOA_DomLog_Log =head2 SOA Local Log Files Collects the Oracle SOA Suite-related domain local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg if match(${GRP.SOA.W_DETAIL},'^(MAX|MIN)$') {debug ' - Inside OFMofm module, gathering SOA domain log files' var ($cnt,$log,@tbl) = (2,catDir($dir,'sysman','log')) loop $nam (grepDir($log,'^emoms\.trc\.?\d*$','t')) {call push(@tbl,catFile($dir,'sysman','log',$nam)) next match($nam,'^emoms\.trc$') break !decr($cnt) } pretoc '2:SOA Local Log Files' call sort_files(3,0,@tbl) unpretoc } # ----------------------------------------------------------------------------- # Section WLS_SOA_Log: Collect SOA log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_SOA_Log =head2 SOA Local Log Files Collects the Oracle SOA Suite-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg import %LOG debug ' - Inside OFMofm module, gathering SOA log files' var @tbl = () if match(${GRP.SOA.W_DETAIL},'^(MAX|MIN)$') {var ($cnt,$log) = (5,catDir($dir,'sysman','log')) loop $nam (grepDir($log,'^emoms-?\d*\.trc$','t')) {call push(@tbl,$fil = catFile($dir,'sysman','log',$nam)) var $LOG{$fil} = 0 next match($nam,'^emoms\.trc$') break !decr($cnt) } } pretoc '3:SOA Local Log Files' call sort_files(4,$lim,grepDir(catDir($dir,'logs','soa'),'^[^\.]','p'),@tbl) unpretoc # ----------------------------------------------------------------------------- # Section WLS_STA_Log: Collect STA log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_STA_Log =head2 STA Local Log Files Collects the StorageTek Tape Analytics-related local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering STA log files' pretoc '3:STA Local Log Files' call sort_files(4,$lim,grepDir(catDir($dir,'logs'),\ '^((monitor_staserver|shutdown|weblogic(_sta)?)\.(log|\d+)$|\ weblogic_sta(adapter|engine|ui))','p')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WC_Log: Collect WC log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_WC_Log =head2 WC Configuration Files Comparison Compares the following Oracle WebCenter Suite-related configuration files with the reference files shipped along with RDA: =over 4 =item o F =item o F =item o F =item o F =back =cut var ($dir,$lim) = @arg import $FCP,$TOP,%FCP,%WCP debug ' - Inside OFMofm module, comparing important WC config files' var %fil = () loop $sub (findDir($wc = \ catDir($dir,'tmp','_WL_user','webcenter_11.1.1.4.0'),'^\.+$','tv')) {# Retrieve the files from the most recent directory loop $pth (catFile($wc,$sub,'adf','META-INF','adf-config.xml'),\ catFile($wc,$sub,'META-INF','weblogic-application.xml'),\ catFile($wc,$sub,'war','WEB-INF','web.xml'),\ catFile($wc,$sub,'war','WEB-INF','weblogic.xml')) {if ?$fil = testFile('f',$pth) {next $fil{$nam = basename($fil)} var $fil{$nam} = $fil } } } pretoc '3:WC Configuration Files Comparison' loop $nam (keys(%fil)) {output F,$nam prefix {write '---+ Display of ',encode($nam),' File Differences' write '---## Analyzed File: ',encode(addSymbol($fil)) write '|*File%BR%Line Range*|*File%BR%Data*|\ *Reference%BR%Line Range*|*Reference%BR%Data*|' } call writeDiff($fil = $fil{$nam},$WCP{$nam},'bej') if isCreated(true) {write $TOP toc '4:[[',getFile(),'][rda_report][',encode($nam),']]' } } unpretoc =head2 WC Local Log Files Collects the Oracle WebCenter Suite-related local log files for Oracle WebLogic Server. =cut debug ' - Inside OFMofm module, gathering WC log files' pretoc '3:WC Local Log Files' loop $fil (@fil = grepDir(catDir($dir,'data','ldap','log'),'^\.+$','pv')) var $FCP{$fil} = $FCP call sort_files(4,$lim,\ @fil,\ grepDir(catDir($dir,'sysman','log'),'^\.+$','pv'),\ catFile($dir,'logs','analytics-collector','collector.log'),\ catFile($dir,'logs','analytics-collector','collector.trc')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WC_DomLog_Log: Collect WC domain log files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_WC_DomLog_Log =head2 UCM Local Log Files Collects the Content Server-related domain local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering WC domain log files' pretoc '2:UCM Local Log Files' call sort_files(3,0,grepDir(catDir($dir,'ucm','cs','data','trace'),'\.log$',\ concat('ipm',${GRP.WC.R_LOG_AGE/T:5}))) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WLI_DomLog_Log: Collect WLI domain log files for Oracle WebLogic # Server # ----------------------------------------------------------------------------- section WLS_WLI_DomLog_Log =head2 WLI Local Log Files Collects the Oracle WebLogic Integration-related domain local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering WLI domain log files' pretoc '2:WLI Local Log Files' call sort_files(3,$lim,catFile($dir,'workshop_debug.log'),\ catFile($dir,'workshop_errors.log'),\ catFile($dir,'workshop.log')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WLS_DomLog_Log: Collect sysman domain log files for # Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_WLS_DomLog_Log =head2 Sysman Local Log Files Collects sysman domain local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering sysman domain log files' var @tbl = () var ($max,$log) = (${GRP.WREQ.N_ROTATED_LOGS:2},catDir($dir,'sysman','log')) loop $pat ('^emoms\.log\.?\d*$','^emoms\.trc\.?\d*$') {var $cnt = $max loop $nam (grepDir($log,$pat,'t')) {call push(@tbl,catFile($dir,'sysman','log',$nam)) if match($nam,'^emoms\.(log|trc)$') {break !$cnt next } break !decr($cnt) } } pretoc '2:Sysman Local Log Files' call sort_files(3,0,@tbl) unpretoc # ----------------------------------------------------------------------------- # Section WLS_OHS_DomLog_Log: Collect OHS domain log files for # Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_OHS_DomLog_Log =head2 OHS Local Log Files Collects OHS domain local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering OHS domain log files' pretoc '2:OHS Local Log Files' call sort_files(3,0,\ grepDir(catDir($dir,'system_components','OHS'),'\.log$','np')) unpretoc # ----------------------------------------------------------------------------- # Section WLS_WLS_Log: Collect sysman log files for Oracle WebLogic Server # ----------------------------------------------------------------------------- section WLS_WLS_Log =head2 Sysman Local Log Files Collects sysman local log files for Oracle WebLogic Server. =cut var ($dir,$lim) = @arg debug ' - Inside OFMofm module, gathering sysman log files' var @tbl = () var ($max,$log) = (${GRP.WREQ.N_ROTATED_LOGS:2},catDir($dir,'sysman','log')) loop $pat ('^emoms-?\d*\.log$','^emoms-?\d*\.trc$') {var $cnt = $max loop $nam (grepDir($log,$pat,'t')) {call push(@tbl,catFile($dir,'sysman','log',$nam)) if match($nam,'^emoms\.(log|trc)$') {break !$cnt next } break !decr($cnt) } } pretoc '3:Sysman Local Log Files' call sort_files(4,0,@tbl) unpretoc =head1 SEE ALSO L, L, L =head1 COPYRIGHT NOTICE Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. =head1 TRADEMARK NOTICE Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners. =cut