Skip to content

Log Reference

Watchdog Logs

Note: A few WD codes are emitted from more than one place in Watchdog (for example, WD1001, WD3001, WD1005). Each occurrence is listed as its own row below.

Log ID Log Level Message Description
WD1001 ERROR Error reading SSL certificate: Logs when there is an error reading the SSL certificate from the file.
WD1001 DEBUG Entering CheckLicenseView post method. Logs the entry into the /api/check-license/ handler.
WD1002 WARNING Invalid license. Logs a warning when the license check fails during a check-license request.
WD1003 DEBUG Controller Version Logs the controller version being processed in the check-license request.
WD1004 INFO Hostname: {hostname}, Version: {version}, IP_LIST: {ip_list}, MAC: {mac}, OS: {os}, Label: {label} Emitted alongside WD2003 when a new controller registers — records the full controller payload.
WD1005 DEBUG Entering GenerateGuidFile get method. Logs the entry into the /api/get-licenses/ handler.
WD1005 INFO {n}/{max}: Controllers registered in Watchdog. Logs the running registered-controller count after a successful registration.
WD1006 WARNING Invalid license. Logs a warning when the license check fails during a get-licenses request.
WD1007 DEBUG Exiting GenerateGuidFile get method. Logs the exit from the /api/get-licenses/ handler.
WD1010 INFO {days_remaining} days remaining until SSL certificate expiration. Logs the number of days remaining before the SSL certificate expires if more than 60 days are left.
WD1011 WARNING Only {days_remaining} days remaining until SSL certificate expiration. Kindly renew your certificate. Warns the user to renew the SSL certificate if less than 60 days are remaining.
WD1020 ERROR Unable to determine SSL certificate expiration date. Logs an error if the SSL certificate expiration date cannot be determined.
WD2001 DEBUG Entering validate_license function. Logs entry into the license validation function.
WD2001 ERROR Invalid GUID format. Logs an error when the controller GUID is not a valid UUIDv4.
WD2002 WARNING Limit Reached! Please upgrade your license then Try Again Logs a warning when the number of active devices reaches the licensed limit.
WD2003 INFO Controller Registered! GUID: {guid}, IP: {ip} Logs the registration of a new controller (full payload follows in WD1004).
WD2010 INFO License is valid, verification completed successfully. Logs successful verification of the license.
WD2021 ERROR Invalid Auth Code! Logs when the authentication code provided in the license key is invalid.
WD2030 ERROR Verification Failed! Invalid BMKEY Format! Logs when the format of the BMKEY is invalid, causing the license validation to fail.
WD2040 ERROR Verification Error: {str(e)}! Logs errors encountered during the license verification process.
WD2050 ERROR Verification Failed! Please use the provided key! Logs a general failure in license verification if the key used does not work as expected.
WD2070 ERROR License is expired! Watchdog exits with this message when the license expiry date has passed.
WD2099 DEBUG Exiting validate_license function. Logs exit from the license validation function.
WD2101 INFO SSL certificate and key generated: {cert_file}, {key_file} Logs the generation of SSL certificate and key files.
WD2201 INFO Scheduler Started Logs the start of the background scheduler.
WD3001 ERROR Cloud mode not valid! Logs when the licensing mode is set to cloud, which is not supported.
WD3001 ERROR {Field} is required. Logs when a required field is missing from a check-license request (guid, hostname, etc.).
WD3002 ERROR Please use the appropriate licensing mode! Logs when an incorrect licensing mode is selected.

ETI Logs

