diff --git a/content/influxdb3/core/visualize-data/grafana.md b/content/influxdb3/core/visualize-data/grafana.md index 66ae09bcf..e6e22ec15 100644 --- a/content/influxdb3/core/visualize-data/grafana.md +++ b/content/influxdb3/core/visualize-data/grafana.md @@ -17,9 +17,7 @@ alt_links: cloud-serverless: /influxdb3/cloud-serverless/process-data/visualize/grafana/ cloud-dedicated: /influxdb3/cloud-dedicated/process-data/visualize/grafana/ clustered: /influxdb3/clustered/process-data/visualize/grafana/ -source: /shared/influxdb3-visualize/grafana.md +source: /content/shared/v3-process-data/visualize/grafana.md --- - + diff --git a/content/influxdb3/enterprise/visualize-data/grafana.md b/content/influxdb3/enterprise/visualize-data/grafana.md index 0d1baf553..61fda611e 100644 --- a/content/influxdb3/enterprise/visualize-data/grafana.md +++ b/content/influxdb3/enterprise/visualize-data/grafana.md @@ -17,9 +17,7 @@ alt_links: cloud-serverless: /influxdb3/cloud-serverless/process-data/visualize/grafana/ cloud-dedicated: /influxdb3/cloud-dedicated/process-data/visualize/grafana/ clustered: /influxdb3/clustered/process-data/visualize/grafana/ -source: /shared/influxdb3-visualize/grafana.md +source: /content/shared/v3-process-data/visualize/grafana.md --- - + diff --git a/content/shared/influxdb-client-libraries-reference/flight/_index.md b/content/shared/influxdb-client-libraries-reference/flight/_index.md index edf8ffdb6..636ab063f 100644 --- a/content/shared/influxdb-client-libraries-reference/flight/_index.md +++ b/content/shared/influxdb-client-libraries-reference/flight/_index.md @@ -14,6 +14,14 @@ Using InfluxDB 3's IOx-specific Flight RPC protocol, clients send a single `DoGe **Flight SQL clients** use the [Flight SQL protocol](https://arrow.apache.org/docs/format/FlightSql.html) for querying an SQL database server. They can use SQL to query data stored in an {{% product-name %}} database, but they can't use InfuxQL. +> [!Important] +> #### Flight SQL requires HTTP/2 +> +> Flight SQL uses gRPC, which requires **HTTP/2**. +> If you connect to {{% product-name %}} through a proxy (such as HAProxy, nginx, or a load balancer), +> verify that your proxy is configured to support HTTP/2. +> Without HTTP/2 support, Flight SQL connections will fail. + Clients are maintained by Apache Arrow projects or third-parties. For specifics about a Flight client, see the client's GitHub repository. diff --git a/content/shared/influxdb-v2/tools/grafana.md b/content/shared/influxdb-v2/tools/grafana.md index 2a42e29a6..d59644e19 100644 --- a/content/shared/influxdb-v2/tools/grafana.md +++ b/content/shared/influxdb-v2/tools/grafana.md @@ -34,7 +34,7 @@ SQL is only supported in InfluxDB 3. 5. **Name**: Enter a descriptive name for your data source 6. **URL**: Enter your [InfluxDB URL](/influxdb/v2/reference/urls/): http://localhost:8086 -7. **Product**: From the dropdown, select **InfluxDB OSS 2.x** +7. **Product**: From the dropdown, select {{% show-in "v2" %}}**InfluxDB OSS 2.x**{{% /show-in %}}{{% show-in "cloud" %}}**InfluxDB Cloud (TSM)**{{% /show-in %}} 8. **Query Language**: Select **Flux** or **InfluxQL** After selecting your query language, section 2 (Database settings) displays fields specific to your selection. @@ -59,9 +59,10 @@ When you select **Flux** as the query language, configure the following: - **Default Bucket**: The default [bucket](/influxdb/v2/admin/buckets/) to use in Flux queries - **Token**: Your InfluxDB [API token](/influxdb/v2/admin/tokens/) -{{< img-hd src="/img/influxdb3/OSS-v2-grafana-product-dropdown-flux.png" alt="Flux configuration for InfluxDB OSS 2.x" />}} +{{% show-in "v2" %}}{{< img-hd src="/img/influxdb/OSS-v2-grafana-product-dropdown-flux.png" alt="Flux configuration for InfluxDB OSS 2.x" />}}{{% /show-in %}} +{{% show-in "cloud" %}}{{< img-hd src="/img/influxdb/cloud-tools-grafana-flux.png" alt="Flux configuration for InfluxDB Cloud (TSM)" />}}{{% /show-in %}} -Click **Save & Test**. Grafana attempts to connect to InfluxDB OSS 2.x and returns the results of the test. +Click **Save & Test**. Grafana attempts to connect to {{% show-in "v2" %}}InfluxDB OSS 2.x{{% /show-in %}}{{% show-in "cloud" %}}InfluxDB Cloud{{% /show-in %}} and returns the results of the test. {{% /tab-content %}} @@ -94,9 +95,10 @@ Configure the following fields: - **User**: Your [v1 authorization username](#create-v1-authorizations) - **Password**: Your [v1 authorization password](#create-v1-authorizations) -{{< img-hd src="/img/influxdb3/OSS-v2-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for InfluxDB OSS 2.x with DBRP warning" />}} +{{% show-in "v2" %}}{{< img-hd src="/img/influxdb/OSS-v2-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for InfluxDB OSS 2.x with DBRP warning" />}}{{% /show-in %}} +{{% show-in "cloud" %}}{{< img-hd src="/img/influxdb/influxdb-v2-cloud-influxql.png" alt="InfluxQL configuration for InfluxDB Cloud (TSM) with v1 auth" />}}{{% /show-in %}} -Click **Save & Test**. Grafana attempts to connect to InfluxDB OSS 2.x and returns the results of the test. +Click **Save & Test**. Grafana attempts to connect to {{% show-in "v2" %}}InfluxDB OSS 2.x{{% /show-in %}}{{% show-in "cloud" %}}InfluxDB Cloud{{% /show-in %}} and returns the results of the test. ### Create DBRP mappings diff --git a/content/shared/v3-process-data/visualize/grafana.md b/content/shared/v3-process-data/visualize/grafana.md index 73ce534f9..c590d29d2 100644 --- a/content/shared/v3-process-data/visualize/grafana.md +++ b/content/shared/v3-process-data/visualize/grafana.md @@ -1,5 +1,5 @@ -Use [Grafana](https://grafana.com/) to query and visualize data stored in -{{% product-name %}}. +Use [Grafana](https://grafana.com/) or [Grafana Cloud](https://grafana.com/products/cloud/) +to query and visualize data from {{% product-name %}}. > [Grafana] enables you to query, visualize, alert on, and explore your metrics, > logs, and traces wherever they are stored. @@ -8,14 +8,14 @@ Use [Grafana](https://grafana.com/) to query and visualize data stored in > > {{% cite %}}-- [Grafana documentation](https://grafana.com/docs/grafana/latest/introduction/){{% /cite %}} -- [Install Grafana or login to Grafana Cloud](#install-grafana-or-login-to-grafana-cloud) +- [Install Grafana or log in to Grafana Cloud](#install-grafana-or-log-in-to-grafana-cloud) - [InfluxDB data source](#influxdb-data-source) - [Before you begin](#before-you-begin) - [Create an InfluxDB data source](#create-an-influxdb-data-source) - [Query InfluxDB with Grafana](#query-influxdb-with-grafana) - [Build visualizations with Grafana](#build-visualizations-with-grafana) -## Install Grafana or login to Grafana Cloud +## Install Grafana or log in to Grafana Cloud If using the open source version of **Grafana**, follow the [Grafana installation instructions](https://grafana.com/docs/grafana/latest/setup-grafana/installation/) @@ -25,8 +25,8 @@ If using **Grafana Cloud**, log in to your Grafana Cloud instance. ## InfluxDB data source The InfluxDB data source plugin is included in the Grafana core distribution. -Use the plugin to query and visualize data stored in {{< product-name >}} with -both InfluxQL and SQL. +Use the plugin to query and visualize data from {{< product-name >}} with +both SQL and InfluxQL. > [!Note] > #### Grafana 10.3+ @@ -41,23 +41,32 @@ both InfluxQL and SQL. **Prerequisites:** - Grafana 10.3 or later - Administrator role in Grafana -- {{% show-in "cloud-serverless" %}}InfluxDB Cloud Serverless account and [API token](/influxdb3/version/admin/tokens/){{% /show-in %}}{{% hide-in "cloud-serverless" %}}{{% product-name omit=" Clustered" %}} instance and [database token](/influxdb3/version/admin/tokens/#database-tokens){{% /hide-in %}} +- {{% show-in "cloud-serverless" %}}An [API token](/influxdb3/version/admin/tokens/) with read access to the bucket{{% /show-in %}}{{% show-in "cloud-dedicated, clustered" %}}A [database token](/influxdb3/version/admin/tokens/#database-tokens) with read access to the database{{% /show-in %}}{{% show-in "core,enterprise" %}}Your {{% token-link "admin" "database" %}} with read access to the database{{% /show-in %}} + +### Quick reference: {{< product-name >}} configuration + +| Configuration | Value | +|:------------- |:----- | +| **Product selection** | {{% hide-in "core,enterprise" %}}**{{% product-name %}}**{{% /hide-in %}}{{% show-in "core" %}}**InfluxDB Core 3.x**{{% /show-in %}}{{% show-in "enterprise" %}}**InfluxDB Enterprise 3.x**{{% /show-in %}} | +| **Default URL** | {{% show-in "core, enterprise" %}}`http://localhost:8181`{{% /show-in %}}{{% show-in "cloud-serverless, cloud-dedicated, clustered" %}}`https://{{< influxdb/host >}}`{{% /show-in %}} | +| **Query languages** | SQL (requires HTTP/2), InfluxQL | +| **Authentication** | {{% show-in "cloud-serverless" %}}Required (API token){{% /show-in %}}{{% show-in "core" %}}Optional (admin token){{% /show-in %}}{{% show-in "enterprise" %}}Optional (admin or database token){{% /show-in %}}{{% show-in "cloud-dedicated, clustered" %}}Required (database token){{% /show-in %}} | +| **Database/Bucket** | {{% show-in "cloud-serverless" %}}Bucket name{{% /show-in %}}{{% hide-in "cloud-serverless" %}}Database name{{% /hide-in %}} | ## Create an InfluxDB data source -1. In your Grafana interface, click **Connections** in the left sidebar -2. Click **Data sources** -3. Click **Add new data source** -4. Under **Time series databases**, click **InfluxDB** +1. In your Grafana interface, click **Connections** in the left sidebar. +2. Click **Data sources**. +3. Click **Add new data source**. +4. Search for and select **InfluxDB**. The InfluxDB data source configuration page displays. +5. In the **Settings** tab, configure the following: -The configuration form displays with four numbered sections. Section 2 (Database settings) displays different fields based on your query language selection. + - **Name**: Enter a descriptive name for your data source + - **URL**: Enter your {{% product-name %}}{{% show-in "cloud-dedicated, clustered" %}} cluster URL{{% /show-in %}}{{% show-in "cloud-serverless" %}} region URL{{% /show-in %}}{{% show-in "core, enterprise" %}} instance URL{{% /show-in %}}: `https://{{< influxdb/host >}}` + - **Product**: From the dropdown, select {{% hide-in "core,enterprise" %}}**{{% product-name %}}**{{% /hide-in %}}{{% show-in "core" %}}**InfluxDB Core 3.x**{{% /show-in %}}{{% show-in "enterprise" %}}**InfluxDB Enterprise 3.x**{{% /show-in %}} + - **Query Language**: Select **SQL** or **InfluxQL** -5. **Name**: Enter a descriptive name for your data source -6. **URL**: Enter your {{% product-name %}} cluster URL: `https://{{< influxdb/host >}}` -7. **Product**: From the dropdown, select **InfluxDB Enterprise 3.x** -8. **Query Language**: Select **SQL** or **InfluxQL** - -### Configure basic settings +### Configure database settings The fields in this section change based on your query language selection. @@ -75,11 +84,24 @@ When you select **SQL** as the query language, configure the following fields: - **Database**: {{% show-in "cloud-serverless" %}}Your [bucket](/influxdb3/version/admin/buckets/) name. In {{< product-name >}}, buckets function as databases.{{% /show-in %}}{{% hide-in "cloud-serverless" %}}Your [database](/influxdb3/version/admin/databases/) name.{{% /hide-in %}} -- **Token**: {{% show-in "cloud-serverless" %}}An [API token](/influxdb3/version/admin/tokens/) with read access to the bucket.{{% /show-in %}}{{% hide-in "cloud-serverless" %}}A [database token](/influxdb3/version/admin/tokens/#database-tokens) with read access to the database.{{% /hide-in %}} +- **Token**: {{% show-in "cloud-serverless" %}}An [API token](/influxdb3/version/admin/tokens/) with read access to the bucket{{% /show-in %}}{{% show-in "cloud-dedicated, clustered" %}}A [database token](/influxdb3/version/admin/tokens/#database-tokens) with read access to the database{{% /show-in %}}{{% show-in "core, enterprise" %}}Your {{% token-link "admin" "database" %}} with read access to the database{{% /show-in %}} -{{% show-in "cloud-serverless" %}}{{< img-hd src="/img/influxdb3/cloud-serverless-grafana-product-dropdown-sql.png" alt="SQL configuration for InfluxDB Cloud Serverless" />}}{{% /show-in %}} -{{% show-in "cloud-dedicated" %}}{{< img-hd src="/img/influxdb3/cloud-dedicated-grafana-product-dropdown-sql.png" alt="SQL configuration for InfluxDB Cloud Dedicated" />}}{{% /show-in %}} -{{% show-in "clustered" %}}{{< img-hd src="/img/influxdb3/cluster-grafana-product-dropdown-sql.png" alt="SQL configuration for InfluxDB Clustered" />}}{{% /show-in %}} +{{% show-in "cloud-serverless" %}}{{< img-hd src="/img/influxdb3/cloud-serverless-grafana-product-dropdown-sql.png" alt="SQL configuration for {{% product-name %}}" />}}{{% /show-in %}} +{{% show-in "cloud-dedicated" %}}{{< img-hd src="/img/influxdb3/cloud-dedicated-grafana-product-dropdown-sql.png" alt="SQL configuration for {{% product-name %}}" />}}{{% /show-in %}} +{{% show-in "clustered" %}}{{< img-hd src="/img/influxdb3/cluster-grafana-product-dropdown-sql.png" alt="SQL configuration for {{% product-name %}}" />}}{{% /show-in %}} +{{% show-in "core, enterprise" %}}{{< img-hd src="/img/influxdb3/enterprise-v3-grafana-product-dropdown-sql.png" alt="SQL configuration for {{% product-name %}}" />}}{{% /show-in %}} + +> [!Important] +> #### Grafana queries through a proxy require HTTP/2 +> +> For SQL queries, Grafana uses the Flight SQL protocol (gRPC) to query {{% product-name %}}, which requires **HTTP/2**. +> If you query {{% product-name %}} through a proxy (such as HAProxy, nginx, or a load balancer), +> verify that your proxy is configured to support HTTP/2. +> Without HTTP/2 support, SQL queries through Grafana will fail to connect. +> +> InfluxQL queries use HTTP/1.1 and are not affected by this requirement. + +Click **Save & test**. Grafana attempts to connect to {{% product-name %}} and returns the result of the test. {{% /tab-content %}} @@ -91,9 +113,9 @@ When you select **SQL** as the query language, configure the following fields: {{% show-in "cloud-serverless" %}} > [!Important] > #### DBRP mapping required -> -> To query {{% product-name %}} with InfluxQL, you must first map database and -> retention policy (DBRP) combinations to your InfluxDB Cloud buckets. The +> +> To query {{% product-name %}} with InfluxQL, you must first map database and +> retention policy (DBRP) combinations to your InfluxDB Cloud buckets. The > configuration form displays a warning if DBRP mapping is not configured. > > For more information, see [Map databases and retention policies to buckets](/influxdb3/version/query-data/influxql/dbrp/). @@ -103,32 +125,27 @@ When you select **InfluxQL** as the query language, configure the following fiel - **Database**: {{% show-in "cloud-serverless" %}}The database name mapped to your InfluxDB bucket.{{% /show-in %}}{{% hide-in "cloud-serverless" %}}Your [database](/influxdb3/version/admin/databases/) name.{{% /hide-in %}} -- **User**: Enter a username. +- **User**: Enter a username (can be any non-empty value). - **Password**: {{% show-in "cloud-serverless" %}}Your [API token](/influxdb3/version/admin/tokens/) with read access to the bucket.{{% /show-in %}}{{% hide-in "cloud-serverless" %}}Your [database token](/influxdb3/version/admin/tokens/#database-tokens) with read access to the database.{{% /hide-in %}} - **HTTP Method**: Select **POST** (recommended) or **GET** -{{% show-in "cloud-serverless" %}}{{< img-hd src="/img/influxdb3/cloud-serverless-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for InfluxDB Cloud Serverless with DBRP warning" />}}{{% /show-in %}} -{{% show-in "cloud-dedicated" %}}{{< img-hd src="/img/influxdb3/cloud-dedicated-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for InfluxDB Cloud Dedicated" />}}{{% /show-in %}} -{{% show-in "clustered" %}}{{< img-hd src="/img/influxdb3/cluster-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for InfluxDB Clustered" />}}{{% /show-in %}} +{{% show-in "cloud-serverless" %}}{{< img-hd src="/img/influxdb3/cloud-serverless-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for {{% product-name %}} with DBRP warning" />}}{{% /show-in %}} +{{% show-in "cloud-dedicated" %}}{{< img-hd src="/img/influxdb3/cloud-dedicated-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for {{% product-name %}} with DBRP warning" />}}{{% /show-in %}} +{{% show-in "clustered" %}}{{< img-hd src="/img/influxdb3/cluster-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for {{% product-name %}} with DBRP warning" />}}{{% /show-in %}} +{{% show-in "core, enterprise" %}}{{< img-hd src="/img/influxdb3/enterprise-v3-grafana-product-dropdown-influxql.png" alt="InfluxQL configuration for {{% product-name %}} with DBRP warning" />}}{{% /show-in %}} + +Click **Save & test**. Grafana attempts to connect to {{% product-name %}} and returns the result of the test. {{% /tab-content %}} {{< /tabs-wrapper >}} - -### Test the connection - -1. Click **Save & test** -2. Verify that the "Data source is working" message appears - -If the connection test fails, verify your URL, credentials, and network connectivity. - ## Query InfluxDB with Grafana After you [configure and save an InfluxDB datasource](#create-an-influxdb-data-source), -use Grafana to build, run, and inspect queries against your InfluxDB {{% show-in "cloud-serverless" %}}bucket{{% /show-in %}}{{% hide-in "cloud-serverless" %}}database{{% /hide-in %}}. +use Grafana to build, run, and inspect queries against {{% show-in "cloud-serverless" %}}your InfluxDB bucket{{% /show-in %}}{{% hide-in "cloud-serverless" %}}{{% product-name %}}{{% /hide-in %}}. {{< tabs-wrapper >}} {{% tabs %}} @@ -145,12 +162,12 @@ use Grafana to build, run, and inspect queries against your InfluxDB {{% show-in 1. Click **Explore**. 2. In the dropdown, select the saved InfluxDB data source to query. 3. Use the SQL query form to build your query: - - **Table**: Select the measurement to query. + - **Table**: Select the table (measurement) to query. - **Column**: Select one or more fields and tags to return as columns in query results. - + With SQL, select the `time` column to include timestamps with the data. Grafana relies on the `time` column to correctly graph time series data. - + - _**Optional:**_ Toggle **filter** to generate **WHERE** clause statements. - **WHERE**: Configure condition expressions to include in the `WHERE` clause. diff --git a/static/img/influxdb3/OSS-v1-grafana-product-dropdown-flux.png b/static/img/influxdb/OSS-v1-grafana-product-dropdown-flux.png similarity index 100% rename from static/img/influxdb3/OSS-v1-grafana-product-dropdown-flux.png rename to static/img/influxdb/OSS-v1-grafana-product-dropdown-flux.png diff --git a/static/img/influxdb3/OSS-v1-grafana-product-dropdown-influxql.png b/static/img/influxdb/OSS-v1-grafana-product-dropdown-influxql.png similarity index 100% rename from static/img/influxdb3/OSS-v1-grafana-product-dropdown-influxql.png rename to static/img/influxdb/OSS-v1-grafana-product-dropdown-influxql.png diff --git a/static/img/influxdb3/OSS-v2-grafana-product-dropdown-flux.png b/static/img/influxdb/OSS-v2-grafana-product-dropdown-flux.png similarity index 100% rename from static/img/influxdb3/OSS-v2-grafana-product-dropdown-flux.png rename to static/img/influxdb/OSS-v2-grafana-product-dropdown-flux.png diff --git a/static/img/influxdb3/OSS-v2-grafana-product-dropdown-influxql.png b/static/img/influxdb/OSS-v2-grafana-product-dropdown-influxql.png similarity index 100% rename from static/img/influxdb3/OSS-v2-grafana-product-dropdown-influxql.png rename to static/img/influxdb/OSS-v2-grafana-product-dropdown-influxql.png diff --git a/static/img/influxdb3/enterprise-v1-grafana-product-dropdown-flux.png b/static/img/influxdb/enterprise-v1-grafana-product-dropdown-flux.png similarity index 100% rename from static/img/influxdb3/enterprise-v1-grafana-product-dropdown-flux.png rename to static/img/influxdb/enterprise-v1-grafana-product-dropdown-flux.png diff --git a/static/img/influxdb3/enterprise-v1-grafana-product-dropdown-influxql.png b/static/img/influxdb/enterprise-v1-grafana-product-dropdown-influxql.png similarity index 100% rename from static/img/influxdb3/enterprise-v1-grafana-product-dropdown-influxql.png rename to static/img/influxdb/enterprise-v1-grafana-product-dropdown-influxql.png diff --git a/static/img/influxdb/influxdb-v2-cloud-influxql.png b/static/img/influxdb/influxdb-v2-cloud-influxql.png new file mode 100644 index 000000000..5ec83445f Binary files /dev/null and b/static/img/influxdb/influxdb-v2-cloud-influxql.png differ