Events log schema
Overview
Events log keeps records of events related to each Job and system operations. The Management Console receives events that are enabled in the event logs filter and stores them in .db SQLite database files in storage folder\data\reporting\files and storage folder\data\reporting\daily folders.
System events and errors
events/errors table structure
The events and errors tables can be found in .db files in the storage folder\data\reporting\daily folder. These table contain system events related to Agents operations, excluding file-related events which are stored in a separate database.
| Column |
Description |
| id |
Event identifier. |
| ts |
Timestamp in the Unix time format. |
| type |
Event type. Possible values: - events (applicable to the
events table) - error (applicable to the
errors table)
|
| srcType |
Event source type. Possible values: |
| srcId |
Event source identifier. Possible values: - main - Indicates the Management Console as the source of the identifier.
- <peer_id>
|
| name |
A descriptive name of the event. Example: - Start indexing
- Agent pending approval
- Completed job
|
| level |
Event severity level. Possible values: - 1 - Error
- 3 - Info
- 4 - Trace
|
| component |
Event source component type. Possible values: - App
- server - The Management Console
- <agent_name> - Specific Agent instance
- <job_name> - Specific Job
- tracker
- Pre-indexing script - Script triggered before file indexing begins
- Complete script - Script triggered after all Agents complete downloading
- Pre-move script - Before finalizing download script
- Post-download script - Script triggered after an Agent completes downloading
|
| data |
A JSON data structure containing event's details. |
| peerId |
The identifier of the Agent whom the event concerns. |
| jobId |
Job identifier. |
| jobRunId |
Job Run identifier. |
| _added |
Event time and date in a human-readable format. |
Event details data structures
The table below contains events' details for different components.
| Component |
Level, event name and event details data structure |
| App |
Info events: - Startup:
"time":"startup time" - Shutdown:
"uptime":"seconds", "reason":"shutdown_reason", "status":"exit status" - Device name changed:
"name":"new device name" Trace events: - Apply policy:
"policy_id":"id","success":"boolean","status":"int" Mask: FAILED = 0x1, APPLIED = 0x2, NEEDS_NETWORK_RESTART = 0x4,POSTPONED = 0x8 - Apply network settings:
"interfaces":"list of network interfaces","name":"interface name", "id":"interface id","mac":"device MAC address","type":"wired/wireless", "addrs":"list of addresses" Error events: - Failed to relocate folder
- Failed to add folder
- Failed to create transfer
- <core_error>
- No network connection
- No connection to Management Console
- Failed to connect to Management Console: wrong certificate fingerprint
|
| Job |
Info events: - Added
"path":"folder_path","access":"RO/RW" - Removed
- Paused
"global:"boolean" true if paused through scheduler - Resumed
"global":"boolean" - Completed
"etime":"transfer execution time","err":"transfer error" - File "filename.ext" was locked by "lock_owner" with access (D:RWD):
{"path":"absolute_path","name":"filename.ext","state":"Locked","type":0,"sep":"/"} - File "filename.ext" was unlocked:
{"path":"absolute_path","name":"filename","state":"Unlocked","type":0,"sep":"/"} Trace events: - Start script:
"script":"script name" - Finish script:
"script": "script name, "code: exit code" - Start indexing:
"initial":"first time indexing or not", "total": current folder state, if initial=false{"files","size"} - Finish indexing:
"initial":"first time indexing or not", "total": current folder state, if initial=false {"files", "size"} - Start data transfer:
"total":{"files", "size"}, "local:{"files","size"}, "queue":(if not empty):{"files","size"} - Finish data transfer:
"total":{"files", "size"}, "local:{"files", "size"}, "queue":(if not empty):{"files", "size"} - Got N peers:
"addr":"peer ip address","transport":"UTP/TCP" - Changed files are overwritten
Error events: <transfer_error_name> |
| Other Agents |
Info events: - Agent pending approval <agent_name>
Trace events: - Connected to peer <peer_name>:
"ip", "protocol," "v" - Disconnected from peer <peer_name>:
"ip", "protocol," "v" Error events: - Time difference exceeded. Cannot sync with <peer_name>:
error:"error code" - <core error>
|
| Tracker |
Trace events: - Got N peers:
"addr":"peer ip address","transport":"UTP/TCP" - No peers found:
"addr":"peer ip address","transport":"UTP/TCP" Error events: - Failed connect to tracker
|
| Server |
Info events: - Server startup
- Server shutdown
Error events: - Tracker not reachable at following addresses: {MANAGEMENT_HOST}:3000:
{"details":"Tracker with addresses {MANAGEMENT_HOST}:3000 has not been reachable for 10 minutes. This can be due to the tracker service actually being down or a configuration problem."}
|
| Post-download script |
Trace events: |
| Pre-indexing script |
Trace events: |
| Complete script |
Trace events: |
| Pre-move script |
Trace events: |
File events
The files table can be found in .db files in the storage folder\data\reporting\files folder.
| Column |
Description |
| id |
Event identifier. |
| ts |
Timestamp in the Unix time format. |
| name |
The name of the file. |
| state |
File's lifecycle state. Possible values: - Added
- Downloaded
- Pre-seeded
- Locked
- Unlocked
- File is exclusively locked
- File is locked by multiple users
|
| peerId |
The identifier of the Agent whom the event concerns. |
| jobId |
Job identifier. |
| jobRunId |
Job Run identifier. |
| data |
A JSON data structure containing file's details: - path
- name
- size
- state
- type
- sep
- mtime
- hash
|
| _added |
Event time and date in a human-readable format. |
File events:
- Added file "<file_name>" (
"by_peer":"PeerId string" if by remote peer, "path", "size")
- Added file "<file_name>" on remote
- Deleted file "<file_name>" (
"by_peer":"PeerId string" if by remote peer, "hash" if it's local file, "path", "size")
- Deleted file "<file_name>" on remote
- Updated file "<file_name>" (
"by_peer":"PeerId string" if by remote peer, "hash" if it's local file, "path", "size")
- Downloaded file "<file_name>"
- Renamed file "{file_name}" to "{new_name}"
- File {file_name} was changed on Read-Only agent, it won't be synced
- (
"hash", "path", "size")