Monitoring the container

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:
      • [delivered outgoing messages],
      • [delivered incoming messages],
      • outgoing connection pool,
      • incoming connection pool.

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

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>
      
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
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.