🚀 Announcing BYOC and the OpenTelemetry Distribution BuilderRead more

SQL Query

Description

Write an SQL query to execute on a compatible database server and generate logs from the result.

Supported Platforms

Bindplane Collector: v1.40.0+

PlatformMetricsLogsTraces
Linux✓
Windows✓
macOS✓

Configuration

FieldDescription
DriverWhich database driver should be used. Typically indicates which kind of database is being queried. Options include "postgres", "mysql", "snowflake", "sqlserver", and "oracle".
HostnameThe hostname or IP address of the database server.
PortThe port number on which the database server is listening.
DatabaseThe name of the database to connect to.
UsernameThe username to use for authentication with the database.
PasswordThe password to use for authentication with the database.
Database Connection OptionsA driver specific string specifying how to connect to the database. Usually contains information like host, port, authorization credentials, TLS configuration, and other connection options.
QueryThe SQL query to run. The results of the query are used to generate the telemetry specified below.
Log Body ColumnDefines the name of the column whose value will become the body for the generated log.
Tacking ColumnUsed for parameterized queries. Defines the name of the column to retrieve for the parameter value on subsequent query runs. See this OTel Documentation for more information.
Tracking Start ValueUsed for parameterized queries. Defines the initial value of the tracking column to compare against on subsequent query runs. See this OTel Documentation for more information.
Collection IntervalHow frequently to execute queries to retrieve log data. Default is '10s'.
Enable Tracking StorageIf using tracking values, enable this to persist those values when the collector is restarted. Directory will be "$OIQ_OTEL_COLLECTOR_HOME/storage". See this OTel Documentation for more information.
Enable Query LoggingWhether or not the collector should log the SQL query with associated parameters when the query is ran.

Example Configuration

In this example, we are connecting to a postgres database using a postgres driver specific connection string. We are using a simple query which is retrieving rows of logs from a table. We are tracking the id column to avoid creating duplicate logs.

observIQ docs - SQL Query Source - image 1