Document toolboxDocument toolbox

14.1 System Start Up

On This Page:

System Parameter Tables

As each process starts up it must configure itself to run with the correct set of parameters.

  • For the FRU process this means parameters for each of its functional threads e.g. ABS, Optimizer, Dispatch and Jeopardy.
  • Other processes, i.e. 14.1 API Agent and 14.1 Gantt Router, do not have such differentiated functional threads, but still need to pick up a set of parameters to affect behaviour.

See the Table Definitions to navigate to the database table descriptions if they are of general interest. The specific parameters of note at this stage are given below.

How It Works

The System Monitor(s) will automatically start all the server processes.

The Master System Monitor process is responsible for starting the API Agent and Gantt Router(s) and an FRU process for each FRU, using the settings in the database table sp400_components, with the corresponding database connections. In a distributed system, the Slave System Monitor acts as the Master System Monitor's delegate for actions local to a specific node (e.g. process creation, application log file recovery). 

SP400 Tables

The sp400 series of database tables allows for the configuration of the system - how it will physically be implemented on the various machines/operating systems in use. Full descriptions are given in the Database Specification.

However, this section provides more detail as to specific usage of some of those tables, and what one might expect to see at various stages of a system run time.

sp400_components

The Master System Monitor will build its list of Monitored Components (processes) to start and monitor from this table. It will provide all the required information to start a component process. See database table sp400_components for the full set of parameters, but the following are of note at this point.

Column NameComment
component_id

The component_id must contain only alphanumeric characters, '_' (underscore), or '-' (dash), but the first character must not be a dash.

Wide characters (2 or more bytes) must not be used

parameters

See the API Agent documentation for details on how to set up the –c parameter.

host_machine

Only applicable if the ServiceOptimizer instance is running in distributed mode.

If you want this component to run on the same machine as the master System Monitor, then set this field to either:

  • NULL;
  • localhost; or
  • the master System Monitor's host.
max_restarts

The count of attempts is reset to zero after a clean start.

trace_mask_no

If NULL, the component will use the value of glob_trace_mask_no from database table sp083_system_parameters.

max_log_file_size

If NULL, the value of glob_trace_max_file_size from database table sp083_system_parameters is used. See the Application Logfiles documentation for more information.

sp401_component_hierarchy

The sp401_component_hierarchy database table defines the hierarchy between Monitored Components (processes). There may be multiple entries for each component_no, and a component_no can appear multiple times in the is_client_of column, but each row should have a unique pair.

Note that the hierarchy level number (sp405_hierarchy_level) of each component_no is one less than that of the paired is_client_of. There should normally be one entry for each level 2 component (14.1 API Agent or 14.1 Gantt Router) and level 3 component (14.1 FRU Process) combination. See also 14.1 Multiple GanttRouters.

sp406_monitors

The sp406_monitors database table contains the data associated with the system monitor processes. It includes both the master system monitor and (for a distributed ServiceOptimizer instance) slave system monitors. The table below shows what one would expect to see for a non-running system.

Column Name

Description

Master

Slave

Notes

component_no

Component identifier for the System Monitor from sp400_components.

(tick)

(tick)

 

heartbeat_port

Port number on which the System Monitor will listen for heartbeats. 

(tick)

 (error) 

heartbeat_address

Host name/IP address on which the System Monitor will listen for heartbeats.

(tick)

 (error)

 For valid address settings see sp409_component_ports below.

monitor_state

State of the System Monitor.

(tick)

(tick)

 

pid

The process identifier of the System Monitor.

(error)

 (error)

NULL initially, or if process exited normally.

PCI_port

Port number of the port used for administration commands.

(tick)

(tick)

 

PCI_address

Hostname/IP address that hosts the port used for administration commands.

(tick)

(tick)

 

sp409_component_ports

The sp409_component_ports database table contains the port numbers and addresses for all ServiceOptimizer processes. 

Potential networking issue!

WARNING: If a machine has multiple network interfaces and a port address has been specified as NULL or as the host name, then ServiceOptimizer may choose any of the network interfaces. This can be problematic if one or more of those interfaces is not accessible from other machines in the ServiceOptimizer instance. In this case, you should specify the port address as the IP address of a valid network interface.

Potential Performance Issue!

WARNING: The value of database sp409_component_ports column listener_count is critical to the running of the system and incorrect settings can result in performance degradation, system instability or hitting operating system limits. ServicePower recommends obtaining advice from our consutancy team to ensure this is properly configured.

port_address 

The address for the port. A number of different formats for the address are accepted in this field:

FormatDescription
NULLAllows the port to be used without specifying the address of the machine the server process is running on, or, in the case of a machine with multiple network interfaces, allows the server process to receive connections on any of the interfaces. This is the recommended setting for this version of ServiceOptimizer.
Host NameThe host name for the machine on which the server process is to run according to DNS.
IP AddressThe IPv4 address of a network interface on the machine on which the server process is to run, e.g. "195.173.29.225".
localhost or 127.0.0.1Also known as the loopback interface. Has the effect of only allowing the port to be visible to other processes on the same machine. Other machines on the network will not be able to connect to the port.

