Skip to main content
This guide explains how to configure the Coalesce Quality Data Warehouse agent installed on-premise.When possible, use standard integration methods as they are much simpler and provide full functionality.Reach out to us for installation details.

Data we collect

For the automated data anomaly testing, we collect the following:
  • Number of rows in every table in the monitored dataset(s)
  • Timestamp of the last change of data in all tables in the monitored dataset(s)
We provide built-in monitors for data volume and freshness without accessing your actual data. However, for custom monitors, the agent needs access to query your raw data. Only the aggregated results are sent to the platform.

Setup DWH Agent integration

  1. In the app, navigate to Data Sources and click “Add integration”
  2. Select “On-premise DWH Agent” from the list of available integrations
  3. Enter a title for your integration (e.g., “Production DWH Agent”)
  4. Click “Create”. You will receive:
    • client_id
    • client_secret
    Save these credentials - you’ll need them to configure the agent in the next section.
Keep your client credentials secure. They allow the agent to authenticate with the platform.

Agent Configuration

Agent is configured via agent.yaml file or through environment variables.

Example configuration:

For details about all available configuration options, refer to the JSON Schema or the HTML documentation.

ClickHouse: naming the service and choosing a database

ClickHouse has no container above a database, so something has to name the service itself. instance_name is that name, and database is a different setting entirely — the two are a key apart and are easy to swap.
instance_name is the name this ClickHouse is published under, and the top element of every asset path and breadcrumb its tables appear in — prod, staging, eu-analytics. Leave it out and the host is used instead, which is correct but unreadable for a ClickHouse Cloud endpoint. Two things follow from it being an identity rather than a label:
  • Give the same service the same name everywhere. It is the agent-side equivalent of Instance name on a Coalesce Quality-hosted ClickHouse integration, so a warehouse that moves between the two keeps its assets only if the name matches.
  • Pick one and keep it. Changing it republishes every table under new paths, and the old ones stop being produced.
database is the database the connection opens with, so an unqualified table name in a SQL test resolves against it. It does not restrict what is scraped: metadata comes from system tables and covers every database the user can see, whatever this says. Omit it to open on default. It matches Default database on a Coalesce Quality-hosted integration.

ClickHouse: cluster reads and server settings

The examples above are ClickHouse Cloud services, which need neither of the keys below. A self-managed install usually needs cluster.
cluster decides how the agent reads ClickHouse system tables. They are per-node, so on a service with more than one replica a plain read reflects whichever replica answered rather than the whole warehouse. See How metadata is read for the full explanation; in the agent config:
  • Omit cluster to read across a cluster named default. Every ClickHouse Cloud service provides one.
  • mode: all_replicas with a name reads across the cluster you name. List what your server has with SELECT DISTINCT cluster FROM system.clusters. This read needs GRANT REMOTE ON *.*.
  • mode: single_node reads system tables directly on the connected node. This is the only setting that works on an install whose remote_servers defines no cluster, and it needs no REMOTE grant. Choose it only when the server really is one node: on a service with replicas it reports the metadata of whichever node answered, which looks like a successful but incomplete scrape. name does not apply.
settings are ClickHouse settings applied to every connection the agent opens, written as they would be in a connection string. true and false become 1 and 0, whole numbers become integers, anything else is passed through as text. A name given here replaces the value the agent would otherwise use, which is how you raise a default that is too low for your warehouse — max_execution_time is the common one. Both are the agent-side equivalents of the Metadata reads / Cluster and Additional parameters settings on a Coalesce Quality-hosted ClickHouse integration.