WebSphere Commerce v7 Reports



Search Tips   |   Advanced Search

Author: Michael Pareene


  1. Overview
  2. Reports by validation
  3. Reports by host
  4. Generate validation reports - Lower lifecycle
  5. Generate validation reports - Production
  6. Configure new validations
  7. Configure new validations example
  8. Scripts
  9. Failed URL report
  10. Exception report
  11. Server startup times
  12. Configuration IDs
  13. Update scripts
  14. Stop / Start
  15. check_lvnodes
  16. Clear temp directories

See also

  1. All reports


The following article documents a collection of scripts that run various reports against MyCo's WebSphere Commerce v7 environment. These reports are meant for internal consumption and follow the just-good-enough model of development, meaning they are not as polished as they could be, but we can produce a lot of different varieties, quickly.

Reports by validation

  1. Lower life-cycle
    1. Unix
    2. Middleware
  2. Production
    1. Unix
    2. Middleware

Tip: If a validation you are interested is not in the report, you can query for the validation yourself using Search Reports option at the top of this page. For example, if we search for...

initialheapsize maximumheapsize

...we get output that roughly tells us, for each appserver, what current min and max settings are.

Reports by host

Environment App Web NDM WXS Batch Endeca
AD Stage s1ad6a s1ad6c s1ad6d
s1ad6f t1ad6g
AD Deliv s1ad7a s1ad7c s1ad7c
s1ad7f t1adtu
ST Stage s1st6a s1st6c s1st6d
s1st6f t1st5g
ST Delivery s1st5a s1st5c s1st5c

QA Stage s1qa4a s1qa4c s1qa4d s1qa4e s1qa4f t1qa9g
QA Live Cell1 s1qa8a s1qa8c s1qa8d s1qa8e s1qa8f t1qa8g
QA Live Cell2 s1qa9a s1qa9c s1qa9d s1qa5e
AT Live s1at2a

s1at2f t1at2g
QT Delivery s1qp7c
s1qp7j s1qp7k

QT Stage s1qp1a s1qp1c s1qp1d

Generate validation reports - Lower lifecycle

  1. Log on to s1np1a as user wasadmin

  2. To generate a single report...

    cd /opt/IHS70/htdocs/docs/reports

    To generate all reports

    cd /opt/IHS70/htdocs/docs/reports

    The generate.sh scripts uses remote ssh calls to execute scripts on each host listed in sapp.out, sweb.out, sndm.out, swxs.out, and sbatch.out.

    Jobs run asynchronously, meaning that after submission the prompt is immediately returned. This makes it appear generate.sh has completed when jobs are still running in the background. You can assume all jobs have completed when stdout activity to your screen has ceased.

    You can run checkstatus.sh to view report processes

    Scripts that call wsadmin have an associated sleep time to prevent the submission of too many wsadmin queries at the same time. Be sure to uncomment to prevent wsadmin-type scripts from running simultaneously.

  3. To post a single report to site...


  4. To post all reports to site...


    The post.sh script scp's files to document root and generates validation reports by running...

    1. statusfoo.sh
    2. statusunix.sh [ ad qa st qp at pr all ]
    3. statusware.sh [ ad qa st qp at pr all ]

    Finally, post.sh calls linkreports.sh and linkstatus.sh to automatically generate hyperlinks.

Generate validation reports - Production

To generate production validation reports, log on to s1sa2a as user wasadmin and run...

cd reports
scp *.html s1np1a:/opt/install/IHS70/htdocs/reports/PR

Because output from generate.sh returns asynchronously, we run checkstatus.sh to determine when all processes have completed.

Scripts that call wsadmin have an associated sleep time to prevent the submission of too many wsadmin queries at the same time. Verify they are uncommented before kicking off generate.sh

Configure new validations

  1. Log on to s1np1a as user wasadmin

  2. Set up public-key authentication between s1np1a and new remote host.

    • Append s1np1a's authorized_keys to...


    • Set permissions...

      chmod go-w $HOME $HOME/.ssh
      chmod 600 $HOME/.ssh/authorized_keys
      chown `whoami` $HOME/.ssh/authorized_keys

    There might be directories to create depending on how server is used. See setup.sh for guidance.

  3. Add new host to ./propagate.sh, post.sh, and generate.sh

  4. Copy query.sh, web.sh, and other scripts to new remote host...


