SAS programmers will immediately recognize the importance of reviewing the SAS log to provide insights into what’s going in a SAS program. As a SAS Administrator, however, you rarely have the luxury of being able to sit down with a cup of coffee and read through the server logs to get a true picture of what’s happening across your organization. (I be would be suspect of anyone who actually had that kind of time!) So instead of the alternative (waiting for a user to report problems), there is a free tool at our disposal that will make quick work of the dozens, if not hundreds, of logs that SAS can generate across the various SAS platform servers – the Auditing and Performance Management (APM) package.
I originally wrote about "Auditing and Monitoring SAS Performance" back in 2009 when it was first being introduced and subsequently presented a webinar on "How is my SAS Performing?" . I’m surprised when I talk with SAS Administrators that they are still unaware of the capabilities provided with the APM package, so let’s first start with an example. In the simplest case, a user might submit a basic SAS program that includes a few procedures (or PROCS):
proc sort data=sashelp.class out=WORK.class; by gender age; run; proc print data=WORK.class; run;
The user obviously cares about getting the data sorted and printed. However, an administrator might care about which datasets were used, who submitted the program, which libraries were accessed, which procedures were used, how long each step took, how many resources were consumed (CPU, memory, I/O) and so on. As you can see, even from this simple example, that whenever resources are consumed, administrators care about these details so they can accurately monitor the system, plan for growth and accurately predict future resources.
Unlike the SAS log that a user gets when running a SAS program interactively or in batch, most modern instances of SAS have at least one SAS server running that is able to collect information about what is happening at the server level. So if you take the same example and run this in Enterprise Guide (remember that the work is actually happening on the SAS Workspace Server), a log is generated on the server that you can consume. In fact, you can turn on additional logging so that whenever a user submits a program, you can get metrics information about the submission that could answer questions about who, what, when and where.
What’s in it for me?
As an administrator, you have to decide whether something is of value first before heading down a path to spend time on this over something else. In a nutshell, there are a number of key benefits of APM:
- Supplies real-time status of SAS servers and Web tier and presents the information via the Web
- Issues real time alerts via email
- Generates pre-defined HTML reports (also available as SAS Business Intelligence Reports) on SAS usage statistics such as:
- Usage of SAS 9.x metadata including libraries, cubes, reports, stored processes, and tables
- Information about changes to SAS metadata
- SAS OLAP Server cube reports based on top users, name, and frequency counts
- Workspace server utilization, including detailed metrics for elapsed time, CPU, I/O, and memory usage
- Available for free by request from the SAS Support website for 9.2 and beyond
- Can integrate with external monitoring tools such as Xymon Open Source Monitor, Hyperic HQ Open Source Monitor, IBM Tivoli Enterprise Monitoring Server and HP OpenView
So whether you are planning an upgrade and need information that would help in sizing the new environment, performing capacity planning for capital expenditures, assessing the ongoing state of the servers or just curious, the APM package might be just what the doctor ordered.
OK, so tell me already – how do I get started?
In order to use the SAS APM package, you need to download the package for your environment.
Once you download the zip file (Windows) or tar file (UNIX), extract the file and take a look at this documentation "Audit, Performance and Measurement Package for SAS 9.3 Enterprise Business Intelligence".
Since I can’t go into detail on every aspect of APM here, I'm provided a few helpful links that will get you on your way:
- Overview and Installation Tips
- Understanding SAS Logging
- (Installation for SAS 9.3 ) and (Installation for SAS 9.2 )
- Integrating with External Monitoring Tools
- Using APM for Auditing SAS Metadata Security
- Monitoring SAS Web Application Server
Let us know if you install the APM package and tell us what reports you find most useful for your environment!