The system allows you to retrieve up-to-date information about users, access rights, dashboards, scripts, and other elements. You can extract this data and send it to ClickHouse using the Get system table automation block.
Below is a description of the available system tables and their fields, which can be obtained using this block.
Important
When creating a new table from the output of the Get system table block, it is recommended to specify the appropriate ClickHouse type in the Data type column.
The selection of the appropriate data type for numerical values in the id field depends on the size of the added table. In the majority of cases, preferable types are Int64 and UInt64, but you can select the required type from the following: UInt32, UInt64, UInt128, UInt256, Int64, Int128, or Int256. It is recommended to specify the data type that is most appropriate to your requirements. You can read the descriptions of the types on the official ClickHouse website.
The ClickHouse data type Array(Type) cannot be Nullable. When entering the column type Array(Type) remove the check mark next to the option Null in the corresponding fields.
System Table Relationships
The diagram below shows how the Operavix system tables are related to one another.
The diagram includes:
All primary Operavix system tables
Primary and foreign keys of the system tables
Relationships between tables
access_role
Source Field
Recommended ClickHouse Type
Description
id
Integer
Access role ID
is_admin
Bool
"Application Admin" role
name
String
Name of the access role
access_role_privilege
Source Field
Recommended ClickHouse Type
Description
id
Integer
Privilege ID
access_role_id
Integer
Access role ID
is_create
Bool
Create operation
is_delete
Bool
Delete operation
is_execute
Bool
Execute operation
is_read
Bool
Read operation
is_write
Bool
Write operation
name_ru
String
Privilege name (Russian)
name
String
Privilege code (with module name)
ad_attribute
The table contains information about synchronized attributes.
Source Field
Recommended ClickHouse Type
Description
id
Integer
Attribute value ID
additional_field_name
String
Name of the additional field
attribute_name
String
Attribute name
data_type
String
Data type
employee_id
Integer
User ID to whom the attribute belongs
index
Integer
Index if the attribute stores an array
is_long_value_null
Bool
Indicates if numeric value is empty
is_string_value_null
Bool
Indicates if string value is empty
long_value
Integer
Numeric value
string_value
String
String value
automation_block_execution_history
Source Field
Recommended ClickHouse Type
Description
id
Integer
Record ID
activator_name
String
Full name or API key name
api_key_id
Integer
ID of the API key that triggered the script
block_error
String
Error message (if any)
block_id
Integer
Block ID
block_name
String
Block name
block_type
String
Block type
count_output_data
Integer
Number of output items
duration_execution
Integer
Duration of script execution
employee_id
Integer
User ID
execution_fields
String
SQL query ID executed in ClickHouse (JSON format for Space/ClickHouse packages)
execution_type
String
Execution type: Test / Active
input_data
String
Input parameters in JSON
script_general_id
Integer
Script ID
start_execution
DateTime
Script start time
dashboard
Source Field
Recommended ClickHouse Type
Description
id
Integer
Dashboard ID
dashboard_author_id
Integer
Author ID
dashboard_creation_time
DateTime / DateTime64
Creation time
dashboard_name
String
Dashboard name
guid
String
Dashboard GUID
workspace_id
Integer
Workspace ID
dashboard_access
Source Field
Recommended Type
Description
id
Integer
Record ID
dashboard_id
Integer
Dashboard ID
employee_id
Integer
User ID
operation
String
Type of access (Read/Write)
department
Field
Type
Description
id
Integer
Department ID
name
String
Department name
parent_department_id
Integer
Parent department ID
parent_department_ids
Array(Int64)
Array of parent department IDs
employee
Field
Type
Description
id
Integer
User ID (also sort key)
access_role_ids
Array(Int64)
User access role IDs
access_to_department_ids
Array(Int64)
Department IDs user has access to
access_to_employee_ids
Array(Int64)
Employee IDs user has access to
additional_fields_names
Array(String)
Names of user custom fields
additional_fields_values
Array(String)
Values of user custom fields
all_employee_access
Bool
Has access to all employees
authentication_assigned
Bool
Whether the user can authenticate
authentication_types_assigned
Array(String)
Authentication types assigned
department_ids
Array(Int64)
IDs of root/intermediate/final department
departments
Array(String)
Names of root/intermediate/final departments
email
String
Email
employee_account_domains
Array(String)
Domains of the user’s accounts (empty string if none)
A record is created in this table only if the bookmark contains at least one workspace. Empty bookmarks are not shown.
Field
Type
Description
id
Integer
Record ID
employee_id
Integer
Employee ID
main_page_group_id
Integer
Bookmark ID
main_page_group_name
String
Bookmark name
workspace_id
Integer
Workspace ID
employee_license_role_log
Field
Type
Description
id
Integer
Record ID
api_key_description
String
Source of change (format ID~message; ID is API key ID, message is part of key)
employee_description
String
Source of change (format ID~message; ID is user ID, message is display_name)
employee_id
Integer
User ID
event_date
DateTime/DateTime64
Event date
license_role
String
License role
operation
String
Add or remove operation
source_type
String
Source type (EMPLOYEE or API_KEY)
link_workspace_employee
Field
Type
Description
id
Integer
Access object ID
employee_id
Integer
User ID
operation
String
Access type (Read/Write)
workspace_id
Integer
Workspace ID
monitoring_screenshot
Field
Type
Description
id
Integer
Monitoring ID
blur
Bool
Blur
employees
Array(Int64)
Employees included in the monitoring
end
DateTime
End date
name
String
Monitoring name
start
DateTime
Start date
status
String
Monitoring status
monitoring_employee_log_type
Tracks changes of a user's monitoring type.
Events are logged when:
A new user is created automatically in the system (from AD/integration/agent); then SYSTEM is recorded and the value is set to DISABLED
The monitoring type is changed by a user, administrator, or API; in that case the source is EMPLOYEE or API_KEY, with old and new values
Field
Type
Description
id
Integer
Record ID
api_description
String
Source of change (format ID~message, API key ID and masked key)
employee_description
String
Source of change (format ID~message, user ID and display_name)
employee_id
Integer
User whose monitoring type was changed
event_date
DateTime/DateTime64
Change date
event_source
String
Source (SYSTEM, EMPLOYEE, API_KEY)
new_value
String
New monitoring type
old_value
String
Previous monitoring type
resource_monitor
The table collects data about the current state of the system. It does not contain historical records and reflects only the information available in memory at the time of the request.
Field
Type
Description
id
Integer
Resource monitor ID (timestamp)
cpu
Float32
CPU load at the time of the request (%)
disk
Float32
Disk usage at the time of the request (MB)
node_id
String
Cluster node ID
node_name
String
Cluster node name
ram
Float32
RAM usage at the time of the request (MB)
script_event_history
Field
Type
Description
id
Integer
Record ID
api_key_id
Integer
API key ID
author_event_name
String
Full name or API key name
employee_id
Integer
User ID
event_time
DateTime/DateTime64
Event time
event_type
String
Type of event: Create / Delete / Publish / Restore version
script_general_id
Integer
Script ID
script_version
Integer
Script version
script_execution
The table collects data on script executions within the last 24 hours.
Field
Type
Description
id
Integer
Script execution ID
duration
Integer
Duration (ms)
error
String
Error (if any)
execution_status
String
Status of execution
node_name
String
Automation node name
script_id
Integer
Script ID
script_name
String
Script name
script_version
Integer
Script version
start_time
DateTime
Start time
workspace_id
Integer
Workspace ID
workspace_name
String
Workspace name
system_event
The table collects data on current system events. It does not contain historical records and displays only the events that are in memory at the time of the request.