Small guide of best practices for SAP monitoring
If you are an SAP basis engineer, system administrator or HANA database administrator working in IT department of a company which runs SAP systems, you are expected to keep these mission-critical systems always up and healthy , minimize downtimes & service outages and avoid corresponding business loss.
Monitoring SAP systems is a daily routine, checking many parameters every day for one or multiple systems is a time consuming job , but it becomes easier when you know what to check and when you use helpful tools.
We’ve created a small guide for good SAP monitoring practices, an idea we hope will help you in your daily work.
And also how you can leverage using our real time cloud monitoring software
“Novaline – System Guard” to make it much easier . And how you can have real-time SAP monitoring on your mobile device.
- Get alerted when SAP servers go down – SAP Downtime Monitoring
Downtime monitoring is an important part of your job, there can be a system crash, stopped or failed process on the operating system which makes your serves down.
Minimize these unplanned downtimes by using an alert system which checks your server’s status regularly and informs you.
Actually you can just write a little script to ping your server every minute and email you if server shuts down. But it’s not a good solution, because servers can get into states where they respond to all requests correctly but extremely slowly, or the server in which your script is running can also go down.
Our cloud service System Guard has a cloud side which regularly checks whether your systems are up and answering , also checks servers are responding in a acceptable response time according to the automatically created statistics.
- Get alerted when SAP servers inaccessible – SAP Avaibility Monitoring
Use an alert system to be notified when there is a network / firewall access problems which blocks SAP server to connect internet & makes server offline.
Using a cloud solution which runs outside of your company’s internal network to get alerted when server is not accesible is helpful to catch this kind of connectivity problems and system outages.
System Guard’s cloud side alerts you when there is an access problem occurs to your SAP systems.
- Get alerted when SAP servers slow down – SAP Performance Monitoring
How to find out cause of SAP system slowdown ?
A slowdown in your SAP system can be caused from miscellaneous issues,
To check operating system variables use SAP transaction ST06.
You can check CPU, Memory utilization & swaps, Disk utiilization, Database response time.
If you see something abnormal like a high CPU usage here,
Choose menu Detail Analysis > Go to > Current Data
Here you can analyze operating system variables and compare current state with previous 24 hours.
It helps you see what changed on last 24 hours.
But I think every performance problem causes from an process on SAP already.
If you don’t use SAP server for other softwares running simultaneously, then anyway you’ll need to check work processes. See section about transaction SM66 below to find reason quicker.
How to monitor SAP performance accurately ?
To understand when is an SAP system is responding slow, first you should know normal operating behaviour of SAP system with baselines.
Normal range of response time of an SAP system varies any time, for example an SAP server can be busier and slower in daytime according to the night hours, also busier in working days according to the weekends.
Another state is that usually SAP servers are slower at the end of months because of FI / CO closing operations & accounting departments keeps SAP busy.
You can just set an alert in SAP CCMS ( transaction RZ20 ) which sends you an email when CPU usage is over 70 percent. But you would probably receive hundreds of alert emails in daytime, but no emails out of work hours , because this is a fixed threshold not depends on any statistical data.
Gathering correct statistics of system metrics like response time over time can create system baseline, which shows what is normal operating behavior and what is not accurately.
System Guard creates statistics of SAP systems automatically by measuring response time and other metrics over the time, creates automatic performance profiling and gives you a graphical representation on its dashboard , even on your mobile device.
System Guard uses smart thresholds ; it creates alerts when metrics fall outside of normal operating baselines, by this way it sends you alerts when there is really a performance degradation without using any fixed threshold value.
Also it detects reason of the slowdown automatically before creating an alert , detects which user, ABAP program is slowing the system down.
If you have SAP Solution Manager installed you can also find powerful and detailed statistical data and graphics with Fiori & UI5 apps there.
- How to solve SAP Performance Problems ?
if you are looking for an automated solution to improve SAP performance or accelerate slow SAP reports or scan ABAP codes for performance vulnerabilities,
check out “Novaline – ABAP Optimizer ” service.
With just a click , You can produce accelerated & performance optimized version of an ABAP program or RFC function and install it into your SAP system.
- Check application servers and load distribution
Use SAP transaction SM51 to check active SAP application servers.
To make load balancing on active SAP application servers, SAP dispatcher handles user requests from SAP GUI or browser / ICM and distributes to work processes in available application servers.
- Check work processes
To monitor work processes, pick an application server in transaction SM51 and log in to it. Then use SAP transaction SM50 to display work process list on that server.
You will see work processes in different statues like “running” , “waiting”, “stopped” so it’s visible that how many work processes are occupied.
If a work process is in running status, you can see current the action in the “Action” column, also you can see which database table is being worked on in “Table” column, which ABAP program is running in the process is in “Report” column as above picture.
If all the processes are occupied then next user actions will wait until a process becomes available, it can create slowdown a problem if there is no free process.
So if you see a user / program is keeping processes for long time than you need the understand why. Check “Time” column with red indicator to see long running processes.
If you need to cancel a process you can use menu Process > Cancel Without Core option.
In “Type” column you will see type of work processes. Quantity of dialog work processes which you see as “DIA” should be enough for users.
System Guard presents statistics and current active response time as a graphic on your mobile device or web monitor as below. So you can easily see whether there is a insufficiency or not. You don’t need to check a server which seems already okay.
- Use Global Work Process Overview Screen – SAP Transaction SM66
For monitoring work processes system-wide without logging into every application server one by one use SAP transaction SM66, it’s a practical transaction code.
It’s a quicker way to find out the potential cause of a system performance problem because all the work processes on all SAP application servers will be on your screen.
You can display all application servers, their statues, CPU and requests, users and and clients logged on and the report which is running.
- Check Background / Batch Jobs – SAP Job Monitoring
For monitoring SAP background jobs use transaction SM37.
( Also transaction SM36 is used to schedule new background jobs )
You will see filter for job status, “planned”, “scheduled”, “released”, “ready” , “active”, “finished” and “canceled”.
Select all statues , enter “*” as user name and job name and select date interval as today.
Display all jobs , check the ones ended with errors, not completed or terminated. Also check jobs which were running for long time , usually more than 2 hours.
For recurring batch jobs , usually every occurance should take a near time duration. If one occurance lasted sensibly longer than average duration than it signs a problem.
Job failures can happen because of many different reasons.
Click “job log” to display logs, or “Spool” button to display generated messages & spool data by that job. If a job terminated you can also check transaction ST22 to see detailed error log.
System Guard follows every job in SAP system as you do in transaction SM37.
Sends an alert when a monitored job produced an error.
Also tracks time durations of recurring jobs automatically to find an average time duration.
Sends you alerts when a job runs longer than it supposed to be, You can display detailed notification of job log or time incosistency.
- Check Dump Messages – SAP Transaction ST22
While an ABAP program is running, if something goes wrong and if it can’t be handled in program then Dumps occur. SAP automatically creates a detailed Dump message which includes error details like error description, user, program, call sequence , even chosen variables in program. Dump messages usually can be fixed by ABAP programmers or by applying required SAP notes or updates.
You can display all occured Dump messages in SAP transaction ST22, Just press “Today” button or enter a time interval.
Double click on a Dump message to display error details.
System Guard checks dump message occurances on real-time and sends an alert to you which includes user, program, time and dump error analysis text. It can be configured to receive alert immediately or once in a day.
Also System Guard sends another critical alert when a dump message starts to repeat very frequently. This usually happens when a change request transported to SAP production system and effected some critical programs, this means that program must be fixed immediately.
In a crisis situation caused from recurring dumps, until the problem is solved you can lock the causing transaction for new users by using SAP transaction SM01.
It will prevent other users run the transaction and create new Dumps on system.
- Check Transport Errors – SAP Transaction STMS
TMS means “Transport Management System”. For business requirements, developers & consultants can change SAP programs or add new customizations & programs to the system. All these changes are made in development systems, usually tested qa (quality assurance) systems then finally transported to the SAP production systems via Transport Management System with SAP transaction STMS.
If an error occurs while transporting a request to SAP production system it can effect programs and cause Dumps as you see in transaction ST22.
Use transaction STMS to check queue of SAP change requests for production system.
In first screen in STMS transaction usually you will see Development, QA ( Quality Assurance ) and Production systems as below :
Double click on Production system , usually system id includes a “P” as above picture.
You can display the requests & transports produced errors as below :
To see error details select a request and press “Logs” button on toolbar.
This is not a problem you can solve by yourself, contact the developer & consultant who created this request in SAP to fix this error.
Never move a request in past to the production system, it causes all of objects in that request to return the older version, this can cause hard problems to solve.
System Guard checks records in transaction STMS for you and sends an alert an error happens. You can see erronous transaport request number , user who transported it and error details on your mobile device or in emails.
- Check Locks – SAP Lock Monitoring
When a user changes an object in SAP , locks are used to prevent other users to change same object simultaneously. This is required for consistency.
Imagine an SD invoce document , while a user is changing that invoice another user can’t .
When first user enters to invoice to change it , a lock record occurs and appears in transaction SM12.
For example, one of the usual messages you will hear about is “The plant data of the material … is locked by the user …” which happens when automatic goods movement failed and lock wasn’t released & deleted because of a program error .
To display current lock records in SAP go to transaction SM12 , put “*” in field User Name and execute.
Sometimes lock records are not deleted for long time because user loses connection to the system before releasing the lock. You can delete old locks manually by pressing delete button on toolbar.
Also sometimes some transactions / background jobs produce too many locks because of programatic mistakes. This causes to fill limit quantity of locks in the system and blocks other users to work.
“SAP lock table overflow” is the error message you will receive in this state.
To check how many percent of Lock Record limit is used Go to menu Extras > Statistics on the first screen of SAP transaction SM12 And consider “Maximum Number of Lock Owners” , “Maximum Fill level” and “Current Fill Level” fields as below :
In a crisis situation caused from lock table overflow, until you find out why lock entries are increasing and solving the problem you can lock the causing transaction for new users by using SAP transaction SM01.
It will prevent other users run the transaction and create new lock entries.
System Guard monitors lock records for you and notifies you when a lock records waits too long time or quantity of lock records increase in a significant level.
- Check Backup Logs – SAP Backup Monitoring
In SAP transaction DB12 you can see when was last successful backup, or overview backup history.
System Guard checks DB12 daily and sends an alert when there is no backup in previous day.
- Check SAP system logs when needed – Transaction SM21
The SAP System logs include all system warnings, errors, process messages, failed login attempts. You can check it to understand when there is something not clear happened.
Fill date fields and press “Reread System Log” button as below
You will see all system logs for different kind of incidents in system :
System Guard includes system logs for a certain period visible on mobile device and monitoring page to help analyzing situations.
- Check Authorization Changes – Real-time SAP Authorization Monitoring
Check which users have new authorizations assigned, be aware of authorizations of users in SAP system to be ready to future audits.
Follow critical authorizations like SAP_ALL, SAP_NEW and other critical authorization roles & profiles belong to your company. This is important for SAP application security.
In SAP , authorization change reports can be viewed in transaction SUIM, also If you are using SAP GRC you can already get great reports from there.
To see new authorizations assigned to a user go to menu item Change Documents > For Users
Also you can use “For Roles” or “For Profiles” options to get a report of users who got a specific authorization role / profile in a time period.
System Guard follows every authorization change in SAP system 24 / 7 and sends an alert message including user who changed the authorization, users who are affected by that authorization change and which authorization role / profile was given.
You can also set alerts for critical authorizations you choose.
- Check Parameter Changes – SAP Security Monitoring
Check SAP system parameter changes. You can display changed SAP profile parameters in a time interval in transaction TU02 as below :
Also you can use SAP transaction RZ11 to display that parameter and read documentation about it :
We hope this small blog was useful for you,
Thanks reading !
Novaline Information Tech.
( This is a cross posted blog – For original source please click here )
Our compay use the solman to configure the system mornitoring and job mornitoring ,if haves issues will send email to us and it's free.
This product is not free ,that's the point. customer need to buy.
Hi, off course , also you can code an mailer tool in ABAP yourself which checks situations above regularly.
Nice presentation!, i like it!
Good for beginners in Basis
Thanks for sharing - good overview.
In addtion to STMS: I prefer to use transaction STMS_TRACK .
Benefits of STMS_TRACK:
However - you have to setup a so called system-list once (e.g. see https://answers.sap.com/questions/11610936/define-system-lists-in-stmstrack.html )