Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

The following table describes the available methods.

Table 9-29 methodsMethod    Description
prefix    Take

MethodDescription
prefix

Take only the defined prefix.

For example: <pattern1>abraham</pattern1> - For URL 'abraham123.html' you will see

'abraham%'.

suffix

...

Take only the defined suffix.

For example: <pattern1>html</pattern1> - For URL 'abraham123.html' you will see '%html'.

prefix-by-

...

key

Take text up to the defined key (not including that key).

For example: <pattern1>;jsessionid</pattern1> - For URL 'abraham123.html;jsessionid' you will see 'abraham123.html%' (if showReplaceChar="false", you will get 'abraham123.html').

regex

...

Use the given regular expression to change the given URL.

For example: <pattern1 replace="$1">service(.*)</pattern1> - For URL 'service123' you will get '123' (for more on regular expressions, consult your support representative).

The following code is an example of the element’s content for an URL element when all the grouping methods are activated:

<data-patterns>
     <urls>
          <execute>true</execute>
          <methods>
               <method1>
                    <name>prefix</name>
                    <patterns>
                         <pattern1>/redirectlogon.html</pattern1>
                    </patterns>
               </method1>
               <method2>
                    <name>suffix</name>
                    <patterns>
                         <pattern2>ads.com</pattern2>
                    </patterns>
               </method2>
               <method3>
                    <name>prefix-by-key</name>
                    <patterns>
                         <pattern3>:jsessionid=</pattern3>
                    </patterns>
               </method3>
               <method4>
                    <name>regex</name>
                    <patterns>
                         <pattern4 replace="$1">\d+: (.*)</pattern4>
                    <patterns/>
               </method4>
          </methods>
     </urls>
</data-patterns>

When URL pattern prefix grouping is activated, a percentage sign (%) is added at the end of a URL. For example, the URL /redirectlogon.html/121231245 is saved in the database as /redirectlogon.html%.

To group consecutive URLs by pattern1.    Open

  1. Open the relevant registry file (instance

...

  1. registry, server registry, or focal-point registry) and find the data-patterns element (If it does not exist, you can add it as appears in the server registry)

