Logs Overview

The log tab is provided to allow inspection of the actual detailed logs being processed by the system. The table contains the following columns:

  • Date (with timezone indicator)
  • Client ID: The ID of the client that generated the log entry
  • VDB: The VDB (if any) the log is associated with
  • Source: The data source associated with the entry
  • Type: A categorization of the record type
  • Status: An integer field to indicate if a query was in various states (please see the logging section for more details)
  • Run Time: The time associated with the event that is logged, if any
  • Message: The actual message contained in the log entry

Deleting logs will also reset the Proxy Starts counter in the Status Tab.

Please see the logging section for a more detailed breakdown of system logging.

Logs types

The "Filter by type" at the top of the "Logs" section allows us to filter generated logs depending on what are those related to.

The available logs types are listed below:

  • METHOD_COMPLETE: Generated each time non-resultset JDBC method is called. "Log Methods" in VDB configuration needs to be enabled to generate such logs.
  • CONNECTION_OPEN: Generated each time new connection is established. "Log Connections" in VDB configuration needs to be enabled to generate such logs.
  • CONNECTION_CLOSE: Generated each time any connection is closed. "Log Connections" in VDB configuration needs to be enabled to generate such logs.
  • DONE_SQL: Generated each time any query goes through proxy. "Log All SQL" in VDB configuration needs to be enabled to generate such logs.
  • TRACE: Generated with trace actions.
  • TRANSACTION_START: Generated each time transaction is started.
  • TRANSACTION_END: Generated each time transaction is committed or rollback.
  • DEBUG: Provides additional logs generated in rare cases. "Verbose Debug Mode" in VDB configuration needs to be enabled to generate such logs.
  • SQL_EXCEPTION: Generated each time SQLException is thrown.
  • INTERNAL_EXCEPTION: Generated each time any other exception is thrown.
  • NEW_PATTERN: Generated when observing a new query pattern. "Learn Pattern" rule needs to be set to generate such logs.
  • NOTIFY: Generated for rules tagged with a "notify".
  • CONSOLELOG: The most basic type of log in Heimdall.
  • NOCACHE: Generated when cache revalidation fails.
  • PROXY_START: Generated each time any proxy is started/restarted.
  • AUTHENTICATION: Provides information about each user authentication attempt. "Log Authentications" in VDB configuration needs to be enabled to generate such logs.
  • ERROR: Generated when something unexpected or unwanted happened, but no exception was thrown.
  • SYSTEM_STATUS: Generated for Heap Dumps and Stack Traces.
  • METRICS_DISCOVERY: Generated for JMX statistics propagation between central manager and proxy.

Log File Rotation

When a log file is rotated, as controlled by settins in the admin->system properties, it will execute a command (if present) named rotatelog.sh. A very simple example would be:

#!/bin/bash

tar cvzf $1.tgz $1

This command can execute other code, such as to transfer the file to S3 or another location. Please note that on a restart, there is no guarantee that a file will be rotated, so periodic cleanup may be needed.