Versions Compared

Key

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

...

The following table describes the registry elements for the user-agent in the FocalPoint registry.
Table 9-26    Registry elements
Registry element    Description
user-agent    A user agent definition that Precise for Web uses to find and describe user agents.
user-agent.id    A string identifier for the user agent. This identifier is not the display name.
user-agent.display-string    The display string that is shown in the user interface for this user agent. You can use the
version token which is replaced with the detected user agent version.

Adding Web filter parameters

If you use an Apache, iPlanet, Sun ONE, WebSphere, Tomcat, Oracle Application Server, SAP, J2EE, or BEA WebLogic server, you can specify some Web filter settings that the Web server loads on startup. These parameters are the same for all Web servers. To add them, follow the instructions for the specific Web server.
See “Addable parameters” on page 132.
NOTE    Modification of IIS Web filter parameters is not yet supported.
To add parameters on an Apache server
1.    Open the httpd.conf file.
2.    After the LoadModule pssfilter_module line, add the parameter.
For example:
LoadModule pssfilter_module... PssFilterTrace 1
To add parameters on an iPlanet server
1.    Open the magnus.conf files.
2.    At the end of the Init fn=pss-init line, add the parameter.
For example:
Init fn=pss-init PssFilterTrace="1"
To add parameters on any J2EE server by editing the web.xml file
1.    Open the web.xml file.
2.    Add the parameters to the <filter> element in the following format:
<init-param>
<param-name>xxx</param-name>
<param-value>yyy</param-value>
</init-param>
For example:
<filter>
<filter-name>pssFilter</filter-name>
<description></description>
<filter-class>com.precise.ifweb.Collection.Filters.pssFilter
.WLFilter</filter-class>
<init-param>
<param-name>PssFilterTrace</param-name>
<param-value>1</param-value>
</init-param>
</filter>
Addable parameters
The following table lists all parameters that you can add to the Web filters. This mechanism should only be used for the instance name and <i3_root>. Any other parameter should only be added after consultation with the Precise Enterprise Support Team.
Table 9-27    Addable Web filter parameters
Parameter    Description
PssInstanceName    Specifies the name of the filter’s instance.
PssInstanceID    The instance ID as specified in the infrastructure database.
PssI3Root    Specifies the path to the Precise installation directory.
PssReadConfFile    Specifies whether to read the configuration files on filter initialization. If this parameter is set to FALSE, parameters are taken from the Web server only.
Default: TRUE
PssRestartFilesPath    Specifies an alternate location for the pss_restart file. By default this file is located under the directories of the Web server itself (the exact location is web server type dependent). Set this to a different path if the file cannot be created at the default location.
PssInitLog    Specifies whether to write initialization log messages to standard output. In some cases the standard output is written to the Web server log.
Applies only to J2EE-based application servers (Sun ONE, WebSphere, Tomcat, Oracle Application Server, SAP J2EE, or BEA WebLogic)
The following table gives a comparison of the parameter and its equivalent registry element .
Table 9-28    Parameter and Registry element
Parameter    Registry element
PssFilterTrace    filter-trace
PssIgnoreFiles    filter-ignore-files
PssSessionCookieName    filter-session-cookie
PssMaxI4WCookieSize    max-i4w-cookie-size
PssCorrelationMode    web-disable-correlation
Note: The opposite of this registry element works as its equivalent parameter.
PssExtList    ext-list
PssExtListSeparator    ext-list-separator
pcs_shm_dir    general-pcs-shm-dir
PssURLEncodingName    filter-encoding-name
PssUseURLEncoding    filter-use-encoding

Grouping consecutive URLs by pattern

The Activity tab of Precise for Web displays information on the URLs and pages visited. In some cases, the database tables that contain this information can easily swell and harm the performance of the user interface, for example when URLs are generated automatically.
To reduce the accumulation frequency of URLs, Precise for Web lets you group consecutive URLs by pattern by editing the data-patterns registry element. Each of the data-pattern elements (urls, pages, titles, domains, and user-defined-transaction-name) can be specified with methods. The available methods are prefix, suffix, prefix-by-key, and regex.
You can add as many methods and patterns to any of the sections (<urls>, <pages>, <titles>, <domains>, <user-defined-transaction-name>).
NOTE    The tags <methodN> and <patternN> should be numbered so that 'N' is replaced with a consecutive number.
NOTE    In URLs and Pages, pattern definitions only work on the path part. For example, in the URL /index.jsp?id=&eventid=, the path part is /index.jsp and the parameters part is id=&eventid=. To handle collection definitions (aka grouping) on the parameters part, refer to the Collector Settings section. In the above example, any pattern that is defined on the URL, ignores the parameters part (id=&eventid=).
The following table describes the available methods.
Table 9-29    methods
Method    Description
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 pattern
1.    Open the relevant registry file (instance regisrty, 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)
2.    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>
3.    Save and close the file.
4.    Restart the Precise for Web server-side and dynamic instrumentation agents monitoring the relevant environment.

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’ test
1.    Open the <i3_root>\products\www\ivp\resources\functions_ivp.xml file in an editor:
2.    In the file, set the <max-rows-for-alert> element to 0.
3.    Save and close the file.

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>\products\i3fp\registry\clusters\www\<name of 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> directory. if you make changes in 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 116.
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

...