How to configure Monitoring WebUI for FIX Antenna-based applications

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.
CMakeLists.txt Sample
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:
PropertyDescriptionRequiredDefault 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 the Monitoring.Web.Host 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>. 
N127.0.0.1
Monitoring.Web.Port

This parameter defines the TCP port for monitoring WebUI to listen on.

If Monitoring.Web.Port 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 
N8906
  • Call Engine::Monitoring::Web::initialize function after initialization of FIX Engine.
  • Call Engine::Monitoring::Web::finalize before stopping FIX Engine.
Initialization Sample
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.