A Petals ESB container is composed of several internal components. Each one can be monitored and provides several metrics:
- the transporters:
- the local transporter:
- the remote transporter:
Monitoring the transporters
Monitoring the local transporter
Delivered messages
The number of messages delivered by the local transporter can be graphed:
- by message exchange status, see Creating a graph using a simple data:
- Script/Command of the data input method: petals-cli.sh -h <petals_host> -n <petals_jmx_port> -u <petals_jmx_user> -p <petals_jmx_password> -c -- monitoring -o local-transporter -f delivered-messages -- -m
- Output fields of the script/command:
Name Description Type Active Number of delivered message with status 'Active' COUNTER Done Number of delivered message with status 'Done' COUNTER Error Number of delivered message with status 'Error' COUNTER
- by message exchange status and filtered for a dedicated endpoint, or a service, or an interface, see Creating a graph using a data query:
- the data query definition to put in a file:
<interface> <name>Get Delivered Messages by the Local transporter to an endpoint</name> <script_path>petals-cli.sh</script_path> <arg_prepend>-h localhost -n 7700 -u petals -p petals -c -- monitoring -o local-transporter -f delivered-messages</arg_prepend> <arg_index>-- --list-endpoints</arg_index> <arg_query>-- --query-endpoints</arg_query> <arg_get>-- --query-endpoints</arg_get> <output_delimeter>!</output_delimeter> <index_order>filterName</index_order> <index_order_type>alphanumeric</index_order_type> <!--index_title_format>|chosen_order_field|</index_title_format--> <fields> <filterName> <name>Endpoint name</name> <direction>input</direction> <query_name>NAME</query_name> </filterName> <activeDeliveredMsgs> <name>Active Message exchange delivered counter</name> <direction>output</direction> <query_name>ACTIVE</query_name> </activeDeliveredMsgs> <doneDeliveredMsgs> <name>Done Message exchange delivered counter</name> <direction>output</direction> <query_name>DONE</query_name> </doneDeliveredMsgs> <errorDeliveredMsgs> <name>Error Message exchange delivered counter</name> <direction>output</direction> <query_name>ERROR</query_name> </errorDeliveredMsgs> </fields> </interface>
To filter by service, replace <arg_index>, <arg_query> and <arg_get> by:
<arg_index>-- --list-services</arg_index> <arg_query>-- --query-services</arg_query> <arg_get>-- --query-services</arg_get>
To filter by interface, replace <arg_index>, <arg_query> and <arg_get> by:
<arg_index>-- --list-interfaces</arg_index> <arg_query>-- --query-interfaces</arg_query> <arg_get>-- --query-interfaces</arg_get>
Name Description Type activeDeliveredMsgs Number of delivered message with status 'Active' COUNTER doneDeliveredMsgs Number of delivered message with status 'Done' COUNTER errorDeliveredMsgs Number of delivered message with status 'Error' COUNTER
- the data query definition to put in a file:
Monitoring the remote transporter
Delivered messages (incoming or outgoing messages)
The number of messages delivered by the remote transporter can be graphed:
- by delivery status and filtered for a dedicated remote container, see Creating a graph using a data query:
- the data query definition to put in a file:
<interface> <name>Outgoing messages delivered by the remote transporter to the given remote container</name> <script_path>petals-cli.sh</script_path> <arg_prepend>-h localhost -n 7700 -u petals -p petals -c -- monitoring -o tcp-transporter -f delivered-outgoing-messages</arg_prepend> <arg_index>-- --list-containers</arg_index> <arg_query>-- --query-containers</arg_query> <arg_get>-- --query-containers</arg_get> <output_delimeter>!</output_delimeter> <index_order>filterName</index_order> <index_order_type>alphanumeric</index_order_type> <!--index_title_format>|chosen_order_field|</index_title_format--> <fields> <filterName> <name>Remote container name</name> <direction>input</direction> <query_name>NAME</query_name> </filterName> <pendingDeliveredMsgs> <name>Pending message delivery counter</name> <direction>output</direction> <query_name>PENDING</query_name> </pendingDeliveredMsgs> <succeededDeliveredMsgs> <name>Succeeded message delivery counter</name> <direction>output</direction> <query_name>SUCCEEDED</query_name> </succeededDeliveredMsgs> <errorDeliveredMsgs> <name>Error message delivery counter</name> <direction>output</direction> <query_name>ERROR</query_name> </errorDeliveredMsgs> </fields> </interface>
- the data query definition to put in a file:
Name | Description | Type |
---|---|---|
pendingDeliveredMsgs | Number of delivered message with status 'Pending' | COUNTER |
succeededDeliveredMsgs | Number of delivered message with status 'Succeeded' | COUNTER |
errorDeliveredMsgs | Number of delivered message with status 'Error' | COUNTER |
Outgoing connection pools
The metrics of outgoing connection pools of the remote transporter can be graphed for a given remote container as a graph using simple data:
- Script/Command of the data input method: petals-cli.sh -h <petals_host> -n <petals_jmx_port> -u <petals_jmx_user> -p <petals_jmx_password> -c -- monitoring -o tcp-transporter -f outgoing-connections -- -c <remote-container-name>
- Output fields of the script/command:
Name Description Type ActiveConnectionsMax The maximum number of active connections (established and used) GAUGE ActiveConnectionsCurrent The current number of active connections (established and used) GAUGE IdleConnectionsMax The maximum number of idle connections (established but not used) GAUGE IdleConnectionsCurrent The current number of idle connections (established but not used) GAUGE MaxSize The maximum size of the connection pool GAUGE MinSize The minimum size of the connection pool GAUGE EstablishedConnections The number of connection established since the last start of the remote transporter COUNTER
Incoming connection pools
The metrics of incoming connection pools of the remote transporter can be graphed for a given remote container as a graph using simple data:
- Script/Command of the data input method: petals-cli.sh -h <petals_host> -n <petals_jmx_port> -u <petals_jmx_user> -p <petals_jmx_password> -c -- monitoring -o tcp-transporter -f incoming-connections -- -c <remote-container-name>
- Output fields of the script/command:
Name Description Type ActiveConnectionsMax The maximum number of active connections (established and used) GAUGE ActiveConnectionsCurrent The current number of active connections (established and used) GAUGE IdleConnectionsMax The maximum number of idle connections (established but not used) GAUGE IdleConnectionsCurrent The current number of idle connections (established but not used) GAUGE EstablishedConnections The number of connection established since the last start of the remote transporter COUNTER