# MCesm.ctl:252: Collects StorEdge Information # $Id: MCesm.ctl,v 1.7 2015/05/29 11:41:06 RDA Exp $ # ARCS: $Header: /home/cvs/cvs/RDA_8/src/scripting/lib/collect/EXPLORER/MCesm.ctl,v 1.7 2015/05/29 11:41:06 RDA Exp $ # # Change History # 20131220 JGS Fix spell. =head1 NAME EXPLORER:MCesm - Collects StorEdge Information =head1 DESCRIPTION Collects StorEdge information. The following reports can be generated and are regrouped under C: =cut use Mrc # Initialization var $VALIDATE = true keep $VALIDATE section begin var $ERR = '---## Associated Errors' var $TOC = '%TOC%' var $TOP = '[[#Top][Back to top]]' var $WRN = ' * 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.' run EXPLORER:XPLRlib('storedge') # ----------------------------------------------------------------------------- # XPLR_storedge section # ----------------------------------------------------------------------------- section XPLR_storedge # Validate the execution context if !${B_GLOBAL:true} return call log_run('Processing ESM sections...') var $BACONF = is_pkg_installed('SUNWbaconf') var $SECFG = is_pkg_installed('SUNWsecfg') var $SPSV = is_pkg_installed('SUNWspsv') var $SPSVR = is_pkg_installed('SUNWspsvr') var $ESMPORTAL = is_pkg_installed('SUNWesmportal') var $RRM = is_pkg_installed('SUNWrrm') var $WBSVR = is_pkg_installed('SUNWwbsvr') if !or($BACONF,$SECFG,$SPSV,$SPSVR,$ESMPORTAL,$RRM) return log_info('StorEdge Data Services, \ Storage Manager Basic Apps not installed') pretoc '2: StorEdge' =head1 DATA SERVICES REPORTS =head2 esm_ds_cmd - Commands Collects Data Services information using the following commands: For Data Services 2.0 and Oracle Solaris 9 or earlier: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back For Data Services 3.0 and Oracle Solaris 9 or earlier: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back For Oracle Solaris 10 and later: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back =cut debug ' Inside ESM collection, gathering Data Services information' pretoc '3: Data Services' # Determine the commands to collect var @cmd = () if expr('<',get_osv(),10) {# Add Data Services 2.0 and 3.0 commands if or($SPSV,$SPSVR) call push(@cmd,\ ['disks/StorEdge/fwcadm_nvram_-s',\ '/usr/opt/SUNWesm/SUNWnvm/sbin/fwcadm','nvram -s',\ '---+ NVRAM Card Status'],\ ['disks/StorEdge/iiadm_-i_all',\ '/usr/opt/SUNWesm/sbin/iiadm','-i all',\ '---+ All Shadow Volume Sets Status'],\ ['disks/StorEdge/nvmadm_-v',\ '/usr/opt/SUNWesm/sbin/nvmadm','-v',\ '---+ Detailed NVRAM Card Status'],\ ['disks/StorEdge/scmadm',\ '/usr/opt/SUNWesm/sbin/scmadm',undef,\ '---+ Configured Cache Descriptors'],\ ['disks/StorEdge/svadm',\ '/usr/opt/SUNWesm/sbin/svadm',undef,\ '---+ Volumes Under Software Volume Control']) # Add Data Services 2.0 commands if $SPSV call push(@cmd,\ ['disks/StorEdge/rdcadm_-p',\ '/usr/opt/SUNWesm/SUNWrdc/sbin/rdcadm','-p',\ '---+ Network Data Replicator Volumes'],\ ['disks/StorEdge/steadm_-c',\ '/usr/opt/SUNWesm/SUNWte/sbin/steadm','-c',\ '---+ Target Emulation Configuration'],\ ['disks/StorEdge/steconf',\ '/usr/opt/SUNWesm/SUNWte/sbin/steconf',undef,\ '---+ Host Bus Adapters']) # Add Data Services 3.0 commands if $SPSVR call push(@cmd,\ ['disks/StorEdge/dscfg',\ '/usr/opt/SUNWscm/sbin/dscfg',undef,\ '---+ StorageTek Availability Suite Software'],\ ['disks/StorEdge/dscfg_-l',\ '/usr/opt/SUNWscm/sbin/dscfg','-l',\ '---+ Configuration Database Information'],\ ['disks/StorEdge/dsstat',\ '/usr/opt/SUNWesm/sbin/dsstat',undef,\ '---+ StorageTek Availability Suite I/O Statistics'],\ ['disks/StorEdge/ii-group-info',\ '/usr/opt/SUNWesm/sbin/iiadm','-g -L',\ '---+ I/O Groups'],\ ['disks/StorEdge/nvmadm_-v',\ '/usr/opt/SUNWesm/SUNWnvm/sbin/nvmadm','-v',\ '---+ NVRAM Card Status'],\ ['disks/StorEdge/sndradm_-i',\ '/usr/opt/SUNWesm/SUNWrdc/sbin/sndradm','-i',\ '---+ Remote Mirror Volumes - In volset-file Format'],\ ['disks/StorEdge/sndradm_-p',\ '/usr/opt/SUNWesm/SUNWrdc/sbin/sndradm','-p',\ '---+ Remote Mirror Volumes'],\ ['disks/StorEdge/sndradm_-P',\ '/usr/opt/SUNWesm/SUNWrdc/sbin/sndradm','-P',\ '---+ Remote Mirror Volumes Details'],\ ['disks/StorEdge/sndrstat',\ '/usr/opt/SUNWesm/SUNWrdc/sbin/sndrstat',undef,\ '---+ Volume Sets Names']) } # Add Oracle Solaris 10 or later commands else call push(@cmd,\ ['disks/StorEdge/dscfg',\ '/usr/sbin/dscfg',undef,\ '---+ StorageTek Availability Suite Software'],\ ['disks/StorEdge/dscfg_-l',\ '/usr/sbin/dscfg','-l',\ '---+ Configuration Database Contents'],\ ['disks/StorEdge/dscfgadm_-i',\ '/usr/sbin/dscfgadm','-i',\ '---+ Availability Suite Services'],\ ['disks/StorEdge/dsstat',\ '/usr/sbin/dsstat',undef,\ '---+ StorageTek Availability Suite I/O Statistics'],\ ['disks/StorEdge/ii-group-info',\ '/usr/sbin/iiadm','-g -L',\ '---+ I/O Groups'],\ ['disks/StorEdge/iiadm_-i_all',\ '/usr/sbin/iiadm','-i all',\ '---+ All Shadow Volume Sets Status'],\ ['disks/StorEdge/scmadm',\ '/usr/sbin/scmadm',undef,\ '---+ Configured Cache Descriptors'],\ ['disks/StorEdge/sndradm_-i',\ '/usr/sbin/sndradm','-i',\ '---+ Remote Mirror Volumes - In volset-file Format'],\ ['disks/StorEdge/sndradm_-p',\ '/usr/sbin/sndradm','-p',\ '---+ Remote Mirror Volumes'],\ ['disks/StorEdge/sndradm_-P',\ '/usr/sbin/sndradm','-P',\ '---+ Remote Mirror Volumes Details'],\ ['disks/StorEdge/svadm',undef,\ '/usr/sbin/svadm',\ '---+ Volumes under Software Volume Control']) # Add iiadm command if or($SPSVR,expr('>=',get_osv(),10)) {loop $grp (split('\s',command('/usr/opt/SUNWesm/sbin/iiadm -g -L'))) call push(@cmd,\ [concat('disks/StorEdge/ii-group-info/iiadm_-g_',$grp,'_-l'),\ '/usr/opt/SUNWesm/sbin/iiadm',concat('-g ',quote($grp),' -l'),\ '---+ I/O Groups']) } # Generate the report report esm_ds_cmd title '---+!! Data Services Information' title $TOC call do_exec(@cmd) if isCreated(true) toc '4:[[',getFile(),'][rda_report][Commands]]' =head2 esm_ds_conf - Configuration Files Collects the following configuration files: =over 2 =item o F =item o F =item o F =item o F =item o F =back =cut if and(expr('<',get_osv(),10),$SPSV) {report esm_ds_conf prefix {write '---+!! Data Services Configuration Files' write $WRN write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_fil(\ ['disks/StorEdge/iitab', '/etc/opt/SUNWii/iitab'],\ ['disks/StorEdge/rdc.cf', '/etc/opt/SUNWrdc/rdc.cf'],\ ['disks/StorEdge/rdc_ii.cf','/etc/opt/SUNWrdc/rdc_ii.cf'],\ ['disks/StorEdge/sd.cf', '/etc/opt/SUNWscm/sd.cf'],\ ['disks/StorEdge/sv.cf', '/etc/opt/SUNWspsv/sv.cf']) if isCreated(true) {write $TOP toc '4:[[',getFile(),'][rda_report][Configuration Files]]' } } =head2 esm_ds_log - Log Files Collects the following log files: =over 2 =item o F =item o F =item o F (all contents) =item o F (all contents) =item o F (all contents) =item o F (all contents) =back =cut # Determine the files to collect if !expr('<',get_osv(),10) var @fil = (\ ['disks/StorEdge/ds.log','/var/adm/ds.log']) elsif or($SPSV,$SPSVR) var @fil = (\ ['disks/StorEdge/ds.log','/var/opt/SUNWesm/ds.log'],\ ['disks/Storedge/log', '/var/opt/SUNWesm/log','','','^\.+$','nv'],\ ['disks/Storedge', '/var/opt/SUNWesm', '','','^\.+$','nv'],\ ['disks/Storedge', '/etc/opt/SUNWte', '','','^\.+$','nv'],\ ['disks/Storedge', '/var/opt/SUNWte', '','','^\.+$','nv']) # Generate the report report esm_ds_log prefix {write '---+!! Data Services Log Files' write $WRN write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_fil(@fil) if isCreated(true) {write $TOP toc '4:[[',getFile(),'][rda_report][Log Files]]' } # Adjust the table of contents unpretoc =head1 CONFIGURATIONS TOOLS REPORTS =head2 esm_cf_ss - Storage Subsystem Collects Storage Subsystem information using the following commands: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back =cut debug ' Inside ESM collection, gathering Configuration Tools information' pretoc '3: Configuration Tools' pretoc '4: Commands' if $SECFG {# Determine the commands to collect var @cmd = (\ ['disks/StorEdge/get_cabinet',\ '/opt/SUNWsecfg/bin/getcabinet',undef,\ '---+ Cabinet Configuration Type'],\ ['disks/StorEdge/checkdefaultconfig_-v',\ '/opt/SUNWsecfg/bin/checkdefaultconfig','-v',\ '---+ Accesible Components '],\ ['disks/StorEdge/listavailable_-s_-t_-v',\ '/opt/SUNWsecfg/bin/listavailable','-s -t -v',\ '---+ Switches, T3+ Arrays and Virtualization Engines'],\ ['disks/StorEdge/showt3_-n_ALL',\ '/opt/SUNWsecfg/bin/showt3','-n ALL',\ '---+ T3+ Arrays'],\ ['disks/StorEdge/checkslicd_-n_v1',\ '/opt/SUNWsecfg/bin/checkslicd','-n v1',\ '---+ V1 Virtualization Engine Status'],\ ['disks/StorEdge/checkslicd_-n_v2',\ '/opt/SUNWsecfg/bin/checkslicd','-n v2',\ '---+ V2 Virtualization Engine Status'],\ ['disks/StorEdge/showswitch_-s_sw1a',\ '/opt/SUNWsecfg/bin/showswitch','-s sw1a',\ '---+ SW1A Switch Configuration'],\ ['disks/StorEdge/showswitch_-s_sw1b',\ '/opt/SUNWsecfg/bin/showswitch','-s sw1b',\ '---+ SW1B Switch Configuration'],\ ['disks/StorEdge/showswitch_-s_sw2a',\ '/opt/SUNWsecfg/bin/showswitch','-s sw2a',\ '---+ SW2A Switch Configuration'],\ ['disks/StorEdge/showswitch_-s_sw2b',\ '/opt/SUNWsecfg/bin/showswitch','-s sw2b',\ '---+ SW2B Switch Configuration'],\ ['disks/StorEdge/showvemap_-n_v1_-l',\ '/opt/SUNWsecfg/bin/showvemap','-n v1 -l',\ '---+ V1 Virtualization Engine Map'],\ ['disks/StorEdge/showvemap_-n_v2_-l',\ '/opt/SUNWsecfg/bin/showvemap','-n v2 -l',\ '---+ V2 Virtualization Engine Map'],\ ['disks/StorEdge/mpdrive_view_-d_v1',\ '/opt/svengine/sduc/mpdrive','view -d v1',\ '---+ V1 Multipath Drive'],\ ['disks/StorEdge/mpdrive_view_-d_v2',\ '/opt/svengine/sduc/mpdrive','view -d v2',\ '---+ V2 Multipath Drive'],\ ['disks/StorEdge/sreadlog_-d_v1_-v',\ '/opt/svengine/sduc/sreadlog','-d v1 -v',\ '---+ V1 Storage Area Network Events'],\ ['disks/StorEdge/sreadlog_-d_v2_-v',\ '/opt/svengine/sduc/sreadlog','-d v2 -v',\ '---+ V2 Storage Area Network Events'],\ ['disks/StorEdge/svstat_-d_v1',\ '/opt/svengine/sduc/svstat','-d v1',\ '---+ V1 Software Volume Router Statistics'],\ ['disks/StorEdge/svstat_-d_v2',\ '/opt/svengine/sduc/svstat','-d v2',\ '---+ V2 Software Volume Router Statistics'],\ ['disks/StorEdge/listt3slice_-n_ALL_-s_-v',\ '/opt/SUNWsecfg/bin/listt3slice','-n ALL -s -v',\ '---+ Slice Information'],\ ['disks/StorEdge/listt3slice_-n_ALL_-m_-v',\ '/opt/SUNWsecfg/bin/listt3slice','-n ALL -m -v',\ '---+ Logical Unit Number Map'],\ ['disks/StorEdge/listt3slice_-n_ALL_-l_-v',\ '/opt/SUNWsecfg/bin/listt3slice','-n ALL -l -v',\ '---+ Logical Unit Number'],\ ['disks/StorEdge/listt3slice_-n_ALL_-p_-v',\ '/opt/SUNWsecfg/bin/listt3slice','-n ALL -p -v',\ '---+ Logical Unit Number Permissions']) # Add capture commands if grepCommand('/opt/SUNWsecfg/bin/getcabinet','SL','f') call push(@cmd,\ ['disks/StorEdge/capture_192.168.0.30',\ '/opt/SUNWsecfg/flib/capture','192.168.0.30',\ '---+ Top Switch 192.168.0.30'],\ ['disks/StorEdge/capture_192.168.0.31',\ '/opt/SUNWsecfg/flib/capture','192.168.0.31',\ '---+ Top Switch 192.168.0.31'],\ ['disks/StorEdge/capture_192.168.0.32',\ '/opt/SUNWsecfg/flib/capture','192.168.0.32',\ '---+ Bottom Switch 192.168.0.32'],\ ['disks/StorEdge/capture_192.168.0.33',\ '/opt/SUNWsecfg/flib/capture','192.168.0.33',\ '---+ Bottom Switch 192.168.0.33']) # Generate the report report esm_cf_ss prefix {title '---+!! Storage Subsystem Information' title $TOC } call do_exec(@cmd) if isCreated(true) toc '5:[[',getFile(),'][rda_report][Storage Subsystem]]' } =head2 esm_cf_t3b - T3+ Arrays Collects StorEdge T3+ arrays information using the following commands: =over 2 =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =item o C =back ${T3B} represents an available StorEdge T3+ array. =cut if $SECFG {# Determine the commands to collect pretoc '5: T3+ Arrays' loop $nam (split('\s',command('/opt/SUNWsecfg/bin/listavailable -t'))) {# Add network array commands var ($arg,@cmd) = (quote($nam)) call push (@cmd,\ [concat('disks/StorEdge/listt3map_-a_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-a -n ',$arg),\ '---+ Slices'],\ [concat('disks/StorEdge/listt3map_-s_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-s -n ',$arg),\ '---+ Slice Names'],\ [concat('disks/StorEdge/listt3map_-f_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-f -n ',$arg),\ '---+ Full Slice Information'],\ [concat('disks/StorEdge/listt3map_-g_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-g -n ',$arg),\ '---+ Groups'],\ [concat('disks/StorEdge/listt3map_-l_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-l -n ',$arg),\ '---+ Volumes'],\ [concat('disks/StorEdge/listt3map_-c_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-c -n ',$arg),\ '---+ Volumes Created'],\ [concat('disks/StorEdge/listt3map_-u_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-u -n ',$arg),\ '---+ Logical Unit Numbers'],\ [concat('disks/StorEdge/listt3map_-i_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-i -n ',$arg),\ '---+ Associated Logical Unit Numbers'],\ [concat('disks/StorEdge/listt3map_-w_-n_',$nam),\ '/opt/SUNWsecfg/bin/listt3map',concat('-w -n ',$arg),\ '---+ World Wide Names']) # Add volume commands var $pgm = join(' ','/opt/SUNWsecfg/bin/listt3map -l -n',$arg) loop $vol (split('\s',command($pgm))) call push (@cmd,\ [concat('disks/StorEdge/listt3map_-t_-n_',$nam,'_-v_',$vol),\ '/opt/SUNWsecfg/bin/listt3map',\ concat('-t -n ',$arg,' -v ',quote($vol)),\ concat('---+ Volume Available Free Space (Gigabytes) ',$vol)],\ [concat('disks/StorEdge/listt3map_-b_-n_',$nam,'_-v_',$vol),\ '/opt/SUNWsecfg/bin/listt3map',\ concat('-b -n ',$arg,' -v ',quote($vol)),\ concat('---+ Available Largest Contiguous Space (Gigabytes) ',$vol)]) # Add world wide names commands var $pgm = join(' ','/opt/SUNWsecfg/bin/listt3map -g -n',$arg) loop $wwn (split('\s',command($pgm))) call push (@cmd,\ [concat('disks/StorEdge/listt3map_-w_-n_',$nam,'_-p_',$wwn),\ '/opt/SUNWsecfg/bin/listt3map',\ concat('-w -n ',$arg,' -p ',quote($wwn)),\ concat('---+ World Wide Name ',uc($wwn))]) # Generate the report report concat('esm_cf_t3b_',$nam) title '---+!! Storage Network Array ',uc($nam),' Information' title $TOC call do_exec(@cmd) if isCreated(true) toc '6:[[',getFile(),'][rda_report][',uc($nam),']]' } # Adjust the table of contents unpretoc } # Adjust the table of contents unpretoc =head2 esm_cf_cfg - Configuration Files Collects the following configuration files: =over 2 =item o F (recursively) =item o F =back =cut if $SECFG {# Determine the files to collect var @fil = (['disks/StorEdge','/opt/SUNWsecfg/etc','','','^\.+$','dvr']) if ?testFile('f','/opt/svengine/sdus/svengine.cfg') call push(@fil,\ ['disks/StorEdge/svengine.cfg','/opt/svengine/sdus/svengine.cfg']) # Generate the report report esm_cf_cfg prefix {write '---+!! Configuration Tools Configuration Files' write $WRN write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_fil(@fil) # Add the report to the table of contents if isCreated(true) {write $TOP toc '4:[[',getFile(),'][rda_report][Configuration Files]]' } } =head2 esm_cf_log - Log Files Collects the following log files: =over 2 =item o F =item o F =item o F =item o F =item o F =back =cut if $SECFG {report esm_cf_log prefix {write '---+!! Configuration Tools Log Files' write $WRN write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_fil(\ ['disks/StorEdge/log/SEcfglog', '/var/adm/log/SEcfglog'],\ ['disks/StorEdge/log/messages.t3', '/var/adm/messages.t3'],\ ['disks/StorEdge/log/IPCLOG', '/opt/svengine/sdus/IPCLOG'],\ ['disks/StorEdge/log/v1_SLICERR.log','/opt/svengine/sdus/v1_SLICERR.log'],\ ['disks/StorEdge/log/v2_SLICERR.log','/opt/svengine/sdus/v2_SLICERR.log']) if isCreated(true) {write $TOP toc '4:[[',getFile(),'][rda_report][Log Files]]' } } # Adjust the table of contents unpretoc =head1 ENTERPRISE STORAGE MANAGER BASIC APPLICATIONS REPORTS =head2 esm_ba_cmd - Commands Collects Web Console version using the C command. =cut pretoc '3: ESM Basic Applications' debug ' Inside ESM collection, gathering ESM Basic Application information' if $ESMPORTAL {# Generate the report and collect smcwebserver command report esm_ba_cmd call do_exec(\ ['disks/StorEdge/SMP/Lockhart.version.out',\ '/usr/sbin/smcwebserver','-V',\ '---+ Web Console Version']) if isCreated(true) toc '4:[[',getFile(),'][rda_report][Commands]]' } =head2 esm_ba_baconf - Configuration Files Collects configuration files from the following directories: For Data Replication: =over 2 =item o F =item o F =item o F =item o F =item o F =back For Installation Utility: =over 2 =item o F =item o F =item o F =item o F =item o F =back =cut report esm_ba_conf title '---+!! Basic Applications Configuration Files' title $TOC title $WRN var %tbl = () # Add Installation Utility files if $BACONF var $tbl{'---+ Installation Utility'} = [\ ['disks/StorEdge/baconf/share',\ '/var/opt/SUNWbaconf/share'],\ ['disks/StorEdge/baconf/share/apps',\ '/var/opt/SUNWbaconf/share/apps'],\ ['disks/StorEdge/baconf/share/license',\ '/var/opt/SUNWbaconf/share/license'],\ ['disks/StorEdge/baconf/share/state',\ '/var/opt/SUNWbaconf/share/state'],\ ['disks/StorEdge/baconf/share/messages',\ '/var/opt/SUNWbaconf/share/messages']] # Add Data Replication files if $RRM var $tbl{'---+ Data Replication'} = [\ ['disks/StorEdge/DRM/opt/SUNWrrm/etc', '/opt/SUNWrrm/etc'],\ ['disks/StorEdge/DRM/opt/SUNWrrm/etc/bui', '/opt/SUNWrrm/etc/bui'],\ ['disks/StorEdge/DRM/opt/SUNWrrm/etc/server','/opt/SUNWrrm/etc/server'],\ ['disks/StorEdge/DRM/var/opt/SUNWrrm/datastore',\ '/var/opt/SUNWrrm/datastore'],\ ['disks/StorEdge/DRM/etc/opt/SUNWrrm', '/etc/opt/SUNWrrm']] # Collect the directories loop $ttl (keys(%tbl)) {prefix {write $ttl write '|*File Path*| *Size*|*Last Modified Date*|' } loop $dir (@{$tbl{$ttl}}) call do_collect_dir($dir->[0],$dir->[1]) if hasOutput(true) write $TOP } if isCreated(true) toc '4:[[',getFile(),'][rda_report][Configuration Files]]' =head2 esm_ba_log - Log Files Collects the following log files for Data Replication, Installation Utility, Portal, and Web Server basic applications: =over 2 =item o F (all files present in the directory) =item o F (all files present in the directory) =item o F =item o F =item o F =item o F =item o F =item o F =item o F =back Collects the latest 1000 lines from the following files: =over 2 =item o F =item o F =item o F =item o F =item o F =item o F =item o F =item o F =item o F =item o F =back Collects the latest 1000000 bytes from the following files: =over 2 =item o The most recent portal backup file present in the F directory =item o F =item o F =item o F =back =for stopwords https ${HTTPHOSTNAME} is the most recent directory in F with the name https-${HOSTNAME}, where ${HOSTNAME} is the result of the F command. =cut var %tbl = () # Add Portal files if $ESMPORTAL {var $tbl{'Portal Server'} = [\ ['/disks/StorEdge/SMP/install/smportal.log',\ '/var/sadm/install/logs/smportal.log'],\ ['/disks/StorEdge/SMP/util/pgsql/portaldb.logs/portaldb.log',\ '/var/opt/SUNWesmportal/util/pgsql/portaldb.log'],\ ['disks/StorEdge/SMP/AccessManager/debug',\ '/var/opt/SUNWam/debug','','','^\.+$','nv'],\ ['disks/StorEdge/SMP/AccessManager/logs',\ '/var/opt/SUNWam/logs','','','^\.+$','nv']] # Add log files var $dir = '/var/opt/SUNWesmportal/util/pgsql' loop $fil (grepDir($dir,'portaldb\.log\.\d$','n')) {next !?testFile('f',catFile($dir,$fil)) call push($tbl{'Portal Server'},\ {cmd => 'TAIL',\ cnt => 1000,\ fil => lastFile(),\ nam => concat('disks/StorEdge/SMP/util/pgsql/portaldb.logs/',$fil)}) } # Add the most recent backup file loop $fil (grepDir('/opt/SUNWesmportal/util/pgsql/portal/backup',\ '^[1-9]\d*$','tp')) {call push($tbl{'Portal Server'},\ {cmd => 'END',\ cnt => 1000000,\ fil => $fil,\ nam => concat('disks/StorEdge/SMP/pgsql/portal/backup/',\ gmtime('%Y.%m.%d.%H.%M.%S'),'.log')}) break } } # Add Installation Utility files if $BACONF var $tbl{'Installation Utility'} = [\ ['disks/StorEdge/baconf/share/logs',\ '/var/opt/SUNWbaconf/share/logs','','','^\.+$','nv'],\ ['disks/StorEdge/baconf/logs',\ '/var/opt/SUNWbaconf/logs','','','^\.+$','nv']] # Add Data Replication files if $RRM var $tbl{'Data Replication'} = [\ ['disks/StorEdge/DRM/var/opt/SUNWrrm/log',\ '/var/opt/SUNWrrm/log','','','^\.+$','nv'],\ ['disks/StorEdge/DRM/var/opt/SUNWrrm/trace',\ '/var/opt/SUNWrrm/trace','','','^\.+$','nv']] # Add Web Server files if $WBSVR {if findDir('/opt/SUNWwbsvr',concat('^https-',uname('n')),'ft') {var ($src) = last var $tbl{'Web Server'} = [\ [concat('disks/StorEdge/SMP/',$src,'/logs/pid.log'),\ catFile('/opt/SUNWwbsvr',$src,'logs','pid')],\ {cmd => 'END',\ cnt => 1000000,\ fil => catFile('opt/SUNWwbsvr',$src,'logs','errors'),\ nam => concat('disks/StorEdge/SMP/',$src,'/logs/errors.log')},\ {cmd => 'END',\ cnt => 1000000,\ fil => catFile('/opt/SUNWwbsvr',$src,'logs','access'),\ nam => concat('disks/StorEdge/SMP/',$src,'/logs/access.log')}] } } # Add cacao.log file if ?testFile('f','/var/opt/SUNWcacao/logs/cacao.0') var $tbl{'Cacao'} = [\ {cmd => 'END',\ cnt => 1000000,\ fil => '/var/opt/SUNWcacao/logs/cacao.0',\ nam => 'cacao/cacao.0.log'}] # Generate the report report esm_ba_log title '---+!! Basic Applications Log Files' title $TOC title $WRN loop $ttl (keys(%tbl)) {prefix {write '---+ ',$ttl write '|*File Path*| *Size*|*Last Modified Date*|' } call do_collect_fil(@{$tbl{$ttl}}) if hasOutput(true) write $TOP } # Add the report to the table of contents if isCreated(true) toc '4:[[',getFile(),'][rda_report][Log Files]]' # Adjust the table of content unpretoc 2 =head1 SEE ALSO 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