From 17cb1245b17ebcfae97eb4562d716947646333ce Mon Sep 17 00:00:00 2001 From: Kelly Date: Thu, 2 Jan 2020 15:12:21 -0800 Subject: [PATCH 1/6] update free plan rate limits --- content/v2.0/cloud/pricing-plans.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/content/v2.0/cloud/pricing-plans.md b/content/v2.0/cloud/pricing-plans.md index 7e2156751..ab2da6ff0 100644 --- a/content/v2.0/cloud/pricing-plans.md +++ b/content/v2.0/cloud/pricing-plans.md @@ -25,11 +25,11 @@ Use this plan as much and as long as you want within the Free Plan rate limits: #### Free Plan rate limits -- **Writes:** 3MB every 5 minutes -- **Query:** 30MB every 5 minutes -- **Storage:** 72-hour data retention +- **Writes:** 5.1MB every 5 minutes +- **Query:** 300MB every 5 minutes +- **Storage:** 30 days data retention {{% note %}} -Data retention is determined by the time at which data is written to InfluxDB; not the timestamp of the data point. You can write data with timestamps older than 72 hours, but 72 hours after that data is written, it is evicted. +Data retention is determined by the time at which data is written to InfluxDB; not the timestamp of the data point. You can write data with timestamps older than 30 days, but 30 days after that data is written, it is evicted. {{% /note %}} - **Series cardinality:** 10,000 - **Create:** From 0a120c6cdf2f3330e5fda314b64815a1df52a51e Mon Sep 17 00:00:00 2001 From: kelseiv <47797004+kelseiv@users.noreply.github.com> Date: Thu, 2 Jan 2020 15:14:37 -0800 Subject: [PATCH 2/6] Update pricing-plans.md --- content/v2.0/cloud/pricing-plans.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/pricing-plans.md b/content/v2.0/cloud/pricing-plans.md index ab2da6ff0..528cc8be4 100644 --- a/content/v2.0/cloud/pricing-plans.md +++ b/content/v2.0/cloud/pricing-plans.md @@ -27,7 +27,7 @@ Use this plan as much and as long as you want within the Free Plan rate limits: - **Writes:** 5.1MB every 5 minutes - **Query:** 300MB every 5 minutes -- **Storage:** 30 days data retention +- **Storage:** 30-day data retention {{% note %}} Data retention is determined by the time at which data is written to InfluxDB; not the timestamp of the data point. You can write data with timestamps older than 30 days, but 30 days after that data is written, it is evicted. {{% /note %}} From bc689106cf3731e5a125a318c6871560216f31a9 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 2 Jan 2020 16:53:43 -0700 Subject: [PATCH 3/6] added grafana documentation, resolves #694 --- .../v2.0/visualize-data/other-tools/_index.md | 16 ++++ .../visualize-data/other-tools/grafana.md | 74 ++++++++++++++++++ .../img/2-0-visualize-grafana-flux-plugin.png | Bin 0 -> 60325 bytes 3 files changed, 90 insertions(+) create mode 100644 content/v2.0/visualize-data/other-tools/_index.md create mode 100644 content/v2.0/visualize-data/other-tools/grafana.md create mode 100644 static/img/2-0-visualize-grafana-flux-plugin.png diff --git a/content/v2.0/visualize-data/other-tools/_index.md b/content/v2.0/visualize-data/other-tools/_index.md new file mode 100644 index 000000000..23b70a197 --- /dev/null +++ b/content/v2.0/visualize-data/other-tools/_index.md @@ -0,0 +1,16 @@ +--- +title: Other visualization tools +description: > + Use the visualization tools other than the InfluxDB user interface to visualize + time series data stored in InfluxDB. +menu: + v2_0: + name: Other visualization tools + parent: Visualize data +weight: 109 +--- + +Use visualization tools other than the InfluxDB user interface to query and +visualize time series data stored in InfluxDB. + +{{< children >}} diff --git a/content/v2.0/visualize-data/other-tools/grafana.md b/content/v2.0/visualize-data/other-tools/grafana.md new file mode 100644 index 000000000..be3f412b7 --- /dev/null +++ b/content/v2.0/visualize-data/other-tools/grafana.md @@ -0,0 +1,74 @@ +--- +title: Use Grafana with InfluxDB v2.0 +description: > + Use the Grafana Flux datasource plugin to connect Grafana to InfluxDB v2.0 or an + InfluxDB Cloud instance. +menu: + v2_0: + name: Use Grafana + parent: Other visualization tools +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 v2.0 or an InfluxDB Cloud instance. + +{{% warn %}} +The **Grafana Flux Data Source plugin** is currently in beta. +{{% /warn %}} + +1. Ensure you have a running InfluxDB instance. You can connect Grafana to InfluxDB + v2.0 OSS or InfluxDB Cloud instances. +2. [Downland and install Grafana](https://grafana.com/grafana/download). +2. 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 Flux Datasource Plugin into into Grafana's `data/plugins` directory and unzip it. + {{% /tab-content %}} + {{< /tabs-wrapper >}} + +3. Start Grafana and visit `http://localhost:3000` in your browser. +4. In the left navigation of the Grafana user interface (UI), hover over the gear + icon to reveal the **Configuration** section. Click **Data Sources**. +5. Click **Add data source**. +6. Select **Flux (InfluxDB) [BETA]** from the list of available plugins. + +## Configure your InfluxDB 2.0 connection +1. Name your Flux datasource. +2. Under **HTTP**, Configure your **InfluxDB URL**. + If running InfluxDB 2.0 OSS locally, use `http://localhost:9999`. + If connecting to an {{< cloud-name "short" >}} instance, see [InfluxDB Cloud URLs](/v2.0/cloud/urls/) + for information about what URL to use. +3. Under the **Auth** section, select **With Credentials**. +4. Under **InfluxDB 2.0.0 Details**, enter your **organization name** _or_ **organization ID**, + **default bucket**, and **authentication token**. + + _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/)._ + + {{< img-hd src="/img/2-0-visualize-grafana-flux-plugin.png" />}} + +5. Click **Save & Test**. Grafana will attempt to connect to the InfluxDB 2.0 datasource + and return 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. + +[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-flux-plugin.png b/static/img/2-0-visualize-grafana-flux-plugin.png new file mode 100644 index 0000000000000000000000000000000000000000..f6748d90acc88a620fd7194bd0e63759efeb5631 GIT binary patch literal 60325 zcmb@u2UwF&(=Uvuh$w<6N^cS%bV3I~q)G@a0qH2chu({dD1xF8Zotr_C7}pN4IK+0 z9SvQYg4|Fnu>{vjEsz0^M)#t zjO+wJMn*A9c^qt6Iukqzeq;1eGxkBb+xz%idD)R&w{^F+v5>Kd)aYF3QGyuh)KwBNXrU~NlA!`O9^toM8#x9L}f(8 z#Dzq~OsM>kkcsY6aIJu)ajwo7LyZibmaDkluUV@v)U$SWL zf5Zd|OeDa{Lqtqi^k_+cI%;eG&t2Wz{`U6vLE8O`-~X1dw?UwXoe0v-+uhg82HZIN zD@Rj#$fG%7}@nU00S7RlhDKsw%CjDxs>PEc$1xs=JM^ zn;qKc&sf`kjg|S2V~@1K%>$fS)y~Vw&(2oe%iWFR*Q({5{xdI<|B>E5V{QL4FH-+; ztO&@A$kE>Z+g|@^0u|`!$G@5je)y~Vc4$!Hy+F-Y!}mM{4Tek)VW2i9q|Cy?_V!&f zca-9pGt`$ZFt6iT5t3i<($LVbA0l^!o2R6-Y&)NhgX2n8c8;)!=&T>h zdlYo`Meb%CBTwA*pFe+gBh1=aL|?yo%O`^v=2O7LCy06tDkiOXdHE)%q;Ya_b8$g9 zZQieS_X;SRJG;0B1&8$Y515)+2qWCp;+DFn`mAkiFEcRm#w*KTRph$D!_30Q&CN?q zO~ae0q7pd_b?(;J*XQ88^5G*15_64@kKa?Aou6OuBbU_q^B06Y`Z~LNKF!XF89(f1 z7Z(%~j*5y_4F9m|$lco3?p}OndwP~L474}#_Kr@agyosFxr&Yj$M^v$+m!wFjiidN z1~-kD*LJT4zWHv-rxL$xXXnuK;bTL8SL>5sGt}S#K6VP#|`0?k�h+$2_2lY09Uuh8_m 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�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