Configure new validations example

To add script dctm.sh, which checks for matching symbolic links, to the validation report.

  1. Write your script.

    To integrate dctm.sh into the validation reports, we add lines to both create HTML output, and insert a status line into host_dctm_status.txt.

  2. Log on to s1np1a as user wasadmin and...

    cd /opt/install/IHS70/htdocs/reports

  3. Add a line for dctm.sh in propagate.sh and then execute...


    This will copy dctm.sh to all appservers listed in sapp.out

  4. Add a line for dctm.sh in generate.sh, and then execute...


  5. Add a stanza in statusware.sh to check the status for this validation.

    In this case, statusware.sh will look for string "Verify symbolic links match"

  6. Run: ./post.sh

    This will scp validation output to the web server and generate validation reports that include our validation.

  7. Verify validation made it on to Middleware validation report

    Look for "Verify symbolic links match"


AccessPointGroup.sh ActivationSpec.sh ApplicationServer.sh CMPConnectorFactory.sh
CacheProvider.sh Cell.sh Defaultbindings.sh DynamicCache.sh
FEP2.sh HostAlias.sh J2CActivationSpec.sh J2CConnectionFactory.sh
KeyStore.sh LDAPUserRegistry.sh MappingModule.sh Node.sh
ObjectRequestBroker.sh RSAToken.sh RefinerData.sh SIBService.sh
SSLConfig.sh SSLConfigGroup.sh SSLInboundChannel.sh SSLOutboundChannel.sh
SecureSocketLayer.sh Security.sh SecurityPermission.sh SigningInfo.sh
SystemOut.sh ThreadPool.sh ThreadPoolManager.sh TransactionService.sh
VirtualHost.sh WebContainer.sh WebserverPluginSettings.sh access_log.sh
access_log_get.sh akamai.sh all.sh
catalog.sh catalog_start.sh

catalog_start_qa4e.sh catalog_start_qa5e.sh checknode.sh checkstatus.sh
clean.sh cleanjacl.sh clip.sh cluster.sh
connection.sh container_start.sh container_start_qa8e.sh container_start_qa9e.sh
convertp.sh cpauth.sh dctm.sh ds.sh
error_log.sh extract.sh generate.sh
get.sh getDeployStatus.sh get_SystemOut.sh getcron.sh
getlogs.sh gettrace.sh gettrace_all.sh grab.sh
hasChanges.sh header_rpt.sh heap.sh httpd.conf.sh
isAppReady.sh j2c.sh jdbc.sh jvm.sh
jvm_all.sh keytool.sh killpid.sh linkPRLive.sh
linklist.sh linkperf.sh linksh.sh listApp.sh
ls.sh mkcatalog.sh mkdir.sh mq.sh
mq_all.sh new.sh nodestatus.sh nodetest.sh
p.sh password.sh post.sh profile.sh
query.sh queryall.sh
queryapar.sh querybatch.sh querydeployment.sh queryencrypt.sh
queryihs.sh queryjms.sh queryndm.sh queryos.sh
queryperms.sh queryperms_batch.sh queryperms_ndm.sh queryperms_web.sh
queryserver.sh querywas.sh querywc.sh querywc_myco.sh
querywcs.sh querywxs.sh remove.sh rm.sh
run.sh serverStatus.sh set_heap.sh setcron.sh
setjvm.sh setup.sh start.sh startnode.sh
starttime.sh starttime_get.sh status.sh statusall.sh
statusbar.sh statusbatchunix.sh statusbatchware.sh statusfoo.sh
statuspend.sh statustest.sh statusunix.sh statusware.sh
statusxls.sh restart.sh sync.sh taxware.sh
trace.sh tweak.sh vh.sh vmstat.sh
web.sh wxs.sh wxsstatus.sh

Failed URL report

  1. s1ad6c
  2. s1ad7c
  3. s1qa4c
  4. s1qa8c
  5. s1qa9c
  6. s1st5c
  7. s1st6c

To regenerate the failed URL report, run access_log_get.sh, which calls access_log.sh

