IBM ACE Message Flow Statistics Test

A message flow is a sequence of processing steps that run in the broker when an input message is received.

You define a message flow in the IBM Integration Toolkit by including a number of message flow nodes, each of which represents a set of actions that define a processing step. The way in which you join the message flow nodes together determine which processing steps are carried out, in which order, and under which conditions. The path that you create between one node and another is known as a connection.

A message flow must include an input node that provides the source of the messages that are processed. You can process the message in one or more ways, and optionally deliver it through one or more output nodes. The message is received as a bit stream, and is converted by a parser into a tree structure that is used internally in the message flow. Before the message is delivered to a final destination, it is converted back into a bit stream. When you want to exchange messages between multiple applications, you might find that the applications do not understand or expect messages in the same format. You must provide some processing between the sending and receiving applications to ensure that both can continue to work unchanged, but can exchange messages successfully. When you want to run a message flow to process messages, you deploy it to a broker, where it is run in an integration server. When the target environment, consists of too many message flows that need to be monitored, administrators may often find it difficult to identify the message flow that is experiencing sudden slowdowns in processing the messages. The IBM ACE Message Flow Statistics test helps administrators to tackle this problem!

This test auto discovers the message flows in the target IBM App Connect Enterprise and reports the time taken to process the messages. In addition, this test reports the time taken by the CPU to process the messages and the processing rate for the messages. Administrators may also be alerted to the message flows that are frequently error-prone.

Target of the test: An IBM App Connect Enterprise

Agent deploying the test : An internal/remote agent

Outputs of the test : One set of results for each Execution Group: Message flow on the IBM App Connect Enterprise that is to be monitored.

Configurable parameters for the test
Parameters Description

Test period

How often should the test be executed.

Host

The host for which the test is to be configured.

Port

The port on which the specified host listens. The default is 2414.

QM Host

By default, the eG agent collects the performance metrics from the target IBM App Connect Enterprise and stores the metrics in the queue manager of the IBM WebSphere MQ server that is loosely coupled with the target IBM App Connect Enterprise. To store the performance metrics, the eG agent should be aware of the host name or IP address of the queue manager. For this, specify the host name or the IP address of the queue manager in the QM Host text box.

QM Port

Specify the port number on which the queue manager is listening for client connections. The default is 2414.

QM User

If you want to login as a specific MQ user to execute this test, then specify a valid user name in the User text box. The test will fail if an invalid user name is specified here. If no such authentication is required, then this parameter can be set to 'none'. If the user belongs to an Active Directory group, then, specify the user name in the following format: <username>@<domain name>. For example, if the user belongs to eginnovations/john, then, your specification should be: john@eginnovations.com.

QM Password

If a specific User is entered, then the password of that user has to be specified in the Password text box.

Confirm Password

Confirm the password by retyping it in the Confirm Password text box.

SERVERCONNCHANNEL

The name of the server connection channel for the WebSphere MQ server. The default value is "SYSTEM.DEF.SVRCONN". If you prefer not to use this default server connection channel for monitoring purposes, then you can create a custom channel in the WebSphere MQ server and use it for monitoring. The steps for achieving this have been detailed in Creating a Custom Channel topic.

SSL Cipher Spec

This parameter is applicable only if SSL-enabled channel is used for communication to the target IBM App Connect Enterprise, if not, set this parameter to none.

A cipher suite is a set of cryptographic algorithms that are used before a client application and server exchange information over an SSL/TLS connection. It consist of sets of instructions on how to secure a network through SSL (Secure Sockets Layer) or TLS (Transport Layer Security). In this text box, provide the cipher suite that is allowed for SSL/TLS connection to the target server. By default, this parameter is set to none. To know if SSL-enabled channel is used for communication, refer to Enabling One-Way SSL Communication on the Channel topic.

Two Way SSL

This parameter is applicable only if SSL-enabled channel is used for communication to the target IBM App Connect Enterprise, if not, set this flag to No.

If two-way SSL authentication is used then set this flag to Yes. Set this flag to No if one-way SSL communication is used.

Truststore

This parameter is applicable only if SSL-enabled channel is used for communication to the target IBM App Connect Enterprise, if not, set this parameter to none.

