View Source

A Petals ESB container is composed of several internal components. Each one can be monitored and provides several metrics:
* the transporters:
** the local transporter:
*** delivered messages

h1. Monitoring the transporters

h2. Monitoring the local transporter

h3. Delivered messages
!petals-local-transporter-delivered-messages.png|align=center!
The number of messages delivered by the local transporter can be graphed:
* by message exchange status, see [Creating a graph using a simple data|How to create a graph with Cacti#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|How to create a graph with Cacti#Creating a graph using a data query]:
** the data query definition to put in a file:
{code}
<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>
{code}
To filter by {{service}}, replace {{<arg_index>}}, {{<arg_query>}} and {{<arg_get>}} by:
{code}
<arg_index>-- --list-services</arg_index>
<arg_query>-- --query-services</arg_query>
<arg_get>-- --query-services</arg_get>
{code}
To filter by {{interface}}, replace {{<arg_index>}}, {{<arg_query>}} and {{<arg_get>}} by:
{code}
<arg_index>-- --list-interfaces</arg_index>
<arg_query>-- --query-interfaces</arg_query>
<arg_get>-- --query-interfaces</arg_get>
{code}
|| 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 |