This chapter describes the setup and usage of the N1 AA Analyzer module.
The Analyzer is a tool for capacity monitoring and planing. The concepts are:
Data recording
The resource consumption in the landscape is recorded.
Locally on every server of the landscape where the Performance Collector daemon is installed and started. For more information about the Performance Collector, see the Sun N1 Advanced Architecture for SAP Solutions 5.2.1 Installation Guide.
Resource consumption, CPU and Memory usage, of every running SRM project. For more information, see the Sun N1 Advanced Architecture for SAP Solutions 5.2.1 Installation Guide.
Data import
A job is scheduled for daily execution in the N1 AA Manager. The resource consumption data is imported from every server in the landscape into the database.
Data analysis
The N1 AA Analyzer provides an engine for the data analysis of the data. This analysis is based on Multi-Dimensional Expressions (MDX) Queries. There are predefined queries delivered along with N1 AA. You can also write your own queries.
Analyzer Customizing
Customizing for N1 AA Analyzer
Administration ⇒ Analyzer ⇒ Customizing
All changes are optional
The entries with the naming convention servergroup.analyzer.constants.constantname are passed to the MDX Queries. Where servergroup is a placeholder for none or an existing server group, and constantname is a placeholder for any name you choose.
The predefined constants delivered along with N1 AA are described in N1 AA Analyzer: Server Group Utilization.
You may add entries here, if you need them for your own MDX Queries. For more information, see Views.
N1 AA Analyzer specific customizing is done here. The following parameters are supported:
Table 3–1 Analyzer Parameters
Parameter |
Description |
Example value |
---|---|---|
none.analyzer.n1data.maxsizemb |
Maximum size of the local Performance Collector file in MB. This file, /var/opt/SUNWn1aa/n1data, exists on every N1 AA client. The data import job reorganizes this file if it exceeds the customized size (log rotation). The parameter none.analyzer.n1data.maxsizemb is server group spanning valid. This means that the value is set for all server groups.If the parameter servergroup.analyzer.n1data.maxsizemb exists, it overwrites the parameter none... within this specific server group. |
5 |
Import resource consumption data collected by the Performance Collector on the N1 AA Clients into the database
Administration ⇒ Scheduling
Optional - but recommended
Even if you can trigger a data import into the database manually, see Maintenance, it is easier to schedule a regular data import job in the background. To do this, create an N1 AA scheduling job by using the following properties:
Name = AnalyseDataImportJob
Use this exact name.
Class = com.sun.web.admin.n1aa.analyzer.AnalyseDataImportJob
Persistence = Persistent
Start = Enter the date and time this job is to be first executed.
Interval = Recommended value: 86400 (daily import).
The data import is executed for each physical host that has the Data Import option enabled, regardless of the server group. For more information, see Customizing. Note that within this execution, existing repository information is assigned properly, while new repository information is automatically created using default properties which you have to maintain. Refer to the following table:
Table 3–2 Repository Information
New repository information |
Behavior |
Default properties |
---|---|---|
New CPU type name or speed |
A new CPU type is being created. See CPU Types. |
Normfactor = 1.0 |
New SRM project |
A new component is being created. See Applications and Components. |
Name = SRM project Application = None |
Reorganization of resource consumption data
Administration ⇒ Scheduling
Optional - but recommended
Having too much informations in the N1 AA Analyzer cube (historical resource consumption data) slows down response times. Therefore, old data can be moved to an archive table contained in the N1 AA database, see Maintenance. It is your choice if this should be done periodically without user interaction. All you have to do is create an N1 AA scheduling job using the following properties:
Name = ArchiveUnarchiveJob
Class = com.sun.web.admin.n1aa.analyzer.ArchiveUnarchiveJob
Parameter = a "timestamp '-infinity'" "timestamp without time zone 'now' - interval '12 month'"
Use this exact string beginning with the character a. This means, that all data that is older than 12 months is archived. You may change the period of 12 months to a shorter value, for example 6 months, if your data growth is very high.
Persistence = Persistent
Start = Enter the date and time this job is to be first executed
Interval = Recommend 86400 (daily reorganization)
Maintain CPU normalization factors.
Administration ⇒ Analyzer ⇒ Customizing
Mandatory - but can be done or changed at any time later on.
The CPU types are automatically recognized in your landscape and corresponding entries are automatically created for each new CPU type as performance data is imported. Normally, there is no need to create or delete an entry manually. However, it is important to maintain the proper CPU normalization factor after a new entry was created automatically.
CPU type: Type of the CPU as recognized and applied by the N1 AA Analyzer.
Normfactor: New entries created automatically by the N1 AA Analyzer data import job have the default value of 1.0. Adjust this value to reflect the relative CPU throughput as compared to the existing CPUs in your landscape.
The outcome of normalization is that N1 AA stores all measured CPU utilization. Based on the Normfactor of the CPU type, N1 AA calculates and also stores normalized CPU seconds. In the simplest case, this is consumed seconds * Normfactor. In this way, MDX queries can be defined based on CPU seconds or normalized CPU seconds. See the predefined MDX Queries as an example of how to use either CPU seconds or normalized CPU seconds.
Exercise care when deleting CPU types. You lose all related resource consumption data that has been collected by the Performance Collector on the N1 AA Clients and imported into the database.
Maintain applications in your N1 AA Analyzer landscape
Administration ⇒ Analyzer ⇒ Customizing
Mandatory - but can be done or changed at any time
Maintain the applications of your landscape. An application is a group of components measured by the N1 AA Analyzer, see Components.
For example, the SAP system D01 is maintained here as the application SAP-D01. Later, you assign measured components to the application SAP-D01: An oracle database, an SAP central instance, and one or more SAP application servers.
The assignment of components to applications has an impact on how your MDX queries work. This impact is because each of them is based on the component/application model. For more information, see Views.
Be careful when deleting an application. You lose all subsequent components and all related resource consumption data that have been collected by the Performance Collector on the N1 AA Clients and imported into the database. In order to keep these components, assign them to another application.
Maintain components of your N1 AA Analyzer landscape.
Administration ⇒ Analyzer ⇒ Customizing
Mandatory - but can be done or changed at any time
Components are automatically recognized as running SRM projects in your landscape. Corresponding entries are created for each new component as performance data is imported. Normally, there is no need to create or delete an entry manually. It is important to maintain the following properties:
Component: Name of the component, that is displayed in the GUI. The default name, as generated automatically by the data import job, is identical to the SRM project name. You are free to create meaningful names. For example, SAP-D01-CI for the central instance of the SAP system D01.
Application: New components, as generated by the data import job, are assigned to the default application None. Assign the component to an existing application. For example, assign the component SAP-D01-CI to the application SAP-D01.
SRM Project: This is the SRM project name that was measured. It is assumed, that the component is always started and running in this SRM Project. You do not have to modify this project, as long as this reflects reality.
You are free to assign and reassign components to applications in any way. However, the assignment does have an impact on how your MDX queries work. This is because each of them is based on the component/application model. For more information, see Views.
Best Practice
Components that are unique in your landscape. For example, the central instance of SAP system D01.
Start them in a dedicated, landscape-wide unique, SRM-project. In this way, you measure the resource consumption of this component of the landscape separately because SRM-project = component.
Assign the component to an application other than None.
Components according to the default SRM projects: system, default, and user.root. You can always find these components because the default SRM projects are always running.
Assign them to the application None.
Additional server-bound system components. For example, a BMC Patrol Agent.
Default behavior: The load is included in one of the default SRM projects. Therefore, no additional component is be available.
If you would like to measure the load separately, start those components in a dedicated project but let the new component be assigned to the application None.
Deleting a component erases all related resource consumption data that has been collected by the Performance Collector on the N1 AA Clients and imported into the database.
Once performance data (CPU and memory consumption of every component on every host of the N1 AA Landscape) are imported into the database, you can use MDX queries in the N1 AA Analyzer for reporting and graphical illustration.
You can use the predefined MDX queries delivered along with N1 AA, but you can also write your own queries.
Reporting and graphical illustration of resource consumption. Capacity planing. Create, modify or extend reporting functionalities (MDX queries).
Server group⇒ Analyzer ⇒ Views
Daily business
MDX is an abbreviation for Multi-Dimensional Expressions. This is a joint specification of the XML for Analysis founding members. MDX was created to query OLAP databases. MDX has become widely adopted within the realm of analytical applications.
To learn more about MDX, visit the Mondrian OLAP server home page at http://mondrian.sf.net. They have a comprehensive MDX specification including examples on how to write MDX queries.
The N1 AA Analyzer comes with some predefined MDX queries allowing you to perform the most common analyses on your system landscape.
These queries are read-only, you can neither modify nor delete them. These queries are available in every server group.
View name |
Description |
Benefits |
---|---|---|
CPU - Server group utilization |
Get a CPU utilization overview of your server group. Key utilization values are displayed and the load is qualified. The qualification itself is based on threshold values that are customizable in the N1 AA. See Basic Setup. Note – Find details of this query and especially the meaning of the customizable parameters in the Appendix A, MDX Queries. Input/Usage
|
Quickly identify CPU bottlenecks or oversupply. |
MEM - Server group utilization |
Get a memory utilization overview of your server group. Key utilization values are displayed and the load is qualified. The qualification itself is based on threshold values, that are customizable. See Basic Setup. Note – Find details of this query and especially the meaning of the customizable parameters in the Appendix A, MDX Queries. Input/Usage
|
Quickly identify memory bottlenecks or oversupply. |
CPU - Application load distribution |
CPU consumptions of all components belonging to the specified application are displayed in relation to each other. Data basis are the normalized CPU seconds in the specified time frame. Input/Usage
|
Find the main CPU consuming components of an application. |
MEM - Application load distribution |
Memory consumptions of all components belonging to the specified application are displayed in relation to each other. Input/Usage
|
Find the main memory consuming components of an application. |
CPU - Server load |
Display the used CPU seconds of every component along the specified timeline. Input/Usage
|
Find the CPU capacity situation on the server. |
MEM - Server load |
Display the used memory of every component along the specified timeline. Input/Usage
|
Find the memory capacity situation on the server. |
CPU - Server load composition |
CPU consumptions of all components running on the specified host are displayed in relation to each other. Data basis are the CPU seconds in the specified time frame. Input/Usage
|
Find the main CPU consuming components running on the server. |
MEM - Server load composition |
Average memory consumption, in bytes, of all components running on the specified host are displayed. The None.Free value represents the free physical memory capacity and can be negative. Input/Usage
|
Find the main memory consuming components running on the server. |
CPU - Server load simulation |
What-If Analysis: Simulates the consolidation of application components on a target server. The output graphic displays the resulting CPU utilization on that server. The available server capacity is displayed as a horizontal line. All are based on the normalized CPU consumptions. Input/Usage
|
Reduce Risk: Simulate capacity situation before application consolidation. |
MEM - Server load simulation |
What-If Analysis: Simulates the consolidation of application components on a target server. The output graphic displays the resulting memory utilization on that server. The available server capacity is displayed as a horizontal line. All are based on the measured memory consumptions. Input/Usage
|
Reduce Risk: Simulate capacity situation before application consolidation. |
CPU - Server load simulation (incl. base load) |
Same as CPU – Server load simulation. The difference being that all component loads of application Noneexcept the None.Free value are left on the selected target server as some kind of base CPU consumption. Input/Usage
|
Reduce Risk: Simulate capacity situation before application consolidation. |
MEM - Server load simulation (incl. base load) |
Same as MEM – Server load simulation. The difference being that all component loads of application None except the None.Free value are left on the selected target host as some kind of base memory consumption. Input/Usage
|
Reduce Risk: Simulate capacity situation before application consolidation. |
You can create and modify your own MDX queries. See Appendix A, MDX Queries for detailed information.
Check N1 AA Analyzers consistency
servergroup ⇒ Analyzer ⇒ Healthcheck
Daily business
The healthcheck monitor provides a status overview of your landscape. The healthcheck monitor displays the status of the Performance Collector daemons that are located on the N1 AA clients. The healthcheck monitor also shows if the data that has been recorded and imported into the N1 AA database, contains gaps or not.
Based on the health of these checklist items, the following state and data basis alerts can be displayed.
Table 3–4 States and Alerts
State |
Description |
---|---|
Updated timestamp |
All okay – The Performance Collector daemon is running and data is written at timestamp. |
|
Minor – The Performance Collector daemon is running and data is written locally at timestamp, but no data is imported into the database. This could be a temporary problem that occurs prior to your first data import. However, check whether data imports are scheduled correctly. For more information, see Basic Setup. |
|
Major: The Performance Collector daemon is running and data is written locally for the last time at timestamp, but the data in the database is older than one day. Check whether data imports are scheduled correctly. For more information, see Basic Setup. |
|
Critical: Host is up, but the Performance Collector daemon has not written any local data since timestamp. There is a problem with the daemon. For more information, see the Sun N1 Advanced Architecture for SAP Solutions 5.2.1 Installation Guide. |
|
General: Host is down or Performance Collector data cannot be accessed. Since connection attempts are unsuccessful, no further information about the daemon state can be given. There could be a problem with the host, the daemon, or the network. For more information, see the Sun N1 Advanced Architecture for SAP Solutions 5.2.1 Installation Guide. |
Table 3–5 Data Basis
Data Basis |
Description |
---|---|
Start at timestamp End at timestamp |
All okay: Data basis, in the database, extends from timestamp to timestamp. |
Gap from timestamp to timestamp End at timestamp |
Critical: Data basis, in the database, extends from timestamp to timestamp, but contains gaps from timestamp to timestamp. You will discover these gaps when executing analyses and displaying results. For more information, see Views. |
Invalidate N1 AA Analyzer cube data cache
Administration ⇒ Analyzer ⇒ Maintenance
Exceptional circumstances
You can use the Invalidate button to clear the N1 AA Analyzer cube data cache in memory. This cache is built up during execution of N1 AA Analyzer analyses and significantly increases analysis performance. It is valid only while no change happens to the underlying N1 AA Analyzer data and repository data in the database. Generally, the N1 AA Analyzer does all the cache management itself, so there is no need to invalidate it manually. Only use this function in case you had changed the N1 AA database manually and want to get rid of the memory-mirrored old cache data.
Manually archive or unarchive historical N1 AA Analyzer data
Administration ⇒ Analyzer ⇒ Maintenance
Weekly or monthly business. Only needed if no reorganization is already scheduled as job in the background.
By entering a start and end timestamp and pressing the Archive or Unarchive button, a reorganization is executed through a newly created ArchiveUnarchiveJob job. In general, keeping the N1 AA Analyzer database small, offers maximum analysis performance. However, besides all regularly scheduled reorganization runs you can move data into an archive table (technically between database tables ResourceConsumption and ResourceConsumptionArchive) without limitation. Additionally, to keep the database clean, you can export or import the archive and vacuum the database using PostgreSQL database tools. Note that while an ArchiveUnarchiveJob is running, both the Archive and Unarchive buttons are disabled.
Manually import N1 AA Analyzer data
Administration ⇒ Analyzer ⇒ Maintenance
Daily business. Only needed if no import is already scheduled as job in the background.
By clicking the Execute button, an N1 AA Analyzer data import is started. The data, that had been previously written locally by the performance collectors, is imported into the N1 AA database. If a regular data import is not scheduled by a persistent AnalyseDataImportJob job, a new transient job is created and executed automatically. For more information, see Scheduler. Otherwise, the persistent job is used for this execution. The advantage of this behavior is that all log lines of this manual data import job are appended to the jobs normal log along with the scheduled job lines and saved to the database. Note that while an AnalyseDataImportJob job is running, the Execute button appears disabled.