---
title: "Common setup pitfalls | Grafana Labs"
description: "The configuration gaps that most often block Database Observability setup"
---

> For a curated documentation index, see [llms.txt](/llms.txt). For the complete documentation index, see [llms-full.txt](/llms-full.txt).

## Before you try the hands-on learning path

If you decide to install and explore Database Observability, it’s important to keep in mind to start from the **Configuration** page.

The most reliable way to avoid setup problems is to let Grafana Cloud generate your Alloy configuration for you. The Database Observability **Configuration** page builds the config for your database and deployment, so you don’t have to assemble the components by hand.

If you hand-write or edit the config, the listed mistakes are the ones that most often stop data from arriving.

## Where setup usually goes wrong

| Pitfall                        | What happens                                                                                                                                                                                                     | What to check                                                                                                                                 |
|--------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------------------------------------------------------------------------------------------------|
| **Incomplete Alloy config**    | The `database_observability.mysql` or `database_observability.postgres` component is missing its required `data_source_name` (the database connection) or its `forward_to` destination, so nothing is collected. | Both `data_source_name` and `forward_to` are set on the component.                                                                            |
| **Missing endpoints**          | The config has no `prometheus.remote_write` for metrics or `loki.write` for logs, so telemetry is collected but never reaches Grafana Cloud.                                                                     | Both write blocks point at your Grafana Cloud Metrics and Grafana Cloud Logs endpoints with valid credentials.                                |
| **Inconsistent job label**     | The `job` label doesn’t use the value from the generated config (`integrations/db-o11y`), or the metrics and logs relabel rules don’t match, so your data isn’t labeled the way Database Observability expects.  | Your `discovery.relabel` and `loki.relabel` blocks both set `job` to `integrations/db-o11y`, and their rules stay consistent with each other. |
| **Database side not prepared** | Performance Schema (MySQL) or the `pg_stat_statements` extension (PostgreSQL) isn’t enabled, so the built-in statistics Alloy reads don’t exist.                                                                 | The prerequisites for your database are in place before Alloy starts.                                                                         |

## Confirm it’s working before you troubleshoot

After Alloy is running, the **Configuration** page runs status checks for your instance. If data isn’t showing up, start there. A failing check usually points straight at one of the gaps above, which is faster than searching the dashboards for data that never arrived.
