Entire Systems Management Adapter Features

This section describes common Entire Systems Management Adapter features.

This document covers the following topics:


Creating Trace Data for Diagnostic Purposes

Introduction

Proper error analysis requires the logging of internal product information. Entire Systems Management Adapter is able to generate data that can supply additional diagnosis information to Software AG support and development.

Therefore, trace data is recorded in raw format in order to save time. The data formatting itself is carried out in the diagnosis program ESATRACE designed explicitly for this purpose.

Trace data include information such as program start and end, return codes of individual functions and events during request processing.

The primary function of the trace is to provide information about the operation logic in case of errors. Additionally, by studying it, you make sure the overall behavior of the Entire Systems Management Adapter is not affected by trace and that only a minimal performance impact would occur.

Trace is not intended as a log of requests during normal operation. The Adabas Command Log provides more detailed information regarding requests and responses.

Trace Preparation

The trace environment of Entire Systems Management Adapter is activated by using startup parameters. This environment consists of a data buffer in which the trace information is stored in a wrap-around method.

This buffer is available externally to the ESATRACE program running in MONITOR-MODE .

The following startup parameters are part of the Entire Systems Management Adapter trace facility:

Parameter Description

TRACE

YES: ActivatesTRACE.
PREP: Initializes environment without starting the TRACE procedure.
NO: TRACE is not activated.

TRACE-LEN

Sets up the TRACE data buffer size.

TRACE-SAV

Determines whether the available TRACE data is to be saved in a file at normal termination of ESA or in case of ABEND.

For more information on these parameters, check TRACE, TRACE-LEN, and TRACE-SAV in Startup Parameters in Alphabetical Order.

The general recommendation for the operation of Entire Systems Management Adapter is to define the parameter TRACE=PREP to reserve a trace buffer (default 8 KB) and to set TRACE-SAV=YES. Then TRACE can be switched on or off at will by way of an operator command.

For TRACE-SAV, definition of a disk file is required. You can assign it via the logical file name TRACE (for example, /SET-FILE-LINK LINK-NAME=TRACE,FILE-NAME=name). The data is written sequentially in variable record format with a length of 4K as a maximum.

During startup of Entire Systems Management Adapter, the file is opened and checked for validity. If errors occur during this check or during creation of the file buffer, tracing will be deactivated and a corresponding operator message will be issued on the console.

Trace Activation/Deactivation during Operation

If Entire Systems Management Adapter was started by means of TRACE=PREP or TRACE=YES and the initialization was successful, tracing may be switched on or off by operator commands during operation. To do this, the commands TRACE=Y or TRACE=N are available. This enables the tracing to be limited to specific circumstances. You can switch on a trace stopped with TRACE=N again at any time by means of TRACE=Y.

Trace Data Evaluation Using the Diagnosis Program ESATRACE

As mentioned above, trace data is stored unformatted. A separate program, ESATRACE, is supplied which formats the raw data. It reads this data in the trace buffer during operation or reads the file created by TRACE-SAV=YES. This file is written at termination or ABEND of the Entire Systems Management Adapter and represents a mirror image of the trace data available at the time of termination.

The prepared result data can both be written to a file and/or to SYSOUT. Output is written to an optional file via logical file name TROUT.

ESATRACE is controlled by parameters which are passed to it via RDATA.

The following parameters are supported:

  • Position parameter 1: NODE-ID of the Entire Systems Management Adapter or -f or --file

    With Online-Trace, the numerical NODE-ID is specified to indicate MONITOR-MODE, whereas -f or --file causes the file assigned using the logical file name TRIN to be processed as input (FILE-MODE ).

  • Keyword parameters:

    •  -d | --displ

      The prepared result data is transferred to SYSOUT.

    • -n | --ntrout

      If this parameter is specified, no output file will be generated with the prepared result data using the logical file name TROUT. This key is accepted only if the parameter -d | --displ has also been specified.

    • -p | --poll

      This option causes ESATRACE in the MONITOR-MODE not to terminate the program at the end of the buffer, but to wait for further data in the trace buffer. This enables a running ESA node to be monitored in real time.

The optional output file requires SPACE=(4,4), BLKSIZE=(STD,2),FCBTYPE=SAM, and RECFORM=V.

The following parameters are recommended for the two modes:

  • parameter list for MONITOR-MODE: NODE-ID --displ --poll

  • parameter list for FILE-MODE: --file

The output file generated is useable only for error analysis by Software AG support. It contains no user data whatsoever other than the user ID.

For real-time monitoring of error situations, these steps should be used:

  1. Start Entire Systems Management Adapter.

  2. Start diagnosis program ESATRACE in MONITOR-MODE with the --poll option.

ESATRACE will format trace data as soon as it is placed in the buffer.

ESATRACE Diagnosis Program Termination in MONITOR-MODE

When in MONITOR-MODE, ESATRACE can only be terminated by means of the operator command QUIT. Issue the QUIT command as follows:

/INTR tsn,QUIT

Dynamic Server Management

This section covers the following topics:

Dynamic Server Management Concepts

In order to process user requests, a fixed number of server tasks/subtasks are started in Entire Systems Management Adapter.

The use of a fixed number of server tasks/subtasks is due to the operating system architecture, as the main Entire Systems Management Adapter task may create only a limited number of tasks/subtasks.

A dispatcher gives user requests to individual servers. The servers use the security profile of the user and process the request accordingly. The server with the least load will process the new request.

However, when using a fixed number of tasks/subtasks, problems may occur. This design cannot adequately react to different workloads. In case of many requests, the servers may not be able to process the requests quickly enough, resulting in delays. Likewise, during idle times Entire Systems Management Adapter cannot release resources.

For this reason, the Dynamic Server Management (DSM) was created. It enables systems programming staff and operations to dynamically control servers, i.e., to start or stop them as necessary. A minimum number of servers are started during initialization of Entire Systems Management Adapter. That number of servers will be automatically increased up to a definable upper limit in case of a lot of user requests . Delays during request processing can thus be avoided to a large degree.

In case of idle times, servers are stopped until a definable lower limit is reached.

The dispatcher mentioned above determines if incoming requests can be processed with the current server configuration and increases the number of servers if necessary.

A monitor function checks at regular intervals whether too many servers are idle and stops tasks/subtasks as necessary.

The most important aid to recognizing bottlenecks is the queue depth as measured by the dispatcher, i.e., how many requests are pending for processing by a server. If this value reaches a definable limit, another server will be started and selected for processing the new request.

Idle times are measured based on when a server is finished with a user request. If the monitor finds that the idle time exceeds that specified at startup, the server will be terminated.

Configuring a Dynamic Server Environment

For Dynamic Server Management, various new startup parameters are required to explicitly switch on this operating mode and define basic data for its functionality.

Up to now, the startup parameter NUMTASK defined the number of server subtasks for the conventional static operating mode which is still available of course. If the new startup parameters are not used, the dynamic operating mode will remain inactive.

The following startup parameters are available for Dynamic Server Management:

Startup Parameters Explanation
SERVER-DYN Defines whether Dynamic Server Management is to be switched on (YES) or off (NO) at initialization. This may be changed via an operator command at any time.
SERVER-MAX Defines the upper limit of the number of servers. This may be changed via an operator command at any time.
SERVER-MIN Defines the lower limit of the number of servers. This may be changed via an operator command at any time.
SERVER-NONACT Fixes the maximum idle time of a server. If the value is reached or exceeded, the server will be terminated if SERVER-MIN is smaller than the current number of servers.
SERVER-QUEUE-DEPTH Fixes the depth of the task queue. If the server with the least load has reached this value, another server will be started provided SERVER-MAX is greater than the current number of servers.

In dynamic operating mode, use the startup parameter NUMTASK to define the initial number of servers. The following relationship exists between the parameters for the definition of the initial, upper or lower limit of running server tasks/subtasks:

SERVER-MIN <= NUMTASK <= SERVER-MAX

The general recommendation for the operation of Entire Systems Management Adapter in dynamic operating mode is to define the parameter SERVER-DYN=YES and to leave all other parameters at their default values. If the default values are not sufficient, we recommend decreasing the value for SERVER-QUEUE-DEPTH or to set it to 1, so that there will not be any queues. However, the value of SERVER-MAX may limit the number of new servers started.

Activating/Deactivating Dynamic Server Management during Operation

For simplified Dynamic Server Management administration, the operator command interface was enhanced so that most of the startup parameters can be set dynamically as well.

The values for SERVER-DYN, SERVER-MAX, and SERVER-MIN can be modified.

You are not required to explicitly prepare the dynamic server environment at the time of initialization of Entire Systems Management Adapter. You can activate it by operator command at any time.

Controlling Dynamic Server Management during Operation

The operator command SERVERS lists the information about the server load to reflect the current state of Dynamic Server Management.

The following output was generated during a test operation:

  11:21:31 ADAI29 00113   OPER CMD: SERVERS
  11:21:31 XCO0016I 00113 Operator typed in: SERVERS.
  11:21:32 ESY0308I 00113 SERVER  STATUS  VP  CMD   USER   ACT  IDLE   VIEW.
  11:21:32 ESY0308I 00113 ------ -------- --- --- -------- --- ------- ----.
  11:21:32 ESY0308I 00113  2EF8  ACTIVE     2   2 DC1       Y       67    2.
  11:21:32 ESY0308I 00113  2EGK  ACTIVE     2   2 DC1       Y       48    2.
  11:21:32 ESY0308I 00113  2EGL  ACTIVE     0   0 ETB       N       10  190.

It indicates that Entire Systems Management Adapter currently operates three server tasks. The servers with the TSN 2EF8 and 2EGK are active, while Server 2EGL has not been used for 10 seconds. For more details, see Operator Commands.

The view NATPROC-USERS also returns information about the state of internal tasks - that is, the server as well - so that server control by means of a program is possible.

Run E-Mail Client