httpd.conf Alias report

  1. s1ad6c
  2. s1ad7c
  3. s1qa4c
  4. s1qa8c
  5. s1qa9c
  6. s1st5c
  7. s1st6c
  8. s1qp7o
  9. s1qp7n
  10. s1qp8n
  11. s1qp8o
  12. s1qp1c
  13. s1at2c
  14. s1at3c

See: httpd.conf.cgi.

To regenerate the Alias report via the commandline, run httpd.conf.sh. Note that the output of the commandline version is used by the middleware validation report

Exception reports

  1. s1ad6a - AD Stage
  2. s1qa4a - QA Stage
  3. s1qa8a - QA Live Cell1
  4. s1qa9a - QA Live Cell2
  5. s1st5a - ST Stage
  6. s1st6a - ST Stage

The above reports represent the top 50 WAS appserver exceptions in terms of occurances, and are generated for each host by a cron job which executes SystemOut.sh nightly at 11:45pm. For some lower level environments the report is also emailed. You can set cron jobs by running something like setcron.sh.

You can generate new reports on-demand by logging on to s1np1a as wasadmin and running...

cd /opt/install/IHS70/htdocs/reports

Note that emails are sent out with each execution. To disable this feature, comment out the sendmail stanza in SystemOut.sh before execution.

Server startup times

To generate the application server startup times report, log on to s1np1a as user wasadmin and run...


starttime_get.sh calls starttime.sh. Output is written to starttime.html.

There is a cgi-bin version, starttime_get.cgi, which you can run via a browser.

xmi:id Configuration IDs

The following list of configuration ids can be used to generate quick wsadmin jacl reports using the showall task...

