Thursday, June 18, 2015

How to propagate ECID from OHS to Weblogic Server

What is ECID

Execution Context ID (ECID) is a unique value assigned to each request processed by the Application Server and is used for any subsequent processing spawned from that initial request. With so many discrete components in Fusion Applications this single value is what can be used to tie the processing flow together.

After executing steps mentioned below, you will be able to see single ECID for one request in all the layers (OHS, Weblogic, WebCenter Portal, SOA etc) 

Enable the ECID and cookies logging in OHS
a. Make a backup of the httpd.conf file (in case you haven't).
This file should be located here:
[WEBTIER_INSTANCE]/config/OHS/ohs1
For example, in my case:
/u01/app/oracle/product/Middleware/11.1.1.6/asinst_2/config/OHS/ohs1
b. Edit the httpd.conf file.
c. Locate the "LogFormat" directive.
It should look like this:
LogFormat "%h %l %u %t \"%r\" %>s %b" common
d. Modify the section as follows to include the Oracle ECID and timing metric:
LogFormat "%h %l %u %t \"%r\" %>s %b ecid:%E:%R Cookie=%{Cookie}i Set-Cookie=%{Set-Cookie}o [%T (secs)]" common
e. Save the changes.
f. Stop the OHS
g. Clean all the logs from the: /data/app/admin/ohs1/diagnostics/logs/OHS/ohs1/*
h. Start the OHS.
Verification:
tail –f access_log
172.21.16.1 - - [17/Feb/2015:16:01:13 +1100] [ecid: 0053o6N^T6NBX7P6yfyWMG0007iY00000E:0] [ecid: -] Cookie=JSESSIONID=X9KVxQQM3cfvjuYVERKYIYn3OO49-ydBezDUpVHktP7dX7uMt3IW!-647353198; _WL_AUTHCOOKIE_JSESSIONID=CKUfa0-SVk3CPMHPIpgl; _ga=GA1.3.101510753.1424135093; __utmc=5569967; __utmz=5569967.1424142043.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); BIGipServerADP_WEBCTR_PORTAL_TEST2_tcp8892_pool=1376851372.48162.0000; __utma=5569967.101510753.1424135093.1424142043.1424145235.2; __utmb=5569967.17.10.1424145235; BIGipServerADP_TEST2_http_pool=1628509612.20480.0000 Set-Cookie=- "GET /portal/faces/oracle/webcenter/portalapp/pages/view1.jspx?_afrLoop=2157114934181138&_afrWindowMode=0&_afrWindowId=null HTTP/1.1" 200 6889 [0 (secs)]

Enable the ECID and Cookie logging in WLS (WCP, SOA, WCC, BPM etc)
To see the ECID on the WLS access.log, it helps to correlate better the logs and the flow.
a. Navigate to the WLS Console
b. Select Environment->Servers
c. Select the server you wish to configure
d. Click the "Logging" tab
e. Click the "HTTP" tab
f. Expand the "Advanced" section
g. Set in the "Format field" from the dropdown box "Extended", not "Common" (you may need to click on the "Lock & Edit" button - for Production mode)
h. Add "s-ip c-ip sc(X-ORACLE-DMS-ECID)" and/or "sc(Set-Cookie) cs(Cookie) time-taken" to the Extended Logging Format Fields  (by default is: date time cs-method cs-uri sc-status)
Example:
From : date time cs-method cs-uri sc-status
To:
s-ip c-ip date time sc(X-ORACLE-DMS-ECID) cs-method cs-uri sc-status sc(Set-Cookie) cs(Cookie) time-taken
i. Click the "Save" button (you may need to click on the "Activate Changes" button - for Product mode)
j. Clean all the logs from the: <DOMAIN-HOME>/servers/<MANAGED-SERVER>/logs/*
k. Restart the PORTAL managed server.

Validation :
[adpt2@adptlwc201 logs]$ tail -f access.log
#Version:       1.0
#Fields:        s-ip c-ip date time sc(X-ORACLE-DMS-ECID) cs-method cs-uri sc-status sc(Set-Cookie) cs(Cookie) time-taken
#Software:      WebLogic
#Start-Date:    2015-02-11      15:21:07
RRWC101:8892     172.26.22.24  2015-02-11      15:21:07        -       GET     /       404     -       "__utma=79138256.2059891832.1403589756.1404189723.1405037343.3; lbsid=S05Iu6ltfn87UhA25dsM265yeH-GMj_5yL47KRVzNmtKybXhjNi2!964376355!1422854433134; _ga=GA1.3.2059891832.1403589756" 0.033
Note: Please note that cookies-based-persistence is configured for top URL in the F5.

You can configure above tasks for Weblogic Server, WebCenter Portal, WebCenter Content, SOA Suite and so on as far as it has Weblogic server as a middleware. 

Friday, June 12, 2015

Scaling support for different Oracle Fusion Middleware products



Product
Scale-up
Scale-out
Details
Oracle WebCenter Portal
Yes
Yes
Scale-up is only supported in case of Spaces or custom portal or Portlet managed server.
Oracle WebCenter Content: Content Server
No
Yes

Oracle WebCenter Content: Inbound Refinery
No
Yes

Oracle WebCenter Content: Imaging
Yes
Yes

Oracle WebCenter Content: Capture
Yes
Yes

Oracle SOA/BPM Suite
Yes
Yes
Scale-up is not supported in case of BAM server.
Oracle Service Bus
Yes
Yes


Scale-up: Adding managed server in Existing Nodes
Scale-out: Adding managed servers New Nodes

Reference: