Setting up what to trace in Integration Server and Microservices Runtime
For on-premises services to be traced in End-to-End Monitoring, audit settings must be enabled. There are two ways of doing this. You can choose to trace both higher-level services or private sublevel services based on how much information you want to trace. However, take caution not to trace too much as this uses your cloud storage and reduces the number of historical transactions that you can view. It can also potentially impact the performance of your integrations and increase network traffic. You do not need to trace every subservice to make sure that the transaction is monitored. Errors are propagated up the chain until they are captured by an audited service.
Using WATT properties in Integration Server
This feature complements the auditing options that can be set for each service individually. The advantage is that you can have different logging levels between different environments without having to modify the service settings. This significantly simplifies your service auditing.
- In Integration Server settings, select Extended and click
Edit-Extended Settings.
- The following new keys are now available for auditing purposes. Use these keys to set the audit
levels.
Include service names Exclude service names watt.server.audit.service.include
watt.server.audit.service.exclude
Including service names
- To include service names with exact match, use the following syntax. After you set this extended
property in Integration Server, these services are included for tracing. This list is captured
during the first invocation of the service.
Syntax Description watt.server.audit.service.include=svc1,svc2
svc1
andsvc2
are service names in this example where svc1 and svc2 are the fully qualified service names that include the folder namespace. - To include service names that start with a certain text, use the following syntax. These service
names can either be complete service names or partial namespaces. This list is captured during the
first invocation of the service. You can also include partial names to specify services sharing the
same namespace.
Syntax Description watt.server.audit.service.include=svc1*,svc2*
All service names starting with svc1
andsvc2
are traced, where svc1 and svc2 might bejc.helloworld:*
andacme.ordermgmt:pub:*
respectively. - When you are tracing many services, using a file makes it easy. You can also choose to specify a
file if you have a long list of services to specify. To include service names through a file, use
the following syntax. Save your file with a .txt extension. List your service names in
include.txt
. Place each service name on a separate line in the file. Use#
to comment out. Save the file in the relative or absolute path according to the following table. These service names can either be complete service names or partial namespaces. This list is captured during the first invocation of the service.Syntax File location watt.server.audit.service.include=$file{./include.txt}
<install-dir>/IntegrationServer/instances/default
watt.server.audit.service.include=$file{c:/home/include.txt}
c:/home/include.txt
- Certain keywords are provided to simplify auditing. The keyword
$toplevel
is provided to trace all services that are called from an external client. Child services are only started in this case if they are flagged individually for audit. This property can also be used in a comma-separated list with all the previously mentioned features. To include all high-level services, use the following syntax. When you include top-level services, it is preferred to use$wmservices
in the exclude list. This configuration reduces the transaction logs usage of all background webMethods.io services in thee2etrace.log
file.Syntax Description watt.server.audit.service.include=$toplevel
All top-level services are traced.
$wmservices
with your exclude list if you
are using this property in order to avoid too much tracing.Excluding service names
- To exclude service names, use the following syntax. After you set this extended property in
Integration Server, these services are excluded from tracing. These service names can either be
complete service names or partial namespaces. This list is captured during the first invocation of
the service.
Syntax Description watt.server.audit.service.exclude=svc3,svc4
svc3
andsvc4
are service names in this example. - When you are tracing many services, using a file makes it easier. To exclude service names by
using a file, use the following syntax in the provided location. Save your file with a
.txt extension. List your service names in
exclude.txt
. Place each service name on a separate line in the file. Use#
to comment out. Save the file in the relative or absolute path according to the following table. These service names can either be complete service names or partial namespaces. This list is captured during the first invocation of the service.Syntax File location watt.server.audit.service.exclude=$file{./exclude.txt}
<install-dir>/IntegrationServer/instances/default
watt.server.audit.service.exclude=$file{c:/home/exclude.txt}
c:/home/exclude.txt
- To exclude service names through the
agent.config
file, use the following syntax. When you set this property, all service names in theagent.config
file andagent.exclude_serv_list
property are excluded from tracing.Syntax Description watt.server.audit.service.exclude=$wmservices
Excludes services by using agent.config
.Example
agent.exclude_serv_list=${SW_AGENT_EXCLUDE_SERV_LIST:wm.,com.,pub.}
wmservices represents any webMethods services. These service names start with wm.
orpub.
orcom.
. However, you can update this list with namespaces of your choice.
Key Combinations
These key properties can be combined. The following are some simple combination examples.
Combination example | Description |
---|---|
watt.server.audit.service.include=$toplevel,svc1,svc2,$file{./include.txt} |
All top-level services are traced, along with svc1 and svc2, and services
listed in the file include.txt . |
watt.server.audit.service.exclude=svc1,svc2,$wmservices,${file{./exclude.txt} |
svc1 and svc2 are excluded from tracing. Services that are listed in
exclude.txt are also excluded from tracing. Services that are listed in
agent.config file and agent.exclude_serv_list property are also
excluded from tracing. |
- * Excludes asynchronous services that are started by using messaging or subthreads, in which case you need to have these services audited. They are considered top-level services in their own right.
- This setup uses the on-premises auditing of service feature.
- What is eventually traced is always an effective difference of all services that are listed in
the following two keys:
watt.server.audit.service.include
andwatt.server.audit.service.exclude
. - However, the include property precludes the exclude
property. The values in the include list take precedence even if a match is found in the exclude
list. These properties are complementary to the service audit properties and do not replace them,
unless you have changed the agent property
agent.global_incl_serv_flag
.
Enabling audit in the IBM Designer (Deprecated)
You now need to choose the on-premises services that you want to trace in End-to-End Monitoring. This setup is done by changing the auditing setting of each service.
- In IBM® Designer, for the on-premises Integration Server services that are associated with hybrid transaction including nested services, enable auditing with the following values:
Enable auditing: Always Log on: Error, Success and start
- The following is an example of a hybrid transaction in the End-to-End Monitoring user
interface: