6/04/2020

SAP Diagnostics Agent and HA Support

Scope

Solution Manager 7.1 SP05 and higher

Terminology

  • The term 'host' does NOT designate a network alias. Hosts must have their own IP addresses.
  • A 'Virtual host' designates a simulated host running for example on top of a VMware.
  • A 'Logical host' designates a network/host configuration which associates a physical host with one or more additional host names and dedicated IP addresses. This is used, for example, to be able to move systems from one physical host to another.
    N.B.: To find the host name of an ABAP system, use transaction sm51, and for Java systems refer to the System Info Web page.

Introduction

Solution Manager 7.1 SP05 introduced a so called Diagnostics Agents On-the-fly feature. It offers a built-in infrastructure/principle to put in place appropriate Diagnostics Agent landscapes in the context of High Availability environments, where SAP Systems or DB switch/fail-overs are occurring. With this Solution Manager built-in feature there is no more need to configure for example some proprietary High Availability Managers or to adapt failover scripts.
Note that the Agents On-the-fly feature could also be useful in the context of Physical/Virtual hosts running a high number of Logical hosts.
Existing Diagnostics Agent installations, which are already operational, should remain in place and no further action is required (from an Agent installation/configuration point of view).
However, SAP recommends to consider the usage of the Agents On-the-fly feature, at the time NEW or ADDITIONAL Systems are being or planned to be managed in ONE given Solution Manager system, and ONLY IN CASE these Managed Systems are operated in a High Availability environment, or running on Physical or Virtual hosts having a high number of Logical hosts.
You will find in the following two tables a check list of all important actions and possible pinpoints to take care of. In case you will put in place Agents On-the-fly, you need to evaluate the Managed system environment : "High Availability" and/or "Physical/Virtual hosts running a high number of Logical hosts". Depending on this environment use either the recommendations of the first table or the second below table.

Prerequisite

In case Managed Systems run with hostnames that are "simple" network hostname aliases (meaning not logical hostnames with dedicated IP addresses, like described in the above Terminology), the presently documented Agents On-the-fly feature will not work.
Further details on how to declare (fully qualified) logical hostnames with dedicated IP addresses could be found in SAP note 962955. (N.B.: For the Agents On-the-fly, do NOT consider item 4 in the procedure described in that SAP note.)
In case of doubts feel free to execute the following command on the Physical or Virtual Host to double check whether the (Logical) hostnames used by the Managed systems are listed.
  • On Windows:
    "C:\Program Files\SAP\hostctrl\exe\saphostctrl.exe" -function GetComputerSystem
  • On Unix:
    /usr/sap/hostctrl/exe/saphostctrl -function GetComputerSystem
  • Output example, showing under entry ITSAMComputerSystem, that 5 hostnames are currently known/operated by this host, where the command is executed.
    Having a closer look, we see 4 logical hostnames: db6lparci.wdf.sap.corp (IP 10.xxx.xxx.33), db6lparascs.wdf.sap.corp (IP 10.xxx.xxx.253), db6lpardb.wdf.sap.corp (IP 10.xxx.xxx.99), db6lparers.wdf.sap.corp (IP 10.xxx.xxx.153), and the underlying PhysicalHostA.wdf.sap.corp (IP 10.xxx.xxx.217):
    *********************************************************
    CreationClassName , String , ITSAMComputerSystem
    Name , String , PhysicalHostA
    Hostnames , String[] sep=; , PhysicalHostA.wdf.sap.corp;db6lparci.wdf.sap.corp;db6lparascs.wdf.sap.corp;db6lpardb.wdf.sap.corp;db6lparers.wdf.sap.corp;localhost;
    IPAdresses , String[] sep=; , 10.xxx.xxx.217;10.xxx.xxx.33;10.xxx.xxx.253;10.xxx.xxx.99;10.xxx.xxx.153;127.0.0.1;
    *********************************************************
    [...]
It is recommended - as indicated in the following tables - to install "clean/fresh" Diagnostics Agents. Use the latest Diagnostics Agent installation package that is available on SMP (for information on the latest installer refer to SAP note 1833501). This will bring latest fixes and improvements for Installer, Kernel and JVM. The Agents must be installed at Physical or Virtual host level.
The Diagnostics Agents are also SAP systems, they have a System ID (SID) like DAA and an Instance-ID like SMDA97.
Do NOT use the possibility to install additional Diagnostics Agent instances for a given Diagnostics Agent SID (like DAA). In the context of the Agents On-the-fly feature, this type of Agent organization (same SID with multiple instances like 98, 97, etc.) is NOT allowed. For instance, when installing the Diagnostics Agents on shared/clustered file systems (/usr/sap), pay attention to use distinct SIDs.
Also consider SAP note 1365123 and the there attached document.
Note that all Diagnostics Agents/Agents On-the-fly, at Physical/Virtual or Logical host level, by default perform Outside Discovery. Specifically the Database and IIS discovery processing shall be switched off for Agents On-the-fly (running at Logical host level), as this data is already collected by the Diagnostics Agent (Physical/Virtual host level). Therefore consider the performance improvement related recommendations from SAP note 1611483.
Remark for Physical/Virtual Hosts running Windows 2003
As indicated in SAP note 1108852, check that the saploc share - if it exists - points to local drive.
If it points to the shared drive, delete the saploc share, before installing the Diagnostics Agent.
Remark related to MS SQL
As indicated in SAP note 1458291, make sure that at the time you are installing the Diagnostics Agent you choose one of the domain options, as the Agent has to run under a domain login, in order to avoid having potentially a high number of SQL Server Error Logs (related to login errors).

