Monitoring Mode
Intro
Monitoring and admin roles enhance system security, efficiency, and accountability by assigning specific permissions and responsibilities. Monitoring users in FIXICC H2 have enhanced capabilities compared to admin users. They can add and edit servers, view sessions and logs but cannot delete the servers as well as create new roles and add users.
In monitoring mode, session configurations, including transport adapter session configurations, and schedules are taken from the FIXEdge.properties file, and business rules are taken from the BL_Config.xml file.
FIXEdge C++ configuration
Enabling Admin REST API
The following configuration must be added to the FIXEdge.properties file:
AdminRESTAPI.Enabled = true
AdminRESTAPI.Port = 8903
AdminRESTAPI.HTTPSServer.PrivateKey = AdminRESTAPI.key
AdminRESTAPI.HTTPSServer.Certificate = AdminRESTAPI.crtThe following lines should not be added to FIXEdge.properties when configuring FIXEdge C++ to work with FIXICC H2 in monitoring mode:
Components.Service.FIXICCH2.Host = 127.0.0.1
Components.Service.FIXICCH2.Port = 8080
Components.Service.FIXICCH2.ReconnectInterval = 1000
Components.Component.Configuration = FIXICCH2
FIXICC H2 configuration
Navigate to the FIXICC H2 installation directory.
Within the installation directory, find the file named local.app.properties.
Add the following line to the local.app.properties file and save it
fixicch2.monitoringMode=trueDefault user:password is admin:admin
Configuring a New User
By default, when H2 is installed, the only user is the administrator. Therefore, it is necessary to configure an additional user with permissions limited to monitoring only. The admin user should:
Navigate to Administration section
Select “Users” and “Create”.
A window will appear prompting you to set a login and password. Fill in this information.
Once done, it is required to proceed to the "Roles" section and click "Add."
From the list, choose the "FIXICCH2 Monitoring" role. This will grant the user the necessary permissions
” Monitoring” User Permissions
Monitoring users can view and manage server information. They can add and update server details when accessing "Servers" > "Show all servers". However, they cannot delete servers.
Adding FIXEdge C++ Server to H2 UI (for non-Consul mode only)
After starting the FIXEdge server, navigate to "Show all servers" in FIXICC H2.
Click the "Add" button to add a new server, or the "Edit" button if the FIXEdge server is already listed with the status "Misbehaving".
Enter values for the following parameters:
Admin Port: the port specified in the AdminRESTAPI.Port parameter in the FIXEdge.properties file.
FIX Port: the port specified in the ListenPort parameter in the engine.properties configuration file of FIXEdge.
Then, press "OK".
Sessions displaying in H2 UI
Monitoring users can view, start, and stop sessions and watch the logs. They can also modify the sequence number, send arbitrary messages, heartbeats, and test requests, or resend requests. However, adding, editing, or deleting sessions is restricted.
Business rules
Monitoring users can access and reload business rules.
Business rules command will send a request to server and show back the content of BL_Config.xml.
The file is currently not editable. The user can only monitor it
The "Business Rules" button provides access to the contents of the BL_Config.xml file, which serves as the configuration file for FIXEdge. It is important to note that this screen does not reflect the currently active business rules within FIXEdge. Instead, it displays the content of the BL_Config.xml file. The user can edit the file from the server and apply the made changes on the runtime by clicking on the “Reload business rules” command. In that case the updated rules, not the original configuration will be used by FE in runtime.
Working with schedules
Schedulers configured in FIXEdge.properties are displayed in the FIXICC H2 UI in the following way:
a) schedulers configured for the server
b) schedules configured for specific session
b) default server schedule
When default schedule properties are specified in FIXEdge.properties, any session without a custom schedule will be assigned a default schedule.
Example of configuration
FixLayer.FixEngine.Sessions.DefaultStartTime = 08:00
FixLayer.FixEngine.Sessions.DefaultTerminateTime = 23:59
The local time zone is used for default schedules.
On the FIXICC H2 UI, the default schedule entry is named as follows:
Session#<SenderCompID>-<TargetCompID>[-<Qualifier>]
The schedule properties (StartTime and TerminateTime) for default schedules reflect the values set in DefaultStartTime and DefaultTerminateTime.
The default schedule for each session is displayed in the Server Schedule list and Schedule Name column of the session list. When a session is selected, the details of the default schedule (Schedule Name, Start Time, Terminate Time, and Time Zone) are shown in the Scheduler section.
Viewing Throttling Parameters in Monitoring Mode
Since FIXICC H2 version 14.0 if a session has throttling rules configured in the FIXEdge.properties file, the UI displays all related throttling parameters in the Throttlers section of the session details screen.
For more information on how to configure throttling in FIXEdge C++, see the official documentation:
How to configure FIX messages throttling in FIXEdge C++.
You will see a read-only table listing all throttling rules, including:
Name: The throttler's name as defined in the configuration.
Direction: INCOMING or OUTGOING.
Type: The throttling algorithm (e.g., SlidingWindowMessages).
Messages Limit: Maximum messages allowed in the interval.
Interval Ms: Time interval in milliseconds.
Default Action: Action taken when the limit is exceeded.