Oracle Siebel CRM
Features
Business Process Monitoring
Siebel Service Request or other Quote-2-Order processes can be monitored and analyzed by Germain’s Business Process feature to be able to find loss of productivity. More details.
Compliance
Config Files and other Metadata are automatically monitored by Germain’s audit trail mechanism.
More details: https://docs.germainux.com/main/document-audit-state-changes-as-events
Real User Experience Monitoring
Real-time Recording of what all the Siebel Users “do” and “see” on Siebel UI.
For Oracle Siebel CRM, HI, OUI, from 99.5 to 2023.
More details on Real User Monitoring for Siebel (and other apps)
Siebel Server, Component and Task Monitoring
Preconfigured Germain KPIs for Siebel:
Siebel 1 Log KPI
Siebel Active Task
Siebel Attachment Upload Duration
Siebel BP Escl Req Created
Siebel BP Navigation BP
Siebel BP Navigation BP Step
Siebel BP Query Srv Req Created
Siebel BP User Created
Siebel Bus Svc Invocations
Siebel Component Availability
Siebel Component CPU
Siebel Component Crash
Siebel Component Physical Memory
Siebel Component Process CPU
Siebel Component Task Count
Siebel Component Task Percent
Siebel Component Thread Count
Siebel Component Virtual Memory
Siebel Container Event
Siebel Container Request
Siebel Core Crash
Siebel CTI Toolbar Debug Hang
Siebel CTI Toolbar Hang
Siebel EAI Event
Siebel EAI Session BP
Siebel EAI Session BP Step
Siebel EAI Txns
Siebel Enterprise Crash
Siebel Errors
Siebel Escalation Request Count (S_SRM_REQUEST and S_ESCL_REQ)
Siebel Failed Task Count
Siebel FDR Crash
Siebel File Size
Siebel Gateway Availability
Siebel Gateway Errors
Siebel Gateway Service Txns
Siebel Global Background Task Count
Siebel Global Batch Task Count
Siebel Global Interactive Task Count
Siebel Global Task Count
Siebel HTTP Availability
Siebel Hung EAI Sessions
Siebel Hung User Sessions
Siebel Interaction Activity
Siebel JavaScript Console Event
Siebel JavaScript Popup Dialog
Siebel Login BP
Siebel Login Txns
Siebel MaxTasks Per Process
Siebel Mouse Click
Siebel Navigation BP BP Step
Siebel Open SR Count
Siebel Outbound HTTP Request
Siebel Parameter Update
Siebel Server Availability
Siebel Server Request Count
Siebel Service Request BP
Siebel Service Request BP Step
Siebel SQL Queries
Siebel SR Activity Interval
Siebel SR BP
Siebel SR BP Step
Siebel SR End
Siebel SR Resolution Time
Siebel SRBroker Blocked Error
Siebel SRBroker Blocked Warning
Siebel SRM Task Hist Error
Siebel State Svc Txns
Siebel Status
Siebel Synthetic DB Txns
Siebel Synthetic Txns
Siebel Task Errors
Siebel SWSE Request Errors
Examples


Siebel Object Manager Crashes (detection & automated analysis)
Siebel Object Manager Crashes are automatically analyzed, including the analysis of Siebel FDR and logs files. Real User Scenario are captured (via Germain’s real user session recording and video replay). Memory Leak in eScript are automatically analyzed.
Identify “New” OM Crash among thousands of known crashes (using Categorization of Facts)
To automate identification of a “new” issue (as opposed to “known” e.g. find a new failing transaction among millions of failing transactions that have been known): https://docs.germainux.com/main/categorization-of-facts
Correlate OM Crash-related information and Analyze them (using Exact-Match Correlation)
To automate the 1)correlation and 2)analysis of all the Siebel files that are produced when an Object Manager crashes https://docs.germainux.com/main/exact-match-correlation
Load Balancing Monitoring
Please contact us.
Configure
Wizards
Log on to Germain Workspace > left menu > Wizards > Siebel

Import Siebel Component Types
For new deployment, please import Siebel seed data from all json files under Server Distribution/configuration/siebel by making REST calls using “REST Client” in the Germain Configuration Console. Select “merge” option while executing the REST calls. Check that the following components exist under germain.apm.monitoringConfig.components:
Siebel Object Manager Parser
Siebel Enterprise Manager Parser
Siebel Crash Parser
Siebel 7.x FDR Parser
Siebel 8.x FDR Parser
Siebel Crash Directory Monitor
Siebel Log Directory Monitor
Siebel Component Monitor (WMI)
Siebel Component Monitor (SSH)
Siebel HTTP Monitor
Siebel Enterprise Configuration Monitor
Siebel Collator
Add the Siebel Server
Germain Workspace > Left Menu > Wizard > Siebel App Server

Add credentials
Germain Workspace > Left Menu > Systems > Auth Settings > Authentications