SEND-EMAIL view implements a text-based mail client. See view description of SEND-EMAIL in the Entire Systems Management Adapter User's Guide for programming aspects and a sample program. The view processor requires additional startup parameters. See the section Startup Parameters in the Entire Systems Management Adapter Administration documentation for a description of the parameters HOST-CODE-PAGE, JOBEMAIL, NUMMAIL, PRMEMAIL, SMTP-HOST, and SMTP-PORT.

Entire Systems Management Adapter creates a TCP/IP connection to the host that is configured as mail gateway. This connection runs in the separate E-Mail Manager Task. Therefore, a running TCP/IP stack is required and so are running Domain Naming Services to resolve the own host name and the host name of the configured mail gateway. Contact your network and your mail administrator to determine if it is possible to establish a TCP/IP connection to the mail gateway.

E-Mail Manager Task requires the SOCKETS subsystem installed and running on the BS2000 host where Entire Systems Management Adapter node will be started.

If it is not possible to completely initialize the E-Mail Manager Task (ESAMAIL), the task will stop, but will not cause a shutdown of Entire Systems Management Adapter. ESAMAIL will report errors on system console and more detailed diagnostics in the SYSLST file. SEND-EMAIL view will be disabled for the current Entire Systems Management Adapter session.

If Entire Systems Management Adapter is properly configured and the startup of ESAMAIL does not detect errors, the E-Mail Manager Task will run and service SEND-EMAIL requests until Entire Systems Management Adapter is stopped again.

Zap Reports

Entire Systems Management Adapter prints a report of all applied Zaps at ESA startup. This information is determined during startup and is written to SYSLST01.

Each ESA task except the console task generates this Zap report on SYSLST01. If you don't assignSYSLST01, no report will be created.

The following sample listing illustrates the report layout.

Overview of Applied Zaps

XC41001 XC41002 XC41003 XC41004 XC41005 XC41006 XC41007 XC41008 XC41009
XC41010 XC41011 XC41012 XC41013 XC41014 XC41015 XC41016 XC41017

CSECT Mapping

CSECT    EP       DATE       TIME     ZAPS
  NPRINIT  01000000 2000-09-18 10:37:33 XC41001 XC41002 XC41003 XC41004 XC41005
                                        XC41006 XC41007 XC41008 XC41009 XC41010
                                        XC41011 XC41012 XC41013 XC41014 XC41015
                                        XC41016 XC41017
  CHKLINK  01000E58 2000-09-18 10:32:30 NONE
  CMDX2    010012A0 2000-09-18 10:32:38 NONE
  GETPARMS 01001878 2000-09-18 10:34:36 NONE
  LOAD2    01003330 2000-09-18 10:34:57 NONE
  NATPCMDL 010038A0 2000-09-18 10:36:15 NONE
  NATPNAT  01004180 2000-09-18 10:36:54 NONE
  NATPREP  01004A08 2000-09-18 10:37:04 NONE
  NATPSRV  010052D0 2000-09-18 10:37:12 NONE
  NATPSUBT 01005FD8 2000-09-18 10:37:21 NONE
  NATPUSR  01006780 2000-09-18 10:37:28 NONE
  NPROPHND 01006A38 2000-09-18 10:37:41 NONE
  SCANECET 010076D8 2000-09-18 10:37:56 NONE
  SYNCADA  01007F00 2000-09-18 10:38:19 NONE
  SYSINFO  01008298 2000-09-18 10:38:26 NONE
  TRACE    010086C0 2000-09-18 10:38:34 NONE
  WTO      01009438 2000-09-18 10:39:02 NONE
  XCOMINIT 01009DF0 2000-09-18 10:39:19 NONE
  XCOMMAIN 0100A3E8 2000-09-18 10:39:28 NONE
  XDBOPER  0100B1F8 2000-09-18 10:47:39 NONE
  XDBPRSTP 0100B4D0 2000-09-18 10:47:54 NONE
  XDBSTOP  0100B758 2000-09-18 10:48:03 NONE
  XDBTIME  0100BCC8 2000-09-18 10:48:14 NONE
  XCOMNUC  0100BFF0 2000-09-18 10:39:38 NONE
  XDBPROC  0100DAB8 2000-09-18 10:47:45 NONE
  ANSWER   0100EA90 2000-09-18 10:32:20 NONE

The first part of the report lists all installed program corrections (OVERVIEW OF APPLIED ZAPS). The second part provides detailed information about the names of the program sections (CSECT), the entry points (EP), the creation date and time (DATE and TIME), and the installed corrections (ZAPS) per program section.

This information may help to get an overview about applied zaps. It is also useful for Software AG support.

Ending Entire Systems Management Adapter

For information on how to terminate Entire Systems Management Adapter, see Operator Commands and How to Start/End Entire Systems Management Adapter.

Return Codes Issued by Entire Systems Management Adapter at Termination

At program termination, the Entire Systems Management Adapter components set a return code, which is transferred to a monitoring job variable. The status display for successful execution is C' $T 0000', the status for abnormal termination is C' $A 0008'.