Registration

Dear SAP Community Member,
In order to fully benefit from what the SAP Community has to offer, please register at:
http://scn.sap.com
Thank you,
The SAP Community team.
Skip to end of metadata
Go to start of metadata

Overview

 

  • This tool is an internal tool for SAP employees. SAP will not provide any form of assistance to customers with using this tool. It is an unsupported tool.
  • However, the tool can still be used by customers to help diagnose issues and improve understanding to what the server is doing.
  • SAP does not expect any adverse affects from using this tool in any environment, however the tool should be used with care since its particularly powerful and intended for those with already a good understanding of Web Intelligence.
  • This tool is dedicated to the administration and the monitoring of the Web Intelligence backend servers, and of the Adaptive Processing Servers hosting Web Intelligence related services
  • It provides great insight into what the Web Intelligence Processing Server are doing and what has just happened to either improve your understanding to their behavior or understand and resolve issues.
  • A summary of this tool is available on SCN

Usage

  • Launch of the application:

    • Start a command prompt

    • Change to the directory C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\apps\WebiAdminTool

    • Launch the Java program: <path to the JRE bin directory>/bin/java.exe -jar GenericContainer_AdminTool.jar e.g.

cd "C:\Program Files (x86)\SAP BusinessObjects\SAP BusinessObjects Enterprise XI 4.0\java\apps\WebiAdminTool"

"C:\Program Files (x86)\Java\jre7\bin\java.exe" -jar GenericContainer_AdminTool.jar

  • Login with a user with Administrator rights.
  • You will then be presented with the 'Servers Dashboard' (shown above). This has 5 icons on the left hand side with the first selected by default:
    • Server Instance Manager
    • Server Metrics Overview
    • Failover/Recovery Status
    • Relationships between Interactive Analysis Server instances (Web Intelligence Servers) and Adaptive Processing Server instances
    • Alerts

Each of these is described the following sections:

 

Server Instance Manager:

    • On the left hand side all the Web Intelligence Server instances will be shown in the cluster. (Interactive Analysis Servers are Web Intelligence Processing Servers, they are synonymous)
    • On the right hand side are all the Adaptive Process Servers that are related to Web Intelligence, in the cluster. They are related as Web Intelligence Processing Servers will have dependency on them. For example the 'Visualization' server will host the service 'ExtendedBlockServerServant' is used by Web Intelligence to generate a graph.

The Server Instance Manager enables you to perform basic functions such as:

      • Start, stop, restart, force stop, enable, disable, delete and monitor

      • create new servers (Web Intelligence Processing Servers and Adaptive Processing Servers related to Web Intelligence)
      • In general there are many screen that open. To close press this icon:
      • To access the 'monitoring' aspects click on the gear icon.
      • There is also a 'gear' icon on the top right, this will enable monitoring across all your servers. The 'gear' icon on the individual Web Intelligence Server will enable monitoring on just that individual server.

Monitoring

      • The monitoring, accessible by the gear icon mentioned just above, provides access to the monitoring screen and provides real-time analysis.
      • What is displayed depends if you are looking at a Web Intelligence Processing Server (aka Interactive Analysis Server) or an Adaptive Processing Server (aka AJS Servers).

We shall firstly look at what is displayed for Adaptive Processing Servers:

Adaptive Processing Servers:

      • General Information

        This shows information such as: Server Instance Name, Server Friendly Name, Server Instance ID/CUID, Server Description, Server Instance Process ID (This is the Operating System Process ID), SIA host name, Server name, and if the server requires a restart.
        At the bottom of this screen all the 'Hosted Services' are listed. Although the Adaptive Processing Server (aka PJS Server) may be dedicated to one service, such as 'Visualisation' more services may be listed. The other services are dependent services. For example ExtendedBlockServerServant (the internal name for the 'Visualisation' service which produces graphs for Web Intelligence) has dependencies on:
        • MonitoringExtensionServant (this continuously monitors ALL services (CVOM (visualisation), DSL, Custom Data Providers, Excel Data Provides) within an Adaptive Process Server (PJS) and will clean up, on a scheduled bases, old sessions/states used and recover document states that where owned by a session that failed)
        • TraceLogService
        • and the AuditingService.

      • General Admin Parameters

        Shows and allows you to edit (F2) the parameters for the service.

      • General Metrics
        • Press the refresh button!
          This shows all the metrics exposed 
      • Profiling Dashboard

        • Press the Refresh button!

