Internet Communication Manager Test

The Internet Communication Manager (ICM) facilitates communication between SAP system(s) and the internet using the HTTP, HTTPS, and SMTP protocols. Requests received from the internet are forwarded to SAP system for processing via the ICM. Likewise, the ICM also sends SAP requests to the internet, gets the feedback and transfers it to the SAP system.

The ICM is implemented as an independent process and is started and monitored by the dispatcher. The ICM process uses a pool of worker threads to parallel process the load. This is why, if a sudden/consistent slow down is noticed in a SAP system’s interactions with the internet, the first place administrators need to check for inconsistencies is this thread pool. The absence of adequate threads in the pool can significantly impair the ICM’s ability to uniformly distribute the request load across threads, thereby causing one/more threads be over-utilized; ultimately, this will result in a slowdown! Besides erratic thread pool usage, the sudden unavailability of the ICM and over-utilization of ICM connections can also cause disturbances in a SAP system’s internet communications. To ensure that such anomalies are promptly captured and corrected, administrators should keep an eye on the accessibility of the ICM, its thread pool usage, and availability of ICM connections. This is where the Internet Communication Manager test helps! This test periodically checks the availability, thread pool usage, and connection utilization of the ICM, and promptly reports the non-availability of the ICM, abnormal usage of worker threads by the ICM, and the over-utilization of ICM connections. This way, the test leads administrators to the probable causes for the breaks / slowness in the communication between the SAP system and the internet.

Target of the test : A SAP ABAP instance

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for the SAP ABAP instance being monitored.

Configurable parameters for the test
Parameter Description

Test Period

How often should the test be executed

Host

Host name of the server for which the test is to be configured.

PortNo

Enter the port to which the specified host listens.

ClientName

Specify the ID of the client system as what the eG agent will be connecting to the SAP ABAP instance. To know how to determine the client ID to use, follow the instructions provided in Determining the Client ID/Name for the eG Agent to Connect to the SAP ABAP Instance.

SAPUser

Typically, to connect to a SAP ABAP instance and run tests, the eG agent requires the permissions of a SAP user who has been assigned with certain authorization objects. Ideally, you will have to create a new user role on the SAP ABAP instance for this purpose, associate the above-mentioned authorization objects with that role, and assign the new role to an existing SAP user. The procedure for the same has been provided in Creating a New User Role for Monitoring and Assigning it to a SAP User. Once the new role is assigned to a SAP user, specify the name of this user against SAPUser.

Password

The password of the specified SAPUser.

Confirm Password

Confirm the password by retyping it here.

SysNo

An indicator of the TCP/IP port at which the SAP server listens. For example, for a server that listens at port 3200, the SysNo will be ‘00’. Similarly, if the SAP server port is 3201, the SysNo will have to be specified as ‘01’. Therefore, in the SysNo text box specify the system number of the SAP server with which the specified client communicates. To know the system number for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

Router

If the SAP client with the specified ClientName exists in a network external to the SAP server, then a router will be used to enable the server-client communication. In such a case, specify the router string of the router in the Router text box. If both the client and the server exist in the same network, then specify ‘none’ against the Router text box. To know what is the SAP Router string for the ABAP server being monitored, follow the procedure detailed in Identifying the SAP Router String and System Number.

InstanceName

This is set to none by default. This implies that the eG agent automatically discovers the instance name at run time. 

Timeout

Indicate the duration (in seconds) for which this test should wait for a response from the SAP ABAP instance. By default, this is set to 120 seconds.

JCO Version

The eG agent uses the SAP JCO library to connect to the SAP ABAP system and pull out metrics. To enable the eG agent to make this connection and query the metrics, you need to specify the version of the SAP JCO library that the agent needs to use. For instance, to instruct the eG agent to use JCO v2.1.19, it would suffice if you specify the ‘major version number’ alone against JCO Version – in the case of this example, this will be 2.x. Note that if you have downloaded the SAP JCO CONNECTOR files for SAP JCO version 3 from the SAP market place (as instructed by Downloading the SAP JCO Connector files Required for Monitoring ), then the JCO Version configuration should be 3.x. 

IsPassive

