Learn how to use Application Monitoring and use the data to measure response time performance in EntireX.
Use Application Monitoring to monitor the response times in your distributed applications. Evaluate time spent in an EntireX scenario, detect error situations or automate your monitoring. Read on to understand how.
By Jürgen Lind, Director Product Management Adabas & Natural, Bernhard Fricke, Senior Software Specialist, EntireX Development, Software AG
Getting to know Application Monitoring
Use application monitoring to understand the performance of EntireX scenarios. Detect error situations and automate monitoring.
The heart of application monitoring is the EntireX Application Monitoring Data Collector. It collects the response time data of each involved software component of synchronous EntireX RPC communication. Subsequently, the Data Collector stores the KPI values in CSV files. Then files can be processed by any tool that supports a CSV file.
As an alternative, and depending on the architecture you choose, you can also call Java callbacks or an Integration Server service. This allows you to further automate your monitoring approach. In addition to response time data, error situations can also be monitored and collected.
When application monitoring is enabled, each call to the service by a client application is monitored. The overall service response times, the network transport times, the EntireX Broker processing, waiting times and the RPC (remote procedure call) server processing times are measured. If Natural and ADABAS (mainframe) are installed on the back end, the time spent for database calls is also measured. Depending on the platform, even DB2 can be measured. Each Software AG enterprise product involved concatenates the monitored time(s) with the service call. When the call returns to the client, the client RPC runtime provides the event data to the Application Monitoring Data Collector.
Scenarios with webMethods IS
Take a look at two scenarios with the webMethods Integration Server:
Scenario 1: REST client or IS service calls RPC server
In the first example, REST clients call into an RPC Server via an IS service: inbound calls from the viewpoint of the webMethods Integration Server, or RPC server.
Fig. 1: KPI measuring points and flow for scenario REST client or webMethods IS service calls RPC Server
For webMethods Integration server scenarios, the Application Monitoring Data Collector is available inside the EntireX Adapter.
As an alternative to storing the KPIs in CSV files, an IS service can be invoked: The monitoring KPIs can be consumed by an Integration Server service. This way the monitoring data can be further processed. For the Integration Server service to process KPI data: Enter the full name of the service to consume the KPIs. This service is called with the available KPI values whenever the Data Collector receives a monitoring event.
Scenario 2: RPC client calls IS service or REST API
The second example illustrates the opposite direction: outbound calls of an RPC client calling a REST service via an IS service.
Fig. 2: KPI measuring points and flow for scenario RPC client calling a webMethods IS service or REST API
In this scenario, the whole setup of the Application Monitoring Data Collector is identical to scenario 1 above. The KPI measuring points comprise the RPC client and webMethods Integration Server.
Scenarios with EntireX Broker
There are also scenarios where webMethods Integration Server is not used, like calling to/from Web services or another RPC client through RPC server communication. In those cases where EntireX Broker is the communication hub, the Application Monitoring Data Collector runs as a separate stand-alone component, often called the External Application Monitoring Data Collector.
Fig. 3: KPI measuring points and flow for scenarios with EntireX Broker
RPC clients support Application Monitoring without additional configuration, including the EntireX Adapter with an EntireX RPC connection, which is technically an RPC client. So does an RPC server, including the EntireX Adapter with an EntireX RPC Listener connection, which is technically an RPC server.
External Application Monitoring Data Collector
As an alternative to storing the KPIs in CSV files, you can use the Callback User Exit of the External Application Monitoring Data Collector: Write a Java® class that implements the DataCollectorCallback interface and make it known to the External Application Monitoring Data Collector. Use this method if you want to feed arbitrary monitoring backends in real-time.
The External Application Monitoring Data Collector runs as a pre-started service controlled by a deamon: e.g. the cron-deamon in a Unix system or windows service under windows operating system.
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 Data Collector for scenarios with the webMethods Integration.
Whatever architecture you choose to use, dynamic configuration of Application Monitoring is possible while the EntireX Adapter or EntireX Broker is running. The change is effective immediately: There is no need to restart the EntireX Adapter or EntireX Broker.
Fig. 4: Application Monitoring: Dynamic configuration and setup
Dynamic Configuration and Setup for EntireX Adapter
The preferred configuration is to use the Internal Application Monitoring Data Collector: In the webMethods IS Administration GUI, under menu item Adapter invoke EntireX Adapter > Application Monitoring. Enable Application Monitoring at all and Use the internal Application Monitoring Data Collector (Fig. 4, marked in red).
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.
As an alternative, the monitoring KPIs can be routed to an external Application Monitoring Data Collector: Either a collector running internally within Direct RPC in a different instance of webMethods IS or a collector pre-started as a service, explained in the scenarios with EntireX Broker above.
Dynamic Configuration and Setup for EntireX Broker
Configuration of the external Application Monitoring Data Collector used in scenarios with EntireX Broker depends on the platform EntireX Broker is running on.
For Windows and UNIX use Command Central, in EntireX documentation, see Administration using Command Central > EntireX Broker (UNIX and Windows) > Administering EntireX Broker using the Command Central GUI | Command Line (Fig. 4, marked in blue).
On z/OS, use operator commands, in EntireX documentation see Administration > z/OS > Broker Add-ons > Operator Commands > Application Monitoring-specific Commands
The Application Monitoring Data Collector is available inside the EntireX Adapter since EntireX 10.5 GA 2019 Oct.
In addition to monitoring webMethods Integration Server scenarios as described above, you can also monitor scenarios where the EntireX Adapter is used to call transactions using CICS Socket Listener, CICS® ECI, IMS® Connect or AS/400.
For EntireX Broker scenarios, dynamic configuration of Application Monitoring is possible while the broker is running since EntireX 10.5 GA 2019 Oct.
In this article, you’ve learned how to monitor EntireX application scenarios. You can distinguish the architectures with and without integration server. Automating your monitoring is now easy with either flow services or Java callbacks.
With this, you know where the time goes in your EntireX scenarios. Even error situations can be detected automatically. To ease your operation, application monitoring can be enabled and disabled while the scenarios are up and running.
To learn more, read Application Monitoring from webMethods EntireX documentation.
Glossary of terms
Command Central – Tool to manage your Software AG products remotely
CSV – Comma-separated values
EntireX Broker - Central EntireX communication hub
KPI – Key Performance Indicator
REST – Representational State Transfer: A paradigm that allows to describe structure and behavior of the World Wide Web
RPC Client – A sender using RPC as protocol
RPC Server – A receiver using RPC as protocol
SPM – Software AG Platform Manager; used by Command Central
wM IS – webMethods Integration Server
- “How to monitor your EntireX environment with command line scripts”, TECHniques, April 2018 (Issue 2)
- “How can you monitor EntireX using Command-line Scripts?”, TECHniques, October 2017 (Issue 4)
- “How to monitor your EntireX environment”, TECHniques, July 2017 (Issue 3).
- “How to monitor your EntireX Mainframe Broker using Command Central”, TECHniques, January 2019 (Issue 1)