Not all components will appear in this table - some components may have their ports allocated dynamically by the operating system. It is also possible for there to be more than one row per component as a component usually has more than one port (with the exception of the FRU).

port_address/port_no

Each port address/number pair set must be unique.

port_no

All port numbers must be in the range 5000 to 49151 in order to generate valid port numbers which will not interfere with the set of ports allocated by the operating system (by default 1024-4999 or 49152-65535).

Example Configuration: SOAP API over HTTP/HTTPS

ServiceOptimizer's 14.1 SOAP APIs are delivered via the 14.1 API Agent. It is possible to offer the SOAP APIs over HTTP, HTTPS, or both.

To configure the way the SOAP APIs are delivered:

Step 1: Enable the use of HTTPS, if required

If you want to run the SOAP API over HTTPS, before the SOAP API ports are configured, the use of an HTTPS SOAP port needs to be configured. See the section below on the sp411_component_port_types database table for details.

Step 2: Configure the required port(s).

Update the sp409_component_ports database table to ensure it contains an entry for each port that you want to run the SOAP API on. That is:

If you want to run the SOAP API over HTTP, on host IP address 195.173.29.225 and port 8080, ensure there is the following entry in the sp409_component_ports database table:

component_noport_typeport_noport_addresslistener_count
<api_agent_component_no>38080195.173.29.2251

If you want to run the SOAP API over HTTPS, on host IP address 195.173.29.225 and port 8443, ensure there is the following entry in the sp409_component_ports database table:

component_noport_typeport_noport_addresslistener_count
<api_agent_component_no>48443195.173.29.2251

If you want to run the SOAP API over both HTTP, on host IP address 195.173.29.225 and port 8080, and HTTPS, on host IP address 195.173.29.225 and port 8443, ensure there are both of the above entries in the sp409_component_ports database table.

In both of the above examples, the value of <api_agent_component_no> in the compnent_no column needs to be the corresponding component_no value of the entry in the sp400_components table which corresponds via the component_type field to the API Agent entry in the sp405_component_types database table.


sp410_component_alerts

The sp410_component_alerts database table contains the name and path for the command required to run the process used to alert the ServiceOptimizer administrator when System Monitor fails or is unable to restart one of the processes. This table may contain 0 or 1 entries only. Arguments to the process are defined in the sp413_alert_arguments database table.

Example Configuration

Column

Value

alert_no

1

command_name

send_alert
path/home/sp-admin/bin


The configuration above would use the /home/sp-admin/bin/send-alert command to send alerts.

sp411_component_port_types

The sp411_component_port_types database table contains the predetermined, non-configurable set of valid port types that may be configured in the sp409_component_ports database table.

Preset Values

type_no

description

Notes

0

PCI port

 

1

Client port

Predefined client port is required when using Web Start Gantt.

2

Heartbeat port

 

3

SOAP port

API connection may be made onto this port. However, if SSL connections are required, the below type should be used instead. The system supports both simultaneously if that is required.

4

Https SOAP port

When using the HTTPS SOAP port, the following SSL certificate requirements will need to be met:

  1. If the SOAP API port is to be available publicly, or if your connecting system cannot use a self-signed certificate, a publicly issued certificate will be needed.

  2. The SSL certificate needs to be in standard X.509 SSL server certificate format, with no password enabled. 

  3. The SSL certificate needs to be placed in server\bin\test directory of your ServiceOptimizer installation.

In addition, the following change will need to made before an HTTPS SOAP port can be used:

  1. Identify the soapUI-4.6.0.vmoptions file in the server\bin directory and add the following line to the bottom of this file:

    -Dsun.security.ssl.allowUnsafeRenegotiation=true

The instance will need to be restarted after putting an SSL certificate in place and updating soapUI-4.6.0.vmoptions file the to enable the use of the the HTTPS SOAP port.

sp413_alert_arguments

The sp413_alert_arguments database table contains the list of arguments for an alert command. Each argument and switch should have a separate row. The sequence number is used to define the order in which they should be supplied.

Example Configuration

Column

 

 

 

 

 

alert_no

1

1

1

1

1

alert_sequence

1

2

3

4

5

argument

-f

output-file-name

--component

%SPCOMPONENT%

"Instance name %INSTANCE% failed"

Given the example configuration for database table sp410_component_alerts above, with an alert executable: /home/sp-admin/bin/send-alert, this configuration would give a command line: 

/home/sp-admin/bin/send-alert -f output-file-name --component <component-id> "Instance name <instance> failed"

In the above, <component-id> and <instance> are substituted with the failed component id and sp instance names, respectively.