Diagnostics in SAP BI 4.0 – Pillars of Monitoring – Probes
Welcome to my latest update in the BI4 Diagnostic series. I left off speaking about the pillars of monitoring in BI4 and how these pillars are critical to the whole solution offering in BI4. I recently covered the metrics pillar and how instrumental Wily Introscope is in this scenario. I now want to move on to discussing the probes pillar and fill you in on how these probes can be used in your BI4 deployment.
Probes
The idea of probes has actually been around for some time internally. We use these types of scripts and such for testing the platform when in development. Being able to extend this platform into the released product is a big step for BI Administrators. Now these same scripts can be used to monitor the health of an environment under normal operating conditions. These probes use the synthetic transaction approach to monitoring that I discussed in my first blog. These probes do not monitor actual user or server events but instead utilize scripting to simulate the steps you want to measure. BI4 does come with a number of default probes that can be used straight out of the box.
Probe Types
The probes themselves are broken down into three categories (Diagnostics, Health, and Hybrid). They provide you with the functionality to design probes specifically for your application and for your workflows. These probes can test the simplest things like ensuring a server is responsive or if a user can logon. They can also perform more complex routines like running particular reports to ensure the backend response times are acceptable for your users.
Diagnostic probes are probes that generate reports containing current system information. Examples of diagnostic probes include Stop/Start Server. This probe checks all the servers, records the state of each server, restarts the servers and collects information about servers again.
Health probes are probes that generate metrics of data types such as integer, Boolean, or string. Examples of health probes include CMS Logon/Logoff. This probe checks whether users can log on and log off from the Central Management Server (CMS) successfully.
Hybrid probes are probes that function as both diagnostic and health probes. Except for Stop/Start Server probes, which are diagnostic probes, all other probes provided with SAP BusinessObjects BI platform are hybrid probes.
Default Probes
The probes that come with BI4 are just a few simple examples of what probes can do. Because there are so few probes by default you are really encouraged to develop your own probes for exactly what you want to measure. The default probes are listed below with a description of what they are used for.
CMS Logon Logoff probe checks the availability of the CMS for users to logon to the SAP BI4 landscape from a client application. If it successively logs one user on to the system and checks the session validity then logs the user off. By running this probe every two minutes it would provide you with an early alert if the environment became unstable.
The CMS ping probe queries the central management server (CMS), it will succeed if the CMS returns a parse failure error. The probes will return very quickly because the query parsing is a core part of the CMS. Any other error returned would indicate a problem and an unhealthy CMS.
The CMS cache probe tests the availability of the Info store cache. A short time after startup it is expected that the CMS retrieves most of its information from the cache; as a result the query will not hit the CMS database. If the query fails the cache may not be properly functioning or the cluster definition is incorrect.
The CMS database connection probe tests the availability of the CMS database by sending a query to the system for and Info Object representing the cluster name. The CMS subsequently retrieves this from the database and a failure would indicate a connection problem between the CMS and the database.
The Crystal Reports Service through Page and Cache Server probe checks the availability of the Crystal Report service through the Page and Cache servers. By using the Page and Cache servers the probe will open a Crystal report, refreshes it, and export it to PDF format and close it.
The Crystal Reports Service through Report Application Server probe checks the availability of the Crystal Report service through Report Application servers. By using the Report Application servers the probe will open a Crystal report and export it to PDF format and close it.
The Web Intelligence Service probe tests the availability of the Web Intelligence service through the Web Intelligence Report Servers. When it successively opens a Web Intelligence document, refreshes it, and exports it to XLS and PDF format it will return with success.
The InfoView Probe will test the logon/logoff availability of the InfoView web application.
Custom Probes
As mentioned before the platform allows you to create customized probes and add them to the monitoring service. You can create a new probe by using the provided SDKs, through the command-line interface, or through DFOs. If you are familiar with developing in java it is pretty simple to create a new probe and add it. Each probe that is added is an InfoObject just like every other object in the landscape. Without going into too much detail here I will say that the probe you add can have a number of attributes defined for it. The table of these attributes is below.
Attributes/Parameters
|
Description
|
---|---|
-auth | Authentication type |
-classname | Fully qualified class name of the probe |
-cms | CMS name |
-help | Print help for this application |
-inputparam |
Input parameters for the probe.
For example, key1:type1:value1; key2:type2:value2 supports
Integer/Long/Boolean/String |
-name | Name of the probe |
-password |
Password to run the probe
|
-timeout | Timeout interval in seconds |
-type |
Defines the type of the probe. The values 1, 2, and 3 may appear, which correspond to: 1. Health probe 2. Diagnostic probe 3. Probe that functions as both health and diagnostic probes |
-username | Username to run the probe |
-probeInputType |
This can be commandLine or script upload.
if (commandLine)
Key:CommandLine
type:String
value: <the command>
if (scriptUpload)
-scriptLocation and then specify the
script location |
EnableVirtualMetrics |
key:EnableVirtualMetrics
type:Boolean
value:true/false
|
Delimiter |
key:Delimiter
type:String
value:,
|
FirstRowhasColumnNames |
key:FirstRowhasColumnNames
type:Boolean
value:true/false
|
metriccolumns |
key:Metric_Columns
type:Integer
value:any integer
|
anchorcolumn |
key:AnchorColumn
type:Integervalue:any |
I would like to hear some of your ideas. You have seen the sample probes we provide, what do you think would be very useful probes for you to use in your environment? I have been interested in developing a couple probes and would like to hear how they are used or could be used in live deployments. Feel free to add your comments and let us know how a probe could help you.
keep 'em coming !
The Big Dog with the goodness - you are getting quite good at these Blogs. Can't wait to see the future ones!
Great stuff, way to get the information out there.
Thanks a lot for this blog. I have one question for a different aspect, in fact 2 -
Thanks.
The EarlyWatch report does contain information from the application server as well as the BOE servers. The report is deigned to capture all of the information from the entire deployment. If you have a managed agent deployed on a server it will be included in the report.
The report will contain metrics for each aspect of the environment, for the central management server it will contain repository query timing, security aggregation timing, platform server communication timing and such. For processing servers it will be more related to time required for processing reports, data, # of reports being processed and that sort of thing. For the application server it will be all about the user experience like logon times, response times to requests and such.
If an example report is desired please do let me know as I could likely attach one here for those of you interested to see.
Yes, that would be nice if you could attach one sample for a BI 4 system.
Thanks in advance
Quite Interesting.
I would like to know is there any way to monitor more than one BO servers in a single dashboard as a consolidated view. We are monitoring about 20+ businessobjects servers everyday before business starts. Finding it difficult to monitor them in their proprietary CMC manually. Is there a way to achieve this using probes?
Regards,
Mani
Hi Mani,
You can monitor all BO servers (including those in QA, Test, etc) on one dashboard using the BOE dashboards that are included with the BI4 management modules for Wily Introscope. Additionally, you may also monitor the application servers in your cluster in a single dashboard view. Included are Tomcat specific dashboards with many interesting metrics.
Refer to this blog post for instructions on getting started.
Cheers
Toby
Hi Tim,
Waiting for the blog on Watches 🙂
More newbie question. If I like to look the codes under default probes, where I can find it.
Or, let me go directly to what I searching to do. I like to monitor with probes technic a simple Dashboard. I like to see every day with Dashboard XYZ can load, refresh without error.
Thanks in advance
Hi Patrick,
For a dashboard refresh probe, you would need to create this yourself. Check out the following whitepaper on creating a custom Java probe. This should help you get started. Refer to the BI 4 Java API for the code to refresh a dashboard.
http://scn.sap.com/docs/DOC-39449
Cheers
Toby
Thanks, we will take a look. At least, I will stop searching into cmc. I just try the default one which BO provide, it call a crystal report (not a dashboard) and I change the CUID to dashbaord 🙂 no luck 🙂 !!! It doesn't work. I suppose the routine call is completly different.
By the way, if I could see the java code for default one, it could help.
Thanks in advance
Hi Patrick
Yeah the CR probe won't work.
If you could open a message for me i'll hunt you down some sample code. Mail me the message number at toby.johnston @sap.com. Use component BI-BIP-DEP
Thanks
Toby
Hi Toby,
We have a requirement to refresh the Dashboard daily before our Business use them because we want to maintain the cache and reduce the delay/performance issues as our servers are refreshed every weekend. We are trying to create a Probe for Dashboard and schedule it daily before our Business start.
Can you help/guide us to develop the Probe for Dashboard, we will create a ticket where we can log the work procedure.
Regards,
SJ
Hello Toby,
Does the Infoview probe works with HTTPS URLs and can it be used to monitor different environments from one CMC ?
tnx.
Yes, see 1929718 - How to use SSL for monitoring probes in BI Platform
4.x
You need one probe per monitored URL. To copy a probe refer to 1797185 - How to create a copy of a default monitoring probe in BI
Platform 4.0
Hello Toby,
Is it possible to ceate a probe to check Windows AD SSO Login ?
Thanks,
Sairam
Still really good document, although some default probes changed in BO 4.1
Hi All, we are now on 4.2 SP04 and see a possible new probe you could help us with:
- We need a probe that stops only the Web Intelligence processing servers under certain conditions
- We already get an email alert via monitoring IF there are 20+ concurrent reports running AND they are doing so over 30 minutes
- We now manually fix this by restarting the Web Intelligence servers manually
- We would like to use the "Diagnostics Probe" to achieve this with a modified where clause
Can anyone help us with this "where" definition?
The original is:
Where SI_PROGID='CrystalEnterprise.Server' AND SI_SERVER_KIND NOT IN ('aps') AND SI_NAME NOT LIKE '%AdaptiveProcessingServer%' AND SI_NAME NOT LIKE '%AdaptiveJobServer%'
We have 2 nodes and 4 Web Intelligence processing servers.
Would this work ?:
Where SI_SERVER_KIND IN ('aps') AND SI_NAME LIKE '%WebIntelligenceProcessingServer%' AND SI_NAME LIKE '%AdaptiveJobServer%'
What do you think?
Thanks!
Are there any recommendations on how frequently we can schedule these probes..especially the CMS DB Connection? What will be the impact, say if we schedule this probe every 1 minute, both on the database as well as on the BO server?
Thanks,
Venkat