...

  1. Edit the data-patterns element in the following way:

    ...

      • Set the required <execute> elements to true.

    ...

      • Choose the method (prefix, suffix, prefix-by-key, or regex) in the required element (urls, pages, titles, domains).

    ...

      • Define the URL patterns in the <pattern> elements. You can include as many <pattern> elements as required.

    ...

      • If you choose the regex method, use the replacement string. For example:
        <pattern replace=“$1”>\d+: (.*)</pattern>

    ...

    1. Save and close the file

    ...

    1. .
    2. Restart the Precise for Web server-side and dynamic instrumentation agents monitoring the relevant environment.

    Anchor
    TempStoppingTest
    TempStoppingTest
    Temporarily stopping the maximum number of table rows test

    If the database tables that contain the URLs and pages that are visited exceed the maximum number of rows, the installation verification procedure (IVP) issues an error message. To prevent this message from reappearing until the accumulation frequency of URLs has been lowered, you can temporarily stop the ‘maximum number of table rows’ test.

    To temporarily stop the ‘maximum number of table rows’ test1.    Open the <i3_root>

    1. Open the <i3_root>\products\www\ivp\resources\functions_ivp.xml file in an editor:

    ...

    1. In the file, set the <max-rows-for-alert> element to 0.

    ...

    1. Save and close the file.

    Anchor
    DynamicInstrumentation
    DynamicInstrumentation
    Dynamic instrumentation

    When you install a Web server agent, you are asked whether you would like to dynamically instrument Web pages. Also when you select an existing instance, you can edit it, so that the dynamic instrumentation can be applied. In both cases this results in an additional entry in the AdminPoint window. The new entry shows identical instance information for all but one column: the Agent column. In this column the agent is shown as Web Instrument agent. The Instrument.xml file handles the dynamic instrumentation configuration.

    About the instrumentation configuration file (Instrument.xml)

    If the instance is part of a cluster, the Instrument.xml file is located in the <FP server><FP server>\products\i3fp\registry\clusters\www\<name <name of cluster> cluster> directory.

    If the instance is not part of a cluster, the Instrument.xml file is located in the <FP server>\products\i3fp\registry\instances\www\<monitored instance name>\<instance name>\<instance name> directory. if If you make changes in the the Instrument.xml file, then you will also have to make the changes in the proxy (or proxies). The recommended way to do so it you use the CLI command as describe before.
    See “Instance registry” on page 116See Instance registry.

    Following is an example of the file structure that is explained in the section following the example:

    <dynamic-inst>
              <enable>true</enable>
              <handle-js>true</handle-js>
              <prolog-string> <![CDATA[<!DOCTYPE html PUBLIC "-//W3C//DTD
              XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/ xhtml1-transitional.dtd">]]>
              </prolog-string>
              <no-recompress>true</no-recompress>
              <accumulate-on-parsing>true</accumulate-on-parsing>
              <max-parsing-bytes>2048</max-parsing-bytes>
              <js-mime-type>text/javascript</js-mime-type>
              <instance-id>1234</instance-id>
              <strict-servlet-api>true</strict-servlet-api>
              <private-log>false</private-log>
              <i3-log>false</i3-log>
         <webgarden>
              <enable>false</enable>
              <sampling-interval>2000</sampling-interval>
         </webgarden>
         <user-agents>
                   <user-agent name="debug">
                        <i3-log>false</i3-log>
                        <private-log>false</private-log>
                        <accumulation>default</

    ...

    accumulation>
                        <parsing>false</parsing>
                        <second-script>false</second-script>
                        <enable>true</enable>
                   </user-agent>
                   <user-agent name="MSIE">
                        <i3-log>false</i3-log>
                        <private-log>false</private-log>
                        <accumulation>default</accumulation>
                        <parsing>false</parsing>
                        <second-script>false</second-script>
                        <enable>true</enable>
                   </user-agent>
                   <user-agent name="Default">
                        <i3-log>false</i3-log>
                        <private-log>false</private-log>
                        <accumulation>default</accumulation>
                        <parsing>false</parsing>
                        <second-script>false</second-script>
                        <enable>true</enable>
                   </user-agent>
         </user-agents>
         <include-ip>
              <range from="123.23.1.1" to="123.23.1.255" />
              <range from="125.2.1.1" to="125.2.1.255" />
         </include-ip>
         <url-exclude>
              <suffix>.gif</suffix>
              <suffix>.jpeg</suffix>
         </url-exclude>
         <url-include>
              <prefix>/products</prefix>
              <prefix>/petstore/accounts</prefix>
              <suffix>createData.dll</suffix>
         </url-include>
         <include-char-encoding>
              <char-enc>shift_jis</char-enc>
              <char-enc>jis</char-enc>
         </include-char-encoding>
         <req-header-exclude>
              <header name="content-type" value="application/x-www-form- urlencoded" />
         </req-header-exclude>
    </dynamic-inst>

    About the Instrument.xml tags

    The following table contains the tags that can be encountered in the Instrument.xml file. "not applicable" means that the tag has no influence on that specifically chosen instance type.

    Table 9-30 Instrument.xml tags

    Tag    Description
    dynamic-inst    The first tag of the dynamic instrumentation configuration file. J2EE: mandatory
    ISAPI: mandatory
    enable    Enables or disables the instrumentation filter globally. J2EE: optional
    ISAPI: optional Values: true, false Default value: true
    handle-js*    Enables or disables the JavaScript handling by the filter. J2EE: optional
    ISAPI: optional Values: true, false Default value: true
    strict-servlet-api (J2EE)    Forces compatibility with the J2EE servlets specifications. J2EE: optional
    ISAPI: not applicable Values: true, false Default value: true
    js-mime-type    Uses js-mime-type protocol. J2EE: optional
    ISAPI: optional
    Values: if possible to use dynamically obtained, otherwise use application/x-javascript
    Default value: if possible use dynamically obtained, otherwise use application/x-javascript

    ...