Hi admins,

 

as technology consultant I came across a lot of confusion about topics like host agent, DAA, SMD, sapstartsrv and sapcontrol.

For what all this services are used? Which information is delivered from which one? Do I need them? When should I restart which service?

I will clarify all this questions in this blog to avoid future confusions.

All the communication threads are using the sapstreams (Unix: UNIX-Domain-Sockets / Windows: Windows named pipe).

For more information use the sap help.

 

 

Host Agent

Description value
Installation Will be installed with every SAP system
location /usr/sap/hostctrl
update extract *SAR package from SMP => ./saphostexec -install or automatically over a network share
owner sapadm / root
port 1128
start / stop saphostexec -restart | stop as root/sapadm
status saphostexec -status or ps -ef | grep -i saphostexec or TX: ST06

The host agent includes also other binaries like saposcol and sldreg.

 

saposcol

binary which is responsible for the delivery of monitoring values (CPU, memory, I/O etc.) from the OS to ABAP and diagnostic agent/solman

saposcol was included in the normal instance kernel before kernel 720. With kernel 720 it is part of the host agent.

 

sldreg

deliveres values for SLD (active if dev_sldr, dev_sldregs in instance work dir => /usr/sap/<SID>/work)

You need it if you want to send all information of your system to SolMan

to activate it => sldreg -configure slddest.cfg –usekeyfile => creates a config file in global dir

will send data if you are restarting the sapstartsrv of the instance => sapcontrol -nr xx -function RestartService

Note: this will only restart the sapstartsrv not the SAP instance or the system!

 

sapstartsrv

Description Value
Installation will be installed with the kernel
location <exe>/sapstartsrv
Logfile /usr/sap/<SID>/work/sapstartsrv.log
update normal kernel update
owner <sid>adm
start / stop sapcontrol -nr xx -function RestartService | Stop | Start <SID>
status ps -ef |grep -i sapstartsrv
Port 5<xx>13 / SSL 5<xx>14
Details is configured by default as boot service (details: 823941 – SAP start service on Unix platforms). check file /usr/sap/services
further info sapstartsrv service parameters – Basis Corner – SCN Wiki

 

Note: every instance has its own service => this means e.g. DAA, central services (SCS), host agent have its own sapstartsrv process

Over this service and its ports the execution of OS commands is possible. The sapcontrol binary controls this service and can restart the system.

This means SAP MC (Management Console) uses this port for communication and commands.

The service should be restarted if you change anything on your system, e.g. kernel, IP, hostname

 

DAA / SMD

In newer systems there is no difference between SMD and DAA. The diagnostic agent (DAA) is the newer description but includes the SMD which is more the instance description and DAA the SID. They renamed SMD to DAA, it is still nearly the same and you will find both names in the documentations or parameters.

Description Value
installation with new system or afterwards single installation with SWPM
location /usr/sap/DAA (old: /usr/sap/SMD)
logfile files under /usr/sap/DAA/SMDAxx/work (xx should be 97 / 98)
config <DAA_Instance_Dir>/smdagent.properties | <DAA_Instance_Dir>/configuration/installationinfo.properties | runtime.properties
SID DAA / SMD
Instance number 98 (old 97)
Ports 59821 (DebugPort) 59813 (sapstartsrv) 59804 (replace 98 with 97 for old installation)
update automatically over solution manager (LM-SERVICE Java component)
owner daaadm (smdadm)
start / stop stopsap / startsap as daaadm (smdadm)
further info Diagnostics Agents – SAP Solution Manager Setup – SCN Wiki

Details: based on java instance

It is a central component of the solution manager. You should install it on every system which you want to connect to the SolMan. It provides necessary information for SLD/LMDB.

 

 

sapcontrol

The sapcontrol binary uses the sapstartsrv to start/stop services, read out log and trace files, show details and status of processes

 

Description Value
location <exe>
update normal kernel update
owner <sid>adm

Details:

You can only restart a service, instance or a complete system. Now some of you may be confused about this. Is the instance not the same as system?

No the instance is e.g. only the DIA instance but not the ASCS and the DB. When you stop the system, than all process which are registered in <GlobalDir>/sapcontrol are restarted!

You can display this also with a command: sapcontrol -nr xx -function GetSystemInstanceList

some useful functions:

GetStartProfile

GetTraceFile

GetAlerts

GetEnvironment

GetVersionInfo

GetQueueStatistic

GetProcessList

GetInstanceProperties

GetSystemInstanceList

ABAPReadSyslog

ABAPGetWPTable

J2EEGetProcessList

J2EEGetThreadList

J2EEGetSessionList

ICMGetCacheEntries

EnqGetStatistic

EnqGetLockTable

CheckHostAgent

 

I hope I could clarify the meaning and usage of every service/binary.

 

If you have any further questions, don’t hestate to comment the blog or contact me or one of my colleagues at Q-Partners ( info_at_qpcm_dot_de )

 

Best Regards,

Jens Gleichmann

Technology Consultant at Q-Partners (www.qpcm.eu)

To report this post you need to login first.

5 Comments

You must be Logged on to comment or reply to a post.

  1. Andy Silvey

    Hi Jens,

    great blog, where can we see the version of the SMD Agent ?

    We can find the Kernel version for the SMD Agent, but I still haven’t figured out

    precisely where to see the version of the SMD Agent itself.

    Any ideas ?

    Best regards,

    Andy.

    (0) 
    1. Jens Gleichmann Post author

      Hi Andy,

      at first thanks for your comment. I will add the detail of the version for host and smd/daa agent.

      If you have access to solman you can use the agent admin at http://host:80xx/smd/AgentAdmin to see on tab agents the daa/smd agents and on tab SAP-Host-Agent the host agent.

      But if you have no access to the solman and want a fast check than use this (unix):

      grep -i patch /usr/sap/DAA/SMDA98/work/dev_smdagent

      F arg[ 5] = -DSAPJStartVersion=720, patch 500, changelist 1442320, linuxx86_64, optu (EXT) (Sep 14 2013, 05:03:06)
      F arg[25] = -Djava.class.path=/usr/sap/DAA/SMDA98/exe/jstart71.jar:/usr/sap/DAA/SMDA98/exe/sapjvm_6/lib/jvmx.jar:/usr/sap/DAA/SMDA98/exe/sapjvm_6/lib/jvmx_tools.jar:/usr/sap/DAA/SMDA98/exe/jre/lib/iqlib.jar:/usr/sap/DAA/SMDA98/exe/sapjvm_6/lib/tools.jar:../exe/jstartupapi.jar:../exe/jstartupimpl.jar:../exe/jperflib.jar:./lib/iaik/iaik_jce.jar:./lib/iaik/iaik_jsse.jar:./lib/iaik/iaik_smime.jar:./lib/iaik/iaik_ssl.jar:./lib/iaik/w3c_http.jar:lib/patch_7.10.12.1.20140731083245/launcher/smdagentlauncher.jar

      => the first one is the kernel! Not the version of the agent!

      => patch_7.10.12.1.20140731083245 is the real version of the smd/daa agent


      Note: Also sapcontrol -nr 98 (97) -function GetVersionInfo is showing just the kernel info! 

      Regards,

      Jens

      (0) 

Leave a Reply