How to proceed in case Diagnostics Agents are already installed for the Managed Systems?

You will find in the following two tables a check list of all important actions and possible pinpoints to take care of. In case you will put in place Agents On-the-fly, you need to evaluate the Managed system environment : "High Availability" and/or "Physical/Virtual hosts running a high number of Logical hosts". Depending on this environment, either use the recommendations of the first table, or the second below table.
Note that SAP recommends removing any existing Diagnostics Agents on the underlying hosts.
Refer to the Diagnostics Agent Removal procedure described in Diagnostics Agent Maintenance Procedures.

Diagnostics Agent installation/deployment strategy in the context of Agents On-the-fly

Installation Strategy in an High Availability context (system switch over)

Where ?
Preparation
Installation
Setup
Remark
On ALL Physical or Virtual Hosts participating in a given switch/fail-over (switch between Host A & B)
Uninstall ALL Diagnostics Agents previously existing on these Physical or Virtual Hosts.
Especially pay attention to the Diagnostics Agent Removal and the Byte Code Adapter aspects in the context of Java Managed Systems, as described in Diagnostics Agent Maintenance Procedures.
Install on ALL Physical or Virtual Hosts (part of the group) one Diagnostics Agent (latest version, see prerequisites section) without specifying any Logical hostname in SWPM. Also see SAP note 1365123.
Run for EACH Physical or Virtual Managed host the solman_setup -> Managed System Configuration -> Host to enable the Agents On-the-fly feature in step "Enter System Parameters"
The "Display resulting host list" button in step "Enter System Parameters" is showing the list of logical hostnames for which an Agent On-the-fly will be created only at the time these logical hostnames are associated to the presently configured Physical or Virtual Host.
N.B.: After having clicked on the "Display resulting host list" button, you have to additionally click on the "Show" link in the setup logs to see the resulting hostname list.
Logical Hosts (for example L1, L2, L3)
Uninstall any Diagnostics Agents which might have been installed in earlier times with a Logical hostname L1, L2 or L3.
Especially pay attention to the Diagnostics Agent Removal and the Byte Code Adapter aspects in the context of Java Managed Systems, as described in Diagnostics Agent Maintenance Procedures.
Install no further Diagnostics Agent (other than those mentioned in the above table line).
In case one or several Managed Systems (including SCS instances in the context of SolMan 7.1 SP08 and higher) are installed with these L1, L2, L3 Logical hostnames, run also as usual the Managed System Configuration (in solman_setup transaction) for each of them.
See also below chapter "Important remark concerning Java Managed systems on logical hosts".
In case no Diagnostics Agent is available in solman_setup -> Managed System Configuration -> "Assign Diagnostics Agent" for the Managed system, double check the "Remark" of above two table lines
  • N.B.: The above situation description applies in the context of one Solution Manager system. In case the Managed systems/hosts should be visible in one additional Solution Manager system, one additional Diagnostics Agent has to be installed using a new different System-ID. And this new additional Agent will then be configured in the solman_setup of that additional Solution Manager system, like described above.
  • N.B.: The "Display resulting host list" button in step "Enter System Parameters" shows the list of logical hostnames for which an Agent On-the-fly will be created (only at moments where these logical hostnames are associated to underlying Physical or Virtual Host). Also note that the displayed hostname list is computed based on the Hostnames attribute returned by the following SAP HOST Agent command. It therefore does NOT include any network hostname alias. In case of doubts feel free to execute that command on the Physical or Virtual Host.
    • On Windows:
       "C:\Program Files\SAP\hostctrl\exe\saphostctrl.exe" -function GetComputerSystem
    • On Unix:
      /usr/sap/hostctrl/exe/saphostctrl -function GetComputerSystem

Installation Strategy outside any High Availability context (system switch over)

