The Monitoring WebUI feature is available since FIX Antenna C++ 2.31.0 release.
Overview
FIX Antenna C++ provides WebUI for FIX session monitoring and runtime control. Monitoring WebUI is implemented as a separate shared library. FIX Antenna-based application must be linked to this library to use monitoring WebUI.
Configuration
To use the Monitoring WebUI the following steps should be taken:
- Link the application with libV12_webui.so library.
add_executable(fa-webui-app <sources>) target_include_directories(fa-webui-app PRIVATE ${FIXANTENNA_INCLUDE_DIR}) target_link_libraries(fa-webuia-pp PRIVATE V12 V12_webui)
- Configure the following properties in the properties file:
Property | Description | Required | Default value |
---|---|---|---|
Monitoring.Web.Host | This parameter defines the IP address for monitoring WebUI to listen on, which may be 0.0.0.0 to listen on all network interfaces. If Monitoring.Web.Host was specified with the incorrect value (not an integer in range 0..0xFFFF) then the monitoring WebUI will not be started and the following ERROR message will be logged: Failed to start monitoring Web UI: Monitoring.Web.Port is not an integer in range 0 .. 65535. | N | 127.0.0.1 |
Monitoring.Web.Port | This parameter defines the TCP port for monitoring WebUI to listen on. If the Monitoring.Web.Port was specified with an invalid IP address of the host machine, then the monitoring WebUI will not be started and the following ERROR message will be logged: Failed to start monitoring Web UI: <message from the operating system>. | N | 8906 |
- Call Engine::Monitoring::Web::initialize function after initialization of FIX Engine.
- Call Engine::Monitoring::Web::finalize before stopping FIX Engine.
auto engine = Engine::FixEngine::init("engine.properties"); Engine::Monitoring::Web::initialize(); // .. more application-specific code Engine::Monitoring::Web::finalize(); Engine::FixEngine::destroy();
Failure to initialize or finalize the WebUI does not cause an application termination, only an error message in the log file.
Monitoring WebUI
Sessions List page
The following information is displayed on the Sessions List page:
- A list of all configured sessions with:
- Session ID
- FIX version
- Role
- Status
- Incoming sequence number
- Outgoing sequence number
- Buttons to:
- Connect all sessions
- Disconnect all sessions
- Reset all sequence numbers
- Refresh the Sessions List page
- <Session ID> links to navigate to the particular Session Details page
Figure. Sessions List page.
Session Details page
The following information is displayed on the Session Details page:
- A table with session parameters configured in the engine.properties file, current status, and sequence numbers
- Buttons to:
- Connect the session
- Disconnect the session
- Reset sequence numbers
- Refresh the Session Details page
- Navigate back to the Sessions List page
Figure. Session Details page.