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.
| 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 |
|
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 |
|
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. |
| 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 |
|