Diagnostics Agent & Logical Hostnames: Importance of SAPAgentConfig.xml file
To begin with , I will briefly describe the problem we faced and why we faced it and why am I talking about this file SAPAgentConfig.xml.
We have a landscape consisting of SAP MDM 7.1 SP10 systems. MDM has components like Master data server(MDS), Master data import server (MDIS) and master data syndication server (MDSS).
From technical/Basis perspective they are technical instances which can be installed separately or on a central system. You can read more about MDM in MDM related documentation.
We have installed them on one physical server but each component runs on separate logical host( for high availability purposes).To explain MDS was on running on logical host s1, MDIS on IS and MDSS on SS.
We have installed diagnostics agent on the physical server and have configured Agent-on-fly feature, so for each logical host-name running on the server a diagnostics agent forks a separate process.
So we have in fact 4 diagnostics agents running. 1 for physical host and 3 for logical host names.Here’s more detail about Agent-on-the-fly.
So, we registered MDM in solman SLD, did the Manged system configuration and configured technical monitoring and also introscope host adapter setup.(IHA)
I have bolded introscope host adapter step, because this is where all the problem started and resolution is found. The monitoring never worked as expected as the metrics were mostly grey or reported incorrect values.
This was because, most of the MDM related monitoring metric values are pulled out from Wily EM by Solman. In wily EM, we had four agents registered while doing IHA setup.1 for physical and three agents for logical hostnames ,
For MDM application, a NCS library is used, which collects the monitoring and system related data of a MDM instance and sends it to the diagnostics agent which pushes it to Wily EM.
“Native Component Supportability (NCS): is an SAP utility (installed automatically with MDM) that you can configure on the application to produce performance metrics and scoping information in CA Wily Introscope for analysis The settings are contained in the NCS configuration file”
The same NCS library concept is also used in BI/BOBJ, SAP business objects applications.
NCS library uses a configuration file ncs.conf, in which we can mention the agent host-name and agent port where the NCS library can sent the data to.
Each MDS instance, MDS, MDIS and MDSS has a separate ncs.conf file to send the data to separate diagnostics agent.
We had configured agent hostname value to the logical host for respective MDM instance but the port was same 59818 in the files. Although the logical hostnames were different but they are all in fact on the same server and sending data to same port.
What we expected was that the monitoring related values for MDS, MDIS and MDSS should be reported under its respective agent in Wily EM ( S1, IS and SS), but it was being reported under only one agent and each time we restarted the MDM system or SMD agent the metrics would switch to some other agent. If it was under S1 it would move to IS or SS.
This was because, when we do IHA configuration it configures Wily Host Agent.It is a Diagnostics Agent application that analyzes and makes performance data available in Wily Introscope. Its configuration is stored in the SapAgentConfig.xml file . In this file is configured a port which is used for this data transfer. The file cannot be edited manually directly at OS level.Its encrypted.
It connects the diagnostics agent to Wily EM and is used by diagnostics agent to send monitoring data to Wily EM
You can access this file in
SMD agent administration application in solution manager system (http://hostname:port/smd/AgentAdmin)
Agent Administration -> Application Configuration -> com.sap.smd.agent.application.wilyhost -> Application Resources; select SAPAgentConfig.xml for the relevant diagnostics agent and export the file to your machine.
You can then open the file and change the default port (59818) to some other free port value and upload the file again using the same console and restart the agent. You need to do this for all the logical agents , now all the agents will have separate listening port to receive the Wily EM monitoring data from diagnostics agent.
So, if we assigned the S1 diagnostics agent the port 59816 , in the corresponding ncs.conf file for MDS , I will maintain this port only and if for IS the port is 59817 , maintain the same in ncs.conf file for MDIS and if for SS the port is 59819 maintain same in ncs.conf file for MDSS.
We need to restart the MDM application after making this change.
Once this was achieved, we had all the 4 agents listening on different ports for the incoming monitoring related data to be reported in Wily EM and we had proper segregation and the data was being correctly reported under the respective agent node in WIly EM as below.
Now the , Metrics in SOLMAN were working corrrectly, as it was able to pull values from the Wily EM and report it in technical monitoring. We were mainly concerned with Repository Loading status to report if a repository goes down and wanted this to work. We had opened call with SAP and after due follow up were able to put together the missing pieces of information and make it work.
I wanted to share the knowledge, so that others having similar setup consisting of logical hostnames on one physical host, having different applications running (MDM or other SAP application) on it are able to use this information to configure monitoring in solution manager.
Note: SAP has release a new KBA which documents these steps. 1653373 – Troubleshooting missing workload analysis in MDM – Solution Manager 7.X