Skip to main content

IBM

Debug Probe Utility to Enable Probe in Data Power

Data chip

The Debug probe provides step-by-step debugging and state information about documents that flow through a service.

The Debug probe displays the contents of contexts and displays the value of the variables at each processing step of a processing rule. The Debug probe is very useful tool for trouble shoot the issues during the development phase of the service applications.

Usually, probe will be enabled only in development data power appliance.
It is not recommended to enable probe in higher environments but there are some scenarios where we need to debug the issue in higher environments in case of any issues.

Also, developers will not be provided write access to higher environments to enable probe. In this scenario, debug probe utility will help us to enable the probe.

But at least we should have one user write access for enabling probe.

Below are the steps to develop utility to enable probe data power:

  1. Create user called SOMAUSER for executing SOMA scripts and make sure this SOMAUSER has access to execute the scripts.
  2. Make sure SOMA interface is enabled from default domain.

3.Create DebugProbe_XMLMGR in any development domain.

4.Create DebugProbe_UserAgent and enter SOMAUSER and password under Basic-Auth Policy. Refer DebugProbe_UserAgent in DebugProbe_XMLMGR under User Agent configuration.

5.Create DebugProbe_HTTPFSH and make sure GET method is enabled.


6.Create SSL Proxy Profile: SOMA_SSL_PP

7.Create Crypto Profile: SOMA_SSL_CP and no need of Identification and Validation credentials.

8.Upload below files to File Management

a). SomaExecutionDetails.xml : This file has SOMA URL’s and SSL proxy profile details.
b). SOMAFns.xsl : This file has SOMA functions and it will invoke the SomaExecutionDetails.xml to execute the SOMA scripts.
c). GetDomainList.xsl : This file will invoke the SOMAFns.xsl and get the list of domains available in Data power. Create file in temporary:///domain_list.xml.
d). GenerateServiceList.xsl : This file will invoke the SOMAFns.xsl and get the list of services available all the domain. Create file with domain name in temporary:///DEV_list.xml ,default_list.xml
e). EnableProbeUI.xsl : This xsl will create UI to select domain and services to enable the probe by using domain_list.xml and DEV_list.xml ,default_list.xml etc.
f). DisableAllProbes.xsl : This xsl will invoke SOMAFns.xsl and domain_list.xml to disable all the probes.

9.Create Multi-Protocol Gateway : DebugProbe and refer previously created SOMA_SSL_CP, DebugProbe_XMLMGR and DebugProbe_HTTPFSH in MPGW


10.Create DebugProbe_ProcessingPolicy

a) Create Matching Rules: enableprobe and disableprobe


b) Create Processing Rule: DebugProbe_EnableProbe as shown below

This processing rule will enable the probes for the services received in input.

c) Create Processing Rule: DebugProbe_DisableProbe as shown below

This processing rule is scheduled to disable all the probes based timing interval entered in Scheduled Processing Policy.

d) Configure DebugProbe_DisableProbe processing rule under Scheduled Processing Policy in XML manager.

11.Enter URL in browser.
http://192.168.28.132:8000/enableprobe

a) Select the domain from drop down and click Submit button.

b) Select the services from drop down and click Submit button.

c) Will get below message once after successful enable probes.

MPGW: MPGW_TESTMQ: 2019-02-02T17:59:40-05:00OK
XMLFW: XMFW_Test: 2019-02-02T17:59:40-05:00OK

d) We can see in data power that probe is enabled for the services submitted in request.

Local files used for development:
LocalFiles

Configuration Export:

DebugProbe_MPGW

Thoughts on “Debug Probe Utility to Enable Probe in Data Power”

  1. Hi Sumalatha,

    I tried this but I am getting few errors. Could you please help me resolve it :
    The enableproble page is opening but there is no options coming in dropdown.

    As I enabled the debugging mode these are logs i got:

    9:25:09 pm memory-report debug 512993 172.17.0.1 0x80e00690 mpgw (DebugProbe): Response Finished: memory used 0
    9:25:09 pm mpgw debug 512993 response 172.17.0.1 0x80e0084b mpgw (DebugProbe): Transaction ended: [8fe716a75de9285d0007d3e1], [0], [0], [0], [0].
    9:25:09 pm mpgw information 512993 error 172.17.0.1 0x80e000b6 mpgw (DebugProbe): No match from processing policy ‘DebugProbe_ProcessingPolicy’ for code ‘0x01130009’
    9:25:09 pm mpgw error 512993 error 172.17.0.1 0x01130009 mpgw (DebugProbe): Dynamic backend host not specified
    9:25:09 pm mpgw error 512993 172.17.0.1 0x80e00110 mpgw (DebugProbe): No backside route was selected
    9:25:09 pm mpgw information 512993 172.17.0.1 0x80e0010e mpgw (DebugProbe): The one way exchange pattern will bypass the execution of the selected request rule
    9:25:09 pm memory-report debug 512993 172.17.0.1 0x80e0068c mpgw (DebugProbe): Request Started: memory used 19704
    9:25:09 pm mpgw debug 512993 request 172.17.0.1 0x80e0084a mpgw (DebugProbe): Transaction information: [8fe716a75de9285d0007d3e1], [0], [], [], [], [http://172.17.0.2:8000/favicon.ico].
    9:25:09 pm mpgw debug 512993 request 172.17.0.1 0x80e0083d mpgw (DebugProbe): Transaction processing started: [8fe716a75de9285d0007d3e1].
    9:25:09 pm memory-report debug 520000 172.17.0.1 0x80e00690 mpgw (DebugProbe): Response Finished: memory used 0
    9:25:09 pm mpgw debug 520000 response 172.17.0.1 0x80e0084b mpgw (DebugProbe): Transaction ended: [8fe716a75de9285d0007ef40], [0], [0], [1], [0].
    9:25:09 pm mpgw information 520000 172.17.0.1 0x80e0010f mpgw (DebugProbe): Early completion detected – back side will not be executed
    9:25:09 pm multistep information 520000 request 172.17.0.1 0x80c00002 mpgw (DebugProbe): rule (DebugProbe_EnableProbe): #6 results: Generated from PIPE. completed OK.
    9:25:09 pm memory-report debug 520000 request 172.17.0.1 0x80e0068d mpgw (DebugProbe): Processing [Rule (DebugProbe_EnableProbe), Action (‘DebugProbe_EnableProbe_results_0’, results()), Input(PIPE), Output(NULL)] finished: memory used 128384
    9:25:09 pm multistep information 520000 request 172.17.0.1 0x80c00002 mpgw (DebugProbe): rule (DebugProbe_EnableProbe): #5 xform: Transforming the content of PIPE. The transformation local:///DebugProbe/EnableProbeUI.xsl is applied. The results are stored in PIPE. completed OK.
    9:25:09 pm memory-report debug 520000 request 172.17.0.1 0x80e0068d mpgw (DebugProbe): Processing [Rule (DebugProbe_EnableProbe), Action (‘DebugProbe_EnableProbe_xform_2’, xform(local:///DebugProbe/EnableProbeUI.xsl)), Input(PIPE), Output(PIPE)] finished: memory used 52768
    9:25:09 pm xslt error 520000 request 172.17.0.1 0x80c0000f mpgw (DebugProbe): Document function error while processing local:///DebugProbe/EnableProbeUI.xsl: Incomplete markup or missing document element at offset 39 of temporary:///domain_list.xml
    9:25:09 pm xmlparse error 520000 request 172.17.0.1 0x80e003aa mpgw (DebugProbe): Incomplete markup or missing document element at offset 39 of temporary:///domain_list.xml
    9:25:09 pm xmlparse debug 520000 request 172.17.0.1 0x80e003a6 mpgw (DebugProbe): Parsing document: ‘temporary:///domain_list.xml’
    9:25:09 pm multistep debug 520000 request 172.17.0.1 0x80c0004e mpgw (DebugProbe): Stylesheet URL to compile is ‘local:///DebugProbe/EnableProbeUI.xsl’
    9:25:09 pm multistep information 520000 request 172.17.0.1 0x80c00002 mpgw (DebugProbe): rule (DebugProbe_EnableProbe): #4 convert-http: Converting INPUT with map (none). Results stored in PIPE. completed OK.
    9:25:09 pm memory-report debug 520000 request 172.17.0.1 0x80e0068d mpgw (DebugProbe): Processing [Rule (DebugProbe_EnableProbe), Action (‘DebugProbe_EnableProbe_convert-http_0’, convert-http(NULL)), Input(INPUT), Output(PIPE)] finished: memory used 0
    9:25:09 pm multistep information 520000 request 172.17.0.1 0x80c00002 mpgw (DebugProbe): rule (DebugProbe_EnableProbe): #3 xform: Transforming the content of domainlist. The transformation local:///DebugProbe/GenerateServiceList.xsl is applied. The results are stored in NULL. completed OK.
    9:25:09 pm memory-report debug 520000 request 172.17.0.1 0x80e0068d mpgw (DebugProbe): Processing [Rule (DebugProbe_EnableProbe), Action (‘DebugProbe_EnableProbe_xform_1’, xform(local:///DebugProbe/GenerateServiceList.xsl)), Input(domainlist), Output(NULL)] finished: memory used 0
    9:25:09 pm multistep debug 520000 request 172.17.0.1 0x80c0004e mpgw (DebugProbe): Stylesheet URL to compile is ‘local:///DebugProbe/GenerateServiceList.xsl’
    9:25:09 pm multistep information 520000 request 172.17.0.1 0x80c00002 mpgw (DebugProbe): rule (DebugProbe_EnableProbe): #2 xform: Transforming the content of NULL. The transformation local:///DebugProbe/GetDomainList.xsl is applied. The results are stored in domainlist. completed OK.
    9:25:09 pm memory-report debug 520000 request 172.17.0.1 0x80e0068d mpgw (DebugProbe): Processing [Rule (DebugProbe_EnableProbe), Action (‘DebugProbe_EnableProbe_xform_0’, xform(local:///DebugProbe/GetDomainList.xsl)), Input(NULL), Output(domainlist)] finished: memory used 0
    9:25:09 pm xsltmsg information 520000 request 172.17.0.1 0x80000001 mpgw (DebugProbe): Resp:
    9:25:09 pm xmlroute error 520000 request 172.17.0.1 0x80e0033d mpgw (DebugProbe): soap-call: Error parsing reply, Could not open URL ‘https://localhost:5550/service/mgmt/amp/3.0’
    9:25:09 pm network error 520000 172.17.0.1 0x80e00627 mpgw (DebugProbe): Error occurred (port error) when connecting to URL ‘https://localhost:5550/service/mgmt/amp/3.0’
    9:25:09 pm network debug 520000 172.17.0.1 0x80e00536 mpgw (DebugProbe): HTTP Header-Retention:Compression Policy: Off, URL: /service/mgmt/amp/3.0
    9:25:09 pm xsltmsg information 520000 request 172.17.0.1 0x80000001 mpgw (DebugProbe): Payload , ampConfigs
    9:25:09 pm xmlparse debug 520000 request 172.17.0.1 0x80e003ab mpgw (DebugProbe): Finished parsing: local:///DebugProbe/SomaExecutionDetails.xml
    9:25:09 pm xmlparse debug 520000 request 172.17.0.1 0x80e003a6 mpgw (DebugProbe): Parsing document: ‘local:///DebugProbe/SomaExecutionDetails.xml’
    9:25:09 pm xsltmsg information 520000 request 172.17.0.1 0x80000001 mpgw (DebugProbe): Get domain list
    9:25:09 pm multistep debug 520000 request 172.17.0.1 0x80c0004e mpgw (DebugProbe): Stylesheet URL to compile is ‘local:///DebugProbe/GetDomainList.xsl’
    9:25:09 pm multistep information 520000 request 172.17.0.1 0x80c00002 mpgw (DebugProbe): rule (DebugProbe_EnableProbe): #1 setvar: Setting var://service/mpgw/skip-backside in context INPUT to be 1. completed OK.
    9:25:09 pm memory-report debug 520000 request 172.17.0.1 0x80e0068d mpgw (DebugProbe): Processing [Rule (DebugProbe_EnableProbe), Action (‘DebugProbe_EnableProbe_setvar_0’, setvar(var://service/mpgw/skip-backside)), Input(INPUT), Output(NULL)] finished: memory used 286752
    9:25:09 pm mpgw information 520000 172.17.0.1 0x80e00115 mpgw (DebugProbe): Will not process backside due to var://service/mpgw/skip-backside
    9:25:09 pm memory-report debug 520000 172.17.0.1 0x80e0068c mpgw (DebugProbe): Request Started: memory used 265392
    9:25:09 pm mpgw debug 520000 request 172.17.0.1 0x80e0084a mpgw (DebugProbe): Transaction information: [8fe716a75de9285d0007ef40], [0], [], [], [], [http://172.17.0.2:8000/enableprobe].
    9:25:09 pm mpgw debug 520000 request 172.17.0.1 0x80e0083d mpgw (DebugProbe): Transaction processing started: [8fe716a75de9285d0007ef40].

    Please let me know what else I need to do.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Sumalatha Poolavari

More from this Author

Categories
Follow Us