Table of Contents

Configuration file of the ibmanager program

The ibmanager program operates based on a configuration file. The file is an xml type file.

Sample configuration file

ibmanager.xml
<?xml version="1.0" encoding="UTF-8"?>
<Config xmlns="http://www.insbud.net/ibmanager" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="1.13" xsi:schemaLocation="http://www.insbud.net/ibmanager ibmanager.xsd">
 
   <!-- location coordinates -->
   <Location Latitude="52.069167" Longitude="19.480556" />
 
   <!-- installation identifications - optional elements -->
   <Application Name="Installation Name" Version="Version Number" Instance="Instance Name" />
 
   <License Path="/ibsystem/license/license.dat" SignaturePublicKeyPath="" />
 
    <IbGUI>
      <Projects>
        <Project Url="http://update.ibsystem.org/projects/installation-name-installation-version.xml"/>
      </Projects>
    </IbGUI>
 
   <IbProtocol TcpPort="3001" SecureConnection="false" WanHostName="s1a.ibsystem.org" WanTcpPort="520" />
 
   <Discovery QueryPort="2005" ResponsePort="2005" TimeoutSec="3" MaxSilenceSec="20" />
 
   <RemoteServers>
      <RemoteServer HostName="127.0.0.1" TcpPort="2001" TimeoutSec="20" SleepMS="100" Prefix="" SecureConnection="false" />
   </RemoteServers>
 
   <LogicLibDir Path="/ibsystem/ibmanager/logic" />
 
   <Storage DirPath="/ibsystem/ibmanager/storage" DumpPeriodHours="24" MaxDumps="10" />
 
   <Alerts Path="/ibsystem/ibmanager/alerts.xml" />
 
   <TrackedVariable Name="rs.0.id.255.input.t.0.value" />
 
   <!-- Levels: TraceLo, Trace, TraceHi, DebugLo, Debug, DebugHi, Info, Notice, Warning, Error, Critical -->
   <!-- Types: Console, File, None -->
   <Log Type="File" Level="Info" Params="/ibsystem/ibmanager/ibmanager.log" MaxLogFileSize="40000000" MaxLogArchives="20" />
 
   <Credentials Path="/ibsystem/ibmanager/credentials.xml" />
</Config>

The main element of the configuration file is Config, which includes, among others, the Version attribute, which is the version of the configuration file. The proper version of the configuration file is version 1.13 (for ibmanager program version 3.7.4).

If this version does not match the version number currently supported by the program, then an error will be reported and the program will terminate. The error will be reported in the terminal, as the log parameters of the program are included in the configuration file, which is not supported.

The remaining elements of the configuration file are described in separate chapters of the documentation.

<Location>

<Location Latitude="52.069167" Longitude="19.480556" />

Mandatory element defining the latitude and longitude of the place where the system operates. Both longitude and latitude are double type values.

The system's location allows for calculating, for example, sunrise and sunset times by ibmanager's logics.

The element contains the attributes:

<Application>

<Application Name="Installation Name" Version="Version Number" Instance="Instance Name" />

Optional element. It represents the identifying data of the application. By application, we mean the appropriately configured ibmanager program equipped with logics, e.g., for software of managed installations. It could be, for instance:

The element contains the attributes:

Alert texts have been formatted in such a way to include the application name (the Name attribute) and the application instance name (the Instance attribute) in the form: Name-Instance: alert text. If one of them is not provided, then the alert header will be accordingly reduced and the dash will be removed. In the case when neither of these values is provided, then the prefix along with the colon and space will not be used in the alert text.

<License>

<License Path="/ibsystem/license/license.dat" SignaturePublicKeyPath="" />

Mandatory element pointing to the provided license file. Without a valid license file, the program will not start.

The element contains the attributes:

<IbGUI>

<IbGUI>
  <Projects>
    <Project Url="http://update.ibsystem.org/projects/installation-name-installation-version.xml"/>
  </Projects>