Environment
Preparation
Installation
Setup
Remark
No logical hostname is used on Physical or Virtual Host A
N/A
Like with earlier Solution Manager Support Packages install on Host A - if not already done - one Diagnostics Agent (latest version, see prerequisites section) without specifying any Logical hostname in SWPM. Also see SAP note 1365123.
Only run (like with earlier Solution Manager Support Packages) the Managed System Configuration for each Managed System running on this host in solman_setup
In case no Diagnostics Agent is available in solman_setup -> Managed System Configuration -> "Assign Diagnostics Agent" for the Managed system, double check whether the installed Diagnostics Agent is connected to Solution Manager using the Agent Administration UI
Low amount of Logical hosts running on Physical or Virtual Host A
N/A
Like with earlier Solution Manager Support Packages install on Host A one Diagnostics Agent (latest version, see prerequisites section) per Logical hostname - if not already done - and take care to specify each time the relevant Logical hostname in SWPM. Also see SAP note 1365123.
Only run (like with earlier Solution Manager Support Packages) the Managed System Configuration for each Managed System running on these logical hosts in solman_setup
In case no Diagnostics Agent is available in solman_setup -> Managed System Configuration -> "Assign Diagnostics Agent" for the Managed system, double check whether the installed Diagnostics Agent is connected to Solution Manager using the Agent Administration UI
High amount of Logical hosts running on Physical or Virtual Host A
Uninstall all Diagnostics Agents previously existing on Host A.
Especially pay attention to the Diagnostics Agent Removal and the Byte Code Adapter aspects in the context of Java Managed Systems, as described in Diagnostics Agent Maintenance Procedures.
Install one Diagnostics Agent (latest version, see prerequisites section) on the underlying Physical or Virtual Host A, without specifying any Logical hostname in SWPM. Also see SAP note 1365123.
First run solman_setup -> Managed System Configuration -> Host for Managed Host A to enable the Agents On-the-fly feature in step "Enter System Parameters".
In a second phase run like usual the Managed System Configuration for each Managed System running on the logical hosts in solman_setup.
See also below chapter "Important remark concerning Java Managed systems on logical hosts".
The "Display resulting host list" button in step "Enter System Parameters" is showing the list of logical hostnames for which an Agent On-the-fly will be created only at the time these logical hostnames are associated to Host A.
N.B.: After having clicked on the "Display resulting host list" button, you have to additionally click on the "Show" link in the setup logs to see the resulting hostname list. 
  • N.B.: The above situation description applies in the context of one Solution Manager system. In case the Managed systems/hosts should be visible in one additional Solution Manager system, one additional Diagnostics Agent has to be installed using a new different System-ID. And this new additional Agent will then be configured in the solman_setup of that additional Solution Manager system, like described above.
  • N.B.: The "Display resulting host list" button in step "Enter System Parameters" shows the list of logical hostnames for which an Agent On-the-fly will be created (only at moments where these logical hostnames are associated to underlying Physical or Virtual Host). Also note that the displayed hostname list is computed based on the Hostnames attribute returned by the following SAP HOST Agent command. It therefore does NOT include any network hostname alias. In case of doubts feel free to execute that command on the Physical or Virtual Host.
    • On Windows:
      "C:\Program Files\SAP\hostctrl\exe\saphostctrl.exe" -function GetComputerSystem
    • On Unix:
      /usr/sap/hostctrl/exe/saphostctrl -function GetComputerSystem

Important remark concerning Java Managed systems on logical hosts

