• Print  |
  • Feedback  |

FOCUS AREAS

SAS® 9.2 Audit and Performance Measurement

Frequently Asked Questions and Customization Tips

The following information is provided to help customers and system administrators with installation, configuration or customization questions related to the package features and capabilities.

Is there a description of the package elements and processing?

The appendix in the package documentation includes a description of the key driver programs and data models used within the package. The following diagram depicts the relationships and processing for the status, performance and audit reports. .


What is the current version of the package for UNIX?

The most current package is December, 2011. The complete list of updates and enhancements are described in the revision_history.txt file. Updates include optimizations to processing performance logs, xml processing and minor fixes.

Previous package enhancements and updates include:


What is the current version of the package for Windows?

The most current package is November, 2011. The complete list of updates and enhancements are described in the revision_history.txt file. Updates include optimizations to processing performance logs, xml processing and minor fixes.

Previous package enhancements and updates include:


How is the package licensed and supported?

The package is distributed through Support.Sas.Com under the Enterprise Management Focus Area. There are no licensing requirements or fees associated with using the support. The features are distributed in sample form and we hope customers will optimize and enhance the package for local site installation requirements.

Customers may contact the Enterprise Management R&D team for Support and Feedback.


Can the package be customized after installation?

Yes! The package as supplied contains numerous static reports for performance measurement as well as dynamic reports for status and auditing. The package was designed specifically using well known SAS language features, it is expected that customers will tailor the reports for the local site environment.


What is the performance overhead for the package?

The performance implications for SAS servers with the package enabled generally adds one to two percent performance overhead. The change to the SAS server environment is to emit a new performance log file, where there are two log lines per SAS DATA step or PROC step and a few log lines for initialization and termination of the server.

In a server with a significant ELAPSED or CPU time profile, the additional log lines are marginal in the overall server performance, less than one percent. A server or job that have many small DATA or PROC steps AND millisecond ELAPSED or CPU time, may observe a slightly higher performance impact, closer to the two percent.

The collection of the performance logs and generation of the audit and performance reports are executed in a BATCH environment and therefore does not perturb the performance of the SAS Enterprise BI environment.


Are there any samples for configuring the package for a Windows HTTP/Application server?

The setEnvLogs.js javascript file is provided to minimize the number of configuration changes required during rendering of the HTML reports. In this example, the HTTP and Web Application server are hosted on a node: "webnode1.sas.com", the Web Application Server is using port "9080". The values customized in setEnvLogs.js are:

	/* Set the local http server address */
	setEnvArray[0] = "http://webnode1.sas.com:80";

	/* Set the local path for html source files */
	/* NOTE: The physical path for the directory location on the webnode1 node  */
	/* is:        C:\Program Files (x86)\IBM HTTP Server\htdocs\en_US           */
	setEnvArray[1] = "ebiapm92";

	/* Set the SAS Web Application Server URL */
	setEnvArray[2] = "webnode1.sas.com";

	/* Set the SAS Web Application Server Port */
	setEnvArray[3] = "9080";

Additionally, the setEnvLogs.bat program contains a definition for a HTTPServerPath, using the previous configuration, the setEnvLogs.bat value would be:

	# Set HTTP server path host usage reports
	# Usage reports will be copied from the sasUsageReportDir to this location
	HTTPServerPath=C:\Program Files (x86)\IBM HTTP Server\htdocs\en_US\ebiapm92


Is there a way to send email alerts for failures?

Yes, the package includes support using the SAS EMAIL access method to emit email alerts for status failures. Refer to the documentation, the section titled "Operational Reporting" for configuration requirements to enable email alerting features.


Does the package integrate with enterprise system monitoring products?

Yes. The package includes the capability to emit status alerts into third-party enterprise management packages. Third-party packages include the Windows Event Viewer, Xymon, HP OpenView and Tivoli Enterprise Console. Refer to the documentation, the section titled "Operational Reporting" for configuration requirements to enable third-party alert features.


What fixes are included in the maintenance updates described in the documentation?

The package documentation describes additional fixes that may be required for the support to execute properly. The fixes include:


Does the package require the use of "common logs" when configured with the SAS Configuration Wizard?

No, enabling the SAS Configuration Wizard common logs feature directs the default SAS application server logs to a common location. The package instructions and configuration direct the audit and performance logs to a unique directory. Using a unique location for the audit and performance logs ensures that current site configuration settings are not affected by the deployment of the package.


What userid should be used for the META_USER= value?

The META_USER value is required to be a valid host account with approporiate permissions to execute programs on the SAS application server node. Additionally, the host account must be defined as a Metadata Server user account, with credentials to execute metadata queries. The "sas installation userid" or "sasdemo" accounts may be used as the META_USER account.


What can cause the check_server_status.sas, ValidateServer process, to fail and leave the process "hung", ie: a running process