set bars [$AdminConfig getid /MyConfigId:/]
foreach  bar $bars {
     set foo [$AdminConfig showall $bar]
     puts $foo 
     ### puts "\$AdminConfig modify \$bar { $foo }"

For example...

set wcs [$AdminConfig getid /WebContainer:/]
foreach  wc $wcs {
     set foo [$AdminConfig showall $wc]
     puts $foo 
     ### puts "\$AdminConfig modify \$wc { $foo }"

Configuration IDs...

AccessPointGroup ActivationSpec ActivationSpecTemplateProps ActivitySessionService AdminObject AdminObjectTemplateProps AdminService ApplicationProfileService ApplicationServer Audit AuditEventFactory AuditPolicy AuditServiceProvider AuditSpecification AuthenticationMechanism AuthorizationConfig AuthorizationProvider AuthorizationTableExt CMPConnectorFactory CSIv2 CacheProvider CallbackHandler CallbackHandlerFactory CanonicalizationMethod Cell CentralizedInstallManager CertPathSettings CertStoreList CertStoreRef Certificate Chain CollectionCertStore CompensationService ConfigProperty ConnectionDefTemplateProps ConnectionDefinition ConnectionPool Connector Consumer Cookie CoreGroupAccessPoint CoreGroupBridgeService CoreGroupBridgeSettings CustomUserRegistry DCSInboundChannel DataEncryptionMethod DataSource Defaultbindings Description DescriptiveProperty DiagnosticProviderService DigestMethod DiskCacheEvictionPolicy DisplayName DynamicCache EJBCache EJBContainer EJBTimer EncryptionInfo EncryptionKeyInfo EndPoint EventInfrastructureProvider EventInfrastructureService EveryoneExt ExternalCacheGroup ExternalCacheGroupMember Generator HAManagerService HTTPAccessLoggingService HTTPInboundChannel HTTPOutboundChannel HTTPQueueInboundChannel HTTPTunnelOutboundChannel HostAlias I18NService IIOPSecurityProtocol IIOPTransport IPCConnector IconType IdentityAssertionLayer IdentityAssertionQOP InboundResourceAdapter Interceptor InvalidationSchedule J2CActivationSpec J2CAdminObject J2CConnectionFactory J2CResourceAdapter J2EEResourceProperty J2EEResourcePropertySet JAASAuthData JAASConfig JAASConfiguration JAASConfigurationEntry JAASLoginModule JDBCProvider JFAPInboundChannel JFAPOutboundChannel JSR160RMIConnector JavaProcessDef JavaVirtualMachine KRB5 Key KeyEncryptionMethod KeyInfo KeyLocator KeyLocatorMapping KeyManager KeyReference KeySet KeySetGroup KeyStore LDAPSearchFilter LDAPUserRegistry LTPA License LocalOSUserRegistry" LogFile LoginMapping MQFAPInboundChannel MQFAPOutboundChannel MQQueue MQQueueConnectionFactory ManagementScope MappingModule MessageAdapter MessageLayer MessageListener MessageListenerService MessageQOP MimeEntry MonitoringPolicy NameServer NamedEndPoint NamingContext Node NonceCaching ORBPlugin ObjectCacheInstance ObjectPoolProvider ObjectPoolService ObjectRequestBroker OutboundResourceAdapter OutputRedirect PME51ServerExtension PMEServerExtension PMIModule PMIRMFilter PMIRMFilterValue PMIRequestMetrics PMIService PartReference PluginConfigService PortletContainer PrimaryAdminExt ProcessExecution Property PropertySet RASLoggingService RMIConnector RMQOutboundChannel RSAToken RepositoryService RequiredConfigPropertyType ResourceAdapter RoleAssignmentExt SIBService SIPContainer SIPContainerInboundChannel SIPInboundChannel SOAPConnector SPNEGO SSLConfig SSLConfigGroup SSLInboundChannel SSLOutboundChannel SchedulerProvider SchedulerService SecureAssociationService SecureSocketLayer Security SecurityPermission SecurityRoleExt Server ServerEntry ServerExt ServerIndex ServiceLog SessionDatabasePersistence SessionManager SignatureMethod SigningInfo SigningKeyInfo SingleSignon Stack StartupBeansService StateManageable StatisticsProvider StreamRedirect TAInterceptor TCPInboundChannel TCPOutboundChannel TPVService ThreadPool ThreadPoolManager TimerManagerInfo TimerManagerProvider Timers TokenConsumer TokenGenerator TokenReference TokenValueType TraceLog TraceService TransactionService Transform TransportChannelService TransportLayer TransportQOP TrustAnchor TrustAnchorRef TrustAnyCertificate TrustAssociation TrustManager TrustedIDEvaluator TuningParams UDPInboundChannel URLProvider ValueType VariableMap VariableSubstitutionEntry VirtualHost WIMUserRegistry WSCertificateExpirationMonitor WSNotification WSSCCache.xml WSSDistributedCache.xml WSSchedule WSSecurity WebContainer WebContainerInboundChannel WebserverPluginSettings WorkAreaPartitionService WorkAreaService WorkManagerInfo WorkManagerProvider WorkManagerService X509Certificate

You can generate configuration ID lists by copying any of the following *.xml files...

admin-authz.xml audit-authz.xml audit.xml builtin cell.xml centralizedinstall.xml coregroupbridge.xml fileRegistry.xml hamanagerservice.xml installed-channels.xml multibroker.xml namestore-cell.xml namestore-node.xml namestore.xml naming-authz.xml node.xml perftuners.xml pmi-config.xml pmirm.xml product-info.xml resources-cei.xml resources-pme.xml resources-pme502.xml resources.xml security.xml server-cei.xml server-pme.xml server-pme51.xml server.xml serverindex.xml sib-service.xml systemapps.xml variables.xml virtualhosts.xml ws-security.xml

...from under...


...to /tmp and then running grab.sh

Update scripts

setjvm.jacl Set JVM
settrace.jacl Set Log Detail Level
setThreadPoolManager.jacl Set Thread Pool
setActivitySessionService.jacl Set ActivitySessionService
ports.py Change ports

You can create wsadmin update scripts using showall. For example...

  1. Generate showall output

    set xyz [$AdminConfig showall $MQQueueID]
    puts "$xyz"

  2. Update output with your values

  3. Set variable foo equal to newly updated output

  4. Update values...

    $AdminConfig create MQQueue $JMSProviderID { $foo } "

Stop / Start

Clear temp directories

You can run a variation of cleartemp.sh to clear NDM temporary directories. This script should only be run on lower-lifecycle, non-production environments.


Michael Pareene
Ascendant Technology
Cell: 612.220.8725















SystemOut.sh get_SystemOut.sh