Setting up Application Monitoring

This document covers the following topics:


General Information

EntireX Broker and/or the EntireX Adapter serve as the central components which control the data flow. Their configuration defines the following:

RPC client and RPC server applications (see Components that Support Application Monitoring) automatically support Application Monitoring without additional setup. This includes EntireX RPC Connection and EntireX RPC Listener Connection of the EntireX Adapter, which are used together with an EntireX Broker as the central component. See Dynamic Configuration and Setup for EntireX Adapter.

Configuration and Setup

The Application Monitoring Data Collector inside the EntireX Adapter and the External Application Monitoring Data Collector are interchangeable. You can use the Data Collector inside the EntireX Adapter for scenarios with the EntireX Broker and equally, the External Application Monitoring Data Collector for scenarios with the webMethods Integration Server.

Whatever architecture you choose, you can configure Application Monitoring dynamically while the EntireX Adapter or EntireX Broker is running. The change is effective immediately, and you do not need to restart the EntireX Adapter or EntireX Broker. This section covers the following topics:

Dynamic Configuration and Setup for EntireX Adapter

This setup applies to the following connection types:

  • EntireX Direct RPC Connection

  • EntireX Direct RPC Listener Connection

  • IMS Connect Connection

  • CICS IPIC Connection

  • CICS ECI Connection

  • CICS Socket Listener Connection

  • AS/400 Connection

Note:
If you are using an EntireX RPC Connection or EntireX RPC Listener Connection, you need to enable Application Monitoring in the EntireX Broker to which the connection is made. See Dynamic Configuration and Setup for EntireX Broker.

You can choose an Internal Application Monitoring Data Collector (recommended) or an External Collector.

  • Internal Collector

    Start of instruction setTo configure the Internal Application Monitoring Data Collector in EntireX Adapter dynamically

    1. In the webMethods IS Administration GUI, choose Adapters > EntireX Adapter > Application Monitoring.

    2. Enable Application Monitoring.

    3. Enable Use internal Application Monitoring Data Collector.

      graphics/setup_config_adapter.png

      The collector runs as a server in the Direct RPC component and is started and stopped automatically when the Direct RPC component is started or stopped.

  • External Collector
    Alternatively, the monitoring KPIs can be routed to an External Application Monitoring Data Collector, using either

Dynamic Configuration and Setup for EntireX Broker

Configuring the External Application Monitoring Data Collector in EntireX Broker scenarios depends on the platform the broker is running on. You can also fine-tune Application Monitoring for selected services. This section covers the following topics:

Configuration and Setup under Linux and Windows

Use the Command Central GUI or command-line interface:

Configuration and Setup under z/OS

Define the endpoint for the External Data Collector in the broker attribute file, see Application Monitoring-specific Attributes in the platform-independent Administration documentation. You can then enable and disable application monitoring dynamically, see Application Monitoring-specific Commands in the z/OS Administration documentation. To permanently enable application monitoring, set APPLICATION-MONITORING=YES under Broker-specific Broker Attributes.

Fine-tuning Application Monitoring for Selected Services

Using specific attributes in the broker attribute file, the broker can be configured to enable application monitoring for selected services. Configuration example:

DEFAULTS = BROKER
  APPLICATION-MONITORING = YES
DEFAULTS = APPLICATION-MONITORING
  COLLECTOR-BROKER-ID = server12:57900
DEFAULTS = SERVICE
  APPLICATION-MONITORING-NAME = Payroll_Application
  CLASS = RPC, SERVER = HR, SERVICE = CALLNAT, APPLICATION-MONITORING = YES, APPLICATION-MONITORING-NAME = HR_Application
  CLASS = RPC, SERVER = *, SERVICE = CALLNAT, APPLICATION-MONITORING = YES