Enter the credentials for you Siebel server, usually it is SADMIN. If needed, enter the Domain, Secure Key
Validate Preconfigured KPIs meet your expectations
Keep or reconfigure all the preconfigured KPIs and SLAs to ensure they meet your organization’s standards.
Germain Workspace > Left Menu > Analytics > KPIS > Siebel

Siebel Task level Monitoring
Germain Workspace > Left Menu > Analytics > Rules > siebel-app-monitor-drl >
Component Task Metrics
Example
rule "Component Task Metrics"
when
$r : ListComponentsOutputRecord( cpDispRunState in ( "Online", "Running" ), cpMaxTasks > 0 )
$tasks : List( ) from collect ( ListTasksOutputRecord( ccAlias == $r.ccAlias ) )
then
StringBuilder sb = new StringBuilder();
for (ListTasksOutputRecord t : $tasks) {
sb.append(t.svName);
sb.append("\t");
sb.append(t.ccAlias);
sb.append("\t");
sb.append(t.cgAlias);
sb.append("\t");
sb.append(t.tkTaskId);
sb.append("\t");
sb.append(t.tkPid);
sb.append("\t");
sb.append(t.tkDispRunstate);
sb.append("\t");
sb.append(t.ccRunmode);
sb.append("\t");
sb.append(t.tkStartTime);
sb.append("\t");
sb.append(t.tkEndTime);
sb.append("\t");
sb.append(t.tkStatus);
sb.append("\t");
sb.append(t.tkParentTaskId);
sb.append("\t");
sb.append(t.ccIncarnationNum);
sb.append("\t");
sb.append(t.tkLabel);
sb.append("\t");
sb.append(t.tkTasktype);
sb.append("\t");
sb.append(t.tkPingTime);
sb.append("\n");
}
// Number of running tasks per component
GenericMetric m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:Task";
m.name = $r.ccRunmode;
m.value = (double)$r.cpNumRunTasks;
m.details = sb.toString();
m.application.component = $r.ccAlias;
datamart.insert(m, context);
// Pct of max tasks running per component
m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:TaskPct";
m.name = $r.ccRunmode;
m.value = Math.round(((double)$r.cpNumRunTasks / (double)$r.cpMaxTasks) * 100.0 * 1000.0) / 1000.0;
m.details = sb.toString();
m.application.component = $r.ccAlias;
datamart.insert(m, context);
// Number of running tasks per process for this component
int numProcs = $r.cpActvMtsProcs == 0 ? 1 : $r.cpActvMtsProcs;
m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:Running Tasks Process";
m.name = $r.ccRunmode;
double numTasksPerProc = (double)$r.cpNumRunTasks / (double)numProcs;
m.value = numTasksPerProc;
m.details = sb.toString();
m.application.component = $r.ccAlias;
datamart.insert(m, context);
// Max number of running tasks per process for this component
int maxProcs = $r.cpMaxMtsProcs == 0 ? 1 : $r.cpMaxMtsProcs;
m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:Max Tasks Process";
m.name = $r.ccRunmode;
double maxTasksPerProc = (double)$r.cpMaxTasks / (double)numProcs;
m.value = maxTasksPerProc;
m.details = sb.toString();
m.application.component = $r.ccAlias;
datamart.insert(m, context);
// Pct of max tasks per process for this component
m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:TaskPct Process";
m.name = $r.ccRunmode;
m.value = Math.round((numTasksPerProc / maxTasksPerProc) * 100.0 * 1000.0) / 1000.0;
m.details = sb.toString();
m.application.component = $r.ccAlias;
datamart.insert(m, context);
end
rule "Component Mts Metrics"
when
$r : ListComponentsOutputRecord( cpDispRunState in ( "Online", "Running" ), cpMaxMtsProcs > 0 )
then
// Number of running processes
GenericMetric m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:MtsProcs";
m.name = $r.ccAlias;
m.value = (double)$r.cpActvMtsProcs;
m.application.component = $r.ccAlias;
datamart.insert(m, context);
// Percent running of max processes
m = new GenericMetric();
m.timestamp = OffsetDateTime.now();
m.type = "Siebel:MtsProcsPct";
m.name = $r.ccAlias;
m.value = ((double)$r.cpActvMtsProcs/(double)$r.cpMaxMtsProcs) * 100.0;
m.application.component = $r.ccAlias;
datamart.insert(m, context);
end
Deploy Siebel Components
Deploy a Parser for Siebel Component / Object Manager
Germain Workspace > Left Menu > Wizards > Parser

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine)
Fill the details as
Parser Component Type: Siebel Object Manager Parser (Windows/Unix as applicable)
Monitored Application: Siebel (or change if application name changed)
Monitored Application Component: None (or change if needed)
Number of instances: 1
Additional Configuration - Set the localized resource files for Siebel log parsers
Set resourceFile to /com/germainsoftware/apm/localization/parser-siebel-objmgr-enu.properties
Parser for Siebel Server Manager
Germain Workspace > Left Menu > Wizards > Parser

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as
Parser Component Type: Siebel Enterprise Manager Parser
Monitored Application: Siebel (or change if application name changed)
Monitored Application Component: None (or change if needed)
Number of instances: 1
Click Next, Verify the details and click Submit
Additional Configuration - Set the localized resource files for Siebel log parsers
Set resourceFile to /com/germainsoftware/apm/localization/parser-siebel-em-enu.properties
Directory Manager for Siebel log Files
Germain Workspace > Left Menu > Wizard > Directory Monitor

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as
Directory Component Type: Siebel Log Directory Monitor
Name – Name to the monitor, Default is Siebel Log Directory Monitor
Monitored Server: Select the Server which is created in above steps
Path to Monitor: Point to the log files' location on the Siebel Server; reachable from the Germain Server
Watch Subdirectories: no
Process Existing Files: yes
Process Empty Files: no
Force Polling: yes
Polling Interval (seconds): 300000 (**these are milliseconds **)
Click Next, Verify the details and click Submit
Directory Monitor for Siebel Core Files
Germain Workspace > Left Menu > Wizard > Directory Monitor

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as-
Directory Component Type: Siebel Crash Directory Monitor
Name – Name to the monitor, Default is Siebel Crash Directory Monitor
Monitored Server: Select the Server which is created in above stepsr
Path to Monitor: Point to the "crash" files' location
Watch Subdirectories: no
Process Existing Files: yes
Process Empty Files: no
Force Polling: yes
Polling Interval (seconds): 300000 (**these are milliseconds **)
Parser for Siebel OM Crash file (Core Dump)
Germain Workspace > Left Menu > Wizards > Parser

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as
Component Type: Siebel Crash Parser (Windows/Unix as applicable)
Monitored Application: Siebel (or change if application name changed)
Monitored Application Component: None (or change if needed)
Number of instances: 1
Click Next, Verify the details and click Submi
Parser for Siebel FDR file (Flight Data Recorder)
Germain Workspace > Left Menu > Wizards > Parser

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as-
Component Type: Siebel 8.x FDR Parser (or "Siebel 7.x FDR Parser" if Siebel 7.x)
Monitored Application: Siebel (or change if application name changed)
Monitored Application Component: None (or change if needed)
Number of instances: 1
Click Next, Verify the details and click Submit
Directory Monitor for Siebel Gateway
Germain Workspace > Left Menu > Wizard > Directory Monitor

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as-
Directory Component Type: Siebel Enterprise Configuration Monitor
Name – Name to the monitor, Default is Siebel Enterprise Configuration Monitor
Monitored Server: Select the Server which is created in above steps
Path to Monitor: Point to the "siebns.dat" file's location
Watch Subdirectories: no
Process Existing Files: yes
Process Empty Files: no
Force Polling: yes
Polling Interval (seconds): 300000 (**these are milliseconds **)
Remote Monitor for Siebel Server Performance
Germain Workspace > Left Menu > Wizard > Directory Monitor

Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as
Name: Components Status Monit
Monitored Server: Select the Server which is created in above steps
Monitored Application: Siebel (or change if application name changed)
Credentials: Select the credentials created in above steps
Interval: 300
Local Connection for WMI?: no
Component Type: Siebel Component Monitor (Windows|Unix)
Click Next, Verify the details and click Submit
Additional Configuration - The following configuration references have to be added to the component deployments in the config console
SiebelCredentials [e.g. key: germain.apm.monitoringConfig.credentials, itemName: Siebel Admin]
SiebelGateway [e.g. value: gcgsiebel77]
SiebelServer [e.g. key: germain.apm.monitoringConfig.servers, itemName: gcgsiebel77]
SiebelEnterprise [e.g. value: sba_81]
SiebelPath [e.g. value: C:\sba811v2]
ExcludedComponents [Optional; value: can be empty, or a comma-seperated list of components names to exclude]
Siebel Config Collator
Germain Workspace > Left Menu > System > Root Config > MonitoringConfig > Siebel Config Collator
Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as
Component Type: Siebel Config Collator
Name: Name default is Siebel Config Collator, can be changed.
Click Next, Verify the details and click Submit

Siebel HTTP and SISNAPI
Germain Workspace > Left Menu > System > Root Config > MonitoringConfig > Siebel HTTP Monitor
Select the Germain Monitoring Node ( UX ) and Engine (DefaultEngine) , Click Next
Fill the details as-
HTTP Component Type: Siebel HTTP Monitor
Name: Siebel HTTP Monitor
Server: Select the Server which is created in above steps
Application: Application to monitor
Scheme: HTTP
Port: 80 (or change if needed)
repeatSeconds: 300
Click Next, Verify the details and click Submit
Additional Configuration - The following configuration references have to be added to the component deployments in the config console
For the HTTP Monitor from 4.10
From Germain Configuration Console, go to your monitoring node, DefaultEngine, components and Siebel HTTP Monitor
SiebelCredentials [e.g. key: germain.apm.monitoringConfig.credentials, itemName: Siebel Admin]
SiebelComponent [e.g, value: component to test]