# DCepm.cfg: Collects Enterprise Peformance Management System Information # $Id: DCepm.cfg,v 1.21 2014/10/24 12:02:42 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/BI/DCepm.cfg,v 1.21 2014/10/24 12:02:42 RDA Exp $ # # Copyright (c) 2002, 2016, Oracle and/or its affiliates. All rights reserved. # # Change history # 20141022 JGS Fix password file request. ############################################################################### # Collects common Oracle Enterprise Performance Management setup information ############################################################################### #------------------------------------------------------------------------------ # Module definition #------------------------------------------------------------------------------ col=${B_IN_USE} dsc='Collects Enterprise Performance Management System Information' fam=Cygwin,Unix,Windows pre=RDA:DCbegin req=?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq rpt=B_IN_USE tgt=${I_OH/C} trg=?B_REQ_IREQ:OFM:DCireq,?B_REQ_WREQ:OFM:DCwreq use=Access,Report var=not_used # Flow:in_use,B_IN_USE,D_ORACLE_PARENT exe=sdcl { "var ${B_REQ_IREQ/T} = undef "var ${B_REQ_WREQ/T} = undef "var @{AUX.var} = \ " cond(${AUX.N_DEPTH},list('D_ORACLE_PARENT'),\ " ${PRF.B_TESTS},list('in_use'),\ " list('B_IN_USE')) " "macro derive_mw_home "{if ?testDir('d',${ENV.HYPERION_HOME}) " {var @dir = splitDir(catDir(last)) " call pop(@dir) " if expr('>',scalar(@dir),1) " return catDir(@dir) " } " loop $pth (grep(@{ENV.PATH},'\bepmsystem\d+\b')) " {next !?testDir('d',catDir($pth)) " var @dir = splitDir(last) " while ?$dir = pop(@dir) " {next !match($dir,'^epmsystem\d+$') " break expr('<',scalar(@dir),3) " if compare('eq',$dir[-1],'user_projects') " {call pop(@dir) " return catDir(@dir) " } " } " } " return () "} " "macro is_valid_mw_home "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified Middleware home directory does not exist.' " require isAbsolute($dir),\ " 'The specified Middleware home directory is not an absolute path.' " require testFile('f',catFile($dir,'registry.xml')),\ " 'The specified Middleware home directory does not contain some \ " Oracle WebLogic server related-files. Without a valid directory, the \ " collection will be disabled. Rerun the setup with the correct \ " Middleware home directory.' " var ${AUX.nam} = $nam " return true "} " "macro is_valid_home "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified Enterprise Performance Management home directory does \ " not exist. Without a valid directory, the collection will be disabled.' " require isAbsolute($dir),\ " 'The specified Enterprise Performance Management home directory is not \ " an absolute path. Without a valid directory, the collection will be \ " disabled.' " var ${AUX.nam} = $nam " return true "} " "macro check_instance "{loop $ins (findDir($arg[0],'^[^\.]+$','np')) " {if ?testFile('f',catFile($ins,'bin',${AS.BAT:'epmsys_registry'})) " return true " } " return false "} " "macro is_valid_instance "{var ($nam,$dir) = @arg " require testDir('d',$dir),\ " 'The specified instance root directory does not exist.' " require isAbsolute($dir),\ " 'The specified instance root directory is not an absolute path.' " require check_instance($dir),\ " 'The specified instance root directory does not contain some enterprise \ " performance management instance homes. Without a valid directory, the \ " collection will not contain deployment data.' " var ${AUX.nam} = $nam " return true "} " "macro is_valid_domain "{var ($nam,$flg,$dir) = @arg " require testDir('d',$dir),\ " 'The specified WebLogic Server domain directory does not exist.' " require isAbsolute($dir),\ " 'The specified WebLogic Server domain directory is not an absolute path.' " require grepFile(catFile($dir,'config','config.xml'),\ " '^${D_HOME},\ T_ORACLE_HOME=>${D_HOME},\ T_OH_ABBR=>'$EPM_HOME',\ T_TITLE=>"EPM home ${D_HOME}"})) dsc='Target associated with the EPM home' nam=I_OH vis=false #------------------------------------------------------------------------------ # Check if instance home is needed #------------------------------------------------------------------------------ [need_instance] typ=B dft=false nam=- var=true:D_INSTANCE_ROOT:\ get_was_properties exe=sdcl { "var ($flg,$hom) = (false,${D_HOME}) "if ${D_TMP_INS_ROOT/E} " var $flg = true "elsif ?testDir('d',catDir(${D_HOME},'inventory')) "{if ?${ENV.EPM_ORACLE_INSTANCE} " {if ?testFile('f',catFile($dir = last,'bin',${AS.BAT:'epmsys_registry'})) " var ${D_TMP_INS_ROOT/T} = cleanPath([$dir,upDir(),''],true) " } " if ${D_TMP_INS_ROOT/M} " {if ?testDir('d',$dir = cleanPath([$hom,upDir(),'user_projects',''],true)) " var ${D_TMP_INS_ROOT/T} = $dir " } " var $flg = true "} "var ${AUX.dft} = $flg } [D_INSTANCE_ROOT] typ=D dft=${D_TMP_INS_ROOT} dsc='Instance root directory' fmt='<'Oracle WebLogic Server',\ 'WSP' =>'IBM WebSphere'] val=E var=WLS:D_DOMAIN [D_DOMAIN] typ=D dft=${ENV.DOMAIN_HOME} dsc='Oracle WebLogic Server domain home' inp='Enter the Oracle WebLogic Server domain home to be used for data analysis' nam=- ref=is_valid_domain('D_DOMAIN',true,last) val=W #------------------------------------------------------------------------------ # Select instances #------------------------------------------------------------------------------ [I_ORACLE_INSTANCES] typ=I cls='OI' dsc='Oracle instance target list' end='.' exe=sdcl { "var @ins = () "loop $dir (findDir(${D_INSTANCE_ROOT},'^[^\.]+$','np')) "{if ?testFile('f',catFile($dir,'bin',${AS.BAT:'epmsys_registry'})) " call push(@ins,nvl(findItem('OI','D_ORACLE_INSTANCE',$dir),\ " defineTarget('OI',{D_ORACLE_INSTANCE=>$dir,\ " T_TITLE=>"Instance home ${VAR.dir}"}))) "} "var ${AUX.dft} = [@ins] } [set_req_instance] typ=B dft=false dsc='Does EPM require Oracle instance request handler execution?' nam=B_REQ_IREQ var=true:loop_instances exe=sdcl { "keep %INSTANCES,%OID "var $flg = false "loop $tgt (@{I_ORACLE_INSTANCES}) "{var $dir = $tgt->get_first('D_ORACLE_INSTANCE') " next !?testFile('f',catFile($dir,'bin',${AS.BAT:'epmsys_registry'})) " var ($cmd,$fil,$ins) = (lastCommand(),lastFile(),basename($dir)) " var $oid = $tgt->get_oid " var ${MOD.IREQ_BI_EPM_${VAR.oid}.I_ORACLE_INSTANCE:\ " 'Target associated with the Oracle instance home'} = $tgt " var ${MOD.IREQ_BI_EPM_${VAR.oid}.T_OH_FOCUS:\ " 'Focus areas for Oracle home associated to the instance home'} = \ " 'HTTP,OPMN' " var ${MOD.IREQ_BI_EPM_${VAR.oid}.T_OI_FOCUS:\ " 'Focus areas for instance home'} = 'HTTP,OPMN' " var $ver = get_epm_version(${D_HOME}) " if compare('VALID',$ver,'11.1.2.2') " {if compare('OLDER',$ver,'11.1.2.2.300') " {var $epm = createTemp('EPMPWD','.tmp',false) " call derivePassword('host','BI:EPM','epmsys_registry','EPM_REGISTRY') " call writeTempPassword('EPMPWD',"%s\012",'host','BI:EPM','epmsys_registry',\ " 'Enter Shared Services database password:','') " call closeTemp('EPMPWD') " } " if ?create_epm_script('EPMSYS_REG',$fil,$epm) " {if grepCommand(\ " concat(quote(last),' view app_server'),'^\s*domainLocation\s*=\s*','f') " var $INSTANCES{$ins} = value(last) " call unlinkTemp('EPMSYS_REG') " } " if ?$epm " call unlinkTemp('EPMPWD') " } " var $flg = true " var $OID{$ins} = replace($oid,'^OI_','DOM_') "} "var ${AUX.dft} = $flg } [loop_instances] typ=L dft=keys(%OID) dsc='Iterate on each instance' nam=-RUN/SDSL.W_INS var=loop:domain_home #------------------------------------------------------------------------------ # Setting definitions for Oracle WebLogic Server #------------------------------------------------------------------------------ [domain_home] typ=D alt=ask_ins_domain dft=$INSTANCES{${RUN.SDSL.W_INS}} dsc='Oracle WebLogic Server domain home' nam=-D_TMP_DOMAIN var=D_DOMAINS,set_primary [ask_ins_domain] typ=D dft=(${D_DOMAINS}->{${RUN.SDSL.W_INS}},\ ${SET.RDA.BEGIN.D_COMMON_DOMAIN_HOME},\ ${ENV.DOMAIN_HOME}) dsc='Oracle WebLogic Server domain home' fmt='<',scalar(@dir = splitDir($dir)),1) "{loop $srv (findDir(catDir($dir,'servers'),'^[^\.]+$','n')) " {if ?testDir('d',catDir($dir,'servers',$srv,'logs')) " call push(@itm,$srv,$srv) " } " var ${T_TMP_DOM/T} = $nam = pop(@dir) " var @{T_TMP_ITM/T} = @itm " var ${I_DOMAIN:'Target associated with the domain'} = \ " nvl(findItem('DOM','D_DOMAIN_HOME',getShortPath($dir,true)),\ " defineTarget('DOM',{D_DOMAIN_ROOT=>$top = catNative(@dir,''),\ " T_DOMAIN_NAME=>$nam,\ " T_TITLE=>"Domain ${VAR.nam} (in ${VAR.top})"})) " var ${T_TOP_FOCUS:\ " 'Focus areas for Oracle WebLogic Server Middleware collection'} = \ " 'Generic' " var ${T_DOM_FOCUS:\ " 'Focus areas for Oracle WebLogic Server domain collection'} = \ " 'BI_EPM,ExtSnmCfg,NodDomCfg,NodDomLog,SrvErr' " var ${CTX.B_REQ_WREQ:\ " 'Does EPM require Oracle WebLogic Request Handler collection?'} = true "} } #------------------------------------------------------------------------------ # Common settings #------------------------------------------------------------------------------ [R_LOG_AGE] typ=N dft=15 dsc='Age limit (in days) of the log files to be collected' err='The number of days must be a positive number' inp='Enter the age limit (in days) for the log files to be collected' lvl=6 ref='R[0,[' val=F