Deployment
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]
Component: Engine
Feature Availability: 8.6.0 or later