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> <<<<
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 :
Let me know in case any queries.