The portal configuration service,
SiteAnalyzerLogService
, determines the type of site analysis data that the portal logs at run time. Depending on the service configuration, the portal logs the following events:- Page management, such as creating, reading, updating, deleting pages.
- Requests of pages by users.
- Requests of portlets by users.
- Session activities, such as login, logout, time out, login failed.
- User management actions, such as creating, reading, updating, and deleting users and groups.
The resulting log entries comply with the NCSA(Log format used by HTTP Server) Combined industry standard. By analyzing the log entries, you can monitor applications running on your portal site.
Once the Server side analytics is enabled every time user goes to a a portal page, portal will write one or more entries to the log file. It will write one entry for the page and one entry for each portlet on the page.
I have a portal page with name equal to
Site_Analytics
and that page has only one portlet Site_Analytics_portlet
on it. These are the entries that get generated in the site analytics log file when i go to the Site_Analytics
page.
localhost.localdomain - wasadmin [08/Sep/2010:07:29:55 -0700] "GET /Page/Z6_OGFLMKG108IGF0IANFDTU130G6/Site_Analytics HTTP/1.1" 200 -1 "" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8" "portalOpenFlyout=;LtpaToken2=8iow+eV5jr4tY37uwNk17oI4eRj4Cnagg0KYwv/wTMTYPW542e60q1CKgoA5f1ACTlJxdOk7FRTVZt9J7AmXBRRcJLTTwA3Il+yTvabu1m7n6Ujs06LpGZD41f4YOxPW2mdIrMvm/qLDFHlPi1aDcX1beM34IEExVFFQjo53wnC+OiE5SOwGrOxrSSGuIwpUVMXRL7ROJT47yDdppr3tvcyrr5E5TarKw/qmkLQayfhrPZTvNf6FkgqtV/sDtqxckV5wi5mgDcdXMT6Bixzb7nEHVjyhZg6sWu523UZ2vwlbA/n0jqiyfDythfIdGbtpVhk6jEAGspU6L6ll4kj5yZsFltNe+Gx7ELsOILqx4AucUQsH3frSsgr3YvwRqaPZiDBsiJ1+zpHMkyOkIBM/gW2QvvGEvO9IUd5f20dqhUctbdi+sKPnWnHxkABWP7r15y5pVfFGijFuNUM9uvAEcZ1tr/tRq4C43iHCE/pUj20h3eE3ZYRVrNTxSzJd+tC9jssW4Vx/pLye7T2HDe5burHk/QavV6pTw5o5Xdl7e/1IcoH4n2VZgonqQc4dZm7uwxT4cWRKThoWQbfkOa4FIiZq+zvv2jZFOBq9dVeJWObVTG1AWLL0peG1XppJ6VY4FVz/MFiLbw6pKMWzHEr5d4x5BtvatV03k0Ri6ouIBeLbw8i7qDObWWsIlA7j36TV;portalFlyoutIsOpen=;JSESSIONID=0000oKrwgT_5eVylkyN1YmaDnEP:-1"
localhost.localdomain - wasadmin [08/Sep/2010:07:29:55 -0700] "GET /Portlet/Z5_OGFLMKG108IGF0IANFDTU13086/Site_Analytics_portlet?PortletPID=Z5_OGFLMKG108IGF0IANFDTU13086&PortletMode=help&PortletState=normal HTTP/1.1" 200 -1 "http://localhost/Page/Z6_OGFLMKG108IGF0IANFDTU130G6/Site_Analytics" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.8) Gecko/20100722 Firefox/3.6.8" "portalOpenFlyout=;LtpaToken2=8iow+eV5jr4tY37uwNk17oI4eRj4Cnagg0KYwv/wTMTYPW542e60q1CKgoA5f1ACTlJxdOk7FRTVZt9J7AmXBRRcJLTTwA3Il+yTvabu1m7n6Ujs06LpGZD41f4YOxPW2mdIrMvm/qLDFHlPi1aDcX1beM34IEExVFFQjo53wnC+OiE5SOwGrOxrSSGuIwpUVMXRL7ROJT47yDdppr3tvcyrr5E5TarKw/qmkLQayfhrPZTvNf6FkgqtV/sDtqxckV5wi5mgDcdXMT6Bixzb7nEHVjyhZg6sWu523UZ2vwlbA/n0jqiyfDythfIdGbtpVhk6jEAGspU6L6ll4kj5yZsFltNe+Gx7ELsOILqx4AucUQsH3frSsgr3YvwRqaPZiDBsiJ1+zpHMkyOkIBM/gW2QvvGEvO9IUd5f20dqhUctbdi+sKPnWnHxkABWP7r15y5pVfFGijFuNUM9uvAEcZ1tr/tRq4C43iHCE/pUj20h3eE3ZYRVrNTxSzJd+tC9jssW4Vx/pLye7T2HDe5burHk/QavV6pTw5o5Xdl7e/1IcoH4n2VZgonqQc4dZm7uwxT4cWRKThoWQbfkOa4FIiZq+zvv2jZFOBq9dVeJWObVTG1AWLL0peG1XppJ6VY4FVz/MFiLbw6pKMWzHEr5d4x5BtvatV03k0Ri6ouIBeLbw8i7qDObWWsIlA7j36TV;portalFlyoutIsOpen=;JSESSIONID=0000oKrwgT_5eVylkyN1YmaDnEP:-1"
The WPS server has added two lines to the sa.log file
- /Page/Z6_OGFLMKG108IGF0IANFDTU130G6/Site_Analytics: Entry starting with /Page indicates that you access a page, the Z6_OGFLMKG108IGF0IANFDTU130G6 part is objectid of the page, if you take xmlaccess export of the page it will match the objectid of the page. The last part /Site_Analytics is page name that you used while creating the page
- /Portlet/Z5_OGFLMKG108IGF0IANFDTU13086/Site_Analytics_portlet?PortletPID=Z5_OGFLMKG108IGF0IANFDTU13086&PortletMode=help&PortletState=normal: Entry starting with /Portlet indicates that this is entry for accessing a portlet. The /Z5_OGFLMKG108IGF0IANFDTU13086 is portlet instance/window id(This is unique to instance of the portlet on a page) and the /Site_Analytics_portlet is value of
portlet-name
element as defined in the portlet.xml. ThePortletPID=Z5_OGFLMKG108IGF0IANFDTU13086
is again the portlet instance or window id. The URL also has the window state and portlet mode as query parameters
This is the xmlaccess export of the page that these log entries got generated for
<request build="wpnext_528_01" type="update" version="7.0.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="PortalConfig_7.0.0.xsd">
<portal action="locate">
<web-app action="locate" domain="rel" objectid="Z1_OGFLMKG108IGF0IANFDTU13001" uid="SiteAnalyticsDebugPortlet.war.webmod">
<servlet action="locate" domain="rel" name="Site Analytics portlet" objectid="ZV_OGFLMKG108IGF0IANFDTU13003"/>
<portlet-app action="locate" domain="rel" name="Application Name not available for this Application" objectid="Z2_OGFLMKG108IGF0IANFDTU13005" uid="SiteAnalyticsDebugPortlet.war">
<portlet action="locate" domain="rel" name="Site Analytics portlet" objectid="Z3_OGFLMKG108IGF0IANFDTU13007"/>
</portlet-app>
</web-app>
<content-node action="locate" domain="rel" objectid="Z6_000000000000000000000000A0" uniquename="wps.content.root"/>
<content-node action="locate" domain="rel" objectid="Z6_CGAH47L0085810IAHU76SD20A3" uniquename="ibm.portal.Home"/>
<content-node action="locate" domain="rel" objectid="Z6_OGFLMKG108TNF0IABV62431005"/>
<content-node action="update" active="true" allportletsallowed="true" content-parentref="Z6_OGFLMKG108TNF0IABV62431005" create-type="explicit" domain="rel" objectid="Z6_OGFLMKG108IGF0IANFDTU130G6" ordinal="400" type="staticpage">
<localedata locale="en">
<title>Site Analytics</title>
</localedata>
<pagecontents display-option="inline" markup="html">
</pagecontents>
<parameter name="com.ibm.portal.IgnoreAccessControlInCaches" type="string" update="set"><![CDATA[false]]></parameter>
<parameter name="com.ibm.portal.bookmarkable" type="string" update="set"><![CDATA[Yes]]></parameter>
<parameter name="com.ibm.portal.feed.remote-cache-expiry" type="string" update="set"><![CDATA[86400]]></parameter>
<parameter name="com.ibm.portal.friendly.name" type="string" update="set"><![CDATA[siteanalytics]]></parameter>
<parameter name="com.ibm.portal.layout.template.expiration" type="string" update="set"><![CDATA[1283955717702]]></parameter>
<parameter name="com.ibm.portal.layout.template.file.name.html" type="string" update="set"><![CDATA[layout.html]]></parameter>
<parameter name="com.ibm.portal.layout.template.lastmodified" type="string" update="set"><![CDATA[1283955722969]]></parameter>
<parameter name="com.ibm.portal.layout.template.markup" type="string" update="set"><![CDATA[html]]></parameter>
<parameter name="com.ibm.portal.layout.template.ref" type="string" update="set"><![CDATA[dav:fs-type1/layout-templates/2ColumnEqual/]]></parameter>
<parameter name="com.ibm.portal.remote-cache-expiry" type="string" update="set"><![CDATA[86400]]></parameter>
<parameter name="com.ibm.portal.remote-cache-scope" type="string" update="set"><![CDATA[NON-SHARED]]></parameter>
<parameter name="com.ibm.portal.static.page.file.name.html" type="string" update="set"><![CDATA[layout.html]]></parameter>
<access-control externalized="false" owner="uid=wasadmin,o=defaultWIMFileBasedRealm" private="false"/>
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_OGFLMKG108IGF0IANFDTU130G1" ordinal="100" orientation="V" skinref="undefined" type="container" width="undefined">
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_OGFLMKG108IGF0IANFDTU130G5" ordinal="100" orientation="V" skinref="undefined" type="container" width="undefined"/>
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_OGFLMKG108IGF0IANFDTU130G3" ordinal="200" orientation="H" skinref="undefined" type="container" width="undefined">
<parameter name="com.ibm.portal.layoutnode.localname" type="string" update="set"><![CDATA[ibmHiddenWidgets]]></parameter>
<parameter name="css-classes" type="string" update="set"><![CDATA[ibmDndRow hiddenWidgetsContainer]]></parameter>
</component>
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_OGFLMKG108IGF0IANFDTU130G7" ordinal="300" orientation="H" skinref="undefined" type="container" width="undefined">
<parameter name="com.ibm.portal.layoutnode.localname" type="string" update="set"><![CDATA[ibmMainContainer]]></parameter>
<parameter name="css-classes" type="string" update="set"><![CDATA[ibm2Col ibmDndColumn]]></parameter>
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_OGFLMKG108IGF0IANFDTU13082" ordinal="100" skinref="undefined" type="control" width="undefined">
<portletinstance action="update" domain="rel" objectid="Z5_OGFLMKG108IGF0IANFDTU13086" portletref="Z3_OGFLMKG108IGF0IANFDTU13007"/>
</component>
</component>
<component action="update" active="true" deletable="undefined" domain="rel" modifiable="undefined" objectid="Z7_OGFLMKG108IGF0IANFDTU13080" ordinal="400" orientation="H" skinref="undefined" type="container" width="undefined">
<parameter name="com.ibm.portal.layoutnode.localname" type="string" update="set"><![CDATA[right]]></parameter>
<parameter name="css-classes" type="string" update="set"><![CDATA[ibm2Col ibmRightCol ibmDndColumn]]></parameter>
</component>
</component>
</content-node>
</portal>
<status element="all" result="ok"/>
</request>
Important Notes:
- Site Analytics log writes the portlet instance id in the log, so if you have multiple instances of same portlet on same page or on different pages, it will write them as separate URL. You can use the value of portlet-name element as defined in the portlet.xml for finding out how many times a particular portlet is called across different pages
- It does not write logs for processAction() or serveResource() event by default, you will have to use the SiteAnalytics service to log these events manually
Thanks for info
ReplyDeleteWeb Design Company in Bangalore
Website development in Bangalore