Functional Architecture
Below is a list of components with a detailed description of their functions within the system:
The application architecture is presented on the Architecture Diagram page. An example of a network diagram is available on the Network Diagram page.
Application Server
The application server is designed to store and retrieve all data in full volume. The system uses OLAP ClickHouse and a built-in file-based database as its DBMS. The application server interacts directly with data storage. Communication with ClickHouse is carried out via the HTTPS protocol.
Official ClickHouse documentation: https://clickhouse.com/docs.
ClickHouse is a column-oriented database management system (DBMS) designed for online analytical processing (OLAP).
User Activity Monitoring Module
The User Activity Monitoring Module (UAMM) is designed to automatically collect information about user actions, including switching between application tabs and windows, clicking buttons, hyperlinks, and other interactive elements, as well as filling out various fields. The module can be installed on employee workstations.
The UAMM packages and transmits a .zip archive with user activity data to the application server every 10 minutes. The archiving interval can be customized.
Archives are transferred to the application server and stored in the /databases/monitoring_raw_data directory of the built-in file-based database. A background process reads the archives and moves the data into separate databases by year — this is the long-term storage in the built-in database. From long-term storage, activity data is synchronized with the ClickHouse DBMS and loaded into the monitoring_activity table, located in the main database.
The database name can be changed in the configuration file com.operavix.subsystem.monitoring.json using the "monitoring_database_name" parameter. The following requirements apply to the database name:
- Maximum length: 255 characters
- Allowed characters: latin letters (upper and lower case), digits, and underscores (
_) - Must start with a letter (not a digit or underscore)
Database name configuration is not available on Linux.
Raw data in the /databases/monitoring_raw_data folder is stored temporarily and automatically deleted after 14 days. This retention period can be adjusted in the com.operavix.subsystem.monitoring.json configuration file.
Interaction with the Application Server
Communication occurs over the HTTPS protocol on port 8010. The monitoring agent transmits user activity files and requests configuration settings. Interaction is automatic.
Interaction with Active Directory Server
Communication occurs over LDAPS. The purpose is to authenticate the monitoring agent on the user's workstation. Interaction is automatic.
Platform and Analytics Modules
The Platform module is designed to configure system settings:
- Role model and system language
- Password policy, etc.
The Analytics module is designed to generate analytical reports:
- Process explorers
- Table views
- Charts, etc.
Application development platform: Java SE 17.
Web Interface
The web interface visualizes all data from:
- The Platform and Analytics modules
- The User Activity Monitoring Module
Was the article helpful?