For NW AS Java based Managed Systems do NOT forget to mark the option "Deploy Byte Code Adapter under Managed System Instance(s)" within "Enter System Parameters" under Managed System Configuration / Technical Systems or Technical Scenarios (before 7.1 SP12 this option was called "Ensure HA virtualization compatibility").
Also provide a relative path, like "ByteCodeAdapter", for the "Introscope BC Adapter deployment path" field, in order to locate the BC Adapter binaries and configuration files inside the Managed system directory structure (/usr/sap///ByteCodeAdapter). Note that the Diagnostics Agent OS user (member of the SAPSYS OS group) must therefore also have write permissions at this Managed System path location.
Remark: Note that it is just necessary to provide the folder name. The Introscope BC Adapter files will be placed under the managed system instance path((/usr/sap///) plus the folder name provided.

Agents On-the-fly concept

Concept

When for a given Diagnostics Agent (installed for a Physical or Virtual host) the Agents On-the-fly feature is enabled, this Agent can potentially run additional Diagnostics Agent processes (Agents On-the-fly), under his SID and Instance Number. These additional processes are considered as being Diagnostics Agents On-the-fly or "Nodes".
The rule for having additional or less of these Agents On-the-fly at a given point in time is as follow. Whenever a new (Logical) hostname is visible on the underlying (Physical or Virtual) host, the Diagnostics Agent (installed initially), will automatically create one additional Agent On-the-fly. However when this Logical hostname is no longer associated with that underlying (Physical or Virtual) host, the Diagnostics Agent will stop and remove again the associated Agent On-the-fly.
N.B.:
  • With this approach, the number of Diagnostics Agent instances (allocated Instance Number) on a Physical or Virtual, is also independent of the number of Managed Systems/Logical Hosts.
  • Two Agents On-the-fly will have the same memory footprint as two "standard" Diagnostics Agents. However, note that the Diagnostics Agent installed on the underlying (Physical or Virtual) host has to be additionally considered for the overall memory footprint. At disk space level the Agents footprint will be less given that the SAPJVM & Kernel binaries are shared.
  • Remember that network hostname aliases will not be considered. For further details refer also to the below "Enable the Agents On-the-fly feature" item description in the Setup storyboard.

Example

Landscape components

Hostname layout

Failover scenario

  1. Cluster Manager detects/triggers a DB failover
  2. Logical Host/IP is moved to failover cluster node
  3. DB instance is started on failover cluster node
  4. Diagnostics Agent (DAA) detects a change in the Logical Host allocation
  5. Agent On-the-fly on DAA is stopped/removed and created/started on DAB, according to the new cluster layout
  6. Normal operation can continue transparently

Setup storyboard

solman_setup transaction entrance

N.B.: The values P,V or L in the column "Host Type" mean respectively Physical, Virtual or Logical host. See also the initially presented terminology.
Assign Diagnostics Agent installed on Physical or Virtual Host level
Enable the Agents On-the-fly feature
N.B.: The "Display resulting host list" button in step "Enter System Parameters" shows the list of logical hostnames for which an Agent On-the-fly will be created (only at moments where these logical hostnames are associated to underlying Physical or Virtual Host). Also note that the displayed hostname list is computed based on the Hostnames attribute returned by the following SAP HOST Agent command. It therefore does NOT include any network hostname alias. In case of doubts feel free to execute that command on the Physical or Virtual Host.
  • On Windows:
    "C:\Program Files\SAP\hostctrl\exe\saphostctrl.exe" -function GetComputerSystem
  • On Unix:
    /usr/sap/hostctrl/exe/saphostctrl -function GetComputerSystem
Finally, with SAP Solution Manager 7.1 SP10 or higher, remind to start the "Agent On-the-fly Administration" UI, in order to double check whether the expected Agents On-the-fly are created and connected. It is accessible via the "Advanced Settings" tab, within the Agent Administration UI.

Or, prior to SAP Solution Manager 7.1 SP10, double check in the "Agent Administration" UI.
N.B.: Use the SID/InstanceID to understand for each Agent On-the-fly by which Diagnostics Agent is has been created. Note that the Agent On-the-fly Instance ID includes the Logical hostname.

Frequently Asked Questions (FAQ)

Q: First actions in case an Agent On-the-fly does not seem to react on a Logical Hostname switch-over (from Physical/Virtual Host A to B)

  • On Physical/Virtual Host A and Host B execute each time the following command to double check whether the Logical hostname move occurred as you expect at OS level and is seen by the SAP Host Agent.
    • For Windows:
      C:\Program Files\SAP\hostctrl\exe\saphostctrl.exe -function GetComputerSystem
    • For Unix:
      /usr/sap/hostctrl/exe/saphostctrl -function GetComputerSystem
  • Additionally, perform on each Physical/Virtual Host (A and B) the ping command.
    • ping -a
  • In case the SAP Host Agent reflects correctly the hostname topology proceed as follow:
    1. Go to solman_setup -> Managed System Configuration -> Host for Host A
      1. Navigate to step "Enter System Parameters" / field "Local exclusion filter" and write down the currently provided value
      2. Provide now a new filter (regular expression) to temporarily exlude the concerned Logical hostname
      3. Press "Save"
      4. Wait one minute
      5. In step "Enter System Parameters" / field "Local exclusion filter" provide again the initial value (you written down).
      6. Press "Save"
      7. Wait one minute
    2. Proceed as explained above also for Host B
    3. In case the problem persists (Agent On-the-fly not moving) kindly open a message on component SV-SMG-DIA-SRV-AGT.
  • In case the SAP Host Agent does not see the Logical hostname as you expect, please open a message on component BC-CCM-HAG.

Q: What actions to take when saving a wrong value in the "Local exclusion filter"

  1. In the "Local exclusion filter" field from step "Enter System Parameters" correct previously provided (exclusion) pattern
  2. Press "Save"
  3. Wait one minute
  4. In case the previously defined pattern was wrong and had as a consequence that too many Agents On-the-fly were created, also remind to delete from LMDB the not relevant hostnames.
    1. Therefore start LMDB transaction
    2. In "Host" tab delete the no longer relevant hosts, which have been created by the outside discovery process run by the Agents On-the-fly

No comments:

Post a Comment

Popular Posts