Truststore is used to store certificates from Certified Authorities (CA) that verify and authenticate the certificate presented by the server in an SSL connection. Therefore, the eG agent should have access to the truststore where the certificates are stored to authenticate and connect with the target server and collect metrics. For this, first extract the certificates from the server into the following default location /opt/egurkha/jre/lib/security/egmqsslstore.jks. To know how to create and extract the certificate into the truststore, refer to Configuring the eG Agent to Monitor the Queue Manager. Then, provide the truststore file name in this text box. For example: egmqsslstore.jks. However, if you are using a different location to store the certificate then, provide the full path to this file in this text box. By default, none is specified against this text box.

Truststore Password

This parameter is applicable only if SSL-enabled channel is used for communication to the target IBM App Connect Enterprise, if not, set this parameter to none.

If a Truststore File name or file path is provided, then, in this text box, provide the password that is used to obtain the associated certificate details from the Truststore File.

Confirm Password

This parameter is applicable only if SSL-enabled channel is used for communication to the target IBM App Connect Enterprise, if not, set this parameter to none.

Confirm the password by retyping it in this text box.

Keystore

This parameter is applicable only if two-way SSL authentication is used, if not, set this parameter to none.

Keystore contains the private keys for the certificates that the client can provide to the server upon request. eG agent requires access to the keystore where client certificate is stored to send that to the server so that the server validates the certificate against the one contained in its trustore. For this purpose, first create the client certificate in the following default location /opt/egurkha/jre/lib/security/egmqsslstore.jks. To know how to create the certificate, refer to Configuring the eG Agent to Monitor the Queue Manager. Then, provide the keystore file name in this text box. For example:egmqsslstore.jks. However, if you are using a different location to store the certificate then, provide the full path to this file in this text box. By default, none is specified against this text box. If you are using one-way SSL authentication, this parameter is set to none.

Keystore Password

This parameter is applicable only if two-way SSL authentication is used, if not, set this parameter to none.

If a Keystore File name or file path is provided, then, in this text box, provide the password that is used to obtain the associated certificate details from the Keystore File.

Confirm Password

This parameter is applicable only if two-way SSL authentication is used, if not, set this parameter to none.

Confirm the password by retyping it in this text box.

Queue Resource Stats

Specify the name of the local queue that you have created for storing the Resource statistics. To know more about how to create a local queue, refer to Creating a Local Queue.

Queue Flow Stats

Specify the name of the local queue that you have created for storing the Message flow statistics. To know more about how to create a local queue, refer to Creating a Local Queue.

Timeout

Specify the duration (in seconds) within which the query executed by this test should Timeout in this text box. The default is 120 seconds.

Measurements made by the test
Measurement Description Measurement Unit Interpretation

Average elapsed time

Indicates the average time taken by this message flow to process input messages.

Secs

Comparing the value of this message across the message flows helps you identify the message flow that is taking too long to process the input messages.

Maximum elapsed time

Indicates the maximum time taken by this message flow to process a message.

Secs

 

Average CPU time

Indicates the average time taken by the CPU of this message flow to process the input messages.

Secs

Comparing the value of this message across the message flows helps you identify the message flow that is taking too long to process the input messages.

Maximum CPU time

Indicates the maximum time taken by the CPU of this message flow to process an input message.

Secs

 

Input message rate

Indicates the rate at which input messages are processed in this message flow.

Messages/sec

 

Message data rate

Indicates the number of bytes of the incoming messages processed by all the nodes of this message flow per second.

Bytes/sec

 

Number of maximum thread events

Indicates the number of times all the threads of this message flow was utilized.

Number

 

MQ errors

Indicates the number of errors such as MQGET errors or HTTP Input errors that occurred in this message flow.

Number

Ideally, the value of this measure is zero.

This measure includes errors such as the conversion errors that occurred when the message is received from the queue.

Comparing the value of this measure across message flows will help administrators to identify the message flow that was error prone.

Error message rate

Indicates the rate at which the error messages were received in this message flow.

Messages/sec

Ideally, the value of this measure should be zero.

These errors include exceptions that are thrown downstream of the input node, and errors that are detected by the input node after it successfully retrieves the message from the queue, but before it propagates it to the output terminal (for example, a format error).

Processing error rate

Indicates the rate at which errors occurred while the nodes were processing the messages in this message flow.

Messages/sec

Ideally, the value of this measure should be zero.

Commit rate

Indicates the rate at which commits happened on the transactions of this message flow.

Commits/sec

 

Backout rate

Indicates the rate at which transactions backout occurred in this message flow.

Backouts/sec