Log ID Log Level Message Description
ETI1001 ERROR ETI1001: Error parsing JSON line: Logs when a line in the decrypted ETI data cannot be parsed as valid JSON.
ETI2001 WARNING ETI2001: Config file {self.config_path} not found Logs when the configuration file does not exist and defaults/fallbacks will be used.
ETI2002 ERROR ETI2002: Proxy mode enabled but no valid proxy URLs found Logs when proxy mode is enabled but neither HTTP nor HTTPS proxy is configured.
ETI2003 ERROR ETI2003: Missing required environment variables Logs when one or more required environment variables for Elasticsearch connection are missing.
ETI2004 ERROR ETI2004: Configuration error: Logs when a general configuration error occurs during loading or validation.
ETI2005 ERROR ETI2005: Failed to create Elasticsearch client: Logs when the Elasticsearch client cannot be created due to invalid config or connection issues.
ETI3001 INFO ETI3001: Proxies configured: Logs when proxy mode is enabled and HTTP/HTTPS proxies are configured for the session.
ETI4001 ERROR ETI4001: Request failed for {url}: {e} Logs when an HTTP request fails due to network issues, timeout, or invalid response status.
ETI5001 INFO ETI5001: Successfully downloaded from Logs when data is successfully downloaded from the given URL.
ETI5002 WARNING ETI5002: Download attempt {attempt + 1} failed for {url}: {e} Logs when a single download attempt fails due to network or server issues.
ETI5003 INFO ETI5003: Retrying in {self.RETRY_DELAY} seconds... Logs when the system will retry the download after a delay.
ETI5004 ERROR ETI5004: All download attempts failed for Logs when all retry attempts fail and the download cannot be completed.
ETI6001 ERROR ETI6001: Error parsing date string: Logs when the given date string cannot be parsed into a standard datetime format.
ETI6002 ERROR ETI6002: Error comparing date: Logs when the given date string cannot be parsed or compared against the threshold date.
ETI8001 INFO ETI8001: Rollover successful for alias: Logs when the rollover operation is successfully acknowledged by Elasticsearch.
ETI8002 INFO ETI8002: New index created: Logs the name of the new index created after a successful rollover.
ETI8003 WARNING ETI8003: Rollover response for alias {alias}: {response} Logs when the rollover operation returns a non-acknowledged response.
ETI8004 ERROR ETI8004: Error during rollover for alias {alias}: {e} Logs when an exception occurs during the rollover operation.
ETI8005 ERROR ETI8005: Error getting current index: Logs when an exception occurs while retrieving the current active threat-index from Elasticsearch.
ETI8006 INFO ETI8006: Index {index_name} contains {doc_count} documents Logs the document count of the specified index when checked.
ETI8007 ERROR ETI8007: Error checking document count in index {index_name}: {e} Logs when an exception occurs while retrieving the document count from Elasticsearch.
ETI8008 ERROR ETI8008: Error generating bulk actions: Logs when an exception occurs while generating bulk indexing actions from ETI data.
ETI9001 INFO ETI9001: No ETI data to insert Logs when there is no ETI data available for insertion into Elasticsearch.
ETI9002 INFO ETI9002: Inserting {len(eti_data)} records into Elasticsearch Logs when the bulk insert operation is starting, including record count.
ETI9003 INFO ETI9003: Inserting data into index: Logs the index name where data will be inserted.
ETI9004 WARNING ETI9004: No valid actions generated for bulk insert Logs when no valid bulk actions were generated for insertion.
ETI9005 INFO ETI9005: Bulk insert completed: {success} successful, {len(errors)} errors Logs the result of the bulk insert operation, including successes and errors.
ETI9006 ERROR ETI9006: Bulk insert errors (first 5): Logs the first few errors returned from the bulk insert operation.
ETI9007 ERROR ETI9007: Error during bulk insert: Logs when an unexpected exception occurs during the bulk insert operation.
ETI8009 INFO ETI8009: Checking indices for deletion (threshold: {date}) Logs the start of the index deletion check and shows the threshold date.
ETI8010 WARNING ETI8010: Skipping {index}: No creation_date found Logs when an index is skipped because it does not have a creation date.
ETI8011 INFO ETI8011: Deleted old index: {index} (created: {date}) Logs when an old index is successfully deleted.
ETI8012 WARNING ETI8012: Error processing index {index}: {error} Logs when an error occurs while processing a specific index.
ETI8013 INFO ETI8013: Deleted {count} old indices Logs the total number of indices deleted after the cleanup run.
ETI8014 ERROR ETI8014: Error deleting old indices: Logs when the deletion routine fails due to a fatal error.
ETI1100 ERROR ETI1100: Error generating auth hash: Logs when SHA3-512 hash generation fails due to an unexpected error.
ETI1101 ERROR ETI1101: Failed to generate auth hash: Raised as an ETIDataError when authentication hash cannot be generated.
ETI1102 WARNING ETI1102: ⚠️ No checksum header provided by server Logs when the server response does not include a checksum header.
ETI1103 ERROR ETI1103: ❌ Checksum mismatch! Local={local_checksum}, Server={server_checksum} Logs when calculated checksum differs from the server-provided checksum.
ETI1104 INFO ETI1104: Checksum verified successfully ({local_checksum}) Logs when checksum verification succeeds and the data integrity is ensured.
ETI2100 ERROR ETI2100: Checksum mismatch (local={local_checksum}, server={checksum_header}) Raised as a NetworkError when checksum validation fails for the response.
ETI2101 WARNING ETI2101: Download attempt {attempt} failed: {error} Logs when an individual download attempt fails due to a network error.
ETI2102 INFO ETI2102: Retrying in {delay} seconds... Logs when the system waits before retrying a failed download attempt.
ETI2103 ERROR ETI2103: All download attempts failed for ETI API Logs when all retries are exhausted and data could not be downloaded.
ETI2104 INFO ETI2104: Starting ETI data collection Logs when the ETI data collection process begins.
ETI2105 WARNING ETI2105: Failed to download ETI data Logs when encrypted ETI data could not be downloaded.
ETI2106 INFO ETI2106: No new ETI data to process Logs when the decrypted ETI dataset is empty or contains no new records.
ETI2107 INFO ETI2107: ETI data collection completed successfully. Logs when ETI data has been successfully inserted into Elasticsearch.
ETI2108 ERROR ETI2108: Failed to insert ETI data. Logs when ETI data decryption succeeds but bulk insertion into ES fails.
ETI2109 ERROR ETI2109: ETI data collection failed: Logs unexpected errors with traceback during ETI data collection.
ETI4000 INFO ETI4000: Starting threat intelligence collection pipeline Logs when the full ETI pipeline execution begins.
ETI4001 INFO ETI4001: Active index is not empty. Skipping data processing Logs when the active Elasticsearch index already contains data, so ingestion is skipped.
ETI4002 INFO ETI4002: Pipeline execution completed successfully Logs when the ETI pipeline completes all steps without errors.
ETI4003 ERROR ETI4003: Pipeline execution failed: Logs unexpected errors during the ETI pipeline execution.
ETI4004 INFO ETI4004: Starting threat collector scheduler Logs when the scheduler service begins execution.
ETI4005 INFO ETI4005: Next run scheduled in {seconds_until_next_run:.0f} seconds Logs how many seconds until the next scheduled pipeline run.
ETI4006 INFO ETI4006: Scheduler stopped by user Logs when the scheduler is stopped via user interrupt (KeyboardInterrupt).
ETI4007 ERROR ETI4007: Pipeline execution failed: Logs errors during scheduled pipeline execution but keeps scheduler alive.
ETI4008 INFO ETI4008: Service cleanup completed Logs when all resources (e.g., HTTP sessions) are cleaned up successfully.
ETI4009 ERROR ETI4009: Error during cleanup: Logs when an error occurs while cleaning up resources.
ETI9000 INFO ETI9000: Service stopped by user Logs when the service is manually stopped by the user (KeyboardInterrupt).
ETI9001 ERROR ETI9001: Service failed to start: Logs when the service fails to start due to an unexpected exception.
ETI3308 INFO ETI3308: Making request to: {full_url} Logs full url to which threat-collector sends get request.

UCS Logs

Note: Codes marked raised are validation errors carried in an exception rather than written straight to the log file. They reach ucs_client.log through the retry warning (UCS5003) or the final failure line (UCS8008), with the original message attached.

Log ID Log Level Message Description
UCS1001 ERROR UCS1001: Missing required environment variables Raised when one or more critical environment variables are not set.
UCS1002 WARNING UCS1002: Config file {config_path} not found Logs when the expected UCS client config file is missing.
UCS1003 ERROR UCS1003: UCS updates enabled but authcode not provided Raised when UCS updates are enabled but no authentication code is provided.
UCS1004 ERROR UCS1004: Proxy mode enabled but no valid proxy URLs found Raised when proxy mode is enabled but no HTTP/HTTPS proxy URLs are given.
UCS1005 ERROR UCS1005: Configuration error: Raised for any other unexpected error while loading configuration.
UCS2005 ERROR UCS2005: Failed to create Elasticsearch client: Raised when the Elasticsearch client cannot be created.
UCS3001 INFO UCS3001: Proxies configured: Logs the proxies applied to the HTTP session when proxy mode is enabled.
UCS3002 INFO UCS3002: Loaded last domain ID from Elasticsearch: Logs the checkpoint (highest indexed domain ID) read from Elasticsearch at the start of a sync.
UCS3004 INFO UCS3004: No documents found in Elasticsearch, starting with domain ID: 0 Logs when the index is empty, so the sync starts from domain ID 0.
UCS3005 WARNING UCS3005: Failed to load last domain ID from Elasticsearch: {exception}. Returning 0 Logs when the checkpoint cannot be read and the sync falls back to domain ID 0.
UCS3007 ERROR UCS3007: Error generating auth hash: Logs an error when SHA3-512 hash generation fails.
UCS3008 ERROR UCS3008: Failed to generate auth hash: Raised when the authentication hash cannot be generated.
UCS3308 INFO UCS3308: Requesting {url} for domain_id>{domain_id} (auth_hash redacted) Logs the outgoing sync request. The authentication hash is deliberately omitted from the log line.
UCS4001 ERROR UCS4001: Request failed for {url}: {exception} Logs and raises a network error when the HTTP request to the UCS API fails.
UCS5001 INFO UCS5001: Connected to UCS /v2 request_id={request_id} checkpoint={checkpoint_end} Logs a successful connection to the UCS API, with the server request ID and the checkpoint it will deliver up to.
UCS5002 INFO UCS5002: /v2 progress request_id={request_id} records={count} received_bytes={bytes} rate={rate} MiB/s Periodic download progress, emitted every two seconds while a sync is streaming.
UCS5003 WARNING UCS5003: /v2 synchronization attempt {attempt}/{max} failed: {exception} Logs a failed sync attempt, including the underlying reason.
UCS5004 INFO UCS5004: Retrying from domain ID {domain_id} in {delay} seconds Logs that the client will retry the sync from the same checkpoint after a delay.
UCS5005 ERROR UCS5005: All UCS /v2 synchronization attempts failed Logs that every retry attempt has been exhausted without a completed sync.
UCS5008 ERROR UCS5008: Authentication hash is not valid hexadecimal Raised when the authentication hash is malformed and the session key cannot be derived.
UCS5009 ERROR UCS5009: Authentication hash must be a SHA3-512 value Raised when the authentication hash is not the expected 64-byte length.
UCS5010 ERROR UCS5010: Response is not a UCS v4 stream; missing headers: Raised when the server response is missing the headers required to decode a v4 stream.
UCS5011 ERROR UCS5011: Unsupported UCS key version: Raised when the server advertises a key version this client cannot read.
UCS5012 ERROR UCS5012: UCS v4 response headers are malformed Raised when the response headers are present but cannot be decoded.
UCS5013 ERROR UCS5013: X-Export-Salt must not be empty Raised when the server omits the salt needed to derive the session key.
UCS5014 ERROR UCS5014: X-Nonce-Base must decode to 4 bytes Raised when the nonce base sent by the server is the wrong size.
UCS5015 ERROR UCS5015: X-Checkpoint-End must not be negative Raised when the server advertises an invalid checkpoint.
UCS5016 ERROR UCS5016: Server checkpoint precedes the requested domain ID Raised when the server offers a checkpoint older than the one already indexed, which would move the sync backwards.
UCS5017 ERROR UCS5017: Server advertised new data but returned no valid records Raised when the checkpoint moved forward but the stream contained no usable records.
UCS5018 ERROR UCS5018: Completed stream does not contain the advertised checkpoint record (observed={observed}, checkpoint={n}) Raised when the highest record received does not match the checkpoint the server promised — the sync is incomplete.
UCS6003 ERROR UCS6003: Invalid JSONL record in UCS v4 stream Raised when a record in the stream is not valid JSON.
UCS6004 ERROR UCS6004: UCS v4 record must be a JSON object Raised when a decoded record is not a JSON object.
UCS6005 ERROR UCS6005: UCS v4 record is missing a numeric domainId Raised when a record has no usable domainId field.
UCS6006 ERROR UCS6006: Data received after UCS stream completion Raised when the server sends more data after the stream was already finalized.
UCS6007 ERROR UCS6007: Invalid encrypted UCS frame length Raised when a frame header declares a length too small to be valid.
UCS6008 ERROR UCS6008: Encrypted UCS frame is unreasonably large Raised when a frame exceeds the 64 MiB safety limit, guarding against a malformed or hostile response.
UCS6009 ERROR UCS6009: UCS v4 frame authentication failed Raised when a frame fails its integrity check — the data was corrupted or tampered with in transit.
UCS6010 ERROR UCS6010: Invalid UCS v4 gzip stream Raised when the decrypted payload cannot be decompressed.
UCS6011 ERROR UCS6011: UCS v4 stream was finalized more than once Raised when the stream decoder is finalized twice.
UCS6012 ERROR UCS6012: Download ended with {n} incomplete frame bytes Raised when the connection ended mid-frame, leaving a partial download.
UCS6013 ERROR UCS6013: UCS v4 gzip finalization failed Raised when the compressed stream cannot be closed cleanly.
UCS6014 ERROR UCS6014: UCS v4 gzip stream ended prematurely Raised when the stream ends before the compressed data is complete.
UCS6015 ERROR UCS6015: Unexpected bytes follow the UCS v4 gzip stream Raised when trailing bytes appear after the end of the compressed data.
UCS7006 ERROR UCS7006: Elasticsearch accepted {success}/{total} records; errors={errors} Raised when Elasticsearch rejects part of a batch. Includes up to five example errors.
UCS7007 ERROR UCS7007: Elasticsearch bulk insertion failed: Raised when a bulk insert into Elasticsearch fails outright.
UCS8001 INFO UCS8001: UCS updates are disabled in configuration. Skipping UCS sync. Logs when UCS sync is skipped because updates are disabled in configuration.
UCS8002 INFO UCS8002: Starting UCS /v2 data collection Logs the start of the UCS data collection process.
UCS8003 WARNING UCS8003: UCS /v2 synchronization did not complete Logs when the sync could not be completed after all retries.
UCS8004 INFO UCS8004: No new UCS records; checkpoint remains Logs when the client is already up to date and there was nothing new to index.
UCS8005 INFO UCS8005: UCS /v2 synchronization completed: records={count} checkpoint={checkpoint_end} received_bytes={bytes} Logs a successful sync, with the number of records indexed and the new checkpoint.
UCS8008 ERROR UCS8008: UCS data collection failed: Logs and re-raises an unhandled error during UCS data collection.
UCS9000 INFO UCS9000: Starting UCS client scheduler Logs when the UCS scheduler service starts running.
UCS9001 INFO UCS9001: Next UCS sync scheduled in {seconds} seconds Logs the number of seconds until the next scheduled UCS sync at 00:15.
UCS9002 INFO UCS9002: Scheduler stopped by user Logs when the scheduler is manually interrupted (Ctrl+C / KeyboardInterrupt).
UCS9003 ERROR UCS9003: UCS collection failed: Logs unexpected errors during a scheduled UCS collection but keeps the scheduler running.
UCS1101 INFO UCS1101: UCS client cleanup completed Logs successful cleanup of UCS client resources (e.g., session close).
UCS1102 ERROR UCS1102: Error during cleanup: Logs errors that occur while cleaning up UCS client resources.
UCS2101 INFO UCS2101: UCS client stopped by user Logs when the UCS client is stopped manually (KeyboardInterrupt).
UCS2102 ERROR UCS2102: UCS client failed to start: Logs and exits when the UCS client fails to start due to an unexpected error.