O99L9^26T?~ zWW>ykC7=P_IJL5g5(BD}B17{4)+7@L+GBal^+$E;_pLg3t2Wn|whO2GcvtfI(~|SZ z{;@D;o=K~=2c@q6)yuM%9ktASp$0UL}uz< zk)P(QLq3sB}5W4dt?MYHepfq!hbLn!taDz$A=(Mez! zUium3;Cj2x27JnNzy7LGf-20)FGN9Y7`p_(3t-=YVm&GZZ9NHA^y@g;4>)NS7Ih-QNfeZ zk62RKLLK-<6&g0+B1bki?V6s8BH)4`9|fTC{Vu@A?a^u?rNJ1ajO5c2(uu7#bbP~; zm}kb&FJA7~5`m2Bp^e8I$QM#}!{6)H9rX0&93986jx5pf7qo(RMdwntRg5z#hI0O0 z626Xj|6BEf;(iZk6-lR%nf?!Y|G(s{|4$OZ|5;`@zw5W#jlchDuirTHh(dUVR5tvD NF}5(OIOl%zzX0B=;uHV? literal 0 HcmV?d00001 From 91eea41be896d7388a2dbbd456b44d98d65ec827 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 2 Jan 2020 16:59:12 -0700 Subject: [PATCH 4/6] removed unnecessary word from vis tools description --- content/v2.0/visualize-data/other-tools/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/visualize-data/other-tools/_index.md b/content/v2.0/visualize-data/other-tools/_index.md index 23b70a197..55be4b1d4 100644 --- a/content/v2.0/visualize-data/other-tools/_index.md +++ b/content/v2.0/visualize-data/other-tools/_index.md @@ -1,7 +1,7 @@ --- title: Other visualization tools description: > - Use the visualization tools other than the InfluxDB user interface to visualize + Use visualization tools other than the InfluxDB user interface to visualize time series data stored in InfluxDB. menu: v2_0: From af18404f87ae4b7fc03051ced3a495796aa2c45b Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 3 Jan 2020 10:24:28 -0700 Subject: [PATCH 5/6] updates to address PR feedback from kelseiv --- .../visualize-data/other-tools/grafana.md | 41 ++++++++++--------- 1 file changed, 21 insertions(+), 20 deletions(-) diff --git a/content/v2.0/visualize-data/other-tools/grafana.md b/content/v2.0/visualize-data/other-tools/grafana.md index be3f412b7..9bcd3fc3b 100644 --- a/content/v2.0/visualize-data/other-tools/grafana.md +++ b/content/v2.0/visualize-data/other-tools/grafana.md @@ -1,8 +1,8 @@ --- -title: Use Grafana with InfluxDB v2.0 +title: Use Grafana with InfluxDB 2.0 description: > - Use the Grafana Flux datasource plugin to connect Grafana to InfluxDB v2.0 or an - InfluxDB Cloud instance. + Use the Grafana Flux datasource plugin to connect Grafana to InfluxDB 2.0 or + InfluxDB Cloud 2.0. menu: v2_0: name: Use Grafana @@ -12,16 +12,16 @@ 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 v2.0 or an InfluxDB Cloud instance. +to connect Grafana to InfluxDB 2.0 or InfluxDB Cloud 2.0. {{% warn %}} The **Grafana Flux Data Source plugin** is currently in beta. {{% /warn %}} -1. Ensure you have a running InfluxDB instance. You can connect Grafana to InfluxDB - v2.0 OSS or InfluxDB Cloud instances. +1. [Start InfluxDB 2.0 OSS](/v2.0/get-started/) OR + [sign up for {{< cloud-name >}}](/v2.0/cloud/get-started/). 2. [Downland and install Grafana](https://grafana.com/grafana/download). -2. Install the **Grafana Flux Data Source plugin** manually or with `grafana-cli` (installed +3. Install the **Grafana Flux Data Source plugin** manually or with `grafana-cli` (installed with Grafana). {{< tabs-wrapper >}} @@ -36,23 +36,24 @@ 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 Flux Datasource Plugin into into Grafana's `data/plugins` directory and unzip it. + of the Flux Datasource Plugin into the Grafana `data/plugins` directory and unzip it. {{% /tab-content %}} {{< /tabs-wrapper >}} -3. Start Grafana and visit `http://localhost:3000` in your browser. -4. In the left navigation of the Grafana user interface (UI), hover over the gear - icon to reveal the **Configuration** section. Click **Data Sources**. -5. Click **Add data source**. -6. Select **Flux (InfluxDB) [BETA]** from the list of available plugins. +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 + 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. ## Configure your InfluxDB 2.0 connection -1. Name your Flux datasource. -2. Under **HTTP**, Configure your **InfluxDB URL**. - If running InfluxDB 2.0 OSS locally, use `http://localhost:9999`. +1. Enter a name for your Flux datasource. +2. Under **HTTP**, enter your **InfluxDB URL**. + If running InfluxDB 2.0 locally, use `http://localhost:9999`. If connecting to an {{< cloud-name "short" >}} instance, see [InfluxDB Cloud URLs](/v2.0/cloud/urls/) for information about what URL to use. -3. Under the **Auth** section, select **With Credentials**. +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**. @@ -63,12 +64,12 @@ grafana-cli plugins install grafana-influxdb-flux-datasource {{< img-hd src="/img/2-0-visualize-grafana-flux-plugin.png" />}} -5. Click **Save & Test**. Grafana will attempt to connect to the InfluxDB 2.0 datasource - and return the results of the test. +5. 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. +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/). From 33c55789c42116ee023d4ca2da72eaa8d95c11e6 Mon Sep 17 00:00:00 2001 From: Balaji Palani Date: Mon, 6 Jan 2020 13:06:12 -0800 Subject: [PATCH 6/6] Fix typo Downland->Download --- content/v2.0/visualize-data/other-tools/grafana.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/visualize-data/other-tools/grafana.md b/content/v2.0/visualize-data/other-tools/grafana.md index 9bcd3fc3b..1053e6318 100644 --- a/content/v2.0/visualize-data/other-tools/grafana.md +++ b/content/v2.0/visualize-data/other-tools/grafana.md @@ -20,7 +20,7 @@ The **Grafana Flux Data Source plugin** is currently in beta. 1. [Start InfluxDB 2.0 OSS](/v2.0/get-started/) OR [sign up for {{< cloud-name >}}](/v2.0/cloud/get-started/). -2. [Downland and install Grafana](https://grafana.com/grafana/download). +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).