If the value chosen is Yes, then the server under consideration is a passive server in a SAP ABAP INSTANCE cluster. No alerts will be generated if the server is not running. Measures will be reported as “Not applicable” by the agent if the server is not up.

DD Frequency

Refers to the frequency with which detailed diagnosis measures are to be generated for this test. The default is 1:1. This indicates that, by default, detailed measures will be generated every time this test runs, and also every time the test detects a problem. You can modify this frequency, if you so desire. Also, if you intend to disable the detailed diagnosis capability for this test, you can do so by specifying none against DD Frequency. 

Detailed Diagnosis

To make diagnosis more efficient and accurate, the eG Enterprise suite embeds an optional detailed diagnostic capability. With this capability, the eG agents can be configured to run detailed, more elaborate tests as and when specific problems are detected. To enable the detailed diagnosis capability of this test for a particular server, choose the On option. To disable the capability, click on the Off option.

The option to selectively enable/disable the detailed diagnosis capability will be available only if the following conditions are fulfilled:

  • The eG manager license should allow the detailed diagnosis capability
  • Both the normal and abnormal frequencies configured for the detailed diagnosis measures should not be 0.
Measurements made by the test
Measurement Description Measurement Unit Interpretation

Is available ?

Indicates whether/not the ICM is running.

 

This measure reports the value Yes if the ICM is running, and No if the ICM is not running.

The numeric values that correspond to the above-mentioned measure values are as follows:

Measure Value Numeric Value
Yes 100
No 0

Note:

By default, the test reports the above-mentioned Measure Values to indicate whether/not the ICM is available. However, in the graph of this measure, the same is represented using the numeric equivalents only.

If the value of this measure is No, then it indicates that the HTTP/HTTPS/SMTP communication to the SAP ABAP instance is disrupted.

Current threads

Indicates the number of threads that were currently created from the pool for processing requests.

Number

A high value denotes a high level of activity on the ICM.

Free threads

Indicates the number of threads that can be created from the pool for processing requests.

Number

 

Thread utilization

Indicates the percentage of maximum threads (in pool) that have been created currently for processing requests.

Percent

A value close to 100% denotes over-usage of threads. You may then have to increase the maximum threads in pool configuration to allow more threads to be created for processing requests, so that processing bottlenecks can be eliminated.

Percentage waiting threads

Indicates the percentage of maximum threads (in pool) to that are currently waiting for data to be processed.

Percent

Threads waiting for data from network or application server  /  server response / client response are classified as waiting threads. Threads waiting for a long time result in sustained increase in waiting threads and are indicative of a generic network / application server issue.

Number of requests in queue

Indicates the number of requests waiting for free ICM threads.

Number

A consistent rise in this value could indicate a potential overload condition, typically caused by insufficient threads in pool. You may hence have to resize the pool to prevent requests from queuing up.

Request queue utilization

Indicates the percentage of total requests that are in queue currently.

Percent

A value close to 100% is a cause for concern, as it indicates that almost all requests are being queued. This again points to a load-balancing irregularity, probably caused by the lack of adequate threads in the pool.

Connections used

Indicates the number of currently open connections.

Number

The number of simultaneously open connections and their sockets can be deduced from this measure.

Connection utilization

Indicates the percentage of currently open connections.

 

Percent

Each request can create multiple connections. This measure therefore helps to gauge the level activity at the ICM (web dispatcher), so that the system load can be observed and the relevant profile parameters can be tuned accordingly. For instance, a value close to 100% for this measure, may mandate that the icm/max_conn parameter be increased, so that enough connections are always available.

Inactive services

Indicates the number of inactive ICM services.

Number

A service may be inactive due to various reasons such as a port conflict, unauthorized deactivation etc. If the service is deactivated, then, administrators should be alerted towards such deactivation so that necessary steps can be taken to re-activate the service(s) appropriately.

If the ICM services are inactive for a longer period, then incoming requests (HTTP/HTTPS/SMTP) to the SAP ABAP instance cannot be processed. This would have a direct impact on the accessibility of the SAP Applications. The longer the services are inactive, the SAP Applications would be inaccessible till then.

The detailed diagnosis of this measure provides details of the inactive services. These details include the service name, keep alive connection status, backend processing timeout,  port, hostname and whether/not external bindings are used.