h1. Introduction
The Petals BC Soap is composed of several internal components. Each one can be monitored and provides several metrics:
* consumer side:
** incoming requests
*** incoming information request counter,
*** incoming web-service request counter,
*** incoming web-service request response times,
*** incoming unknown request counter,
** thread pool processing web-service requests,
* provider side:
** outgoing web-service request counter,
** outgoing web-service request response times,
** web-service client pool.
Moreover, as the Petals BC Soap is based on the Petals CDK, all common metrics are also provided, see [Monitoring Petals CDK-based components].
h1. Monitoring the consumer side
h2. Monitoring the incoming requests
!petals-local-transporter-delivered-messages.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the incoming requests:
* 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 petals-bc-soap \-f incoming-http-requests-count \-- \-n <petals-bc-soap-id> \-r}}
{tip}If you have only one Petals BC SOAP installed on your Petals node, the input field {{petals-bc-soap-id}} can be replaced by its value{tip}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{Information}} | Number of information request received | COUNTER |
| {{Unknown}} | Number of unknown request received | COUNTER |
| {{WS}} | Number of web-service request received | COUNTER |
h2. Monitoring the thread pool processing incoming requests
!petals-bc-soap-http-thread-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the thread pool processing incoming requests:
* 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 petals-bc-soap \-f http-thread-pool \-- \-n <petals-bc-soap-id>}}
{tip}If you have only one Petals BC SOAP installed on your Petals node, the input field {{petals-bc-soap-id}} can be replaced by its value{tip}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{HttpServerThreadPoolAllocatedThreadsMax}} | The maximum number of allocated threads | GAUGE |
| {{HttpServerThreadPoolAllocatedThreadsCurrent}} | The current number of allocated threads | GAUGE |
| {{HttpServerThreadPoolIdleThreadsMax}} | The maximum number of idle threads | GAUGE |
| {{HttpServerThreadPoolIdleThreadsCurrent}} | The current number of idle threads | GAUGE |
| {{HttpServerThreadPoolMaxSize}} | The maximum size of the thread pool | GAUGE |
| {{HttpServerThreadPoolMinSize}} | The minimum size of the thread pool | GAUGE |
| {{HttpServerThreadPoolEnqueuedRequestsMax}} | The maximum number of requests that are enqueued waiting a thread to be processed | GAUGE |
| {{HttpServerThreadPoolEnqueuedRequestsCurrent}} | The current number of requests that are enqueued waiting a thread to be processed | GAUGE |
h1. Monitoring the provider side
The Petals BC Soap is composed of several internal components. Each one can be monitored and provides several metrics:
* consumer side:
** incoming requests
*** incoming information request counter,
*** incoming web-service request counter,
*** incoming web-service request response times,
*** incoming unknown request counter,
** thread pool processing web-service requests,
* provider side:
** outgoing web-service request counter,
** outgoing web-service request response times,
** web-service client pool.
Moreover, as the Petals BC Soap is based on the Petals CDK, all common metrics are also provided, see [Monitoring Petals CDK-based components].
h1. Monitoring the consumer side
h2. Monitoring the incoming requests
!petals-local-transporter-delivered-messages.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the incoming requests:
* 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 petals-bc-soap \-f incoming-http-requests-count \-- \-n <petals-bc-soap-id> \-r}}
{tip}If you have only one Petals BC SOAP installed on your Petals node, the input field {{petals-bc-soap-id}} can be replaced by its value{tip}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{Information}} | Number of information request received | COUNTER |
| {{Unknown}} | Number of unknown request received | COUNTER |
| {{WS}} | Number of web-service request received | COUNTER |
h2. Monitoring the thread pool processing incoming requests
!petals-bc-soap-http-thread-pool.png|align=center!
See [Creating a graph using a simple data|How to create a graph with Cacti#Creating a graph using a simple data] to graph the stats of the thread pool processing incoming requests:
* 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 petals-bc-soap \-f http-thread-pool \-- \-n <petals-bc-soap-id>}}
{tip}If you have only one Petals BC SOAP installed on your Petals node, the input field {{petals-bc-soap-id}} can be replaced by its value{tip}
* Output fields of the script/command:
|| Name || Description || Type ||
| {{HttpServerThreadPoolAllocatedThreadsMax}} | The maximum number of allocated threads | GAUGE |
| {{HttpServerThreadPoolAllocatedThreadsCurrent}} | The current number of allocated threads | GAUGE |
| {{HttpServerThreadPoolIdleThreadsMax}} | The maximum number of idle threads | GAUGE |
| {{HttpServerThreadPoolIdleThreadsCurrent}} | The current number of idle threads | GAUGE |
| {{HttpServerThreadPoolMaxSize}} | The maximum size of the thread pool | GAUGE |
| {{HttpServerThreadPoolMinSize}} | The minimum size of the thread pool | GAUGE |
| {{HttpServerThreadPoolEnqueuedRequestsMax}} | The maximum number of requests that are enqueued waiting a thread to be processed | GAUGE |
| {{HttpServerThreadPoolEnqueuedRequestsCurrent}} | The current number of requests that are enqueued waiting a thread to be processed | GAUGE |
h1. Monitoring the provider side