</IbGUI>

The element contains URLs to project descriptor files grouped in the Projects element for ibgui.

These paths will be passed to ibmanager.ibgui.project.url variable and separated by the “|” character.

These projects can be displayed and downloaded from the page indicated inside the descriptor files by the ibgui software.

<IbProtocol>

<IbProtocol TcpPort="3001" SecureConnection="false" WanHostName="s1a.ibsystem.org" WanTcpPort="520" />

The IbProtocol element describes the parameters of the protocol, with which, external programs can communicate with the ibmanager software.

The element contains attributes:

<Discovery>

<Discovery QueryPort="2005" ResponsePort="2005" TimeoutSec="3" MaxSilenceSec="20" />

The Discovery element is optional. Its definition includes the mechanism for detecting IB-System programs in the local network using the UDP transport layer broadcast mechanism.

The discovery detection mechanism was used in the ibmanager program as a server, in order to be detected by other IB-System programs (e.g., the ibgui program).

The ibmanager program has an implemented discovery mechanism client - it is able to detect other IB-System programs - this functionality is currently disabled.

The element contains attributes:

<RemoteServers>

<RemoteServers>
   <RemoteServer HostName="127.0.0.1" TcpPort="2001" TimeoutSec="20" SleepMS="100" Prefix="" SecureConnection="false" />
</RemoteServers>

The RemoteServers element is responsible for defining all remote servers that support ibprotocol and are a source of control variables. These can be:

Variables of these programs are fundamental elements for logic libraries - which fetch and update their values.

The RemoteServer element describes a single instance of a remote server and contains the following mandatory attributes:

Handling of each remote server begins with the describe_all command. This is intended to create variables of the appropriate types, then get_all commands interspersed with set commands are sent - if a change in the value of a variable belonging to a given server has occurred (e.g., by the control logic, the parent program, or directly by the user via the communication interface).

<LogicLibDir>

<LogicLibDir Path="/ibsystem/ibmanager/logic" />

The LogicLibDir element is optional. If this section has not been defined, then the ibmanager program will not handle control logics and will only function as a repeater of variable servers (operating in proxy mode).

The element contains the attributes:

If the LogicLibDir element has been defined, then the ibmanager program, when starting, will start loading xml type configuration files of logics placed in the directory defined in the Path attribute, then it will start loading logics from dynamic libraries (.dll/.so).

<Storage>

<Storage DirPath="/ibsystem/ibmanager/storage" DumpPeriodHours="24" MaxDumps="10" />

The Storage element is mandatory and is responsible for configuring the local data storage mechanism.

The element contains the attributes:

<Alerts>

<Alerts Path="/ibsystem/ibmanager/alerts.xml" />

The Alerts element is optional. If it is defined, then the ibmanager program loads the alerts configuration file from the location specified in the Path attribute of this element. Any failure during its loading will terminate the program's operation along with an appropriate entry in the logs. If this element is not defined, then the alerts mechanism will be disabled, and any requests to send an alert by running logics will be ignored.

<TrackedVariable>

<TrackedVariable Name="rs.0.id.255.input.t.0.value" />

The TrackedVariable element is not significant for the user, only for the developer for the purpose of detecting software errors. It was introduced due to the complexity of handling remote variables. It is an optional element and its definition results in specific entries in the logs, which carry no information for the user.

<Log>

<Log Type="File" Level="Info" Params="/ibsystem/ibmanager/ibmanager.log" MaxLogFileSize="40000000" MaxLogArchives="20" />

Element responsible for configuring the logging system of the ibmanager program.

The element contains the attributes:

In the sample definition of the <Log> element, the log rotation mechanism assumes the existence of up to 20 archival files. Both archival and current can be up to about 40MB in size.

<Credentials>

<Credentials Path="/ibsystem/ibmanager/credentials.xml" />

Optional element. If it is defined, then the application will include the authorization mechanism on the ibprotocol interface side.

The element contains the attributes: