Skip to Content
Technical Articles

Available.log : whether Or not to trust?

Purpose / Motivation:

I came across a case where my SAP system was up and running but my ‘available.log’ was showing ‘unavailable’ entry.
Strange as sometimes the available.log is used for auditing (rare). I tried to dig deep of what was going on in the system when the entry was showing as unavailable.

History of available.log :

A little history of this ‘available.log’ works.It is written by the SAP service ‘sapstartsrv.exe ‘. If all processes are “green” the instance is considered to be available otherwise not.
The information is checked and updated every 60 sec and at instance startup and shutdown.The parameter which controls this is :service/max_dia_queue_time (default value is 60 sec).

Tip: available.log is read by no application 🙂

Whether Or Not to Trust :

The obvious question that comes to us is whether or not to trust the available.log at all ?

If not trust the available.log then what to trust?
You can trust the ‘dispatcher’ log –> dev_disp (dev_disp.old). It’s located also under work directory (/usr/sap/<SID>/work).

On the trace file, you will see timestamp at the beginning when application server was last started:

***LOG Q00=> DpSapEnvInit, DPStart () [dpInit.c 777] <<<<

You can also check on transaction ST02 when was last application server restart.

Startup: DD.MM.YYY <Time> <<<<

Conclusion:

All in all in case one wants to check the availability of the SAP system then the best alternatives are:

– dev_disp log
– processinfo.log (you can run the sapcontrol../.. GetProcessList) command and get the output in the processinfo.log
– SM21 entries (SYSLOG)
– transaction : RZ20 to monitor the availability.

If you want to monitor the processes for a longer time please use the following. It write status in file processinfo.log.

sapcontrol -nr <instance nr.> -host <hostname> -repeat <N> <D> -function GetProcessList > processinfo.log

–> Meaning of options:

# -nr <instance nr.> SAP Instance number. For example: DVEBMGS02/JC02/J02, then the value should be 02.
# [-host <hostname>] Host to connect to (default: localhost)
# [-repeat <N> <D>] Repeat Webmethod call <N> times (-1=forever) with <D> sec delay

After this you can compare the processinfo.log with the available.log to monitoring the status of system

Some help I received while exploring:

SAP notes :

#381156 – RZ20: Availability of R/3 Systems
#548624 – FAQ: Performance Monitors, R/3 Syslog, System Availability
#1653278 – Available.log reports SAP is down on running system

 

Let me know in case any queries.

 

Kind regards,

Manjunath Hanmantgad

2 Comments
You must be Logged on to comment or reply to a post.
  • Hello Manju!

    It would show unavailable if any of the processes were not GREEN at the time of the check.

    For example, the Dispatcher was YELLOW with text indicating high load.

    I guess that the message that I am trying to send is: if the “available.log” says “unavailable” it does not necessarily mean that SAP was down or that no one could work. It could also mean high load or another situation where the system might be considered “not 100% available”.

    Cheers!

    Isaías