This shows for each: PJS Service / Internal Service Implementation / Method Name the following:

          • Invocation Count (the number of times that method was called)
          • Minimum Elapsed Time (in ms)
          • Maximum Elapsed Time (in ms) (This could be very helpful to identify which method is taking a long time to process)
          • Average Elapsed Time (in ms)
          • Cumulative Time (in ms) (This could be very helpful to identify which method is taking a long time to process)

Consider also using the "Profiling Perspective" available on the Web Intelligence Processing Servers (see below) as this will show similar information, but centred around the Web Intelligence Server, rather than centred around the Adaptive Processing Server.

      • Activities Monitor

        Shows all activities and incoming calls.
        • There are two tabs:
          • 'Current Activity' - Change the 'auto refresh delay' (in seconds) to press the 'Play' button to enable auto update. Can be tricky to read as its updated so quickly.
          • 'Activities History'  - More helpful as shows all previous activities by time. Press 'refresh' to update the list. You MUST press 'play' on the first tab 'Current Activity' before you will see any activities listed. In other words, only activities currently monitored will be shown. You can see the name of the event and the duration. 

      • Service LifeCycle Information

        • Press the 'refresh' button! (if you don't see anything, then open a Web Intelligence document and 'consume' the service, for example display a chart)
          This provides very interesting and useful information. This will show you the usage of the services and the relationships of these services with the Web Intelligence Processing Server. For example, in the above screen shot, we can see the 'ExtendedBlockServerServant' (the CVOM Visualisation service used by Web Intelligence to display charts) is used by the BI4.WebInbtelligenceProcessingServer with Operating System process ID 132. We can see under this process 2 sessions and the timestamp of when that session last used this service. Under 'Dependencies' we can see the number of states. After a timeout each state will be cleaned up. If the state is not cleaned by Web Intelligence calling it to clean up, the monitoring service will eventually come and clean up on an 'internal' scheduled basis. This can show 'memory leaks'. For example, if all Web Intelligence documents are closed, but 'states' are left and shown on this screen, then there is a memory leak, since states are not being cleaned up when the document is closed.

 

Web Intelligence Servers:

Accessing the monitoring for Web Intelligence Servers provides many more 'screens' than for viewing monitoring on Adaptive Processing Servers. For Web Intelligence Servers, many perspectives are possible and each is explained below:

Plugins perspective - Overview of the sessions and services

      • Generic information is provided:
        • General Info
        • Instance Processes Activities - if an instance of the server has crashed, all the process method descriptions will be shown here. This could help identify what caused the crash.
        • Adaptive Processing Server Relationships

          shows the relationships between different services in the cluster. For example you can see which user/session is using the Visualisation engine, or the DSLBridge. This could be helpful to isolate a problematic user/session or document workflow
        • General Admin Paramaters.

          View and change parameters. Press F2 to edit. If 'Managed by CMS' is Yes, then you can edit the value in the CMC.
        • General Metrics - metrics exposed by Web Intelligence.
      • Different views of the services and sessions on each server can be viewed:
        • Plugin View-

          • Shows 'Services' which are stateless and 'Sessons' that are stateful.
          • CT=Command Tool (cache and blob retrieval), IE=Information Engine (exposes API, cube, meta data), Webi=Web Intelligence
          • You can see which sessions are on the server and see the SessionName (which is the document name) and the User Name.
          • You can remove that individual session instance (killing the session) (press the 'Remove the Session Instance' in the screen shot). The session in this sense, is referring to the 'instance' of the document for that users' session.
          • You can create a new session too. This could be helpful to confirm or deny if creating new sessions is possible or not. Right click on 'Available Sessions' to create a new session as shown in this screen shot:

        • Users View-
      • Shows Session by users.
      • 'Orphan sessions' are shown
      • You can remove all sessions allocated to one particular user (Press the 'Remove all sessions related to :' button in screen shot). The session in this sense, is referring to the 'instance' of the document for that users' session.

        • Named Session

          • View all the 'sessions' by 'session' (where session is document name). i.e. for a particular document, you can see all the users using it.
          • You can remove all the sessions that are using a particular document (Press the 'Remove all sessions related to:' button in screen shot). The session in this sense, is referring to the 'instance' of the document for that users' session.
Activities perspective - Look at real time the activity on the server

      • Monitoring of all activities and incoming calls.
      • There are two tabs:
        • 'Current Activity' - Change the 'auto refresh delay' (in seconds) to press the 'Play' button to enable auto update. Can be tricky to read as its updated so quickly.
        • 'Activities History'  - More helpful as shows all previous activities by time. Press 'refresh' to update the list. You MUST press 'play' on the first tab 'Current Activity' before you will see any activities listed. In other words, only activities currently monitored will be shown. You can see the name of the event (for example run Query, or 'UpdateDP' (data provider)). If more than one event is captured in the same TimeStamp, then you can use the top right drop-down to sort the events by: Session and User name (and others)

Profiling perspective - Show all the actions done since the start of the server. Gives you information about the elapsed time and all the methods that have occurred since the start of the server. Also enables you to perform a detailed comparison between two different workflow (made by different users!)

Two tabs are shown:

      • Profiling - this provides the current state. For each Plugin Name/ Entity Type / Method Name you can see how often each methods has occurred (Invocation Count), along with Minimum, Maximum, Average and CumulativeTime (in ms).
      • Profiling Analysis - this enables you to compare two workflows with each other at a very detailed level. 

Both of these are explained here:

Profiling

              • Press the 'refresh' button!
              • For each Plugin Name/ Entity Type / Method Name you can see how often each methods has occurred (Invocation Count), along with Minimum, Maximum, Average and CumulativeTime (in ms).
              • Press the 'red cross' button to 'reset' the counters so you can only see new incoming requests. Remember to keep pressing 'refresh'!
              • Sort the columns by clicking on the column name.
                This can show some very interesting information, since you can see which methods are called the most frequently, and which ones take a long time. You can also see outcoming calls to other services within the cluster  (in the screen shot, the highlighted row shows a call to the 'ExtendedBlockServer' which is the Visualisation service in a different server). It is extremely detailed and can help you identify the very low level method within a problematic workflow.
              • Right click on a method to select 'Method Invocation Details' will then show another window (displayed behind the current window) of the duration of that method over time as shown here:
              • The 'yellow' line is the average and the green and red are the average + and - 20%. This helps you see when the actual times (in blue) fall away from the average. (the legend mixes up the colours!)

Profiling Analysis

This enables you to compare two workflows with each other at a very detailed level. For example, you can compare the workflow of one user opening and interacting with a document, with the workflow for a different user.

Use these buttons for the instructions below:

      • Press 'Start Profiling Capture' button (the blue 'Play' button)
      • Now perform the action on the Web Intelligence server, such as opening/refreshing/interacting with a Web Intelligence document.
      • Press 'Stop Profiling Capture' (the blue 'Stop' button)
      • Press 'Save Profiling Capture' (the download button). When you do this the capture is shown on the left hand side under 'Captures'
      • Repeat by collecting another capture (Start, Stop, Save as above)

You will see multiple captures in the left hand window:

      • Right click the most recent Profile and select 'Diff Against Previous Capture'. This will show a very detailed difference between the two captures as shown in the screen shot below. Differences can easily be seen by the green and red colouring
      • De-selecting the 'radio' button 'Display Roots Only' will show additional calls.

 

User Sessions perspective
      • This part of the tool does nothing. The functionality is available within the 'Plugins Perspective' and then 'Users View' or 'Named Sessions View'
Configuration perspective - View and change parameters
      • Press the 'refresh' button!
      • Displayed is the xml file that contains all the default parameters loaded into the server. This can be helpful to check the settings actually loaded.

Monitoring perspective - Create graphs on top of your metrics

      • Allows you to create 'counter sets'. Press the 'Add new Counters Set' icon.
      • Importantly increase the size of the panel, radically reducing the size of the 'Server Instance Console' panel. Otherwise you won't see all the options that follow!
      • Set the 'refresh period (in secs)'. This specifies the X-axis in the graph that is produced. A setting of 2 seconds works well.
      • Pick one of the 'Counter Classes' from:
        • Threadpoolcounters(active threads, total number)
        • Sessioncounters (# active sessions, # documents opened from cache, # of documents, # of sessions, # of document swap, # of swapped documents, # of sessions timeouts, Total # of sessions, # of users)
        • Server (idle time, inactivity period)
        • Requestcounters (number of client calls, number of remote extension errors, number of tasks, total number of client calls, total number of tasks)
        • Memorycounters (high threshold count, max threshold count, memory level (0=normal,1=low,2=high,3=max) Virtual bytes (Mb), Virtual memory size (Mb))
        • CPUcounters (CPU usage %,Total CPU time (seconds))
        • Cachecounters (Cache size (Kb), number of out-of-date documents in cache, high mark count)
        • Session Count by Type (by plugin, by session). CT=Command Tool (cache and blob retrieval), IE=Information Engine (exposes API, cube, meta data), Webi=Web Intelligence
      • Then press the grey 'down arrow' button (tool tip: 'add an instance for this counter to the counter set') to add it to the counter set
      • And then select the Sub Counter you want to see (sub counters are mentioned with each counter just above initalics)
        • if the Sub Counters do not appear, it is because you have not made that 'panel' large enough. Radically reduce the size of the 'Server Instance Console' panel, then delete the 'Counter Class' and press the 'down arrow' button again)
      • Then press the 'play' icon.
      • Click on one of the points in the graph to see details in a pop-up. Information is updated in real-time in the pop-up. You can display more than one pop-up and this can be helpful to see and compare values between different times. Information included can contain, for example, the username of a user that has created a new session
      • Specify a CSV file (e.g. c:\mylogs\mylog.csv) in 'Activate Graph Serialization' if you want to output to a csv file.

Memory Analysis perspective - See memory Allocator Information by each document/user session

      • Select the scope to:
        • All
        • Plugin Type (for which you can select a filter on : CTPlugin, IEPlugin or WebiPlugin). CT=Command Tool (cache and blob retrieval), IE=Information Engine (exposes API, cube, meta data), Webi=Web Intelligence
        • Root Session Type (for which you can select a filter on the Plugin-type (as mentioned just above) and then by Session or UserSession
        • Root Session ID. Which doesn't seem to do anything!
      • Introspection Depth:
        • All Depths
        • Custom Depth (numeric value)
      • Selected Allocator Information:
        • Duration
        • Memory Used
        • Allocation Cumul
        • Self Peak
        • Memory Peak
        • Memory Cumul
        • Leak Count
        • Memory Peak
        • Allocation Count
        • Leak Size

This perspective is probably most useful if you have or believe you have a memory leak. Otherwise this perspective is not particularly useful.

Scheduling perspective - Overview of internal tasks scheduled inside the server. Shows you all the tasks: pending, running, and last 20 completed.

      • Press the refresh button!

The following tasks are shown:

      • Pending Tasks
      • Running Tasks (at the time of pressing the 'refresh' button)
      • The 'Last Terminated Tasks' shows the last 20 tasks that completed.


Web Intelligence has many internal threads that perform internal tasks including:

        • cleaning up "memory objects" created by users/schedules interacting with Web Intelligence documents
        • local session cache
        • document cache
        • memory management (that will then force and trigger garbage collection, closing open documents )

This perspective allows you to see these internal tasks and could be very helpful in understanding what the server is actually doing at any one point in time.

Server Instance Console
      • At the bottom of each of the perspective screens there is a panel dedicated to the logs called 'Server Instance Console':
      • This shows the last 1,000 log entries on that server instance.
      • Press the refresh button.
      • Looking at these logs can be very helpful to identify issues. However just looking at what is displayed is often not enough as you don't have the full context of the problem, you don't know what happened just before the error which you typically need to know to understand the root cause. So you need to look at the logs in more detail. Use the following instructions to download just the logs you need to your PC for further analysis:
        • Click on the 'document' icon which has tool-tip 'Display the log files download manager dialogue'
        • In 'Download Log Location' enter the 'Log Directory' on your local PC to where you want to download logs to. It's best to browse for a folder you have write access to. For example C:\mylogsfolder
        • Press the refresh button! (the list of logs will be updated and shown)
        • Optionally filter the list of logs using a pattern defined in 'Log File Name Filter' (e.g. *BI4.WebIntelligenceProcessingServer*)
        • Optionally set the 'chunk size' of the download (no need to change this unless the download is very slow)
        • Select the log file you want to download.
        • Download the selected file by clicking on the 'document' icon which has tool-tip 'Start to download the selected log file'
        • The 'Progress Status' will change from 0% to 100% as the file is download. 
        • The option 'Open With ...' does work for Notepad or other tools that do not hold a lock on the file.

 

 

Server Metrics Overview

    • Monitor metrics of a Web Intelligence Server including:
      • Total Session Count
      • Swapped Session Count
      • Cache size
      • Virtual Memory Size
      • Current Client Calls
      • Active Session Count
      • Logged User Count
      • CPU usage %

This provides a high level overview of the key metrics on your Web Intelligence Servers and can help confirm/deny that load balancing is working well or not.

      • Press the 'refresh icon'
      • For automatic updates set the number of sections in the dialog and press the 'play' button:


Failover/Recovery Status

  • Overview of all the documents recovered as part of a failover action.
  • The columns are:
    • Recovery Time. (The time the recovery was made, not the time of the 'crash')
    • The Process ID of the original server the document was processed on.
    • Hostname of the original server the document was processed on. (the crashed server)
    • The user ID of the user that has triggered a document recovery.
    • The name of the recovered document
    • The session ID
    • the Resource ID

This can provide extremely helpful information. For example you may be able to identify if one server, or one user, or one document crashed more than others.  This can help you isolate a problem.

Relationships between Interactive Analysis Server instances (Web Intelligence Servers) and Adaptive Processing Server instances

 

  • View of the cluster, in a diagram. This shows which Web Intelligence Server is using which other 'services' within the cluster. You can also see the relationships between servers and what username/session is using that "relationship". For example a Web Intelligence Server can use a Visualization service to generate a graph.
  • Right clicking on a server provides access to actions (start/stop/restart etc. as well as accessing the 'monitoring')

Alerters

Use these icons  to perform these actions:

  • Create a new alerter
  • Edit an alerter
  • delete and alerter
  • refresh the alerter list (to read the list of alerters from disk - see later)
  • Set polling interval (in seconds)
  • Start monitoring
  • Stop monitoring

Once you have created an alerter and press the play icon to 'Start alerters monitoring' any conditions that are true, as defined by the alerters, will be shown on the right hand 'Alerts' panel.

Creating an alerter:

  • To create an alerter press the green 'plus' icon to open the 'Alerter Editor':
  • Provide a name. e.g 'My first alerter' and a description in the 'Alerter Message' e.g. "My condition has been met"
  • Press the 'refresh' button to refresh the list of 'Server Metrics' (you may need to wait a moment for them to load)
  • Drag and drop the metric into the 'Alerter Formula' at the bottom of the panel. e.g. Metric[WebiServerAdmin@Webi|memory|high|ThreshldCount
  • Continue to drag and drop, for example drag and drop an Operator. e.g. >=
  • Type in a value to complete the formula. e.g. 5
  • Select level of alert: Critical, Severe, Warning, Info
  • Press the green 'tick' icon to validate the formula
  • Press 'disk' icon to save. And then close the editor.

The completed alerter could look like this:

For more information around memory management please refer to this SCN article and the BI Platform 'Administrator' Guide and the section called "Web Intelligence Server Memory Threshold Settings"

Once the alerter has been created, a folder and file(s) defining the alerter(s) will be created within you profile. For example, C:\Users\Matthew Shaw\gat_alerters. A text file will be created in this folder for each alerter. The following screenshot shows an example:

If you share these files across different machines/clusters, please remember to rename the SIA name/Servername mentioned in the file.


Once you have your alerter(s) defined set the polling interval in seconds and press the play icon. Alerts will appear on the right hand panel


Download

  • This tool is included within the installation of SAP Business Intelligence Platform 4.0 / 4.1

Additional Resources

 

Requirements / Dependencies

  • Connectivity to the CMS is required, along with Administrator login credentials.
  • For SAP Business Intelligence Platform 4.0 and upwards

  • You need to have an installed JRE with at least a 1.6 version.


  • No labels

5 Comments

  1. Good Stuff Matt!  I've played with this lots and this is a good overview of the different areas of this tool.  

  2. Hello Matthew,

    first I like to said your document is very good. I appreciate when you put reel life example like this, it help ..."This can provide extremely helpful information. For example you may be able to identify ....".  

    I have some questions after my first read thru your blog 

    Q1) About the alerter, is it similar of what we have in the CMC Monitor tools.  Which by the way I try (beleive me) to used it but it'I always finish to not implement somethings interesting

    Q2) Failover / recovery status.  Can you provide me reel life exemple. Is it when Webi are open and crash after session timeout ?

    Q3) I try your tools at first on server directly, this can work on local desktop ? If yes, Is there any limitations ?

    Q4) Like a lot of admin, we work directly on production to get it right (no time to loose on dev (smile) ).  I see some writeback functionnality, is there any very dangerous things we should know ?

    Thanks again, I will continue to use it and probably more in depth questions.

     

  3. Patrick,

    Many thanks for your comments.

    Q: Are the metrics in the webiadmintool-alerters the same as the ones in the BI Platform CMC-Montioring?

    A: Yes, they are the same. The Monitoring will show a more friendly name, but they are the same.

    Q: When will Web Intelligence Failover? is it to do with a timeout?

    A: Its not related to a timeout, or the automatic saving of documents. Should a Web Intelligence Server crash (for whatever reason), the 'state' of all Web Intelligence sessions will remain in the 'cache' of the Web Intelligence server. When a user sends a request to a server that is no longer there (it died), another Web Intelligence server will be assigned. That Web Intelligence server, will realise the request is for a document held on a crashed server. So it will ask the 'Document Recovery Service' (hosted in an APS) on the original machine the document was processed on, for a copy of the cached files. Once those files are received, the new Web Intelligence server will recover the state and carry out the request of the user. (Should the whole machine, where the document was processed on, not be available, there no recovery is possible, since the 'Document Recovery Service' can't access the files!. You only need one 'Document Recovery Service' per SIA/Node. If you have multiple SIA/Nodes, you need one 'Document Recovery Service' per SIA/Node').

    Q: Can I run the webiadmintool locally?

    A: Yes you can. I'm not entirely 100% sure of what you need to copy from the server, but I think its just the JAR file mentioned. Running it locally will save some memory/CPU consumption on the server.

    Q: Is there anything dangerous I can do with this tool?

    A: Yes, lots. You need Administrator rights and you can do things like create, delete servers, start and stop them. You can change and edit parameters. So you need to use the tool with some care. A large majority of the tool is 'read only' and so you can safely use these parts avoiding the 'write back' areas. But you are right, you need to be careful. Its a very powerful tool.

    @everyone : The commentary of this blog isn't as good as say an SCN discussion. Can I suggest to post future questions in the SCN discussion and then to reference those discussions, but posting a comment here. That way we can separate out areas. I hope this makes sense and is ok for everyone. Somehow in SCN discussion you can mention a persons name should you want to gain interest from anyone in particular! (smile)

     

  4. Former Member

    Matthew,

    We are on Linux, I see the JAR files in <<BO Install Dir>>/sap_bobj/enterprise_xi40/java/apps directory, but how do you run them?

    It is expecting Xwindows.  And I am not able to run the jar file when I copied to my laptop.

    Linux is out of luck for these tools?, they are available only on Windows OS?

    Thank you,

    Srinivas

  5. You can copy those JARs and run them on your own Windows Computer. It think it is expecting an Xwindows, but not sure they've ever been tested on Linux in that way.