When configuring the meta_user and meta_pwd options in the setEnvLogs.sas program, make sure to choose a host userid and password. This userid and password combination cannot contain an @ sign in either value. This behavior has also been observed with userids that contain special characters like an underscore (_) symbol.

To debug this condition, the ebiapm92/runSASReportsLog/check_server_status.log file will contain an echo of the ValidateServer command invocation. Copy the contents of this one line and add the -debug option to the end of the line and execute the command to try and capture any additional error messages.

An example of the invocation with debug and the error message produced by the @ usage:

     C:\Test>"C:\Program Files\SAS92\SASPlatformObjectFramework\9.2\ValidateServer" -msp "host=localhost  port=8560 userid=sasadm@saspw password=mypwd domain=DefaultAuth reposid=A0000001.A5A1A3W7" -sn "SASApp - Connect Server" -cred "userid=sasadm@saspw password=mypwd domain=DefaultAuth" –debug

     Exception in thread "main" java.lang.NullPointerException
        at java.util.StringTokenizer.(Unknown Source)
        at java.util.StringTokenizer.(Unknown Source)
        at com.sas.management.util.Util.tokenize(Util.java:201)
        at com.sas.management.util.Util.tokenize(Util.java:127)
        at com.sas.management.servers.validator.commands.ValidateServer.main(ValidateServer.java:877)

Why are some elapsed time values negative in the artifactusagedetails.sas library for Workspace Server sessions?

The Workspace server performance log names include a date and process id string to ensure the server logs are unique for each server instance. On active servers the "process id table" may reuse process ids within the same day. In these instances, the workspace server performance log will contain multiple server session data within the same log file. The post-processing of logs results in some negative elapsed time values.

It is important to emphasize that the resulting usage reports for the Workspace server are in fact correct, as the reports are not using the elapsed time metric for reporting.

The issue is resolved in the package dated December 17, 2009. Customers that wish to zero out the negative elapsed time values may download the sample SAS Update Artifactusagedetails program. Instructions for updating the artifactusagedetails library are included in the sample.


Does the package support multiple SASApp environments or multple machine deployments?

Yes, the package released in Janary, 2010 includes support for multiple SASApp and machine EBI deployments. The features are enabled by customizing unique setEnvLogs_*.sas programs, as described in the installation and configuration instructions for the package.


Is there a way to optimize the performance of the query and reporting features in the package?

Yes, the package includes two utilities, SASEnvironment/SASCode/Jobs directory, to facilitate performance optimizations for the SAS data libraries. The ebiapm_archive_data.sas program allows administrators to archive reporting data and the ebiapm_create_indexs.sas program indexes the key SAS data sets used by the package.


Why do the QueryServer and AuditReports storedprocess data appear in some reports?

The QueryServer and AuditReports SAS storedprocesses are used by the package for generating the status and audit metadata reports.
Where the QueryServer and AuditReports stored processes appear in a report, a site may modify the detailed report .sas program and delete those observations.

Alternately, a site may create a custom SASApp StoredprocessServer application to execute the two reports. If you would like directions for creating a custom SASApp server context, REQUEST DOCUMENTATION through our team email support.


Why do the StoredProcessServer logs contain an error message: ARM Application data not available?

The StoredProcessServer emits ARM information for internal ServerAdministration events associated with server administration actions. These events are classified as performance related events but do not contain metric data, therefore, an error message is emitted. These messages may be safely ignored. The text of the message will be similar to:

     2010-04-19T15:40:02,977 ERROR [00006305] 154:user@DOMAIN - ARM Application data not available.

To prevent the message from being emitted, sites may modify the server logconfig.xml file, in the StoredProcessSever configuration directory, modify the Perf.ARM.IOM.StoredProcessServer.ServerAdministration, logger defintion, by adding an additivity="false" statement. For example:

   <!-- Server Administration Message Logger -->
   <logger name="Perf.ARM.IOM.StoredProcessServer.ServerAdministration" additivity="false">
      <level value="Debug"/>
      <appender-ref ref="Events"/>
      <logger>

Additionally, a similar message my be observed in the MetadataServer log. The logconfig.xml file, in the MetadataServer configuration directory may be modified by updating the Perf.ARM.IOM.OMI.ServerAdministration logger defintion. For example:

   <!-- Server Administration Message Logger -->
   <logger name="Perf.ARM.IOM.OMI.ServerAdministration" additivity="false">
      <level value="Debug"/>
      <appender-ref ref="Events"/>
   </logger>

Why do the Enterprise Guide SAS logs contain messages related to MVA_DSIO.OPEN_CLOSE and _DISARM? How can these messages be eliminated from the SAS log for EG users?

The additional messages are a result of enabling ARM performance metrics for the Workspace Server environment. The performance metrics are used to capture data to create performance and usage reports on SAS PROC and DATASTEP execution for the environment. Sites have two options for minimizing the details emitted to the SAS log.