Monitoring SOAP services and clients

Due to variety of WS frameworks, there is no single script enabling monitoring for all of them. Scripts for specific frameworks are available instead - in similiar manner to monitoring of speficic JDBC drivers. Currently supported frameworks are (more to come):

  • apache/axis.bsh - Axis 1;

  • apache/axis2.bsh - Axis 2;

  • apache/cxf.bsh - Apache CXF (no SOAP statistics, use CXF-specific template instead);

Enabling SOAP instrumentation

In order to enable monitoring of SOAP services, include appropriate support script in zorka.properties, for example:

scripts = jvm.bsh, zabbix.bsh, apache/tomcat.bsh, apache/axis.bsh

Tracing SOAP requests

Tracing of SOAP requests will be enabled automatically as soon as tracer = yes is set in zorka.properties. Administrator can disable SOAP tracing by adding soap.trace = no to zorka.properties and can set minimum execution time threshold for traced SOAP calls using soap.trace.time option.

Tracing collects request and reply XML messages by default. It can be disabled using soap.fetch.xml option.

Sample Axis traces on Tomcat

Configuration options reference

Settings for SOAP monitoring:

  • soap.stats = yes - enable SOAP statistics;

  • soap.stats.mbean = zorka:type=ZorkaStats,name=SOAP - mbean name for SOAP statistics;

Tracing SOAP requests:

  • soap.trace = yes - enable or disable tracing of SOAP requests;

  • soap.trace.time = ${tracer.min.trace.time} - minimum request execution time to be submitted;

Intercepting SOAP messages:

  • soap.fetch.xml = yes - enables or disables intercepting of incoming and outgoing SOAP messages;

  • soap.fetch.xml.limit = 65536 - this option limits how big intercepted messages can be; if message exceeds this threshold, it will be truncated before submitting to ZICO collector;

  • soap.fetch.xml.in = yes - enables or disables intercepting of incoming SOAP messages;

  • soap.fetch.xml.out = yes - enables or disables intercepting of outgoing SOAP messages;

Slow SOAP log:

  • soap.slow = ${traps.slow} - enable or disable slow SOAP requests log;

  • soap.slow.time = 5000 - minimum message handling time;

  • soap.slow.file.max = 8M - maximum slow log file size;

  • soap.slow.file.num = 8 - maximum number of archived log files;

  • soap.slow.file.path = ${zorka.log.dir}/soap-slow.log - path to log file;

  • soap.slow.format - format of log messages;

SOAP error log settings:

  • soap.error = ${traps.error} - enable or disable JMS error log;

  • soap.error.file.max = 8M - maximum error log file size;

  • soap.error.file.num = 8 - maximum number of archived error logs;

  • soap.error.file.path = ${zorka.log.dir}/soap-error.log - path to log file;

  • soap.error.format - query log messages format;

Zabbix templates

  • Template_Zorka_SOAP_CLI.xml - SOAP client statistics;

  • Template_Zorka_SOAP_SVC.xml - SOAP server statistics;