From 2dfa83d74cfd472c9e86fde9b8d76997e38d33fc Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 6 Jul 2020 12:25:34 -0600 Subject: [PATCH] update grafana doc for new setup workflow, resolves #1158, resolves #737 --- assets/styles/layouts/_url-selector.scss | 1 + content/v2.0/security/tokens/view-tokens.md | 2 +- .../visualize-data/other-tools/grafana.md | 75 +++++++----------- static/img/2-0-visualize-grafana.png | Bin 0 -> 38196 bytes 4 files changed, 32 insertions(+), 46 deletions(-) create mode 100644 static/img/2-0-visualize-grafana.png diff --git a/assets/styles/layouts/_url-selector.scss b/assets/styles/layouts/_url-selector.scss index e3d7bd521..f6f331405 100644 --- a/assets/styles/layouts/_url-selector.scss +++ b/assets/styles/layouts/_url-selector.scss @@ -270,6 +270,7 @@ label:after { color: $article-tab-code-text; } } + li .url-trigger { padding: 0rem .5rem; } .code-tab-content { .select-url{margin-top: -3.25rem} diff --git a/content/v2.0/security/tokens/view-tokens.md b/content/v2.0/security/tokens/view-tokens.md index c583e4e70..f0651b4f0 100644 --- a/content/v2.0/security/tokens/view-tokens.md +++ b/content/v2.0/security/tokens/view-tokens.md @@ -16,7 +16,7 @@ command line interface (CLI). {{% note %}} Tokens are visible only to the user who created them and stop working when the user is deactivated. We recommend creating a generic IT user to create and manage tokens for writing data. -{{% note %}} +{{% /note %}} ## View tokens in the InfluxDB UI diff --git a/content/v2.0/visualize-data/other-tools/grafana.md b/content/v2.0/visualize-data/other-tools/grafana.md index f2770ee41..0aff48b16 100644 --- a/content/v2.0/visualize-data/other-tools/grafana.md +++ b/content/v2.0/visualize-data/other-tools/grafana.md @@ -1,8 +1,7 @@ --- -title: Use Grafana with InfluxDB 2.0 +title: Use Grafana with InfluxDB description: > - Use the Grafana Flux datasource plugin to connect Grafana to InfluxDB 2.0 or - InfluxDB Cloud 2.0. + Use [Grafana](https://grafana.com/) to visualize data from **InfluxDB 2.0** and **InfluxDB Cloud**. menu: v2_0: name: Use Grafana @@ -11,62 +10,48 @@ weight: 201 v2.0/tags: [grafana] --- -Use the [Grafana Flux Data Source plugin](https://grafana.com/grafana/plugins/grafana-influxdb-flux-datasource) -to connect Grafana to InfluxDB 2.0 or InfluxDB Cloud 2.0. +Use [Grafana](https://grafana.com/) to visualize data from **InfluxDB 2.0** and **InfluxDB Cloud**. -{{% warn %}} -The **Grafana Flux Data Source plugin** is currently in beta. -{{% /warn %}} +{{% note %}} +The instructions in this guide require **Grafana Cloud** or **Grafana v7.1+**. +{{% /note %}} 1. [Sign up for {{< cloud-name >}}](/v2.0/get-started/) or - [Start InfluxDB 2.0 OSS](/v2.0/get-started/#start-with-influxdb-oss). -2. [Download and install Grafana](https://grafana.com/grafana/download). -3. Install the **Grafana Flux Data Source plugin** manually or with `grafana-cli` (installed - with Grafana). - - {{< tabs-wrapper >}} - {{% tabs %}} -[Install with Grafana CLI](#) -[Install manually](#) - {{% /tabs %}} - {{% tab-content %}} -```sh -grafana-cli plugins install grafana-influxdb-flux-datasource -``` - {{% /tab-content %}} - {{% tab-content %}} - Download the [latest release](https://github.com/grafana/influxdb-flux-datasource/releases) - of the Flux Datasource Plugin into the Grafana `data/plugins` directory and unzip it. - {{% /tab-content %}} - {{< /tabs-wrapper >}} - -4. [Start Grafana](https://grafana.com/docs/grafana/latest/installation/) and - visit `http://localhost:3000` in your browser. -5. In the left navigation of the Grafana user interface (UI), hover over the gear + [start InfluxDB 2.0 OSS](/v2.0/get-started/#start-with-influxdb-oss). +2. [Sign up for Grafana Cloud](https://grafana.com/products/cloud/) or + [download and install Grafana](https://grafana.com/grafana/download). +3. Visit your **Grafana Cloud user interface** (UI) or, if running Grafana locally, + [start Grafana](https://grafana.com/docs/grafana/latest/installation/) and visit + `http://localhost:3000` in your browser. +5. In the left navigation of the Grafana UI, hover over the gear icon to expand the **Configuration** section. Click **Data Sources**. 6. Click **Add data source**. -7. Select **Flux (InfluxDB) [BETA]** from the list of available plugins. +7. Select **InfluxDB** from the list of available data sources. ## Configure your InfluxDB 2.0 connection -1. Enter a name for your Flux datasource. -2. Under **HTTP**, enter your [InfluxDB URL](/v2.0/reference/urls/). -3. Under **Auth**, select **With Credentials**. -4. Under **InfluxDB 2.0.0 Details**, enter your **organization name** _or_ **organization ID**, - **default bucket**, and **authentication token**. +1. Enter a **name** for your InfluxDB data source. +2. Under **Query Language**, select **Flux**. +3. Under **Connection**, enter the following: - _For information about retrieving your organization name and ID, see - [View organizations](/v2.0/organizations/view-orgs/). - For information about viewing your authentication token, see - [View tokens](/v2.0/security/tokens/view-tokens/)._ + - **URL**: Your [InfluxDB URL](/v2.0/reference/urls/) with the `/api/v2` path. - {{< img-hd src="/img/2-0-visualize-grafana-flux-plugin.png" />}} + ```sh + http://localhost:9999/api/v2 + ``` -5. Click **Save & Test**. Grafana attempts to connect to the InfluxDB 2.0 datasource + - **Organization**: Your InfluxDB [organization name **or** ID](/v2.0/organizations/view-orgs/). + - **Token**: Your InfluxDB [authentication token](/v2.0/security/tokens/). + - **Default Bucket**: The default [bucket](/v2.0/organizations/buckets/) to use in Flux queries. + - **Min time interval**: The [Grafana minimum time interval](https://grafana.com/docs/grafana/latest/features/datasources/influxdb/#min-time-interval). + + {{< img-hd src="/img/2-0-visualize-grafana.png" />}} + +4. Click **Save & Test**. Grafana attempts to connect to the InfluxDB 2.0 datasource and returns the results of the test. ## Query and visualize data With your InfluxDB connection configured, use Grafana and Flux to query and -visualize time series data stored in InfluxDB 2.0 or {{< cloud-name >}}. +visualize time series data stored in **InfluxDB 2.0** or **{{< cloud-name >}}**. [Grafana documentation](https://grafana.com/docs/grafana/latest/). If you're just learning Flux, see [Getting started with Flux](/v2.0/query-data/get-started/). diff --git a/static/img/2-0-visualize-grafana.png b/static/img/2-0-visualize-grafana.png new file mode 100644 index 0000000000000000000000000000000000000000..383c16d9a73520bf71f32c28ad54f25eca6474be GIT binary patch literal 38196 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�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 literal 0 HcmV?d00001