With this example configuration, application monitoring is enabled for all RPC/*/CALLNAT services. The service RPC/HR/CALLNAT uses the application monitoring name "HR_Application", all other services use the name "Payroll_Application". The Application Monitoring Data Collector runs on a host with the name "server12" and uses the port 57900.

Notes:

  1. There are broker-specific and service-specific attributes for application monitoring, and there are also application monitoring-specific attributes. For detailed information, see Broker Attributes.
  2. Changes in the broker attribute file regarding fine-tuning application monitoring require a restart of
    • the broker if the automatic update mode of the broker is switched off, see SERVICE-UPDATES=NO under Broker-specific Attributes in the Platform-independent Administration documentation

    • all involved RPC servers in any case.

Setting up the External Application Monitoring Data Collector

This section covers the following topics:

Configuring the Application Monitoring Data Collector

The configuration file entirex.appmondc.properties controls the startup of the Application Monitoring Data Collector. It is located in the config directory of your EntireX installation.

As a rule, it is not necessary to change the settings in this file after the installation. However, if required, you can change the following parameters:

Parameter Description
entirex.appmondc.port The TCP/IP port on which the Application Monitoring Data Collector accepts the monitoring data. This value is set during the installation of the Application Monitoring Data Collector.
entirex.appmondc.directory The name of the directory which will contain the CSV data files. The default value is <EntireX-install-dir>/appmondc/.

A data file has the name appmon<YYYYMMDD>.<HHMMSS>.csv. In addition, an overview file with the name appmon.overview.v1.csv is created.

entirex.appmondc.loglevel The log level for the log files. Possible values are:

OFF
FATAL
ERROR
WARNING
INFO
DEBUG
TRACE

The default value is ERROR.

Log files are always stored in the directory <EntireX-install-dir>/appmondc/. This is independent of the setting of the entirex.appmondc.directory parameter.

entirex.appmondc.maxlines The maximum number of rows per CSV data file. If the limit is reached, a new file is created. The default value is 100000.
entirex.appmondc.filesperday Automatically create a new CSV data file every day. The default value is no.
entirex.appmondc.usezeroasnullvalue Use "0" instead of an empty entry as the null value for all numeric KPI values in the CSV file. The default value is no.
entirex.appmondc.callback.class Java class name for the callback user exit.
entirex.appmondc.callback.classpath Classpath name in URL notation for the callback user exit.

Starting and Stopping the Application Monitoring Data Collector

This section covers the following topics:

Linux

The scripts mentioned below are located in the bin directory of your EntireX installation. By default, this is /opt/softwareag/entirex/bin.

Start of instruction setTo start the Application Monitoring Data Collector

  • Run the script appmondc.bsh from a shell.

Start of instruction setTo stop the Application Monitoring Data Collector

  • Run the script stopappmondc.bsh from a shell.

Windows

The Application Monitoring Data Collector is installed as an application and as a Windows service. During the installation, you can specify that the Windows service is to be started automatically. The name of this service is "Software AG EntireX Application Monitoring Data Collector 10.9".

Note:
You can access the list of services by opening the Start menu and then entering "services.msc" in the search box. There, you can start and stop the service manually.

Start of instruction setTo start the Application Monitoring Data Collector as an application

  • Choose the following from the Windows Start menu:

    Programs > Software AG > Start Servers > Start EntireX Application Monitoring Data Collector 10.9

    Or:
    Run the script appmondc.bat which is located in the bin directory of your EntireX installation.

Start of instruction setTo stop the Application Monitoring Data Collector (service and application)

  • Choose the following from the Windows Start menu:

    Programs > Software AG > Stop Servers > Stop EntireX Application Monitoring Data Collector 10.9

    Or:
    Run the script stopappmondc.bat, which is located in the bin directory of your EntireX installation.

Callback User Exit

The Application Monitoring Data Collector provides a callback functionality for the processing of incoming events. A user exit can be specified to implement the callback. Whenever the Data Collector receives a monitoring event, the KPI values are writen to the CSV file and the callback is invoked. The KPI values of the event are passed to the callback. Possible use cases are:

  • trigger an action based on specific KPI values (e.g. the KPIs indicate a failed request)

  • write the KPI values to another data store or in a format that is different from a CSV file

To enable the user exit callback, use the property entirex.appmondc.callback.class to specify the class name of the user exit implementation. The class is loaded using the standard classpath. You can specify a separate classpath with the property entirex.appmondc.callback.classpath. Note that for the classpath, a file or HTTP URL must be specified (on Windows replace the "\" character with "/"). Your user exit class must implement the Java interface com.softwareag.entirex.appmondc.DataCollectorCallback. This Java interface has the following methods:

/**
 * Initialize the callback handler.
 * @param directory The name of the directory that will contain the CSV data files (set by property "entirex.appmondc.directory")
 *
 * @throws Exception
 */
public void start(String directory) throws Exception;
/**
 * Stop the callback handler.
 */
public void stop();
/**
 * Process an event. This corresponds to an entry in the CSV file.
 * The map contains all KPIs which have a value.
 * The key names of the map are identical to the KPI names.
 *
 * @param kpis The KPI map.
 * @throws Exception
 */
public void processEvent(Map<String, String> kpis) throws Exception;