Monitoring a IS service using BAM

Please Help me out in understanding the concept of Monitoring a IS service using BAM,
Phases of monitoring
1)Collecting the data regarding failure of IS Service and sending to analytic engine
2)Defining KPI’s and rules using the collected data
My understanding of Phase 1 (collection of data) is

The process Enginee of the IS collect the failure data and push in to the JMS queue, on which the Analytical enginee keeps polling and collects the failure data.
In other way we use webservice data collector and send the failure data to analytical engine using webservices.
** please correct me if my understanding is wrong

My question over this is
1) when and what data does the process enginee collect
2)where can we find the data collected by analytical engine(path in MWS)
MY present requirement is
writing a generic rule for any IS service, such that we can inform any failure without using webservice datacollector(i.e. not using the concept of publishing a event in IS service)
One way that i could find is a Built In Rule Integration Server Service Failure Status
Using the KPI ObjectStatus and there on creating a rule instance, one each for a specific service
Can any one give more information about this built in rule, like what status does it return and how best can we use this to monitor a IS service.
IS there any other Way for monitoring a IS Service.

Thanks In advance