SOAP and XML monitoring

To begin monitoring your SOAP/XML traffic, you need to add a software service.

  • The easiest way is to use the wizard. With it, you can capture traffic traces and then, based on those captures, create rules and extract reported elements.
    For more information, go to Adding a software service with the wizard. If you use the wizard, you do not need the manual procedures described below, though you may find some of the information useful later for fine-tuning your configuration.

    Note: Windows Communication Foundation (WCF) - The Net.TCP Port Sharing Service is not supported.

  • More experienced product users may prefer the manual procedures listed below.

  • See also:

Create a software service

  1. In the NAM Console, open the configuration on the NAM Probe.
  2. Select Software Services ► User-Defined Software Services.
  3. In the Software services section, right-click and select Add.
  4. Define your software service.
    Be sure to set Analyzer to HTTP .
  5. Create a rule. See below.

For more information, see Adding a software service manually.

Create a rule

For NAM to start recognizing the software service within the observed traffic, you have to create a rule that describes the software service. Each software service can be described by a number of specific rules that define what is to be monitored and what additional options are in effect.

  1. On the User-Defined Software Services screen, select the new software service.
  2. In the Rules section, right-click and select Add.
  3. Create a rule for the selected software service.
    Several tabs are available for tweaking your monitoring. A number of options are set to be inherited from the global settings. These options are common for other analyzers and can be set globally.
  4. Define a URL for this rule. See below.

Define a URL

To monitor SOAP/XML operations, you must define a URL where you set the URL analysis profile to SOAP/XML.

  1. With the new rule open for editing, click the URL Monitoring tab.

  2. Add the monitored URL.

  3. Set the URL analysis profile to SOAP/XML.

    Selecting the SOAP/XML profile will automatically reconfigure and populate options for the software service.

    • Options for the Content Types tab will be reconfigured.
      Appropriate content type selection will be adjusted.
    • Definitions on the Dimensions, Metrics, Attributes tab will be reconfigured.
      A list of search and transformation types will be enriched by XML specific options: XML attribute search, XML body search and XML sibling element search.
    • Settings on the Options tab for the software service will be reconfigured.
      The Maximum request body length setting will be adjusted.
  4. Set the URL type to URL as regular expression.

  5. Enter http://.* or https://.* as a fully qualified URL.
    For more information, see Configuring URL monitoring.

With this minimal configuration, NAM can recognize, analyze, and report basic information on your XML software service. Later, you can define the actual operation patterns and indicate the tags from which information will be extracted. The more granular your definitions, the more insight you will have into your XML application performance.

Save and publish

Save and publish your configuration and wait at least 5 minutes for the observed traffic to be analyzed and reported.

Examine reports

Sign in to the report server and navigate to the list of software services: ExploreSoftware services.
From that report you can change tabs and the report perspective to Servers, Clients, Operations or Sites.

From the software services perspective, using the find feature, filter on the name of the software service that you have just created. Basic information like Application performance, Availability and Failures for your XML software service is available.

Left-click on your software service to drill down to:

  • Servers
    The same view as switching the Software services report perspective to Servers but listing only your selected software service.
  • Operation explorer
    Comparison information for your XML software service of Health vs response time, Availability vs failures, Page load time vs slow operations, Usage vs operations and other Performance details.
    Using the tabs you can get information on affected operations, sites, users as well as on slow operations and response time distribution.
  • Metric charts
    Charts relating to performance of your XML software service. You can examine the performance, network, availability with baselines, view the Bandwidth usage, Network performance and other network related data under the Network tab. All within the context of your XML software service.
  • Application responses
    Review the Incomplete responses and top users, operation and sites.

Fine-tune your monitoring

After you have created the basic SOAP/XML software service, you can fine-tune the monitoring configuration to extract specific information from the observed XML traffic and use this data to create reports or further analyze the software service performance.

When creating or editing a rule for your SOAP/XML software service, use the Dimensions, Metrics, Attributes tab to define search patterns. In these search patterns you indicate where in the XML traffic NAM should search for the specific information, how the found information should be reported, and where the information should be reported.

Encoding

If you know your traffic is compressed or encoded, you must decode or decompress the traffic data before you can apply the XML search methods. Create the first search rule as a Decode/decompress transformation type, and set the appropriate encoding and compression option.

For example, your SOAP/XML traffic includes the following XML authorization session:

  • Client Sends
<J9Message len="14" cksum="123" id="1">
	<hello/>
</J9Message>
  • Server Responds
<J9Message len="86" cksum="123" id="1">
	<response cmd="hello">
		<t1>ED073BE2...59378F7</t1>  
	<response>
</J9Message>
  • Client Sends
<J9Message len="167" cksum="123" id="2">
	<auth>
		<u>James Smith</u>
		<t2>D9679532..12BFF49C</t2>
		<h>63C0103...E8BBF9</h>
	</auth>
</J9Message>
  • Server Responds
<J9Message len="47" cksum="123" id="2">
	<response cmd="auth">
		<r status="66">ok</r>
	</response>
</J9Message>

You can define search patterns for specific messages or series of specific messages, knowing that:

  • len is the length of the payload.
  • cksum is the checksum of the payload.
  • id is the identifier that identifies the command message. The response from the server will always contain id for reference and, if an id was provided in the header, then it will be included in the response.
  • cmd is the name of the command that was run.

Matched messages can then be used to increase a count of operation attributes or custom metrics. For example, assume you want to see the following information on your Metrics charts :

  • Client sent messages containing the <hello> tag as custom metric 1.
  • Server responses containing a text phrase cmd="hello" and at least one <t1> tag as custom metric 2.
  • Client sent messages containing the <u> tag as operation attribute 1.
  • Server responses containing the status attribute as operation attribute 2.

Create a search pattern with a XML body search method that searches through the request body for the hello tag and reports it as a custom metric.

Create a search patters with two transformation types, one of the Text phrase search for the cmd="hello" test, and the other XML body search for the <t1> tag.

Create a search pattern with a XML body search method that searches through the request body for the <u> tag and reports it as an operation attribute.

Create a search pattern with XML attribute search method that searches through the response body for a tag <r> with a status attribute, and reports it as an operation attribute.

See Searching within the payload to find out what other search options are available for XML and how search parameters affect the search.

Examine the Metric charts to view the custom metrics and operation attributes that you have configured.