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)
Setup DWH Agent integration
- In the app, navigate to Data Sources and click “Add integration”
- Select “On-premise DWH Agent” from the list of available integrations
- Enter a title for your integration (e.g., “Production DWH Agent”)
-
Click “Create”. You will receive:
client_idclient_secret
Keep your client credentials secure. They allow the agent to authenticate with
the platform.
Agent Configuration
Agent is configured viaagent.yaml file or through environment variables.
Example configuration:
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 needscluster.
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
clusterto read across a cluster nameddefault. Every ClickHouse Cloud service provides one. mode: all_replicaswith anamereads across the cluster you name. List what your server has withSELECT DISTINCT cluster FROM system.clusters. This read needsGRANT REMOTE ON *.*.mode: single_nodereads system tables directly on the connected node. This is the only setting that works on an install whoseremote_serversdefines no cluster, and it needs noREMOTEgrant. 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.namedoes 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.