From 187b95f8f0557221e266c38be8de685172ce8675 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 9 Aug 2019 16:36:40 -0600 Subject: [PATCH 001/136] added flux tripleExponentialDerivative, resolves #373 --- .../aggregates/tripleexponentialderivative.md | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md new file mode 100644 index 000000000..fcc4df79e --- /dev/null +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md @@ -0,0 +1,66 @@ +--- +title: tripleExponentialDerivative() function +description: > + The `tripleExponentialDerivative()` function calculates a triple exponential + derivative of input tables using `n` points. +menu: + v2_0_ref: + name: tripleExponentialDerivative + parent: built-in-aggregates +weight: 501 +v2.0/tags: [technical analysis] +related: + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/movingaverage/ + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/doubleema/ + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleema/ + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/timedmovingaverage/ + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/exponentialmovingaverage/ + - https://docs.influxdata.com/influxdb/v1.7/query_language/functions/#triple-exponential-derivative, InfluxQL TRIPLE_EXPONENTIAL_DERIVATIVE() +--- + +The `tripleExponentialDerivative()` function calculates a triple exponential +derivative of input tables using `n` points. + +_**Function type:** Aggregate_ + +```js +tripleExponentialDerivative(n: 5) +``` + +Triple exponential derivative, commonly referred to as “TRIX,” is a momentum indicator and oscillator. +A triple exponential derivative is a triple exponential moving average of the log of data input over the period of time. +It prevents cycles shorter than the defined period from being considered by the indicator. +With `tripleExponentialDerivative()`, the period of time is determined by the time `n` points span. + +Triple exponential derivative oscillates around a zero line. +When used as a momentum **oscillator**, a positive value indicates an overbought market +and a negative value indicates an oversold market. +When used as a momentum **indicator**, a positive value suggests momentum is +increasing and a negative value suggests momentum is decreasing. + +##### Triple exponential moving average rules +- A triple exponential derivative is defined as: + - `TRIX[i] = ((EMA3[i] / EMA3[i - 1]) - 1) * 100`: + - `EMA_3 = EMA(EMA(EMA(data)))` +- If there are not enough values to calculate a triple exponential derivative, + the output `_value` is `NaN`; all other columns are the same as the _last_ record of the input table. +- The behavior of the exponential moving averages used for calculating the triple + exponential derivative is the same as [`exponentialMovingAverage`](/v2.0/reference/flux/functions/built-in/transformations/aggregates/exponentialmovingaverage/): + - `tripleExponentialDerivative` ignores `null` values and does not inlcude them in the calculation. + - It acts only on the `_value` column. + +## Parameters + +### n +The number of points to use in the calculation. + +_**Data type:** Integer_ + +## Examples + +#### Calculate a five point triple exponential derivative +```js +from(bucket: "example-bucket"): + |> range(start: -12h) + |> tripleExponentialDerivative(n: 5) +``` From 733fc6f13cb2e6272c64adabc6eb0f5677b6d6e9 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 12 Aug 2019 08:52:13 -0600 Subject: [PATCH 002/136] updated tripleExponentialDerivative to address PR feedback --- .../aggregates/tripleexponentialderivative.md | 27 ++++++++++--------- 1 file changed, 14 insertions(+), 13 deletions(-) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md index fcc4df79e..1f734698c 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md @@ -2,7 +2,7 @@ title: tripleExponentialDerivative() function description: > The `tripleExponentialDerivative()` function calculates a triple exponential - derivative of input tables using `n` points. + derivative (TRIX) of input tables using `n` points. menu: v2_0_ref: name: tripleExponentialDerivative @@ -19,7 +19,8 @@ related: --- The `tripleExponentialDerivative()` function calculates a triple exponential -derivative of input tables using `n` points. +derivative ([TRIX](https://en.wikipedia.org/wiki/Trix_(technical_analysis)) of +input tables using `n` points. _**Function type:** Aggregate_ @@ -28,15 +29,16 @@ tripleExponentialDerivative(n: 5) ``` Triple exponential derivative, commonly referred to as “TRIX,” is a momentum indicator and oscillator. -A triple exponential derivative is a triple exponential moving average of the log of data input over the period of time. -It prevents cycles shorter than the defined period from being considered by the indicator. -With `tripleExponentialDerivative()`, the period of time is determined by the time `n` points span. +A triple exponential derivative uses the natural logarithm (log) of input data to +calculate a triple exponential moving average over the period of time. +The calculation prevents cycles shorter than the defined period from being considered by the indicator. +`tripleExponentialDerivative()` uses the time between `n` points to define the period. Triple exponential derivative oscillates around a zero line. -When used as a momentum **oscillator**, a positive value indicates an overbought market -and a negative value indicates an oversold market. -When used as a momentum **indicator**, a positive value suggests momentum is -increasing and a negative value suggests momentum is decreasing. +A positive momentum **oscillator** value indicates an overbought market; +a negative value indicates an oversold market. +A positive momentum **indicator** value indicates increasing momentum; +a negative value indicates decreasing momentum. ##### Triple exponential moving average rules - A triple exponential derivative is defined as: @@ -44,10 +46,9 @@ increasing and a negative value suggests momentum is decreasing. - `EMA_3 = EMA(EMA(EMA(data)))` - If there are not enough values to calculate a triple exponential derivative, the output `_value` is `NaN`; all other columns are the same as the _last_ record of the input table. -- The behavior of the exponential moving averages used for calculating the triple - exponential derivative is the same as [`exponentialMovingAverage`](/v2.0/reference/flux/functions/built-in/transformations/aggregates/exponentialmovingaverage/): - - `tripleExponentialDerivative` ignores `null` values and does not inlcude them in the calculation. - - It acts only on the `_value` column. +- The function behaves the same way as the [`exponentialMovingAverage()`](/v2.0/reference/flux/functions/built-in/transformations/aggregates/exponentialmovingaverage/) function: + - The function does not include `null` values in the calculation. + - The function acts only on the `_value` column. ## Parameters From 75114735630dc7329ef9d9e6ba6d32bf5881e169 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 20 Aug 2019 11:07:44 -0600 Subject: [PATCH 003/136] updated flux changelog with v0.40.0 --- content/v2.0/reference/release-notes/flux.md | 33 +++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index 06c1aaeec..e35b6646f 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,44 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.39.0**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.40.0**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.40.0 [2019-08-20] + +### Breaking changes +- Update compiler package to use true scope. +- Add `http` and `json` to prelude. + +### Features +- Add `alerts.check()` function. +- Add `alerts.notify` function. +- Add `kaufmansER()` and `kaufmansAMA()` functions. +- Add `experimental.to()` function. +- Add `experimental.set()` function to update entire object. +- Add `tripleExponentialDerivative()` function. +- Add `json.encode()` function. +- Add `mqtt.to()` function. +- Add `objectKeys()` function. +- Add Bytes type. +- Update compiler package to use true scope. +- Add http endpoint. +- Add post method implementation. +- String interpolation. + +### Bug fixes +- Avoid wrapping table errors in the CSV encoder. +- Remove irrelevant TODOs. +- `mode()` now properly considers nulls when calculating the mode. +- Add `http` and `json` to prelude. +- Rename all Flux test files to use `_test.flux`. + +--- + ## v0.39.0 [2019-08-13] > A queryd panic has been reported in `HoltWinters()`. We're working to resolve this issue as soon as possible. From 3a62b6a54f78c425e6c51caa2ca50799f2c09a69 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 20 Aug 2019 11:17:59 -0600 Subject: [PATCH 004/136] udpated holtwinters message in 0.39 changelog --- content/v2.0/reference/release-notes/flux.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index e35b6646f..204860d51 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -51,7 +51,9 @@ InfluxDB until the next InfluxDB v2.0 release._ ## v0.39.0 [2019-08-13] -> A queryd panic has been reported in `HoltWinters()`. We're working to resolve this issue as soon as possible. +{{% warn %}} +In Flux 0.39.0, `holtWinters()` can cause the query engine to panic. +{{% /warn %}} ### Breaking changes - Implement the scanning components for string expressions. From 970ff0889b0bd0967d479aae62e9014656d826b3 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 21 Aug 2019 09:54:21 -0600 Subject: [PATCH 005/136] added 0.40.1 to flux changelog --- content/v2.0/reference/release-notes/flux.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index 204860d51..22269e241 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,20 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.40.0**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.40.1**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.40.1 [2019-08-21] + +### Bug fixes +- Use non-pointer receiver for `interpreter.function`. + +--- + ## v0.40.0 [2019-08-20] ### Breaking changes From 163037d5a1916e5198398a52f4bef6daeefb3bc6 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 22 Aug 2019 11:31:07 -0600 Subject: [PATCH 006/136] added flux 0.40.2 to changelog --- content/v2.0/reference/release-notes/flux.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index 22269e241..1c96c5f0a 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,20 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.40.1**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.40.2**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.40.2 [2019-08-22] + +### Bug fixes +- Resolved `holtWinters()` panic. + +--- + ## v0.40.1 [2019-08-21] ### Bug fixes @@ -60,6 +67,7 @@ InfluxDB until the next InfluxDB v2.0 release._ {{% warn %}} In Flux 0.39.0, `holtWinters()` can cause the query engine to panic. +**Flux 0.40.2 resolves this panic.** {{% /warn %}} ### Breaking changes From 788fc297e7c5332e809d1beb1095b9763da5b9bb Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 22 Aug 2019 15:25:15 -0600 Subject: [PATCH 007/136] added flux kaufman functions, resolves #382 --- .../transformations/aggregates/kaufmansama.md | 52 +++++++++++++++++++ .../transformations/aggregates/kaufmanser.md | 42 +++++++++++++++ 2 files changed, 94 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md create mode 100644 content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md new file mode 100644 index 000000000..26d6c1686 --- /dev/null +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md @@ -0,0 +1,52 @@ +--- +title: kaufmansAMA() function +description: > + The `kaufmansAMA()` function calculates the Kaufman's Adaptive Moving Average (KAMA) + using values in an input table. +menu: + v2_0_ref: + name: kaufmansAMA + parent: built-in-aggregates +weight: 501 +related: + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser/ + - https://docs.influxdata.com/influxdb/v1.7/query_language/functions/#kaufmans-adaptive-moving-average, InfluxQL KAUFMANS_ADAPTIVE_MOVING_AVERAGE() +--- + +The `kaufmansAMA()` function calculates the Kaufman's Adaptive Moving Average (KAMA) +using values in an input table. + +_**Function type:** Aggregate_ + +```js +kaufmansAMA( + n: 10, + columns: ["_value"] +) +``` + +Kaufman's Adaptive Moving Average is a trend-following indicator designed to account +for market noise or volatility. + +## Parameters + +### n +The period or number of points to use in the calculation. + +_**Data type: Integer**_ + +### column +The column to operate on. +Defaults to `"_value"`. + +_**Data type: String**_ + +## Examples +```js +from(bucket: "telegraf/autogen"): + |> range(start: -7d) + |> kaufmansAMA( + n: 10, + column: "_value" + ) +``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md new file mode 100644 index 000000000..b7952828d --- /dev/null +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md @@ -0,0 +1,42 @@ +--- +title: kaufmansER() function +description: > + The `kaufmansER()` function calculates the Kaufman's Efficiency Ratio (KER) using + values in an input table. +menu: + v2_0_ref: + name: kaufmansER + parent: built-in-aggregates +weight: 501 +related: + - /v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama/ + - https://docs.influxdata.com/influxdb/v1.7/query_language/functions/#kaufmans-efficiency-ratio, InfluxQL KAUFMANS_EFFICIENCY_RATIO() +--- + +The `kaufmansER()` function calculates the Kaufman's Efficiency Ratio (KER) using +values in an input table. +It operates only on the `_value` column. + +_**Function type:** Aggregate_ + +```js +kaufmansER(n: 10) +``` + +Kaufman's Efficiency Ratio indicator divides the absolute value of the +Chande Momentum Oscillator by 100 to return a value between 0 and 1. +Higher values represent a more efficient or trending market. + +## Parameters + +### n +The period or number of points to use in the calculation. + +_**Data type: Integer**_ + +## Examples +```js +from(bucket: "example-bucket") + |> range(start: -7d) + |> kaufmansER(n: 10) +``` From 9c5958bc21f0a33ee1fa543895814f0c238f79ba Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 22 Aug 2019 15:31:20 -0600 Subject: [PATCH 008/136] added aggregateWindow output details --- .../built-in/transformations/aggregates/aggregatewindow.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/aggregatewindow.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/aggregatewindow.md index 613487875..435fa5030 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/aggregatewindow.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/aggregatewindow.md @@ -30,6 +30,10 @@ As data is windowed into separate tables and processed, the `_time` column is dr This function copies the timestamp from a remaining column into the `_time` column. View the [function definition](#function-definition). +`aggregateWindow()` restores the original `_start` and `_stop` values of input data +and, by default, uses `_stop` to set the `_time` value for each aggregated window. +Each row in the output of `aggregateWindow` represents an aggregated window ending at `_time`. + ## Parameters {{% note %}} From b0d9574ac16169b2d5194277f7c08c7c9300c3b9 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 23 Aug 2019 08:56:51 -0600 Subject: [PATCH 009/136] updated flux 0.40.0 changelog items --- content/v2.0/reference/release-notes/flux.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index 1c96c5f0a..5d7e5d90c 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -44,10 +44,10 @@ InfluxDB until the next InfluxDB v2.0 release._ - Add `kaufmansER()` and `kaufmansAMA()` functions. - Add `experimental.to()` function. - Add `experimental.set()` function to update entire object. +- Add `experimental.objectKeys()` function. - Add `tripleExponentialDerivative()` function. - Add `json.encode()` function. - Add `mqtt.to()` function. -- Add `objectKeys()` function. - Add Bytes type. - Update compiler package to use true scope. - Add http endpoint. From 9249899c6030129e24bb48aa6c172d890be45e5b Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 23 Aug 2019 09:25:36 -0600 Subject: [PATCH 010/136] added load data nav icon, removed orgs nav icon --- assets/styles/tools/_icomoon.scss | 13 +++++---- .../cloud/account-management/offboarding.md | 4 +-- .../use-telegraf/auto-config/_index.md | 25 +++++++++--------- layouts/shortcodes/nav-icon.html | 6 ++--- static/fonts/icomoon.eot | Bin 15860 -> 16216 bytes static/fonts/icomoon.svg | 1 + static/fonts/icomoon.ttf | Bin 15696 -> 16052 bytes static/fonts/icomoon.woff | Bin 15772 -> 16128 bytes 8 files changed, 26 insertions(+), 23 deletions(-) diff --git a/assets/styles/tools/_icomoon.scss b/assets/styles/tools/_icomoon.scss index dfd7c1f91..a3b4a64a2 100644 --- a/assets/styles/tools/_icomoon.scss +++ b/assets/styles/tools/_icomoon.scss @@ -1,10 +1,10 @@ @font-face { font-family: 'icomoon'; - src: url('fonts/icomoon.eot?e8u66e'); - src: url('fonts/icomoon.eot?e8u66e#iefix') format('embedded-opentype'), - url('fonts/icomoon.ttf?e8u66e') format('truetype'), - url('fonts/icomoon.woff?e8u66e') format('woff'), - url('fonts/icomoon.svg?e8u66e#icomoon') format('svg'); + src: url('fonts/icomoon.eot?9r9zke'); + src: url('fonts/icomoon.eot?9r9zke#iefix') format('embedded-opentype'), + url('fonts/icomoon.ttf?9r9zke') format('truetype'), + url('fonts/icomoon.woff?9r9zke') format('woff'), + url('fonts/icomoon.svg?9r9zke#icomoon') format('svg'); font-weight: normal; font-style: normal; } @@ -33,6 +33,9 @@ .icon-ui-nav-chat:before { content: "\e941"; } +.icon-ui-disks:before { + content: "\e950"; +} .icon-ui-add-cell:before { content: "\e91f"; } diff --git a/content/v2.0/cloud/account-management/offboarding.md b/content/v2.0/cloud/account-management/offboarding.md index 34b3f6bc9..f2b9d6fb2 100644 --- a/content/v2.0/cloud/account-management/offboarding.md +++ b/content/v2.0/cloud/account-management/offboarding.md @@ -36,9 +36,9 @@ For details, see [Export a dashboard](v2.0/visualize-data/dashboards/export-dash **To save a Telegraf configuration:** -1. Click in the **Organizations** icon in the navigation bar. +1. Click in the **Settings** icon in the navigation bar. - {{< nav-icon "orgs" >}} + {{< nav-icon "settings" >}} 2. Select the **Telegraf** tab. A list of existing Telegraf configurations appears. 3. Click on the name of a Telegraf configuration. diff --git a/content/v2.0/write-data/use-telegraf/auto-config/_index.md b/content/v2.0/write-data/use-telegraf/auto-config/_index.md index aaca5632d..3001d429f 100644 --- a/content/v2.0/write-data/use-telegraf/auto-config/_index.md +++ b/content/v2.0/write-data/use-telegraf/auto-config/_index.md @@ -25,33 +25,32 @@ for using Telegraf with InfluxDB v2.0._ ## Create a Telegraf configuration 1. Open the InfluxDB UI _(default: [localhost:9999](http://localhost:9999))_. -2. Click **Organizations** in the left navigation menu. +2. Click **Load Data** in the left navigation menu. - {{< nav-icon "orgs" >}} + {{< nav-icon "load data" >}} -3. Click on the name of your organization. -4. Click the **Telegraf** tab. -5. Click **{{< icon "plus" >}} Create Configuration**. -6. In the **Bucket** dropdown, select the bucket where Telegraf will store collected data. -7. Select one or more of the available plugin groups +3. Click the **Telegraf** tab. +4. Click **{{< icon "plus" >}} Create Configuration**. +5. In the **Bucket** dropdown, select the bucket where Telegraf will store collected data. +6. Select one or more of the available plugin groups (e.g. **System**, **Docker**, **Kubernetes**, **NGINX**, or **Redis**), and click **Continue**. {{% note %}} All Telegraf plugins are supported, but only a subset are configurable using the InfluxDB UI. To use plugins other than those listed, you must [manually configure Telegraf](/v2.0/write-data/use-telegraf/manual-config). {{% /note %}} -8. Review the list of **Plugins to Configure** for configuration requirements. +7. Review the list of **Plugins to Configure** for configuration requirements. Plugins listed with a {{< icon "check" >}} require no additional configuration. To configure a plugin or access plugin documentation, click the plugin name. -9. Provide a **Telegraf Configuration Name** and an optional **Telegraf Configuration Description**. -10. Click **Create and Verify**. -11. The **Test Your Configuration** page provides instructions for how to start +8. Provide a **Telegraf Configuration Name** and an optional **Telegraf Configuration Description**. +9. Click **Create and Verify**. +10. The **Test Your Configuration** page provides instructions for how to start Telegraf using the generated configuration. _See [Start Telegraf](#start-telegraf) below for detailed information about what each step does._ -12. Once Telegraf is running, click **Listen for Data** to confirm Telegraf is successfully +11. Once Telegraf is running, click **Listen for Data** to confirm Telegraf is successfully sending data to InfluxDB. Once confirmed, a **Connection Found!** message appears. -13. Click **Finish**. Your configuration name and the associated bucket name appears +12. Click **Finish**. Your configuration name and the associated bucket name appears in the list of Telegraf connections. ## Start Telegraf diff --git a/layouts/shortcodes/nav-icon.html b/layouts/shortcodes/nav-icon.html index f7a077c01..a3a7c3d9c 100644 --- a/layouts/shortcodes/nav-icon.html +++ b/layouts/shortcodes/nav-icon.html @@ -11,9 +11,9 @@ {{ else if eq $navIcon "tasks" }} {{ .Scratch.Set "icon" "calendar" }} {{ .Scratch.Set "title" "Tasks" }} -{{ else if or (eq $navIcon "organizations") (eq $navIcon "orgs") }} - {{ .Scratch.Set "icon" "organizations" }} - {{ .Scratch.Set "title" "Organizations" }} +{{ else if or (eq $navIcon "disks") (eq $navIcon "load data") (eq $navIcon "load-data") }} + {{ .Scratch.Set "icon" "disks" }} + {{ .Scratch.Set "title" "Load Data" }} {{ else if eq $navIcon "settings" }} {{ .Scratch.Set "icon" "wrench-2" }} {{ .Scratch.Set "title" "Settings" }} diff --git a/static/fonts/icomoon.eot b/static/fonts/icomoon.eot index a90f793ac75dec9c5d165c3fc092dc8e5f8cec8e..2ff522e19975fc4ef156699920faa3c53ec0d52b 100755 GIT binary patch delta 731 zcmexTeWQ*o!k&R)i`_&vGZueQuXz(4TIwg8PiAFcV3c8CV3?DhSX=<41%Uh=K$;^x zr!q~yv2{6+e}I9(QX(TYF-5j)WfcR1)eWG$Sq4ymFOOS-fx#N6he0JHx1>U$Py(pd z+61UaB_}^QQG9}`5(9%x1WR8B%H$Zv=EMddQwHcDW(FPxMh1nKRxj;eI==LI8SwJfE4^16UhR8z=>OmU z|3Nx{vJ7ald!e$7{~wF9h%<=&7yByqNi0)LOmwPfr)V3{RL04UOd^v5m{@_BWpgOg z5yN^G2H*dT%v+e57~~kN7$O+TfDTh)=VN4NlVubUmtzzcGd41}V>CCjWi(OOV^mjD z7BvD3i;93%DJy|RO-;ax(6ykdF-0>FC|eJ-2xbHmLzI6&nGz6`1^7orBeBDsoukEp zAllhEJOaV~w**ruvNlXMGZPPwmW+(TG6fkKEgm3&Wm>(`ResZFC4EqrV2CFYX`ANBn6$K1oj4K!ztUG{wg}lUE$<&!%oWFqrKtaZ~ zg8bqV24Al+UYVWH< z|Ns8~&%pTqu{eu3gV=wuuVNWuqM}noJ49Q7`WPoWGD&ZaWjbQGxzd!IO=i(CJ;Qi@ zo39MqEFgOrZZavB!sy8htj!rcHs7%3W}N)oW{#|qWS5kbbd2;a=?6e1j6m$cxQu}p Qq?~~XXs+<)&9+M!0l>^+_5c6? diff --git a/static/fonts/icomoon.svg b/static/fonts/icomoon.svg index e7dda9a20..f5ed6e65c 100755 --- a/static/fonts/icomoon.svg +++ b/static/fonts/icomoon.svg @@ -69,6 +69,7 @@ + diff --git a/static/fonts/icomoon.ttf b/static/fonts/icomoon.ttf index d59e5ca6cc5ebf032172434cc192b7c59cff8453..fb000be8e48fc19badfbaf3fa3d8885c02e21b49 100755 GIT binary patch delta 668 zcmcamwWW4~Lj7d($*c?vj4})i40F;Giwl6X0Fb`}NOPp;RHo@Swk`+q4=^xTN@S!a zrpT79tYToWx&f3o%K!@S<#9_eFjxciFsNkYmQ*MdN&wYbn*jBwN-@|?nYg3byaC9P z0lJ5ofro*SLE)vu9;3A2C$UU1 zG0~}_ouX|({frC@o2N0}H>_u2@cqxoyoH&GL5{(SA%dX{Xs;4GA0s=PETf3H9HY3H zv5~nQqq&(aqlvm6qq>^1s1aCLR0OO_SqUs^Y64b-t_4+%DVl*m*?OQwFe8{4qWlBO zlz^Ztz&|P)i5>3j94!t6(az4{5eW9bC74Q)wPCWEnRs}#WMmYUDagoZ@c=<263>{2 zM?pxChg(Qck%ya`M^R9Sn@3PcfrsbM8JKdA>a)lk2V@S4%;pkf9yXbIUZVc-{5D@1 zxLLrlajmO$fU{ifZ~Y3b90~d GAw~dyyqM-@(9Oejp_-?FtiAx{ zC*>wq6flG_u3%uW?f~)?@)C0;Q)hZ{{ssyF1sU54@{3Ctn1NCZwgwY-G)IGMkpjAh znSqOekwM|5)l2)AjxT*)-g>3?YQw92uMYkH`~N>kIZ%!PMQ$%tj`9CvaTaj~vHxOU z#WKW1MW={%h_(XFW1PH@QDXBp#^Z*YubObP$t*giXBf|K^Ob>{1#I3;CdE<^14K{$ zV`a|hvDw6$n{l$U%^X=J$u21==@{u<(hqaTx%uNM~ zMF2Inf$&T(&ff+3#U((OKbZKZTe1PDP=-N(fti5^=rM(tRxj;eI==LI88CSsqby^< z&O}@t{zxg-gF~fQm2H*dT%v+e57~~kN7$O+TfTk<4^D(ls z$uf$F%Q1?J85^0~F`Ap%GMcFCF{-O6iyDE2MMc1>l$F4urY2xT=vq+Kn4%d7l&uF^ z1T%t(A<93XObH0e0{o+*k=WtR&e7sP5bf+79)V#0TY{++SsNysnTdx-OGZXvnSzXr z77q|aBJqrQcoc*LdANlH6?wS1c@zbOxOoJH6nJ?4oPj9^sXmL$aX{vv$ZS4f%)=%# z&r8%lp5Nvx12+pWh8P%bwr Date: Fri, 23 Aug 2019 10:18:42 -0600 Subject: [PATCH 011/136] updated bucket, telegraf, and scraper workflows --- .../v2.0/organizations/buckets/create-bucket.md | 8 ++++---- .../v2.0/organizations/buckets/delete-bucket.md | 8 ++++---- .../v2.0/organizations/buckets/update-bucket.md | 14 +++++++------- .../v2.0/organizations/buckets/view-buckets.md | 6 +++--- content/v2.0/write-data/_index.md | 6 +++--- .../manage-scrapers/create-a-scraper.md | 8 ++++---- .../manage-scrapers/delete-a-scraper.md | 8 ++++---- .../manage-scrapers/update-a-scraper.md | 8 ++++---- .../use-telegraf/auto-config/_index.md | 2 +- .../auto-config/delete-telegraf-config.md | 8 +++----- .../auto-config/update-telegraf-config.md | 8 +++----- .../auto-config/view-telegraf-config.md | 6 +++--- static/img/2-0-telegraf-config-delete.png | Bin 35847 -> 0 bytes static/img/2-0-telegraf-config-update.png | Bin 31178 -> 0 bytes 14 files changed, 43 insertions(+), 47 deletions(-) delete mode 100644 static/img/2-0-telegraf-config-delete.png delete mode 100644 static/img/2-0-telegraf-config-update.png diff --git a/content/v2.0/organizations/buckets/create-bucket.md b/content/v2.0/organizations/buckets/create-bucket.md index 0572d2a70..ff8715cb3 100644 --- a/content/v2.0/organizations/buckets/create-bucket.md +++ b/content/v2.0/organizations/buckets/create-bucket.md @@ -14,14 +14,14 @@ to create a bucket. ## Create a bucket in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Select the **Buckets** tab. +2. Select **Buckets**. 3. Click **{{< icon "plus" >}} Create Bucket** in the upper right. 4. Enter a **Name** for the bucket. -5. Select **How often to clear data?**: +5. Select **Delete Data older than**: Select **Never** to retain data forever. Select **Periodically** to define a specific retention policy. 5. Click **Create** to create the bucket. diff --git a/content/v2.0/organizations/buckets/delete-bucket.md b/content/v2.0/organizations/buckets/delete-bucket.md index 3622b684c..e1652ce12 100644 --- a/content/v2.0/organizations/buckets/delete-bucket.md +++ b/content/v2.0/organizations/buckets/delete-bucket.md @@ -14,13 +14,13 @@ to delete a bucket. ## Delete a bucket in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Select the **Buckets** tab. +2. Select **Buckets**. 3. Hover over the bucket you would like to delete. -4. Click **Delete** and **Confirm** to delete the bucket. +4. Click **{{< icon "delete" >}} Delete Bucket** and **Delete** to delete the bucket. ## Delete a bucket using the influx CLI diff --git a/content/v2.0/organizations/buckets/update-bucket.md b/content/v2.0/organizations/buckets/update-bucket.md index f113d9ac7..76e5b11f7 100644 --- a/content/v2.0/organizations/buckets/update-bucket.md +++ b/content/v2.0/organizations/buckets/update-bucket.md @@ -23,23 +23,23 @@ If you change a bucket name, be sure to update the bucket in the above places as ## Update a bucket's name in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Select the **Buckets** tab. +2. Select **Buckets**. 3. Hover over the name of the bucket you want to rename in the list. 4. Click **Rename**. 5. Review the information in the window that appears and click **I understand, let's rename my bucket**. -6. Update the bucket's name and click **Change Bucket Name**. +6. Update the bucket's name and click **Change Bucket Name**. ## Update a bucket's retention policy in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Select the **Buckets** tab. +2. Select **Buckets**. 3. Click the name of the bucket you want to update from the list. 4. In the window that appears, edit the bucket's retention policy. 5. Click **Save Changes**. diff --git a/content/v2.0/organizations/buckets/view-buckets.md b/content/v2.0/organizations/buckets/view-buckets.md index 5d47f5211..2fd8049e9 100644 --- a/content/v2.0/organizations/buckets/view-buckets.md +++ b/content/v2.0/organizations/buckets/view-buckets.md @@ -11,11 +11,11 @@ weight: 202 ## View buckets in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Select the **Buckets** tab. +2. Select **Buckets**. 3. Click on a bucket to view details. ## View buckets using the influx CLI diff --git a/content/v2.0/write-data/_index.md b/content/v2.0/write-data/_index.md index 53e5756bd..d5b856dd8 100644 --- a/content/v2.0/write-data/_index.md +++ b/content/v2.0/write-data/_index.md @@ -114,11 +114,11 @@ influx write -b bucketName -o orgName -p s @/path/to/line-protocol.txt ``` ## Write data in the InfluxDB UI -1. Click **Settings** in the left navigation menu. +1. Click **Load Data** in the left navigation menu. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Select the **Buckets** tab. +2. Select **Buckets**. 3. Hover over the bucket to write data to and click **{{< icon "plus" >}} Add Data**. 4. Select **Line Protocol**. _You can also [use Telegraf](/v2.0/write-data/use-telegraf/) or diff --git a/content/v2.0/write-data/scrape-data/manage-scrapers/create-a-scraper.md b/content/v2.0/write-data/scrape-data/manage-scrapers/create-a-scraper.md index 75f521b0f..c4fcae5b7 100644 --- a/content/v2.0/write-data/scrape-data/manage-scrapers/create-a-scraper.md +++ b/content/v2.0/write-data/scrape-data/manage-scrapers/create-a-scraper.md @@ -13,17 +13,17 @@ weight: 301 Create a new scraper in the InfluxDB user interface (UI). ## Create a scraper in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Click the **Scrapers** tab. +2. Click **Scrapers**. 3. Click **{{< icon "plus" >}} Create Scraper**. 4. Enter a **Name** for the scraper. 5. Select a **Bucket** to store the scraped data. 6. Enter the **Target URL** to scrape. The default URL value is `http://localhost:9999/metrics`, which provides InfluxDB-specific metrics in the [Prometheus data format](https://prometheus.io/docs/instrumenting/exposition_formats/). -7. Click **Finish**. +7. Click **Create**. The new scraper will begin scraping data after approximately 10 seconds, then continue scraping in 10 second intervals. diff --git a/content/v2.0/write-data/scrape-data/manage-scrapers/delete-a-scraper.md b/content/v2.0/write-data/scrape-data/manage-scrapers/delete-a-scraper.md index 646658dfc..4e5580729 100644 --- a/content/v2.0/write-data/scrape-data/manage-scrapers/delete-a-scraper.md +++ b/content/v2.0/write-data/scrape-data/manage-scrapers/delete-a-scraper.md @@ -13,11 +13,11 @@ weight: 303 Delete a scraper from the InfluxDB user interface (UI). ## Delete a scraper from the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Click the **Scrapers** tab. A listing of any existing scrapers appears with the - **Name**, **URL**, and **BUCKET** for each scraper. +2. Click **Scrapers**. A listing of any existing scrapers appears with the + **Name**, **URL**, and **Bucket** for each scraper. 3. Hover over the scraper you want to delete and click **Delete**. 4. Click **Confirm**. diff --git a/content/v2.0/write-data/scrape-data/manage-scrapers/update-a-scraper.md b/content/v2.0/write-data/scrape-data/manage-scrapers/update-a-scraper.md index b6cf1c67c..25a163387 100644 --- a/content/v2.0/write-data/scrape-data/manage-scrapers/update-a-scraper.md +++ b/content/v2.0/write-data/scrape-data/manage-scrapers/update-a-scraper.md @@ -13,16 +13,16 @@ weight: 302 Update a scraper in the InfluxDB user interface (UI). {{% note %}} -Scraper **Target URLs** and **BUCKETS** can not be updated. +Scraper **Target URLs** and **Buckets** can not be updated. To modify either, [create a new scraper](/v2.0/write-data/scrape-data/manage-scrapers/create-a-scraper). {{% /note %}} ## Update a scraper in the InfluxDB UI -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Click the **Scrapers** tab. A list of existing scrapers appears. +2. Click **Scrapers**. A list of existing scrapers appears. 3. Hover over the scraper you would like to update and click the **{{< icon "pencil" >}}** that appears next to the scraper name. 4. Enter a new name for the scraper. Press Return or click out of the name field to save the change. diff --git a/content/v2.0/write-data/use-telegraf/auto-config/_index.md b/content/v2.0/write-data/use-telegraf/auto-config/_index.md index 3001d429f..64f426274 100644 --- a/content/v2.0/write-data/use-telegraf/auto-config/_index.md +++ b/content/v2.0/write-data/use-telegraf/auto-config/_index.md @@ -29,7 +29,7 @@ for using Telegraf with InfluxDB v2.0._ {{< nav-icon "load data" >}} -3. Click the **Telegraf** tab. +3. Select **Telegrafs**. 4. Click **{{< icon "plus" >}} Create Configuration**. 5. In the **Bucket** dropdown, select the bucket where Telegraf will store collected data. 6. Select one or more of the available plugin groups diff --git a/content/v2.0/write-data/use-telegraf/auto-config/delete-telegraf-config.md b/content/v2.0/write-data/use-telegraf/auto-config/delete-telegraf-config.md index d68a54f60..9c4d62231 100644 --- a/content/v2.0/write-data/use-telegraf/auto-config/delete-telegraf-config.md +++ b/content/v2.0/write-data/use-telegraf/auto-config/delete-telegraf-config.md @@ -12,16 +12,14 @@ weight: 303 To delete a Telegraf configuration: -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the left navigation menu. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Click the **Telegraf** tab. +2. Select **Telegraf**. 3. Hover over the configuration you want to delete, click the **{{< icon "trash" >}}** icon, and **Delete**. - {{< img-hd src="/img/2-0-telegraf-config-delete.png" />}} - {{% note %}} Deleting a Telegraf configuration does not affect _**running**_ Telegraf agents. However, if an agents stops, it needs a new configuration to start. diff --git a/content/v2.0/write-data/use-telegraf/auto-config/update-telegraf-config.md b/content/v2.0/write-data/use-telegraf/auto-config/update-telegraf-config.md index 1f001756f..aa26523eb 100644 --- a/content/v2.0/write-data/use-telegraf/auto-config/update-telegraf-config.md +++ b/content/v2.0/write-data/use-telegraf/auto-config/update-telegraf-config.md @@ -17,13 +17,11 @@ of a Telegraf configuration created in the UI. You cannot modify Telegraf settings in existing Telegraf configurations through the UI. {{% /note %}} -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in left the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Click the **Telegraf** tab. +2. Select **Telegraf**. 3. Hover over the configuration you want to edit and click **{{< icon "pencil" >}}** to update the name or description. 4. Press Return or click out of the editable field to save your changes. - - {{< img-hd src="/img/2-0-telegraf-config-update.png" />}} diff --git a/content/v2.0/write-data/use-telegraf/auto-config/view-telegraf-config.md b/content/v2.0/write-data/use-telegraf/auto-config/view-telegraf-config.md index ffe46cb51..52b87b54f 100644 --- a/content/v2.0/write-data/use-telegraf/auto-config/view-telegraf-config.md +++ b/content/v2.0/write-data/use-telegraf/auto-config/view-telegraf-config.md @@ -14,11 +14,11 @@ weight: 301 View Telegraf configuration information in the InfluxDB user interface (UI): -1. Click the **Settings** tab in the navigation bar. +1. Click **Load Data** in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load data" >}} -2. Click the **Telegraf** tab. +2. Click **Telegraf**. ### View and download the telegraf.conf To view the actual `telegraf.conf` associated with the configuration, diff --git a/static/img/2-0-telegraf-config-delete.png b/static/img/2-0-telegraf-config-delete.png deleted file mode 100644 index 287fb397e07618e3e6d99f92d540b4bf7867ec5a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 35847 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 diff --git a/static/img/2-0-telegraf-config-update.png b/static/img/2-0-telegraf-config-update.png deleted file mode 100644 index 936acd5f57554ff4459fcb7069e14f714a0de918..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31178 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 From fa1ed75e5d60652b81976c9dbe64c82d688973d2 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 23 Aug 2019 10:32:29 -0600 Subject: [PATCH 012/136] updated screenshots --- static/img/2-0-dashboard-clone.png | Bin 62027 -> 64649 bytes static/img/2-0-dashboard-delete.png | Bin 60568 -> 61982 bytes static/img/2-0-data-explorer-save-as-task.png | Bin 102526 -> 127813 bytes static/img/2-0-data-explorer-ui.png | Bin 172217 -> 172948 bytes 4 files changed, 0 insertions(+), 0 deletions(-) diff --git a/static/img/2-0-dashboard-clone.png b/static/img/2-0-dashboard-clone.png index eb14ceb82164728a67daea48ad6efd79114fa65c..009ec04d62b1aa6258d690ea771d954d1fef182d 100644 GIT binary patch literal 64649 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 delta 61821 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�?%omn4 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 diff --git a/static/img/2-0-dashboard-delete.png b/static/img/2-0-dashboard-delete.png index aa19cd67d78ec25c9e4b26f9e7726729fbe1e79e..21ebfb33fbe227654e6e0d2a08ebafe7dd529b94 100644 GIT binary patch delta 61648 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�T&EVvr(%BS^9Z0hlYfSG_tTJZRh!DhS&H^I*#zZ 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 delta 60194 zcmV)CK*GPCoT`>cM}dQm92z4`O<2Xp z&Ot&=$;{HNvAcG7gr=#pH8w%0thIZ7iD_$f{iT*JMO<86XmdbB{(tM~gNBeQDl}_Z z%q5J)p-V|~b$}{ZcSJ-||G1{Sz{>u?wK6e1{)J>*Izs)*#bjl0Y;Aarkee?rI#E(w zpP{RY_VPbB6fQzfHxI;BRD@$bjx3GD8h8!Ft|Jl+*L{qoB#7Rn4Zg6{Q zK0_&Ml=)#*BBknCT7PEL*WD~EHatB@nVh92fU~r?!n(f49vmdNP)xkC`2Y0tC55^> zGd?*dEzQu@vbMmZrm!X^FeN1~Ffco2Xmeg*YqL*FB$3TcH$W&hMK85 zdj8VQEKzMCtn^M#ThY|pCvu-eMN~&fQ#?6YdSvnWWLZ;GUzM4sn46_BE;&CxOaGL2 zG&Da$JaAPsI{TfKEiE|z`S_cjsWCT1oSvrruB0m?D)jRH|NZ=(psKI2xc`i8{DWh& zw!KkPVf}<;uYa<=9vvk}L3wsz=Ku2Wnw_XBUxFowzap&lDJ?m`!^)VNqWGCeUcJTWmod1UZ0FGd|4 zB>IA49UUYwFg-UkP$I4NCnqsRMo};@JbPvG`d?G}U{rc!@-Ziv!@PC}2s~;aH92_Jb9wsp{Jt-+Or3wdd008B(Nklv^p z<;YQ#iv%Jlmyo{(@D4GYaEXxth1ZQ)1qI1bv!YAlVPq46hGkvDaPkaE0SK$v7^)hgOo0A2&UpJ$=7s0fx)$B)yMxGe}2Ph95@rwAGo+~VCd5oIDWtX z{tRE642A$>0}AQIA76UZ`e&f(3b)S-46gN!Qs7&r!fzs1HS;$42~M5-@1N@0VqZ#r zo$CU-5(=cXAaIZ`u4=14gss`ln-5*vY=0!R9V}v>MXvtHukkDItB#}a2^xq~j9g5^{uqs;Ov~A3C_;C?>C^s`x{t4{T>JQQT2afB{aFty!gz0YV6Vy*{plFBwP_~l+%Xm75 zc&6KTIP<)!m464rWib=jVNM{ic=3lsx2t8p`(IRf|6QF!7}`8^rU3`T zQ?9;dyhEjR2Sb(LuHR_j%&1$wjVDUx+ zX89bP@m-DYuyF@EZ`H6lUNEc>>$Di5y$AC#%eJ7f0&{)|A&b3~D=<+;pU%!2&<{aenXP}NA9puWl`T2q144ZrM zha2NMD)c5@ZEiSc-?yqX~mw`CK88}-lc6{x2UTIO+(U8j4Z_T$=nKpSGal9V|b7)iuMPH^zBr^vTs% zb$$+zPmt7i-=?lvrms9b4drK`m2O|7O$LfQ2o&u*P~@NQ_Z1t$0)nkHk?J96M%kQ847Bzu>e7|G{ z7_vMJhG2!`e-%Bt{(MS$JP3^QbfEs+m~U9#zD`*V41Z<4ER7z|&iw>> zDpp{maQVZh7B?Q7eh3q1G@Jq-*O<3q%t@|+gg)jgJE09KkRO(^-@vX&Qf

_l{@aCurjStp;)Ume1TeJnvim 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 DMF(T_ diff --git a/static/img/2-0-data-explorer-save-as-task.png b/static/img/2-0-data-explorer-save-as-task.png index a36e18a09acbabfdfdd1d07c4066fcd36d0d0b1a..18b296af5bce071635a5d14a6765fbcafde9289c 100644 GIT binary patch literal 127813 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

C#+@MXw4ikk~8q_?{%TmATHE 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 O0000`s literal 102526 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 diff --git a/static/img/2-0-data-explorer-ui.png b/static/img/2-0-data-explorer-ui.png index 795806152173582542c82f638c8db485c243fc69..68be51f6eea2593a5a0c06730198ef555233fb01 100644 GIT binary patch literal 172948 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

tj< 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 Ty4^2=g51=UwUmA-Scd%{QT9@6 literal 172217 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 wLHKo%h@fvjv-SHq^$FK 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 Date: Fri, 23 Aug 2019 10:44:13 -0600 Subject: [PATCH 013/136] updated kaufmansER to address PR feedback --- .../functions/built-in/transformations/aggregates/kaufmanser.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md index b7952828d..5f77fc1d6 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmanser.md @@ -15,7 +15,7 @@ related: The `kaufmansER()` function calculates the Kaufman's Efficiency Ratio (KER) using values in an input table. -It operates only on the `_value` column. +The function operates on the `_value` column. _**Function type:** Aggregate_ From 629668847d6565eff41d4e12abce1e123b784301 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 09:35:13 -0600 Subject: [PATCH 014/136] added flux bytes type, resolves #392 --- content/v2.0/reference/flux/language/types.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/language/types.md b/content/v2.0/reference/flux/language/types.md index 486140d6c..495e6450a 100644 --- a/content/v2.0/reference/flux/language/types.md +++ b/content/v2.0/reference/flux/language/types.md @@ -105,7 +105,12 @@ The string type is nullable. An empty string is **not** a _null_ value. {{% /note %}} -The length of a string is its size in bytes, not the number of characters, since a single character may be multiple bytes. +The length of a string is its size in bytes, not the number of characters, +since a single character may be multiple bytes. + +### Bytes types +A _bytes type_ represents a sequence of byte values. +The bytes type name is `bytes`. ## Regular expression types A _regular expression type_ represents the set of all patterns for regular expressions. From 09c9dbc766b546cf5c7520d3cbc617f4e635346a Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 09:44:39 -0600 Subject: [PATCH 015/136] update flux string interpolation documentation, resolves #409 --- .../reference/flux/language/lexical-elements.md | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/content/v2.0/reference/flux/language/lexical-elements.md b/content/v2.0/reference/flux/language/lexical-elements.md index ee588967b..d19fb807b 100644 --- a/content/v2.0/reference/flux/language/lexical-elements.md +++ b/content/v2.0/reference/flux/language/lexical-elements.md @@ -269,8 +269,7 @@ String literals support several escape sequences. \t U+0009 horizontal tab \" U+0022 double quote \\ U+005C backslash -\{ U+007B open curly bracket -\} U+007D close curly bracket +\${ U+0024 U+007B dollar sign and opening curly bracket ``` Additionally, any byte value may be specified via a hex encoding using `\x` as the prefix. @@ -281,7 +280,7 @@ byte_value = `\` "x" hex_digit hex_digit . hex_digit = "0" … "9" | "A" … "F" | "a" … "f" . unicode_value = unicode_char | escaped_char . escaped_char = `\` ( "n" | "r" | "t" | `\` | `"` ) . -StringExpression = "{" Expression "}" . +StringExpression = "${" Expression "}" . ``` {{% note %}} @@ -316,16 +315,11 @@ To include the literal curly brackets within a string they must be escaped. ```js n = 42 -"the answer is {n}" // the answer is 42 -"the answer is not {n+1}" // the answer is not 43 -"openinng curly bracket \{" // openinng curly bracket { -"closing curly bracket \}" // closing curly bracket } +"the answer is ${n}" // the answer is 42 +"the answer is not ${n+1}" // the answer is not 43 +"dollar sign opening curly bracket \${" // dollar sign opening curly bracket ${ ``` -{{% note %}} -[IMPL#251](https://github.com/influxdata/platform/issues/251) Add string interpolation support -{{% /note %}} - ### Regular expression literals A _regular expression literal_ represents a regular expression pattern, enclosed in forward slashes. From 7bce63d485d1fc5713b437de603130078ed22818 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 09:59:47 -0600 Subject: [PATCH 016/136] various flux updates, resolves #397 --- .../functions/built-in/transformations/aggregates/mode.md | 3 ++- content/v2.0/reference/flux/language/expressions.md | 4 ++++ content/v2.0/reference/flux/language/statements.md | 1 + 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/mode.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/mode.md index ef3916c57..7ad9cfdd8 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/mode.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/mode.md @@ -19,7 +19,8 @@ _**Function type:** Aggregate_ mode(column: "_value") ``` -Multiple modes are returned in a sorted table. +If there are multiple modes, it returns all of them in a sorted table. +Mode only considers non-null values. If there is no mode, `mode()` returns `null`. ##### Supported data types diff --git a/content/v2.0/reference/flux/language/expressions.md b/content/v2.0/reference/flux/language/expressions.md index 28392fb47..1dc60a210 100644 --- a/content/v2.0/reference/flux/language/expressions.md +++ b/content/v2.0/reference/flux/language/expressions.md @@ -269,4 +269,8 @@ PostfixOperator = MemberExpression | IndexExpression . ``` +{{% warn %}} +Dividing by 0 or using the mod operator with a divisor of 0 will result in an error. +{{% /warn %}} + _Also see [Flux Operators](/v2.0/reference/flux/language/operators)._ diff --git a/content/v2.0/reference/flux/language/statements.md b/content/v2.0/reference/flux/language/statements.md index 5ae6b94c0..e3335228b 100644 --- a/content/v2.0/reference/flux/language/statements.md +++ b/content/v2.0/reference/flux/language/statements.md @@ -119,6 +119,7 @@ duration // duration of time time // time string // utf-8 encoded string regexp // regular expression +bytes // sequence of byte values type // a type that itself describes a type ``` From 1d3aacf247d2538d843bc53efd5f40c2d6e01fd0 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 10:15:56 -0600 Subject: [PATCH 017/136] added flux truncateTimeColumn function, resolves #411 --- .../transformations/truncatetimecolumn.md | 52 +++++++++++++++++++ .../reference/flux/functions/date/truncate.md | 2 +- 2 files changed, 53 insertions(+), 1 deletion(-) create mode 100644 content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md b/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md new file mode 100644 index 000000000..65c2416a1 --- /dev/null +++ b/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md @@ -0,0 +1,52 @@ +--- +title: truncateTimeColumn() function +description: > + The `truncateTimeColumn()` function truncates all input table `_time` values to a specified unit. +menu: + v2_0_ref: + name: truncateTimeColumn + parent: built-in-transformations +weight: 401 +related: + - /v2.0/reference/flux/functions/date/truncate/ +--- + +The `truncateTimeColumn()` function truncates all input table `_time` values to a specified unit. + +_**Function type:** Transformation_ + +```js +truncateTimeColumn(unit: 1s) +``` + +## Parameters + +### unit +The unit of time to truncate to. + +_**Data type:** Duration_ + +{{% note %}} +Only use `1` and the unit of time to specify the `unit`. +For example: `1s`, `1m`, `1h`. +{{% /note %}} + +## Examples + +##### Truncate all time values to seconds +```js +from(bucket:"example-bucket") + |> range(start:-1h) + |> truncateTimeColumn(unit: 1s) +``` + +## Function definition +```js +import "date" + +truncateTimeColumn = (unit, tables=<-) => + tables + |> map(fn: (r) => ({ + r with _time: date.truncate(t: r._time, unit:unit }) + ) +``` diff --git a/content/v2.0/reference/flux/functions/date/truncate.md b/content/v2.0/reference/flux/functions/date/truncate.md index c9f7db136..960bd999a 100644 --- a/content/v2.0/reference/flux/functions/date/truncate.md +++ b/content/v2.0/reference/flux/functions/date/truncate.md @@ -32,7 +32,7 @@ The time to operate on. _**Data type:** Time_ ### unit -The unit time to truncate to. +The unit of time to truncate to. _**Data type:** Duration_ From ae3a4e34848fab75e1ffd094dddad21e1d5263dd Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 10:19:12 -0600 Subject: [PATCH 018/136] fixed truncateTimeColumn function definition --- .../functions/built-in/transformations/truncatetimecolumn.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md b/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md index 65c2416a1..164091a53 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/truncatetimecolumn.md @@ -47,6 +47,7 @@ import "date" truncateTimeColumn = (unit, tables=<-) => tables |> map(fn: (r) => ({ - r with _time: date.truncate(t: r._time, unit:unit }) + r with _time: date.truncate(t: r._time, unit:unit) + }) ) ``` From 78fbe07eb177b53a01a2e7fab5c42eb3326787d9 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 13:42:27 -0600 Subject: [PATCH 019/136] removed outdated implementation notes --- .../v2.0/reference/flux/language/assignment-scope.md | 10 ---------- content/v2.0/reference/flux/language/packages.md | 10 ---------- 2 files changed, 20 deletions(-) diff --git a/content/v2.0/reference/flux/language/assignment-scope.md b/content/v2.0/reference/flux/language/assignment-scope.md index 99e03231a..2b20f7ce8 100644 --- a/content/v2.0/reference/flux/language/assignment-scope.md +++ b/content/v2.0/reference/flux/language/assignment-scope.md @@ -8,12 +8,6 @@ menu: weight: 202 --- -{{% note %}} -This document is a living document and may not represent the current implementation of Flux. -Any section that is not currently implemented is commented with a **[IMPL#XXX]** where -**XXX** is an issue number tracking discussion and progress towards implementation. -{{% /note %}} - An assignment binds an identifier to a variable, option, or function. Every identifier in a program must be assigned. @@ -32,10 +26,6 @@ Note that the package clause is not an assignment. The package name does not appear in any scope. Its purpose is to identify the files belonging to the same package and to specify the default package name for import declarations. -{{% note %}} -[IMPL#247](https://github.com/influxdata/platform/issues/247) Add package/namespace support. -{{% /note %}} - ## Variable assignment A variable assignment creates a variable bound to an identifier and gives it a type and value. A variable keeps the same type and value for the remainder of its lifetime. diff --git a/content/v2.0/reference/flux/language/packages.md b/content/v2.0/reference/flux/language/packages.md index ce7d0f459..a04d6173c 100644 --- a/content/v2.0/reference/flux/language/packages.md +++ b/content/v2.0/reference/flux/language/packages.md @@ -13,12 +13,6 @@ menu: weight: 207 --- -{{% note %}} -This document is a living document and may not represent the current implementation of Flux. -Any section that is not currently implemented is commented with a **[IMPL#XXX]** where -**XXX** is an issue number tracking discussion and progress towards implementation. -{{% /note %}} - Flux source is organized into packages. A package consists of one or more source files. Each source file is parsed individually and composed into a single package. @@ -41,10 +35,6 @@ All files in the same package must declare the same package name. When a file does not declare a package clause, all identifiers in that file will belong to the special `main` package. -{{% note %}} -[IMPL#247](https://github.com/influxdata/platform/issues/247) Add package/namespace support. -{{% /note %}} - ### Package main The `main` package is special for a few reasons: From fe3bda6990fca0f0dc1107108f675d9786e629db Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 15:06:40 -0600 Subject: [PATCH 020/136] added flux JSON package, resolves #393 --- .../reference/flux/functions/json/_index.md | 22 +++++++++ .../reference/flux/functions/json/encode.md | 47 +++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/json/_index.md create mode 100644 content/v2.0/reference/flux/functions/json/encode.md diff --git a/content/v2.0/reference/flux/functions/json/_index.md b/content/v2.0/reference/flux/functions/json/_index.md new file mode 100644 index 000000000..ca7b8a82f --- /dev/null +++ b/content/v2.0/reference/flux/functions/json/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux JSON package +list_title: JSON package +description: > + The Flux JSON package provides functions for working with JSON. + Import the `json` package. +menu: + v2_0_ref: + name: JSON + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, json, package] +--- + +JSON Flux functions provide tools for working with JSON. +Import the `json` package: + +```js +import "json" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/json/encode.md b/content/v2.0/reference/flux/functions/json/encode.md new file mode 100644 index 000000000..50ca8f783 --- /dev/null +++ b/content/v2.0/reference/flux/functions/json/encode.md @@ -0,0 +1,47 @@ +--- +title: json.encode() function +description: The `json.encode()` function converts a value into JSON bytes +menu: + v2_0_ref: + name: json.encode + parent: JSON +weight: 202 +--- + +The `json.encode()` function converts a value into JSON bytes. + +_**Function type:** Type conversion_ + +```js +import "json" + +json.encode(v: "some value") +``` + +The function encodes [Flux types](/v2.0/reference/flux/language/types/) in the following manner: + +- It encodes `time` values using [RFC3339](https://tools.ietf.org/html/rfc3339). +- It encodes `duration` values in number of milliseconds since the epoch. +- It encodes `regexp` values as their string representation. +- It encodes `bytes` values as base64-encoded strings. +- It cannot encode `function` values and will produce an error. + +## Parameters + +### v +The value to convert. + +_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ + +## Examples + +### Encode all values in a column in JSON bytes +```js +import "json" + +from(bucket: "example-bucket") + |> range(start: -1h) + |> map(fn: (r) => ({ + r with _value: json.encode(v: r._value) + })) +``` From c2a3986572a854991bdb95b26a8a0772d07378b0 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 15:14:48 -0600 Subject: [PATCH 021/136] added bytes type conversion function, updated type conversion examples, resolves #414 --- .../transformations/type-conversions/bool.md | 5 ++-- .../transformations/type-conversions/bytes.md | 30 +++++++++++++++++++ .../type-conversions/duration.md | 5 ++-- .../transformations/type-conversions/float.md | 5 ++-- .../transformations/type-conversions/int.md | 5 ++-- .../type-conversions/string.md | 5 ++-- .../transformations/type-conversions/time.md | 5 ++-- .../transformations/type-conversions/uint.md | 5 ++-- 8 files changed, 44 insertions(+), 21 deletions(-) create mode 100644 content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bytes.md diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bool.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bool.md index 9d1f16127..e2124006c 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bool.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bool.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "system" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "system" ) |> map(fn:(r) => ({ r with responsive: bool(v: r.responsive) })) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bytes.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bytes.md new file mode 100644 index 000000000..c4bf8212e --- /dev/null +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/bytes.md @@ -0,0 +1,30 @@ +--- +title: bytes() function +description: The `bytes()` function converts a single value to bytes. +menu: + v2_0_ref: + name: bytes + parent: built-in-type-conversions +weight: 502 +--- + +The `bytes()` function converts a single value to bytes. + +_**Function type:** Type conversion_ +_**Output data type:** Bytes_ + +```js +bytes(v: "1m") +``` + +## Parameters + +### v +The value to convert. + +## Examples +```js +from(bucket: "sensor-data") + |> range(start: -1m) + |> map(fn:(r) => ({ r with _value: bytes(v: r._value) })) +``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/duration.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/duration.md index 02c669b8b..bb3a79a28 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/duration.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/duration.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "system" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "system" ) |> map(fn:(r) => ({ r with uptime: duration(v: r.uptime) })) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/float.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/float.md index 7e7251dd1..c077410db 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/float.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/float.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "camera" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "camera" ) |> map(fn:(r) => ({ r with aperature: float(v: r.aperature) })) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/int.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/int.md index ed495fc21..4085a88ce 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/int.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/int.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "camera" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "camera" ) |> map(fn:(r) => ({ r with exposures: int(v: r.exposures) })) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/string.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/string.md index b3c092602..4c892b569 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/string.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/string.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "system" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "system" ) |> map(fn:(r) => ({ r with model_number string(v: r.model_number) })) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/time.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/time.md index fd6afb49e..1bd9c324a 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/time.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/time.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "system" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "system" ) |> map(fn:(r) => ({ r with timestamp: time(v: r.timestamp) })) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/uint.md b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/uint.md index 68ade7713..1c72dcc67 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/uint.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/type-conversions/uint.md @@ -25,8 +25,7 @@ The value to convert. ## Examples ```js from(bucket: "sensor-data") - |> filter(fn:(r) => - r._measurement == "camera" and - ) + |> range(start: -1m) + |> filter(fn:(r) => r._measurement == "camera" ) |> map(fn:(r) => ({ r with exposures: uint(v: r.exposures) })) ``` From de40dd131e92785e0c9d080675d4d0e83ae734b8 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 15:20:40 -0600 Subject: [PATCH 022/136] added missing period in json.encode page description --- content/v2.0/reference/flux/functions/json/encode.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/json/encode.md b/content/v2.0/reference/flux/functions/json/encode.md index 50ca8f783..77752072c 100644 --- a/content/v2.0/reference/flux/functions/json/encode.md +++ b/content/v2.0/reference/flux/functions/json/encode.md @@ -1,6 +1,6 @@ --- title: json.encode() function -description: The `json.encode()` function converts a value into JSON bytes +description: The `json.encode()` function converts a value into JSON bytes. menu: v2_0_ref: name: json.encode From 7fbf960f12c24c81bfa6a5ffc1c9352ef02b0436 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 15:24:06 -0600 Subject: [PATCH 023/136] updated string interpolation docs --- .../reference/flux/language/lexical-elements.md | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/content/v2.0/reference/flux/language/lexical-elements.md b/content/v2.0/reference/flux/language/lexical-elements.md index d19fb807b..fa6a11af5 100644 --- a/content/v2.0/reference/flux/language/lexical-elements.md +++ b/content/v2.0/reference/flux/language/lexical-elements.md @@ -283,12 +283,6 @@ escaped_char = `\` ( "n" | "r" | "t" | `\` | `"` ) . StringExpression = "${" Expression "}" . ``` -{{% note %}} -To be added: TODO: With string interpolation `string_lit` is not longer a lexical token as part of a literal, but an entire expression in and of itself. - -[IMPL#252](https://github.com/influxdata/platform/issues/252) Parse string literals. -{{% /note %}} - ##### Examples of string literals ```js @@ -300,12 +294,12 @@ To be added: TODO: With string interpolation `string_lit` is not longer a lexica ``` String literals are also interpolated for embedded expressions to be evaluated as strings. -Embedded expressions are enclosed in curly brackets (`{}`). +Embedded expressions are enclosed within the literals `${` and `}` respectively. The expressions are evaluated in the scope containing the string literal. The result of an expression is formatted as a string and replaces the string content between the brackets. All types are formatted as strings according to their literal representation. A function `printf` exists to allow more precise control over formatting of various types. -To include the literal curly brackets within a string they must be escaped. +To include the literal `${` within a string, it must be escaped. {{% note %}} [IMPL#248](https://github.com/influxdata/platform/issues/248) Add printf function. @@ -320,6 +314,10 @@ n = 42 "dollar sign opening curly bracket \${" // dollar sign opening curly bracket ${ ``` +{{% note %}} +[IMPL#1775](https://github.com/influxdata/flux/issues/1775) Interpolate arbitrary expressions in string literals +{{% /note %}} + ### Regular expression literals A _regular expression literal_ represents a regular expression pattern, enclosed in forward slashes. From e3f8173314b03afa45e889e15fe048ba925d738a Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 26 Aug 2019 15:43:47 -0600 Subject: [PATCH 024/136] updates to json.encode to address PR feedback --- content/v2.0/reference/flux/functions/json/encode.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/content/v2.0/reference/flux/functions/json/encode.md b/content/v2.0/reference/flux/functions/json/encode.md index 77752072c..640241b34 100644 --- a/content/v2.0/reference/flux/functions/json/encode.md +++ b/content/v2.0/reference/flux/functions/json/encode.md @@ -18,13 +18,13 @@ import "json" json.encode(v: "some value") ``` -The function encodes [Flux types](/v2.0/reference/flux/language/types/) in the following manner: +This function encodes [Flux types](/v2.0/reference/flux/language/types/) as follows: -- It encodes `time` values using [RFC3339](https://tools.ietf.org/html/rfc3339). -- It encodes `duration` values in number of milliseconds since the epoch. -- It encodes `regexp` values as their string representation. -- It encodes `bytes` values as base64-encoded strings. -- It cannot encode `function` values and will produce an error. +- `time` values in [RFC3339](https://tools.ietf.org/html/rfc3339) format +- `duration` values in number of milliseconds since the epoch +- `regexp` values as their string representation +- `bytes` values as base64-encoded strings +- `function` values are not encoded and produce an error ## Parameters From 1d382b625f539767a5e3d36557f24cf49acb91d0 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 27 Aug 2019 08:08:09 -0600 Subject: [PATCH 025/136] WIP mqtt.to documentation --- .../reference/flux/functions/mqtt/_index.md | 22 ++++ .../v2.0/reference/flux/functions/mqtt/to.md | 110 ++++++++++++++++++ 2 files changed, 132 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/mqtt/_index.md create mode 100644 content/v2.0/reference/flux/functions/mqtt/to.md diff --git a/content/v2.0/reference/flux/functions/mqtt/_index.md b/content/v2.0/reference/flux/functions/mqtt/_index.md new file mode 100644 index 000000000..384e4e692 --- /dev/null +++ b/content/v2.0/reference/flux/functions/mqtt/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux MQTT package +list_title: MQTT package +description: > + The Flux MQTT package provides functions for working with MQTT protocol. + Import the `mqtt` package. +menu: + v2_0_ref: + name: MQTT + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, mqtt, package] +--- + +MQTT Flux functions provide tools for working with Message Queuing Telemetry Transport (MQTT) protocol. +Import the `mqtt` package: + +```js +import "mqtt" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/mqtt/to.md b/content/v2.0/reference/flux/functions/mqtt/to.md new file mode 100644 index 000000000..6fbb68fee --- /dev/null +++ b/content/v2.0/reference/flux/functions/mqtt/to.md @@ -0,0 +1,110 @@ +--- +title: mqtt.to() function +description: > + The `mqtt.to()` function outputs data to an MQTT broker using MQTT protocol. +menu: + v2_0_ref: + name: mqtt.to + parent: MQTT +weight: 202 +--- + +The `mqtt.to()` function outputs data to an MQTT broker using MQTT protocol. + +_**Function type:** Output_ + +```js +import "mqtt" + +mqtt.to( + broker: "tcp://localhost:8883", + topic: "example-topic", + message: "", + qos: 0, + clientid: "flux-mqtt", + username: "username", + password: "password", + name: "name-example", + timeout: 1s, + timeColumn: "_time", + tagColumns: ["tag1", "tag2"], + valueColumns: ["_value"] +) +``` + +## Parameters + +### broker +The MQTT broker connection string. + +_**Data type: String**_ + +### topic +The MQTT topic to send data to. + +_**Data type: String**_ + +### message +placeholder + +_**Data type: String**_ + +### qos +The [MQTT Quality of Service (QoS)](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901103) level. +Values range from `[0-2]`. + +_**Data type: Integer**_ + +### clientid +The MQTT client ID. + +_**Data type: String**_ + +### username +The username to send to the MQTT Broker. + +_**Data type: String**_ + +### password +The password to send to the MQTT Broker. + +_**Data type: String**_ + +### name +placeholder + +_**Data type: String**_ + +### timeout +placeholder +Defaults to `1s` + +_**Data type: Duration**_ + +### timeColumn +placeholder +Defaults to `"_time"`. + +_**Data type: String**_ + +### tagColumns +placeholder +Defaults to `[]`. + +_**Data type: Array of strings**_ + +### valueColumns +placeholder +Defaults to `["_value"]`. + +_**Data type: Array of strings**_ + + +## Examples + +### Send data to an MQTT endpoint +```js +import "mqtt" + +// ... +``` From 621f137f6376b7954097454a8a952c279ca1c38c Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 27 Aug 2019 08:33:33 -0600 Subject: [PATCH 026/136] WIP monitor package --- .../flux/functions/monitor/_index.md | 22 +++++++++++ .../reference/flux/functions/monitor/check.md | 38 +++++++++++++++++++ .../flux/functions/monitor/deadman.md | 38 +++++++++++++++++++ .../reference/flux/functions/monitor/from.md | 36 ++++++++++++++++++ .../reference/flux/functions/monitor/logs.md | 36 ++++++++++++++++++ .../flux/functions/monitor/notify.md | 36 ++++++++++++++++++ 6 files changed, 206 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/monitor/_index.md create mode 100644 content/v2.0/reference/flux/functions/monitor/check.md create mode 100644 content/v2.0/reference/flux/functions/monitor/deadman.md create mode 100644 content/v2.0/reference/flux/functions/monitor/from.md create mode 100644 content/v2.0/reference/flux/functions/monitor/logs.md create mode 100644 content/v2.0/reference/flux/functions/monitor/notify.md diff --git a/content/v2.0/reference/flux/functions/monitor/_index.md b/content/v2.0/reference/flux/functions/monitor/_index.md new file mode 100644 index 000000000..abb196eed --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux Monitor package +list_title: Monitor package +description: > + The Flux Monitor package provides tools for monitoring and alerting. + Import the `influxdata/influxdb/monitor` package. +menu: + v2_0_ref: + name: Monitor + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, monitor, alerts, package] +--- + +Monitor Flux functions provide tools for monitoring and alerting. +Import the `influxdata/influxdb/monitor` package: + +```js +import "influxdata/influxdb/monitor" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/monitor/check.md b/content/v2.0/reference/flux/functions/monitor/check.md new file mode 100644 index 000000000..b44af1657 --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/check.md @@ -0,0 +1,38 @@ +--- +title: monitor.check() function +description: The `monitor.check()` function ... +menu: + v2_0_ref: + name: monitor.check + parent: Monitor +weight: 202 +--- + +The `monitor.check()` function ... + +_**Function type:** Type conversion_ + +```js +import "influxdata/influxdb/monitor" + +monitor.check(...) +``` + + +## Parameters + +### v +The value to convert. + +_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ + +## Examples + +### ... +```js +import "influxdata/influxdb/monitor" + +from(bucket: "example-bucket") + |> range(start: -1h) + |> monitor.check(...) +``` diff --git a/content/v2.0/reference/flux/functions/monitor/deadman.md b/content/v2.0/reference/flux/functions/monitor/deadman.md new file mode 100644 index 000000000..7f7d29e10 --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/deadman.md @@ -0,0 +1,38 @@ +--- +title: monitor.deadman() function +description: The `monitor.deadman()` function ... +menu: + v2_0_ref: + name: monitor.deadman + parent: Monitor +weight: 202 +--- + +The `monitor.deadman()` function ... + +_**Function type:** Type conversion_ + +```js +import "influxdata/influxdb/monitor" + +monitor.deadman(...) +``` + + +## Parameters + +### v +The value to convert. + +_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ + +## Examples + +### ... +```js +import "influxdata/influxdb/monitor" + +from(bucket: "example-bucket") + |> range(start: -1h) + |> monitor.deadman(...) +``` diff --git a/content/v2.0/reference/flux/functions/monitor/from.md b/content/v2.0/reference/flux/functions/monitor/from.md new file mode 100644 index 000000000..ae77376d8 --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/from.md @@ -0,0 +1,36 @@ +--- +title: monitor.from() function +description: The `monitor.from()` function ... +menu: + v2_0_ref: + name: monitor.from + parent: Monitor +weight: 202 +--- + +The `monitor.from()` function ... + +_**Function type:** Type conversion_ + +```js +import "influxdata/influxdb/monitor" + +monitor.from(...) +``` + + +## Parameters + +### v +The value to convert. + +_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ + +## Examples + +### ... +```js +import "influxdata/influxdb/monitor" + +monitor.from(...) +``` diff --git a/content/v2.0/reference/flux/functions/monitor/logs.md b/content/v2.0/reference/flux/functions/monitor/logs.md new file mode 100644 index 000000000..aa45f7e04 --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/logs.md @@ -0,0 +1,36 @@ +--- +title: monitor.logs() function +description: The `monitor.logs()` function ... +menu: + v2_0_ref: + name: monitor.logs + parent: Monitor +weight: 202 +--- + +The `monitor.logs()` function ... + +_**Function type:** Type conversion_ + +```js +import "influxdata/influxdb/monitor" + +monitor.logs(...) +``` + + +## Parameters + +### v +The value to convert. + +_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ + +## Examples + +### ... +```js +import "influxdata/influxdb/monitor" + +monitor.logs(...) +``` diff --git a/content/v2.0/reference/flux/functions/monitor/notify.md b/content/v2.0/reference/flux/functions/monitor/notify.md new file mode 100644 index 000000000..3f777c78e --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/notify.md @@ -0,0 +1,36 @@ +--- +title: monitor.notify() function +description: The `monitor.notify()` function ... +menu: + v2_0_ref: + name: monitor.notify + parent: Monitor +weight: 202 +--- + +The `monitor.notify()` function ... + +_**Function type:** Type conversion_ + +```js +import "influxdata/influxdb/monitor" + +monitor.notify(...) +``` + + +## Parameters + +### v +The value to convert. + +_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ + +## Examples + +### ... +```js +import "influxdata/influxdb/monitor" + +monitor.notify(...) +``` From 31e669f5903dd232d0632de0e83754b25f89279b Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Tue, 27 Aug 2019 14:27:51 -0600 Subject: [PATCH 027/136] WIP updated monitor.from and monitor.notify functions --- .../reference/flux/functions/monitor/from.md | 52 +++++++++++++++---- .../flux/functions/monitor/notify.md | 34 ++++++++---- 2 files changed, 68 insertions(+), 18 deletions(-) diff --git a/content/v2.0/reference/flux/functions/monitor/from.md b/content/v2.0/reference/flux/functions/monitor/from.md index ae77376d8..110d9a123 100644 --- a/content/v2.0/reference/flux/functions/monitor/from.md +++ b/content/v2.0/reference/flux/functions/monitor/from.md @@ -1,6 +1,7 @@ --- title: monitor.from() function -description: The `monitor.from()` function ... +description: > + The `monitor.from()` function retrieves check statuses stored in the `_monitoring` bucket. menu: v2_0_ref: name: monitor.from @@ -8,29 +9,62 @@ menu: weight: 202 --- -The `monitor.from()` function ... +The `monitor.from()` function retrieves check statuses stored in the `_monitoring` bucket. -_**Function type:** Type conversion_ +_**Function type:** Input_ ```js import "influxdata/influxdb/monitor" -monitor.from(...) +monitor.from( + start: -1h, + stop: now(), + fn: (r) => true +) ``` ## Parameters -### v -The value to convert. +### start +The oldest time to include in results. -_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ +Relative start times are defined using negative durations. +Negative durations are relative to now. +Absolute start times are defined using timestamps. + +_**Data type:** Duration | Time_ + +### stop +The newest time to include in the results. +Defaults to `now()`. + +Relative stop times are defined using negative durations. +Negative durations are relative to now. +Absolute stop times are defined using timestamps. + +_**Data type:** Duration | Time_ + +{{% note %}} +Flux only honors [RFC3339 timestamps](/v2.0/reference/flux/language/types#timestamp-format) +and ignores dates and times provided in other formats. +{{% /note %}} + +### fn +A single argument predicate function that evaluates `true` or `false`. +Records or rows (`r`) that evaluate to `true` are included in output tables. +Records that evaluate to _null_ or `false` are not included in output tables. + +_**Data type:** Function_ ## Examples -### ... +### View critical check statuses from the last hour ```js import "influxdata/influxdb/monitor" -monitor.from(...) +monitor.from( + start: -1h, + fn: (r) => r._level == "crit" +) ``` diff --git a/content/v2.0/reference/flux/functions/monitor/notify.md b/content/v2.0/reference/flux/functions/monitor/notify.md index 3f777c78e..c1dc0fd0a 100644 --- a/content/v2.0/reference/flux/functions/monitor/notify.md +++ b/content/v2.0/reference/flux/functions/monitor/notify.md @@ -1,6 +1,8 @@ --- title: monitor.notify() function -description: The `monitor.notify()` function ... +description: > + The `monitor.notify()` function sends a notification to an endpoint and logs it + in the `notifications` measurement in the `_monitoring` bucket. menu: v2_0_ref: name: monitor.notify @@ -8,29 +10,43 @@ menu: weight: 202 --- -The `monitor.notify()` function ... +The `monitor.notify()` function sends a notification to an endpoint and logs it +in the `notifications` measurement in the `_monitoring` bucket. _**Function type:** Type conversion_ ```js import "influxdata/influxdb/monitor" -monitor.notify(...) +monitor.notify( + endpoint: , + data: {} +) ``` - ## Parameters -### v -The value to convert. +### endpoint +A function that constructs and sends the notification to an endpoint. -_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ +_**Data type:** Function_ + +### data +The data object to send to the endpoint. +Defaults to `{}`. + +_**Data type:** Object_ ## Examples -### ... +### Send a notification to Slack ```js import "influxdata/influxdb/monitor" +import "slack" -monitor.notify(...) +endpoint = slack.endpoint(name: "slack", channel: "#flux") + +from(bucket: "system") + |> range(start: -5m) + |> monitor.notify(endpoint: endpoint) ``` From dcf34b5aed46db7845bccca23a0a4a0810a03b7d Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 28 Aug 2019 09:42:43 -0600 Subject: [PATCH 028/136] documented the mqtt.to function, resolves #362 --- .../reference/flux/functions/mqtt/_index.md | 1 + .../v2.0/reference/flux/functions/mqtt/to.md | 48 +++++++++++++------ 2 files changed, 34 insertions(+), 15 deletions(-) diff --git a/content/v2.0/reference/flux/functions/mqtt/_index.md b/content/v2.0/reference/flux/functions/mqtt/_index.md index 384e4e692..2b53b4519 100644 --- a/content/v2.0/reference/flux/functions/mqtt/_index.md +++ b/content/v2.0/reference/flux/functions/mqtt/_index.md @@ -10,6 +10,7 @@ menu: parent: Flux packages and functions weight: 202 v2.0/tags: [functions, mqtt, package] +draft: true --- MQTT Flux functions provide tools for working with Message Queuing Telemetry Transport (MQTT) protocol. diff --git a/content/v2.0/reference/flux/functions/mqtt/to.md b/content/v2.0/reference/flux/functions/mqtt/to.md index 6fbb68fee..d91664b98 100644 --- a/content/v2.0/reference/flux/functions/mqtt/to.md +++ b/content/v2.0/reference/flux/functions/mqtt/to.md @@ -7,6 +7,7 @@ menu: name: mqtt.to parent: MQTT weight: 202 +draft: true --- The `mqtt.to()` function outputs data to an MQTT broker using MQTT protocol. @@ -19,7 +20,7 @@ import "mqtt" mqtt.to( broker: "tcp://localhost:8883", topic: "example-topic", - message: "", + message: "Example message", qos: 0, clientid: "flux-mqtt", username: "username", @@ -45,13 +46,20 @@ The MQTT topic to send data to. _**Data type: String**_ ### message -placeholder +The message or payload to send to the MQTT broker. +The default payload is all output tables. + +{{% note %}} +When you specify a message, the function sends only the message string to the MQTT broker. +It does not send any output tables. +{{% /note %}} _**Data type: String**_ ### qos The [MQTT Quality of Service (QoS)](https://docs.oasis-open.org/mqtt/mqtt/v5.0/os/mqtt-v5.0-os.html#_Toc3901103) level. Values range from `[0-2]`. +Default is `0`. _**Data type: Integer**_ @@ -61,50 +69,60 @@ The MQTT client ID. _**Data type: String**_ ### username -The username to send to the MQTT Broker. +The username to send to the MQTT broker. +This is only necessary when the MQTT broker requires authentication. _**Data type: String**_ ### password -The password to send to the MQTT Broker. +The password to send to the MQTT broker. +This is only necessary when the MQTT broker requires authentication. _**Data type: String**_ ### name -placeholder +The name for the MQTT message _(Optional)_. _**Data type: String**_ ### timeout -placeholder -Defaults to `1s` +The MQTT connection timeout. +Default is `1s` _**Data type: Duration**_ ### timeColumn -placeholder -Defaults to `"_time"`. +The column to use as time values in the output line protocol. +Default is `"_time"`. _**Data type: String**_ ### tagColumns -placeholder -Defaults to `[]`. +The columns to use as tag sets in the output line protocol. +Default is `[]`. _**Data type: Array of strings**_ ### valueColumns -placeholder -Defaults to `["_value"]`. +The columns to use as field values in the output line protocol. +Default is `["_value"]`. _**Data type: Array of strings**_ - ## Examples ### Send data to an MQTT endpoint ```js import "mqtt" -// ... +from(bucket: "example-bucket") + |> range(start: -5m) + |> filter(fn: (r) => r._measurement == "airSensor") + |> mqtt.to( + broker: "tcp://localhost:8883", + topic: "air-sensors", + clientid: "sensor-12a4", + tagColumns: ["sensorID"], + valueColumns: ["_value"] + ) ``` From 5fc3d439472c50cb4687e7f36b0708b6999a7405 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 28 Aug 2019 10:41:41 -0600 Subject: [PATCH 029/136] updated mqtt.to to address PR feedback --- content/v2.0/reference/flux/functions/mqtt/to.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/content/v2.0/reference/flux/functions/mqtt/to.md b/content/v2.0/reference/flux/functions/mqtt/to.md index d91664b98..e67566895 100644 --- a/content/v2.0/reference/flux/functions/mqtt/to.md +++ b/content/v2.0/reference/flux/functions/mqtt/to.md @@ -47,11 +47,11 @@ _**Data type: String**_ ### message The message or payload to send to the MQTT broker. -The default payload is all output tables. +The default payload is an output table. +If there are multiple output tables, it sends each table as a separate MQTT message. {{% note %}} -When you specify a message, the function sends only the message string to the MQTT broker. -It does not send any output tables. +When you specify a message, the function sends the message string only (no output table). {{% /note %}} _**Data type: String**_ @@ -70,24 +70,26 @@ _**Data type: String**_ ### username The username to send to the MQTT broker. -This is only necessary when the MQTT broker requires authentication. +Username is only required if the broker requires authentication. +If you provide a username, you must provide a [password](#password). _**Data type: String**_ ### password The password to send to the MQTT broker. -This is only necessary when the MQTT broker requires authentication. +Password is only required if the broker requires authentication. +If you provide a password, you must provide a [username](#username). _**Data type: String**_ ### name -The name for the MQTT message _(Optional)_. +_(Optional)_ The name for the MQTT message. _**Data type: String**_ ### timeout The MQTT connection timeout. -Default is `1s` +Default is `1s`. _**Data type: Duration**_ From 428faa0ee89e5085441499cf21727f26a3704391 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 29 Aug 2019 08:59:38 -0600 Subject: [PATCH 030/136] WIP added monitor.logs, working on monitor.deadman --- .../flux/functions/monitor/_index.md | 2 +- .../flux/functions/monitor/deadman.md | 15 ++++-- .../reference/flux/functions/monitor/logs.md | 50 +++++++++++++++---- 3 files changed, 52 insertions(+), 15 deletions(-) diff --git a/content/v2.0/reference/flux/functions/monitor/_index.md b/content/v2.0/reference/flux/functions/monitor/_index.md index abb196eed..3e0af6b67 100644 --- a/content/v2.0/reference/flux/functions/monitor/_index.md +++ b/content/v2.0/reference/flux/functions/monitor/_index.md @@ -12,7 +12,7 @@ weight: 202 v2.0/tags: [functions, monitor, alerts, package] --- -Monitor Flux functions provide tools for monitoring and alerting. +Monitor Flux functions provide tools for monitoring and alerting with InfluxDB. Import the `influxdata/influxdb/monitor` package: ```js diff --git a/content/v2.0/reference/flux/functions/monitor/deadman.md b/content/v2.0/reference/flux/functions/monitor/deadman.md index 7f7d29e10..ead39c1f2 100644 --- a/content/v2.0/reference/flux/functions/monitor/deadman.md +++ b/content/v2.0/reference/flux/functions/monitor/deadman.md @@ -1,23 +1,30 @@ --- title: monitor.deadman() function -description: The `monitor.deadman()` function ... +description: > + The `monitor.deadman()` function detects when a group stops reporting data. menu: v2_0_ref: name: monitor.deadman parent: Monitor weight: 202 +cloud_all: true --- -The `monitor.deadman()` function ... +The `monitor.deadman()` function detects when a group stops reporting data. +It takes a stream of tables and reports which groups or series are +observed before time `t`, but not after. -_**Function type:** Type conversion_ +_**Function type:** Transformation_ ```js import "influxdata/influxdb/monitor" -monitor.deadman(...) +monitor.deadman(t: -3m) ``` +`monitor.deadman()` retains the most recent row from each input table. +It adds a `dead` column to output tables. +If a group or series and sets it to `true` if the row's gro ## Parameters diff --git a/content/v2.0/reference/flux/functions/monitor/logs.md b/content/v2.0/reference/flux/functions/monitor/logs.md index aa45f7e04..018cf0c47 100644 --- a/content/v2.0/reference/flux/functions/monitor/logs.md +++ b/content/v2.0/reference/flux/functions/monitor/logs.md @@ -1,6 +1,7 @@ --- title: monitor.logs() function -description: The `monitor.logs()` function ... +description: > + The `monitor.logs()` function retrieves notification events stored in the `_monitoring` bucket. menu: v2_0_ref: name: monitor.logs @@ -8,29 +9,58 @@ menu: weight: 202 --- -The `monitor.logs()` function ... +The `monitor.logs()` function retrieves notification events stored in the `_monitoring` bucket. -_**Function type:** Type conversion_ +_**Function type:** Input_ ```js import "influxdata/influxdb/monitor" -monitor.logs(...) +monitor.logs( + start: -1h, + stop: now(), + fn: (r) => true +) ``` - ## Parameters -### v -The value to convert. +### start +The oldest time to include in results. -_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ +Relative start times are defined using negative durations. +Negative durations are relative to now. +Absolute start times are defined using timestamps. + +_**Data type:** Duration | Time_ + +### stop +The newest time to include in the results. +Defaults to `now()`. + +Relative stop times are defined using negative durations. +Negative durations are relative to now. +Absolute stop times are defined using timestamps. + +_**Data type:** Duration | Time_ + +{{% note %}} +Flux only honors [RFC3339 timestamps](/v2.0/reference/flux/language/types#timestamp-format) +and ignores dates and times provided in other formats. +{{% /note %}} + +### fn +A single argument predicate function that evaluates `true` or `false`. +Records or rows (`r`) that evaluate to `true` are included in output tables. +Records that evaluate to _null_ or `false` are not included in output tables. + +_**Data type:** Function_ ## Examples -### ... +### Query notification events from the last hour ```js import "influxdata/influxdb/monitor" -monitor.logs(...) +monitor.logs(start: -1h) ``` From 7f55dcf9f028f16aaf373f40ef4809a58b07abc6 Mon Sep 17 00:00:00 2001 From: Kelly Date: Thu, 29 Aug 2019 10:47:51 -0700 Subject: [PATCH 031/136] add page for Monitor data and receive alerts --- content/v2.0/cloud/monitor-alert/_index.md | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/_index.md diff --git a/content/v2.0/cloud/monitor-alert/_index.md b/content/v2.0/cloud/monitor-alert/_index.md new file mode 100644 index 000000000..256bf725e --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/_index.md @@ -0,0 +1,15 @@ +--- +title: Monitor data and receive alerts +seotitle: Monitor data and receive alerts in InfluxDB Cloud +description: > + Monitor and receive alerts on your time series data by creating checks, notification rules, and notification endpoints. +menu: + v2_0: + name: Monitor and alert +weight: 3 +v2.0/tags: [monitor, alert, checks, notification rules, notification endpoints] +--- + +Monitor and receive alerts on your time series data by creating checks, notification rules, and notification endpoints. + +{{< children >}} From 302b9b0171decb77f09b0faf0ca5e509b06a4699 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 29 Aug 2019 16:55:19 -0600 Subject: [PATCH 032/136] finshed deadman and check functions, resolves #377 --- .../flux/functions/monitor/_index.md | 8 +- .../reference/flux/functions/monitor/check.md | 80 ++++++++++++++++--- .../flux/functions/monitor/deadman.md | 22 ++--- .../reference/flux/functions/monitor/from.md | 2 +- .../reference/flux/functions/monitor/logs.md | 2 +- .../flux/functions/monitor/notify.md | 8 +- 6 files changed, 90 insertions(+), 32 deletions(-) diff --git a/content/v2.0/reference/flux/functions/monitor/_index.md b/content/v2.0/reference/flux/functions/monitor/_index.md index 3e0af6b67..bc57feadb 100644 --- a/content/v2.0/reference/flux/functions/monitor/_index.md +++ b/content/v2.0/reference/flux/functions/monitor/_index.md @@ -1,12 +1,12 @@ --- -title: Flux Monitor package -list_title: Monitor package +title: Flux InfluxDB Monitor package +list_title: InfluxDB Monitor package description: > - The Flux Monitor package provides tools for monitoring and alerting. + The Flux Monitor package provides tools for monitoring and alerting with InfluxDB. Import the `influxdata/influxdb/monitor` package. menu: v2_0_ref: - name: Monitor + name: InfluxDB Monitor parent: Flux packages and functions weight: 202 v2.0/tags: [functions, monitor, alerts, package] diff --git a/content/v2.0/reference/flux/functions/monitor/check.md b/content/v2.0/reference/flux/functions/monitor/check.md index b44af1657..67f6198ba 100644 --- a/content/v2.0/reference/flux/functions/monitor/check.md +++ b/content/v2.0/reference/flux/functions/monitor/check.md @@ -1,38 +1,94 @@ --- title: monitor.check() function -description: The `monitor.check()` function ... +description: > + The `monitor.check()` function performs a check against input data and assigns an `ok`, + `info`, `warn` or `crit`level to each row based on user-specified predicate functions. menu: v2_0_ref: name: monitor.check - parent: Monitor + parent: InfluxDB Monitor weight: 202 --- -The `monitor.check()` function ... +The `monitor.check()` function performs a check against input data and assigns an `ok`, +`info`, `warn` or `crit` level to each row based on user-specified predicate functions. +The function stores statuses in the `_level` column and writes all check results to the +`statuses` measurement in the `_monitoring` bucket. -_**Function type:** Type conversion_ +_**Function type:** Transformation_ ```js import "influxdata/influxdb/monitor" -monitor.check(...) +monitor.check( + crit: (r) => r._value > 90.0, + warn: (r) => r._value > 80.0, + info: (r) => r._value > 60.0, + ok: (r) => r._value <= 20.0, + messageFn: (r) => "The current level is ${r._level}", + data: {} +) ``` - ## Parameters -### v -The value to convert. +### crit +Predicate function that determines `crit` status. +Default is `(r) => false`. -_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ +_**Data type:** Function_ + +### warn +Predicate function that determines `warn` status. +Default is `(r) => false`. + +_**Data type:** Function_ + +### info +Predicate function that determines `info` status. +Default is `(r) => false`. + +_**Data type:** Function_ + +### ok +Predicate function that determines `ok` status. +Default is `(r) => true`. + +_**Data type:** Function_ + +### messageFn +A function that constructs a message to append to each row. +The message is stored in the `_message` column. + +_**Data type:** Function_ + +### data +Data to append to the to output data. +**InfluxDB populates check data.** + +_**Data type:** Object_ ## Examples -### ... +### Monitor disk usage ```js import "influxdata/influxdb/monitor" -from(bucket: "example-bucket") +from(bucket: "telegraf") |> range(start: -1h) - |> monitor.check(...) + |> filter(fn: (r) => + r._measurement == "disk" and + r._field = "used_percent" + ) + |> monitor.check( + crit: (r) => r._value > 90.0, + warn: (r) => r._value > 80.0, + info: (r) => r._value > 70.0, + ok: (r) => r._value <= 60.0, + messageFn: (r) => + if r._level == "crit" then "Critical alert!! Disk usage is at ${r._value}%!" + else if r._level == "warn" then "Warning! Disk usage is at ${r._value}%." + else if r._level == "info" then "Disk usage is at ${r._value}%." + else "Things are looking good." + ) ``` diff --git a/content/v2.0/reference/flux/functions/monitor/deadman.md b/content/v2.0/reference/flux/functions/monitor/deadman.md index ead39c1f2..1ae8286ff 100644 --- a/content/v2.0/reference/flux/functions/monitor/deadman.md +++ b/content/v2.0/reference/flux/functions/monitor/deadman.md @@ -5,7 +5,7 @@ description: > menu: v2_0_ref: name: monitor.deadman - parent: Monitor + parent: InfluxDB Monitor weight: 202 cloud_all: true --- @@ -22,24 +22,26 @@ import "influxdata/influxdb/monitor" monitor.deadman(t: -3m) ``` -`monitor.deadman()` retains the most recent row from each input table. -It adds a `dead` column to output tables. -If a group or series and sets it to `true` if the row's gro +`monitor.deadman()` retains the most recent row from each input table and adds a `dead` column. +It sets `dead` to `true` if the record appears before time `t`. +It sets `dead` to `false` if the group appears after time `t`. ## Parameters -### v -The value to convert. +### t +The time threshold for the deadman check. -_**Data type:** Boolean | Duration | Float | Integer | String | Time | UInteger_ +_**Data type:** Time_ ## Examples -### ... +### Detect if a host hasn't reported in the last five minutes ```js import "influxdata/influxdb/monitor" +import "experimental" from(bucket: "example-bucket") - |> range(start: -1h) - |> monitor.deadman(...) + |> range(start: -10m) + |> group(columns: ["host"]) + |> monitor.deadman(t: experimental.subDuration(d: 5m, from: now() )) ``` diff --git a/content/v2.0/reference/flux/functions/monitor/from.md b/content/v2.0/reference/flux/functions/monitor/from.md index 110d9a123..540006923 100644 --- a/content/v2.0/reference/flux/functions/monitor/from.md +++ b/content/v2.0/reference/flux/functions/monitor/from.md @@ -5,7 +5,7 @@ description: > menu: v2_0_ref: name: monitor.from - parent: Monitor + parent: InfluxDB Monitor weight: 202 --- diff --git a/content/v2.0/reference/flux/functions/monitor/logs.md b/content/v2.0/reference/flux/functions/monitor/logs.md index 018cf0c47..1ed8ad486 100644 --- a/content/v2.0/reference/flux/functions/monitor/logs.md +++ b/content/v2.0/reference/flux/functions/monitor/logs.md @@ -5,7 +5,7 @@ description: > menu: v2_0_ref: name: monitor.logs - parent: Monitor + parent: InfluxDB Monitor weight: 202 --- diff --git a/content/v2.0/reference/flux/functions/monitor/notify.md b/content/v2.0/reference/flux/functions/monitor/notify.md index c1dc0fd0a..ac671fcf6 100644 --- a/content/v2.0/reference/flux/functions/monitor/notify.md +++ b/content/v2.0/reference/flux/functions/monitor/notify.md @@ -6,14 +6,14 @@ description: > menu: v2_0_ref: name: monitor.notify - parent: Monitor + parent: InfluxDB Monitor weight: 202 --- The `monitor.notify()` function sends a notification to an endpoint and logs it in the `notifications` measurement in the `_monitoring` bucket. -_**Function type:** Type conversion_ +_**Function type:** Output_ ```js import "influxdata/influxdb/monitor" @@ -32,8 +32,8 @@ A function that constructs and sends the notification to an endpoint. _**Data type:** Function_ ### data -The data object to send to the endpoint. -Defaults to `{}`. +Data to append to output data. +**InfluxDB populates notification data.** _**Data type:** Object_ From cb74dbffe37b091ab8dd95fd8ccc7b30e2bc23d1 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 30 Aug 2019 09:09:33 -0600 Subject: [PATCH 033/136] updated monitor package docs to address PR feedback --- .../built-in/transformations/range.md | 26 +++++++++---------- .../flux/functions/monitor/_index.md | 2 +- .../reference/flux/functions/monitor/check.md | 15 ++++++----- .../flux/functions/monitor/deadman.md | 7 +++-- .../reference/flux/functions/monitor/from.md | 21 +++++++-------- .../reference/flux/functions/monitor/logs.md | 21 +++++++-------- .../flux/functions/monitor/notify.md | 2 +- 7 files changed, 43 insertions(+), 51 deletions(-) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/range.md b/content/v2.0/reference/flux/functions/built-in/transformations/range.md index bb7a142b4..371cce541 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/range.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/range.md @@ -26,26 +26,24 @@ range(start: -15m, stop: now()) ## Parameters ### start -Specifies the oldest time to be included in the results. +The earliest time to include in results. +Use a relative duration or absolute time. +For example, `-1h` or `2019-08-28T22:00:00Z`. +Durations are relative to `now()`. -Relative start times are defined using negative durations. -Negative durations are relative to now. -Absolute start times are defined using timestamps. - -_**Data type:** Duration or Timestamp_ +_**Data type:** Duration | Time_ ### stop -Specifies the newest time to be included in the results. Defaults to `now`. +The latest time to include in results. +Use a relative duration or absolute time. +For example, `-1h` or `2019-08-28T22:00:00Z`. +Durations are relative to `now()`. +Defaults to `now()`. -Relative stop times are defined using negative durations. -Negative durations are relative to now. -Absolute stop times are defined using timestamps. - -_**Data type:** Duration or Timestamp_ +_**Data type:** Duration | Time_ {{% note %}} -Flux only honors [RFC3339 timestamps](/v2.0/reference/flux/language/types#timestamp-format) -and ignores dates and times provided in other formats. +Time values in Flux must be in [RFC3339 format](/v2.0/reference/flux/language/types#timestamp-format). {{% /note %}} ## Examples diff --git a/content/v2.0/reference/flux/functions/monitor/_index.md b/content/v2.0/reference/flux/functions/monitor/_index.md index bc57feadb..12271be11 100644 --- a/content/v2.0/reference/flux/functions/monitor/_index.md +++ b/content/v2.0/reference/flux/functions/monitor/_index.md @@ -12,7 +12,7 @@ weight: 202 v2.0/tags: [functions, monitor, alerts, package] --- -Monitor Flux functions provide tools for monitoring and alerting with InfluxDB. +The Flux monitor package provides tools for monitoring and alerting with InfluxDB. Import the `influxdata/influxdb/monitor` package: ```js diff --git a/content/v2.0/reference/flux/functions/monitor/check.md b/content/v2.0/reference/flux/functions/monitor/check.md index 67f6198ba..ce8de7b7f 100644 --- a/content/v2.0/reference/flux/functions/monitor/check.md +++ b/content/v2.0/reference/flux/functions/monitor/check.md @@ -1,8 +1,8 @@ --- title: monitor.check() function description: > - The `monitor.check()` function performs a check against input data and assigns an `ok`, - `info`, `warn` or `crit`level to each row based on user-specified predicate functions. + The `monitor.check()` function function checks input data and assigns a level + (`ok`, `info`, `warn`, or `crit`) to each row based on predicate functions. menu: v2_0_ref: name: monitor.check @@ -10,10 +10,8 @@ menu: weight: 202 --- -The `monitor.check()` function performs a check against input data and assigns an `ok`, -`info`, `warn` or `crit` level to each row based on user-specified predicate functions. -The function stores statuses in the `_level` column and writes all check results to the -`statuses` measurement in the `_monitoring` bucket. +The `monitor.check()` function function checks input data and assigns a level +(`ok`, `info`, `warn`, or `crit`) to each row based on predicate functions. _**Function type:** Transformation_ @@ -30,6 +28,9 @@ monitor.check( ) ``` +`monitor.check()` stores statuses in the `_level` column and writes results +to the `statuses` measurement in the `_monitoring` bucket. + ## Parameters ### crit @@ -63,7 +64,7 @@ The message is stored in the `_message` column. _**Data type:** Function_ ### data -Data to append to the to output data. +Data to append to the output. **InfluxDB populates check data.** _**Data type:** Object_ diff --git a/content/v2.0/reference/flux/functions/monitor/deadman.md b/content/v2.0/reference/flux/functions/monitor/deadman.md index 1ae8286ff..08a030398 100644 --- a/content/v2.0/reference/flux/functions/monitor/deadman.md +++ b/content/v2.0/reference/flux/functions/monitor/deadman.md @@ -11,8 +11,7 @@ cloud_all: true --- The `monitor.deadman()` function detects when a group stops reporting data. -It takes a stream of tables and reports which groups or series are -observed before time `t`, but not after. +It takes a stream of tables and reports if groups have been observed since time `t`. _**Function type:** Transformation_ @@ -23,8 +22,8 @@ monitor.deadman(t: -3m) ``` `monitor.deadman()` retains the most recent row from each input table and adds a `dead` column. -It sets `dead` to `true` if the record appears before time `t`. -It sets `dead` to `false` if the group appears after time `t`. +If a record appears **after** time `t`, `monitor.deadman()` sets `dead` to `false`. +Otherwise, `dead` is set to `true`. ## Parameters diff --git a/content/v2.0/reference/flux/functions/monitor/from.md b/content/v2.0/reference/flux/functions/monitor/from.md index 540006923..2c97ed710 100644 --- a/content/v2.0/reference/flux/functions/monitor/from.md +++ b/content/v2.0/reference/flux/functions/monitor/from.md @@ -27,27 +27,24 @@ monitor.from( ## Parameters ### start -The oldest time to include in results. - -Relative start times are defined using negative durations. -Negative durations are relative to now. -Absolute start times are defined using timestamps. +The earliest time to include in results. +Use a relative duration or absolute time. +For example, `-1h` or `2019-08-28T22:00:00Z`. +Durations are relative to `now()`. _**Data type:** Duration | Time_ ### stop -The newest time to include in the results. +The latest time to include in results. +Use a relative duration or absolute time. +For example, `-1h` or `2019-08-28T22:00:00Z`. +Durations are relative to `now()`. Defaults to `now()`. -Relative stop times are defined using negative durations. -Negative durations are relative to now. -Absolute stop times are defined using timestamps. - _**Data type:** Duration | Time_ {{% note %}} -Flux only honors [RFC3339 timestamps](/v2.0/reference/flux/language/types#timestamp-format) -and ignores dates and times provided in other formats. +Time values in Flux must be in [RFC3339 format](/v2.0/reference/flux/language/types#timestamp-format). {{% /note %}} ### fn diff --git a/content/v2.0/reference/flux/functions/monitor/logs.md b/content/v2.0/reference/flux/functions/monitor/logs.md index 1ed8ad486..5b13f9c14 100644 --- a/content/v2.0/reference/flux/functions/monitor/logs.md +++ b/content/v2.0/reference/flux/functions/monitor/logs.md @@ -26,27 +26,24 @@ monitor.logs( ## Parameters ### start -The oldest time to include in results. - -Relative start times are defined using negative durations. -Negative durations are relative to now. -Absolute start times are defined using timestamps. +The earliest time to include in results. +Use a relative duration or absolute time. +For example, `-1h` or `2019-08-28T22:00:00Z`. +Durations are relative to `now()`. _**Data type:** Duration | Time_ ### stop -The newest time to include in the results. +The latest time to include in results. +Use a relative duration or absolute time. +For example, `-1h` or `2019-08-28T22:00:00Z`. +Durations are relative to `now()`. Defaults to `now()`. -Relative stop times are defined using negative durations. -Negative durations are relative to now. -Absolute stop times are defined using timestamps. - _**Data type:** Duration | Time_ {{% note %}} -Flux only honors [RFC3339 timestamps](/v2.0/reference/flux/language/types#timestamp-format) -and ignores dates and times provided in other formats. +Time values in Flux must be in [RFC3339 format](/v2.0/reference/flux/language/types#timestamp-format). {{% /note %}} ### fn diff --git a/content/v2.0/reference/flux/functions/monitor/notify.md b/content/v2.0/reference/flux/functions/monitor/notify.md index ac671fcf6..e596600fd 100644 --- a/content/v2.0/reference/flux/functions/monitor/notify.md +++ b/content/v2.0/reference/flux/functions/monitor/notify.md @@ -32,7 +32,7 @@ A function that constructs and sends the notification to an endpoint. _**Data type:** Function_ ### data -Data to append to output data. +Data to append to the output. **InfluxDB populates notification data.** _**Data type:** Object_ From 6ea36fe096dc4eeb82d6c953eec02aa1114a1043 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 30 Aug 2019 09:27:48 -0600 Subject: [PATCH 034/136] corrected deadman t param value --- content/v2.0/reference/flux/functions/monitor/deadman.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/monitor/deadman.md b/content/v2.0/reference/flux/functions/monitor/deadman.md index 08a030398..6f52a49a1 100644 --- a/content/v2.0/reference/flux/functions/monitor/deadman.md +++ b/content/v2.0/reference/flux/functions/monitor/deadman.md @@ -18,7 +18,7 @@ _**Function type:** Transformation_ ```js import "influxdata/influxdb/monitor" -monitor.deadman(t: -3m) +monitor.deadman(t: 2019-08-30T12:30:00Z) ``` `monitor.deadman()` retains the most recent row from each input table and adds a `dead` column. From 5b193f8362a1f748fb9e86652aaf8409847ce720 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 30 Aug 2019 09:37:02 -0600 Subject: [PATCH 035/136] updated monitor.notify endpoint param example --- content/v2.0/reference/flux/functions/monitor/notify.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/monitor/notify.md b/content/v2.0/reference/flux/functions/monitor/notify.md index e596600fd..5f7dfec22 100644 --- a/content/v2.0/reference/flux/functions/monitor/notify.md +++ b/content/v2.0/reference/flux/functions/monitor/notify.md @@ -19,7 +19,7 @@ _**Function type:** Output_ import "influxdata/influxdb/monitor" monitor.notify( - endpoint: , + endpoint: endpoint, data: {} ) ``` From 40b6ef86a2a8947fd3eba8f62fb2f110c1cdc90e Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 30 Aug 2019 16:36:08 -0600 Subject: [PATCH 036/136] added http package, resolves #389 --- .../reference/flux/functions/http/_index.md | 22 +++++++ .../reference/flux/functions/http/post.md | 63 +++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/http/_index.md create mode 100644 content/v2.0/reference/flux/functions/http/post.md diff --git a/content/v2.0/reference/flux/functions/http/_index.md b/content/v2.0/reference/flux/functions/http/_index.md new file mode 100644 index 000000000..d8d589f6c --- /dev/null +++ b/content/v2.0/reference/flux/functions/http/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux HTTP package +list_title: HTTP package +description: > + The Flux HTTP package provides functions ... + Import the `http` package. +menu: + v2_0_ref: + name: HTTP + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, http, package] +--- + +The Flux HTTP package provides functions ... +Import the `http` package: + +```js +import "http" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/http/post.md b/content/v2.0/reference/flux/functions/http/post.md new file mode 100644 index 000000000..4a143fc39 --- /dev/null +++ b/content/v2.0/reference/flux/functions/http/post.md @@ -0,0 +1,63 @@ +--- +title: http.post() function +description: The `http.post()` function submits an HTTP POST request to the specified URL with headers and data. +// The HTTP status code is returned. +menu: + v2_0_ref: + name: http.post + parent: HTTP +weight: 202 +--- + +The `http.post()` function submits an HTTP POST request to the specified URL with +headers and data and returns the HTTP status code. + +_**Function type:** Output_ + +```js +import "http" + +http.post( + url: "http://localhost:9999/", + headers: {x:"a", y:"b", z:"c"}, + data: bytes(v: "body") +) +``` + +## Parameters + +### url +The URL to POST to. + +_**Data type:** String_ + +### headers +Headers to include with the POST request. + +_**Data type:** Object_ + +### data +The data body to include with the POST request. + +_**Data type:** Bytes_ + +## Examples + +### ... +```js +import "json" +import "http" + +lastReported = + from(bucket: "example-bucket") + |> range(start: -1m) + |> filter(fn: (r) => r._measurement == "statuses") + |> last() + |> map(fn: (r) => { return {status: r._status} }) + +http.post( + url: "http://myawsomeurl.com/api/notify", + headers: {Authorization: "Bearer mySuPerSecRetTokEn"}, + data: bytes(v: lastReported) +) +``` From d4a568163dd16504a6a70a9442618ff715ed4558 Mon Sep 17 00:00:00 2001 From: Kelly Date: Tue, 3 Sep 2019 11:07:14 -0700 Subject: [PATCH 037/136] add notification-endpoints.md --- .../monitor-alert/notification-endpoints.md | 80 +++++++++++++++++++ 1 file changed, 80 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/notification-endpoints.md diff --git a/content/v2.0/cloud/monitor-alert/notification-endpoints.md b/content/v2.0/cloud/monitor-alert/notification-endpoints.md new file mode 100644 index 000000000..334e4a914 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/notification-endpoints.md @@ -0,0 +1,80 @@ +--- +title: Create notification endpoints +description: > + Create notification endpoints to receive alerts on your time series data. + +weight: 101 +v2.0/tags: [monitor, checks] +menu: + v2_0: + name: Create notification endpoints + parent: Monitor and alert +related: + - /v2.0/monitor-alert/create-notification-rules/ + - /v2.0/monitor-alert/create-notification-endpoints/ +--- + +To receive notifications about changes in your data, start by setting up a notification endpoint. After setting up your notification endpoints, create notification rules and checks . + +## Create a notification endpoint in the UI + +1. On the **Monitoring and Alerting** page, next to **Notification Endpoints**, click **Create**. +2. In the **Name** and **Description** fields, enter a name and description for the endpoint (description used on History page? anywhere else?). +3. From the **Destination** drop-down list, select a destination to send notifications: + - (Free plan) HTTP server + - (Pay as You Go plan) HTTP server, Slack, or PagerDuty +4. Enter the **URL** to notify, and then enter connection information: + + - For HTTP: + + a. Select the **HTTP method** to use. In most cases, select **POST**. {find use cases when to use PUT & GET} + + b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. + + c. In the **Content Template** field, enter {examples for each endpoint template}. + + - For Slack, enter your Slack authentication token in the **Token** field. + - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. + +5. Click **Create Notification Endpoint**. + +##### Example creating a Slack notification endpoint in line protocol + +```js +// To create the endpoint, run the following command with your secret key and Slack authorization token. + +vault kv put secret/111ab11111111111 SLACK_TOKEN=AABBCCDEEEeee + +Key Value +--- ----- +created_time 2019-08-28T18:39:06.766942315Z +deletion_time n/a +destroyed false +version 2 + +// To test your Slack notification endpoint, run the following command. + +curl http://localhost:9999/api/v2/query\?org\=my-org -XPOST -sS -H 'Authorization: Token my-token' -H 'accept:application/csv' -H 'content-type:application/vnd.flux' -d 'import "influxdata/influxdb/secrets" import "generate" x = secrets.get(key:"SLACK_TOKEN") from(bucket: "my-bucket") |> range(start: -5h) |> set(key:"secret", value: x) ' + +,result,table,_start,_stop,_time,_value,_field,_measurement,k,secret +,_result,0,2019-08-28T13:39:09.820375497Z,2019-08-28T18:39:09.820375497Z,2019-08-28T17:07:03Z,18739,v,m,v,AABBCCDEEEeee +``` + +##### Example creating a PagerDuty notification endpoint in line protocol + +```js +// To create the endpoint, run the following command with your authorization routing key. + +Enter example here...detail from v1 docs: +Routing Key: GUID of your PagerDuty Events API V2 integration, listed as “Integration Key”. +See Create a new service in the PagerDuty documentation details on getting an “Integration Key” (routing_key). +PagerDuty URL: URL used to POST a JSON body representing the event. This value should not be changed. Valid value is https://events.pagerduty.com/v2/enqueue. +metrics available for integration; api keys and application keys currently in use by organization + +// To test your PagerDuty notification endpoint, run the following command. + +See the PagerDuty Events API V2 Overview for details on the PagerDuty Events API and recognized event types (trigger, acknowledge, and resolve). + +```js +from(bucket: alertBucket) |> [conditions here] |> toPagerDuty() +``` \ No newline at end of file From 8250b6e260625f7c25cfac9276c105495aae7eed Mon Sep 17 00:00:00 2001 From: Kelly Date: Tue, 3 Sep 2019 11:08:11 -0700 Subject: [PATCH 038/136] change check tag to notification endpoint --- content/v2.0/cloud/monitor-alert/notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-endpoints.md b/content/v2.0/cloud/monitor-alert/notification-endpoints.md index 334e4a914..e115e1782 100644 --- a/content/v2.0/cloud/monitor-alert/notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/notification-endpoints.md @@ -4,7 +4,7 @@ description: > Create notification endpoints to receive alerts on your time series data. weight: 101 -v2.0/tags: [monitor, checks] +v2.0/tags: [monitor, notification endpoints] menu: v2_0: name: Create notification endpoints From 4ebe98de16b2b5185bc770174b9f111759c1c830 Mon Sep 17 00:00:00 2001 From: Nora Date: Tue, 3 Sep 2019 13:44:41 -0700 Subject: [PATCH 039/136] Create notification-rules doc --- .../cloud/monitor-alert/notification-rules.md | 38 +++++++++++++++++++ 1 file changed, 38 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/notification-rules.md diff --git a/content/v2.0/cloud/monitor-alert/notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules.md new file mode 100644 index 000000000..9588a8770 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/notification-rules.md @@ -0,0 +1,38 @@ +--- +title: Create notification rules +description: > + Create notification rules to receive alerts on your time series data. + +weight: 101 +v2.0/tags: [monitor, notification rules] +menu: + v2_0: + name: Create notification rules + parent: Monitor and alert +related: + - /v2.0/monitor-alert/create-notification-endpoints/ +--- + +To receive notifications about changes in your data, start by setting up a notification endpoint. After setting up your notification endpoints, create notification rules and checks . + +## Create a notification rule in the UI + +1. On the **Monitoring and Alerting** page, next to **Notification Rules**, click **Create**. +2. In the **Name** and **Description** fields, enter a name and description for the endpoint (description used on History page? anywhere else?). +3. From the **Destination** drop-down list, select a destination to send notifications: + - (Free plan) HTTP server + - (Pay as You Go plan) HTTP server, Slack, or PagerDuty +4. Enter the **URL** to notify, and then enter connection information: + + - For HTTP: + + a. Select the **HTTP method** to use. In most cases, select **POST**. {find use cases when to use PUT & GET} + + b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. + + c. In the **Content Template** field, enter {examples for each endpoint template}. + + - For Slack, enter your Slack authentication token in the **Token** field. + - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. + +5. Click **Create Notification Endpoint**. From 8bb7c763ef21948223a06a1cd59e4835b50845a6 Mon Sep 17 00:00:00 2001 From: Kelly Date: Tue, 3 Sep 2019 15:13:17 -0700 Subject: [PATCH 040/136] add edits from Scott --- content/v2.0/cloud/monitor-alert/_index.md | 10 ++--- .../monitor-alert/notification-endpoints.md | 42 +++++++------------ 2 files changed, 19 insertions(+), 33 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/_index.md b/content/v2.0/cloud/monitor-alert/_index.md index 256bf725e..414f9481b 100644 --- a/content/v2.0/cloud/monitor-alert/_index.md +++ b/content/v2.0/cloud/monitor-alert/_index.md @@ -1,15 +1,15 @@ --- -title: Monitor data and receive alerts -seotitle: Monitor data and receive alerts in InfluxDB Cloud +title: Monitor data and send alerts +seotitle: Monitor data and send alerts description: > - Monitor and receive alerts on your time series data by creating checks, notification rules, and notification endpoints. + Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. menu: v2_0: name: Monitor and alert weight: 3 -v2.0/tags: [monitor, alert, checks, notification rules, notification endpoints] +v2.0/tags: [monitor, alert, checks, notification, endpoints] --- -Monitor and receive alerts on your time series data by creating checks, notification rules, and notification endpoints. +Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. {{< children >}} diff --git a/content/v2.0/cloud/monitor-alert/notification-endpoints.md b/content/v2.0/cloud/monitor-alert/notification-endpoints.md index e115e1782..1fb5b6632 100644 --- a/content/v2.0/cloud/monitor-alert/notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/notification-endpoints.md @@ -1,28 +1,27 @@ --- title: Create notification endpoints description: > - Create notification endpoints to receive alerts on your time series data. + Create notification endpoints to send alerts on your time series data. weight: 101 -v2.0/tags: [monitor, notification endpoints] +v2.0/tags: [monitor, notifications, endpoints] menu: v2_0: - name: Create notification endpoints parent: Monitor and alert related: - /v2.0/monitor-alert/create-notification-rules/ - /v2.0/monitor-alert/create-notification-endpoints/ --- -To receive notifications about changes in your data, start by setting up a notification endpoint. After setting up your notification endpoints, create notification rules and checks . +To send notifications about changes in your data, start by setting up a notification endpoint. After setting up your notification endpoints, create notification rules and checks . ## Create a notification endpoint in the UI 1. On the **Monitoring and Alerting** page, next to **Notification Endpoints**, click **Create**. -2. In the **Name** and **Description** fields, enter a name and description for the endpoint (description used on History page? anywhere else?). -3. From the **Destination** drop-down list, select a destination to send notifications: - - (Free plan) HTTP server - - (Pay as You Go plan) HTTP server, Slack, or PagerDuty +2. In the **Name** and **Description** fields, enter a name and description for the endpoint. +3. From the **Destination** drop-down list, select a destination endpoint to send notifications: + - (Free plan) HTTP + - (Pay as You Go plan) HTTP, Slack, or PagerDuty 4. Enter the **URL** to notify, and then enter connection information: - For HTTP: @@ -43,38 +42,25 @@ To receive notifications about changes in your data, start by setting up a notif ```js // To create the endpoint, run the following command with your secret key and Slack authorization token. -vault kv put secret/111ab11111111111 SLACK_TOKEN=AABBCCDEEEeee - -Key Value ---- ----- -created_time 2019-08-28T18:39:06.766942315Z -deletion_time n/a -destroyed false -version 2 +TBD // To test your Slack notification endpoint, run the following command. -curl http://localhost:9999/api/v2/query\?org\=my-org -XPOST -sS -H 'Authorization: Token my-token' -H 'accept:application/csv' -H 'content-type:application/vnd.flux' -d 'import "influxdata/influxdb/secrets" import "generate" x = secrets.get(key:"SLACK_TOKEN") from(bucket: "my-bucket") |> range(start: -5h) |> set(key:"secret", value: x) ' - -,result,table,_start,_stop,_time,_value,_field,_measurement,k,secret -,_result,0,2019-08-28T13:39:09.820375497Z,2019-08-28T18:39:09.820375497Z,2019-08-28T17:07:03Z,18739,v,m,v,AABBCCDEEEeee -``` +TBD ##### Example creating a PagerDuty notification endpoint in line protocol ```js // To create the endpoint, run the following command with your authorization routing key. -Enter example here...detail from v1 docs: -Routing Key: GUID of your PagerDuty Events API V2 integration, listed as “Integration Key”. -See Create a new service in the PagerDuty documentation details on getting an “Integration Key” (routing_key). -PagerDuty URL: URL used to POST a JSON body representing the event. This value should not be changed. Valid value is https://events.pagerduty.com/v2/enqueue. -metrics available for integration; api keys and application keys currently in use by organization +TBD +To obtain a PagerDuty routing_key, see PagerDuty documentation. Once you obtain your routing key, (add example with integration metrics, api and application keys). +Example using POST to send JSON body representing an event to PagerDuty URL. Note, URL should not change (once notification rule is set?). example PagerDuty URL: https://events.pagerduty.com/v2/enqueue. + // To test your PagerDuty notification endpoint, run the following command. -See the PagerDuty Events API V2 Overview for details on the PagerDuty Events API and recognized event types (trigger, acknowledge, and resolve). - +TBD ```js from(bucket: alertBucket) |> [conditions here] |> toPagerDuty() ``` \ No newline at end of file From 5f44999373a4083a8809f139ae8da1398b9aaadb Mon Sep 17 00:00:00 2001 From: Nora Date: Tue, 3 Sep 2019 15:25:07 -0700 Subject: [PATCH 041/136] updated steps --- .../cloud/monitor-alert/notification-rules.md | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules.md index 9588a8770..0369ef504 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules.md @@ -18,11 +18,21 @@ To receive notifications about changes in your data, start by setting up a notif ## Create a notification rule in the UI 1. On the **Monitoring and Alerting** page, next to **Notification Rules**, click **Create**. -2. In the **Name** and **Description** fields, enter a name and description for the endpoint (description used on History page? anywhere else?). -3. From the **Destination** drop-down list, select a destination to send notifications: +2. Complete the **About** section: + a. In the **Name** field, enter a name for the notification rule. + b. In the **Schedule Every** field, enter . + c. In the **Offset** field, enter . +3. In the **Conditions** section, build a condition using a combination of status and tag keys. + +Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) + +Select status from the drop-down list (one for is equal to or two for changes from). + + +4. From the **Destination** drop-down list, select a destination to send notifications: - (Free plan) HTTP server - (Pay as You Go plan) HTTP server, Slack, or PagerDuty -4. Enter the **URL** to notify, and then enter connection information: +5. Enter the **URL** to notify, and then enter connection information: - For HTTP: From 3b1b14993f5ff942265ff3f3220dfb1318291754 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 09:35:47 -0700 Subject: [PATCH 042/136] add monitor and alert definitions on glossary --- content/v2.0/reference/glossary.md | 45 +++++++++++++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/glossary.md b/content/v2.0/reference/glossary.md index b9be8986e..330b62d03 100644 --- a/content/v2.0/reference/glossary.md +++ b/content/v2.0/reference/glossary.md @@ -34,6 +34,12 @@ For a list of available aggregation functions, see [Flux built-in aggregate func Related entries: [function](#function), [selector](#selector), [transformation](#transformation) +### alert + +In data monitoring and alerting, an alert occurs when a [check](#check) results in a [check status](#check-status) that triggers a [notification rule](#notification-rule). + +Related entries: [notification bucket](#notification-bucket) + ## B ### bar graph @@ -92,6 +98,19 @@ A bucket is a named location where time series data is stored. All buckets have ## C +### check + +In data monitoring and alerting, a check analyzes query results to determine the current [check status](#check-status) and writes the check status to a [status bucket](#status-bucket). + +Related entries: [alerts](#alerts) + +### check status + +In data monitoring and alerting, a check status identifies: + +- Status level (OK, INFO, WARN, CRIT, or UNKNOWN) +- Check [tags](#tag) written to the [status bucket](#status-bucket) + ### CSV Comma-separated values (CSV) delimits text between commas to separate values. A CSV file stores tabular data (numbers and text) in plain text. Each line of the file is a data record. Each record consists of one or more fields, separated by commas. CSV file format is not fully standardized. @@ -523,6 +542,22 @@ An independent `influxd` process. Related entries: [server](#server) +### notification bucket + + In data monitoring and alerting, the notification bucket is where a [notification rule](#notification-rule) records the name of the [notification endpoint](#notification-endpoint), [notification message](notification-message), and [tags](#tag) in a [query](#query). + +### notification endpoint + + In data monitoring and alerting, the notification endpoint is the configuration describing how to call a 3rd party service (for example, Slack or Pagerduty). + +### notification message + +A templatized payload sent to the [notification endpoint](#notification-endpoint). + +### notification rule + + In data monitoring and alerting, a notification rule is a query on a [status bucket](#status-bucket) that returns the [check status](#check-status). When warranted by the conditions of the rule, the notification rule sends a [message] to a 3rd party using the [notification endpoint](#notification-endpoint) and stores a receipt in the [notification bucket](#notification-bucket). + ### now() The local server's nanosecond timestamp. @@ -617,7 +652,7 @@ Collect data from any accessible endpoint that provides data in the [Prometheus ### query -An operation that retrieves data from InfluxDB. +A Flux script that returns time series data, including [tags](#tag) and [timestamps](#timestamp). See [Query data in InfluxDB](/v2.0/query-data/). @@ -779,6 +814,14 @@ A visualization that displays points sharing a common X value as stacked rather Related entries: [bin](#bin) --> +### status bucket + + In data monitoring and alerting, a status bucket stores the current [check status](#check-status). + +### status graph + + In data monitoring and alerting, a status graph shows the [check status](#check-status) over time. + ### step-plot In InfluxDB 1.x, a [step-plot graph](https://docs.influxdata.com/chronograf/v1.7/guides/visualization-types/#step-plot-graph) displays time series data in a staircase graph. In InfluxDB 2.0, generate a similar graph using the step interpolation option for [line graphs](https://v2.docs.influxdata.com/v2.0/visualize-data/visualization-types/graph/#options). From 40077c6ec067b0ba4345bfb825de64a58c31c3c5 Mon Sep 17 00:00:00 2001 From: Nora Date: Wed, 4 Sep 2019 10:13:37 -0700 Subject: [PATCH 043/136] updated doc structure for notification rules --- .../cloud/monitor-alert/notification-rules/_index.md | 0 .../create-notification-rules.md} | 4 ++-- .../notification-rules/delete-notification-rules.md | 12 ++++++++++++ .../notification-rules/update-notfication-rules.md | 12 ++++++++++++ .../notification-rules/view-notification-rules.md | 12 ++++++++++++ 5 files changed, 38 insertions(+), 2 deletions(-) create mode 100644 content/v2.0/cloud/monitor-alert/notification-rules/_index.md rename content/v2.0/cloud/monitor-alert/{notification-rules.md => notification-rules/create-notification-rules.md} (97%) create mode 100644 content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md create mode 100644 content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md create mode 100644 content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md new file mode 100644 index 000000000..e69de29bb diff --git a/content/v2.0/cloud/monitor-alert/notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md similarity index 97% rename from content/v2.0/cloud/monitor-alert/notification-rules.md rename to content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 0369ef504..4fa322097 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -8,7 +8,7 @@ v2.0/tags: [monitor, notification rules] menu: v2_0: name: Create notification rules - parent: Monitor and alert + parent: Notification rules related: - /v2.0/monitor-alert/create-notification-endpoints/ --- @@ -26,7 +26,7 @@ To receive notifications about changes in your data, start by setting up a notif Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) -Select status from the drop-down list (one for is equal to or two for changes from). +Select status from the drop-down list (one for is equal to or two for changes from). 4. From the **Destination** drop-down list, select a destination to send notifications: diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md new file mode 100644 index 000000000..057609f41 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md @@ -0,0 +1,12 @@ +--- +title: Delete notification rules +description: > + Delete notification rules to receive alerts on your time series data. + +weight: 101 +v2.0/tags: [monitor, notification rules] +menu: + v2_0: + name: Delete notification rules + parent: Notification rules +--- diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md new file mode 100644 index 000000000..90ac5bdce --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -0,0 +1,12 @@ +--- +title: Update notification rules +description: > + Update notification rules to receive alerts on your time series data. + +weight: 101 +v2.0/tags: [monitor, notification rules] +menu: + v2_0: + name: Update notification rules + parent: Notification rules +--- diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md new file mode 100644 index 000000000..daeb19fe5 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md @@ -0,0 +1,12 @@ +--- +title: View notification rules +description: > + View notification rules to receive alerts on your time series data. + +weight: 101 +v2.0/tags: [monitor, notification rules] +menu: + v2_0: + name: View notification rules + parent: Notification rules +--- From 32df8cc162b0083f107fd193915eee701713d2c1 Mon Sep 17 00:00:00 2001 From: Nora Date: Wed, 4 Sep 2019 10:37:31 -0700 Subject: [PATCH 044/136] Update frontmatter --- .../cloud/monitor-alert/notification-rules/_index.md | 11 +++++++++++ .../notification-rules/create-notification-rules.md | 2 +- .../notification-rules/delete-notification-rules.md | 2 +- .../notification-rules/update-notfication-rules.md | 2 +- .../notification-rules/view-notification-rules.md | 2 +- 5 files changed, 15 insertions(+), 4 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md index e69de29bb..4c0585f39 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md @@ -0,0 +1,11 @@ +--- +title: Manage notification rules +description: > + Manage notification rules in InfluxDB. +weight: 101 +v2.0/tags: [monitor, notification, rules] +menu: + v2_0: + name: Manage notification rules + parent: Monitor and alert +--- diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 4fa322097..7398621f2 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -8,7 +8,7 @@ v2.0/tags: [monitor, notification rules] menu: v2_0: name: Create notification rules - parent: Notification rules + parent: Manage notification rules related: - /v2.0/monitor-alert/create-notification-endpoints/ --- diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md index 057609f41..b3e63eeaa 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md @@ -8,5 +8,5 @@ v2.0/tags: [monitor, notification rules] menu: v2_0: name: Delete notification rules - parent: Notification rules + parent: Manage notification rules --- diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md index 90ac5bdce..1bbde4224 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -8,5 +8,5 @@ v2.0/tags: [monitor, notification rules] menu: v2_0: name: Update notification rules - parent: Notification rules + parent: Manage notification rules --- diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md index daeb19fe5..c78682810 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md @@ -8,5 +8,5 @@ v2.0/tags: [monitor, notification rules] menu: v2_0: name: View notification rules - parent: Notification rules + parent: Manage notification rules --- From ebc0ec00e4799ba60283dd103a694eba7d2452af Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 4 Sep 2019 11:46:03 -0600 Subject: [PATCH 045/136] finished http package, resolves #389 --- .../reference/flux/functions/http/_index.md | 4 +- .../reference/flux/functions/http/endpoint.md | 58 +++++++++++++++++++ .../reference/flux/functions/http/post.md | 7 ++- 3 files changed, 64 insertions(+), 5 deletions(-) create mode 100644 content/v2.0/reference/flux/functions/http/endpoint.md diff --git a/content/v2.0/reference/flux/functions/http/_index.md b/content/v2.0/reference/flux/functions/http/_index.md index d8d589f6c..575108bfb 100644 --- a/content/v2.0/reference/flux/functions/http/_index.md +++ b/content/v2.0/reference/flux/functions/http/_index.md @@ -2,7 +2,7 @@ title: Flux HTTP package list_title: HTTP package description: > - The Flux HTTP package provides functions ... + The Flux HTTP package provides functions for transferring data using the HTTP protocol. Import the `http` package. menu: v2_0_ref: @@ -12,7 +12,7 @@ weight: 202 v2.0/tags: [functions, http, package] --- -The Flux HTTP package provides functions ... +The Flux HTTP package provides functions for transferring data using the HTTP protocol. Import the `http` package: ```js diff --git a/content/v2.0/reference/flux/functions/http/endpoint.md b/content/v2.0/reference/flux/functions/http/endpoint.md new file mode 100644 index 000000000..67e117df5 --- /dev/null +++ b/content/v2.0/reference/flux/functions/http/endpoint.md @@ -0,0 +1,58 @@ +--- +title: http.endpoint() function +description: > + The `http.endpoint()` function sends output data to a an HTTP URL using the POST request method. +menu: + v2_0_ref: + name: http.endpoint + parent: HTTP +weight: 202 +--- + +The `http.endpoint()` function sends output data to a an HTTP URL using the POST request method. + +_**Function type:** Output_ + +```js +import "http" + +http.endpoint( + url: "http://localhost:1234/" +) +``` + +## Parameters + +### url +The URL to POST to. + +_**Data type:** String_ + +### mapFn +A function that builds the object used to generate the POST request. +The object must include `headers` and `data` key-value pairs. +_For more information, see [`http.post()`](/v2.0/reference/flux/functions/http/post/)_ + +{{% note %}} +_You should rarely need to override the default `mapFn` parameter. +To see the default `mapFn` value or for insight into possible overrides, view the +[`http.endpoint()` source code](https://github.com/influxdata/flux/blob/master/stdlib/http/http.flux)._ +{{% /note %}} + +_**Data type:** Function_ + +## Examples + +##### Send critical statuses to an HTTP endpoint +```js +import "monitor" +import "http" + +endpoint = http.endpoint(url: "http://myawsomeurl.com/api/notify") + +from(bucket: "example-bucket") + |> range(start: -1m) + |> filter(fn: (r) => r._measurement == "statuses" and status == "crit") + |> map(fn: (r) => { return {status: r._status} }) + |> monitor.notify(endpoint: endpoint) +``` diff --git a/content/v2.0/reference/flux/functions/http/post.md b/content/v2.0/reference/flux/functions/http/post.md index 4a143fc39..214c15833 100644 --- a/content/v2.0/reference/flux/functions/http/post.md +++ b/content/v2.0/reference/flux/functions/http/post.md @@ -1,7 +1,8 @@ --- title: http.post() function -description: The `http.post()` function submits an HTTP POST request to the specified URL with headers and data. -// The HTTP status code is returned. +description: > + The `http.post()` function submits an HTTP POST request to the specified URL with headers and data. + The HTTP status code is returned. menu: v2_0_ref: name: http.post @@ -43,7 +44,7 @@ _**Data type:** Bytes_ ## Examples -### ... +##### Send the last reported status to a URL ```js import "json" import "http" From a5715e70570e86ff92522f11c8e07421d9e5fca2 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 10:58:47 -0700 Subject: [PATCH 046/136] remove api example placeholders --- content/v2.0/cloud/monitor-alert/notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-endpoints.md b/content/v2.0/cloud/monitor-alert/notification-endpoints.md index 1fb5b6632..c39b9f916 100644 --- a/content/v2.0/cloud/monitor-alert/notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/notification-endpoints.md @@ -13,7 +13,7 @@ related: - /v2.0/monitor-alert/create-notification-endpoints/ --- -To send notifications about changes in your data, start by setting up a notification endpoint. After setting up your notification endpoints, create notification rules and checks . +To send notifications about changes in your data, start by setting up a notification endpoint in the UI or with the InfluxDB After setting up your notification endpoints, create notification rules and checks . ## Create a notification endpoint in the UI From f83fce7f1ff346e13a18c0b04779a40a4131f5d9 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 13:48:50 -0700 Subject: [PATCH 047/136] remove obsolete file --- .../monitor-alert/notification-endpoints.md | 66 ------------------- 1 file changed, 66 deletions(-) delete mode 100644 content/v2.0/cloud/monitor-alert/notification-endpoints.md diff --git a/content/v2.0/cloud/monitor-alert/notification-endpoints.md b/content/v2.0/cloud/monitor-alert/notification-endpoints.md deleted file mode 100644 index c39b9f916..000000000 --- a/content/v2.0/cloud/monitor-alert/notification-endpoints.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Create notification endpoints -description: > - Create notification endpoints to send alerts on your time series data. - -weight: 101 -v2.0/tags: [monitor, notifications, endpoints] -menu: - v2_0: - parent: Monitor and alert -related: - - /v2.0/monitor-alert/create-notification-rules/ - - /v2.0/monitor-alert/create-notification-endpoints/ ---- - -To send notifications about changes in your data, start by setting up a notification endpoint in the UI or with the InfluxDB After setting up your notification endpoints, create notification rules and checks . - -## Create a notification endpoint in the UI - -1. On the **Monitoring and Alerting** page, next to **Notification Endpoints**, click **Create**. -2. In the **Name** and **Description** fields, enter a name and description for the endpoint. -3. From the **Destination** drop-down list, select a destination endpoint to send notifications: - - (Free plan) HTTP - - (Pay as You Go plan) HTTP, Slack, or PagerDuty -4. Enter the **URL** to notify, and then enter connection information: - - - For HTTP: - - a. Select the **HTTP method** to use. In most cases, select **POST**. {find use cases when to use PUT & GET} - - b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - - c. In the **Content Template** field, enter {examples for each endpoint template}. - - - For Slack, enter your Slack authentication token in the **Token** field. - - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. - -5. Click **Create Notification Endpoint**. - -##### Example creating a Slack notification endpoint in line protocol - -```js -// To create the endpoint, run the following command with your secret key and Slack authorization token. - -TBD - -// To test your Slack notification endpoint, run the following command. - -TBD - -##### Example creating a PagerDuty notification endpoint in line protocol - -```js -// To create the endpoint, run the following command with your authorization routing key. - -TBD -To obtain a PagerDuty routing_key, see PagerDuty documentation. Once you obtain your routing key, (add example with integration metrics, api and application keys). -Example using POST to send JSON body representing an event to PagerDuty URL. Note, URL should not change (once notification rule is set?). example PagerDuty URL: https://events.pagerduty.com/v2/enqueue. - - -// To test your PagerDuty notification endpoint, run the following command. - -TBD -```js -from(bucket: alertBucket) |> [conditions here] |> toPagerDuty() -``` \ No newline at end of file From 57b84aa44ed1fa770fb411f2c7ea716dbaf361a3 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 13:54:27 -0700 Subject: [PATCH 048/136] add steps to get started with monitor and alert --- content/v2.0/cloud/monitor-alert/_index.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/_index.md b/content/v2.0/cloud/monitor-alert/_index.md index 414f9481b..602e87b54 100644 --- a/content/v2.0/cloud/monitor-alert/_index.md +++ b/content/v2.0/cloud/monitor-alert/_index.md @@ -10,6 +10,17 @@ weight: 3 v2.0/tags: [monitor, alert, checks, notification, endpoints] --- -Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. +Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. To get started, do the following: -{{< children >}} +1. [Create checks](...create-a-check) to monitor data for a specified check status. +2. (Optional) Send alerts on a specified check status by doing the following: + + a. [Create a notification endpoint](/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints). + + b. [Create notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/create-notification-rules). + +After creating your initial checks and notifications, adjust how you monitor data and alerts as needed. For more information, see: + +- [Manage checks](/v2.0/cloud/monitor-alert/manage-checks) +- [Manage notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules) +- [Manage notification endpoints](/v2.0/cloud/monitor-alert/manage-notification-endpoints) From e670523c160d1fc26485599b17fcaab2e0613e22 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 13:55:14 -0700 Subject: [PATCH 049/136] add topic for managing notification endpoints --- .../manage-notification-endpoints/_index.md | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md new file mode 100644 index 000000000..9c5ca7252 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md @@ -0,0 +1,17 @@ +--- +title: Manage notification endpoints +seotitle: Manage notification endpoints +list_title: Manage notification endpoints +description: > + Create, read, update, and delete endpoints in the InfluxDB UI. +v2.0/tags: [endpoints] +menu: + v2_0: + name: Manage notification endpoints + parent: Monitor and alert +weight: 102 +--- + +Notification endpoints store information to connect to a third party service. If you're using the Free plan, create an HTTP or Slack endpoint. If you're using the Pay as You Go plan, create a connection to a HTTP, Slack, or PagerDuty endpoint. + +{{< children >}} From 34f71785c09b067047321567e560176d2192b117 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 13:55:43 -0700 Subject: [PATCH 050/136] add how to create notification endpoints --- .../create-notification-endpoints.md | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md new file mode 100644 index 000000000..51cc9dfd4 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -0,0 +1,40 @@ +--- +title: Create notification endpoints +seotitle: Create notification endpoints +description: > + Create notification endpoints to send alerts on your time series data. + +v2.0/tags: [monitor, notifications, endpoints] +menu: + v2_0: + name: Create endpoints + parent: Manage notification endpoints +weight: 201 +related: + - /v2.0/cloud/monitor-alert/manage-notification-rules/ + - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ +--- + +To send notifications about changes in your data, start by setting up a notification endpoint to a third party service. After setting up notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/cloud/monitor-alert/manage-checks/create-checks). + +## Create a notification endpoint in the UI + +1. On the **Monitoring and Alerting** page, next to **Notification Endpoints**, click **Create**. +2. In the **Name** and **Description** fields, enter a name and description for the endpoint. +3. From the **Destination** drop-down list, select a destination endpoint to send notifications: + - (Free plan) HTTP or Slack + - (Pay as You Go plan) HTTP, Slack, or PagerDuty +4. Enter the **URL** to notify, and then enter connection information: + + - For HTTP: + + a. Select the **HTTP method** to use. In most cases, select **POST**. {find use cases when to use PUT & GET} + + b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. + + c. In the **Content Template** field, enter {examples for each endpoint template}. + + - For Slack, enter your Slack authentication token in the **Token** field. + - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. + +5. Click **Create Notification Endpoint**. \ No newline at end of file From 3d3fc49a7d2431d51223878fb3be419bcf94fee1 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 13:56:40 -0700 Subject: [PATCH 051/136] add topic for updating notification endpoints --- .../update-notification-endpoints.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md new file mode 100644 index 000000000..d1a670377 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md @@ -0,0 +1,18 @@ +--- +title: Update notification endpoints +seotitle: Update notification endpoints +description: > + Update notification endpoints in the InfluxDB UI. +menu: + v2_0: + name: Update endpoints + parent: Manage notification endpoints +weight: 204 +related: + - /v2.0/cloud/monitor-alert/manage-notification-rules/ + - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ +--- + +To update information for a specified notification endpoint, complete the steps below. To update a notification endpoint for a specified notification rule, [update notification rules](/v2.0/cloud/monitor-alert/update-notification-rules/) by selecting the updated notification endpoint. + +1. From 3a2acc1dd546f7d2bcfab2c9dfc846e5dc8b52af Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 13:57:00 -0700 Subject: [PATCH 052/136] add topic for deleting notfication endpoints --- .../delete-notification-endpoints.md | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md new file mode 100644 index 000000000..61824f840 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md @@ -0,0 +1,20 @@ +--- +title: Delete notification endpoints +seotitle: Delete notification endpoints +description: > + Delete a notification endpoint in the InfluxDB UI. + +v2.0/tags: [monitor, notifications, endpoints] +menu: + v2_0: + name: Delete endpoints + parent: Manage notification endpoints +weight: 201 +related: + - /v2.0/cloud/monitor-alert/manage-notification-rules/ + - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ +--- + +If notifications are no longer sent to an endpoint, complete the step below to delete the endpoint, and then [update notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/update-notification-rules) with a new notification endpoint as needed. + +1. \ No newline at end of file From 767c67fe78e08e99fe4c485892ee66cb28bb0a67 Mon Sep 17 00:00:00 2001 From: Kelly Date: Wed, 4 Sep 2019 14:01:59 -0700 Subject: [PATCH 053/136] fix typo --- .../delete-notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md index 61824f840..809abf0eb 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md @@ -15,6 +15,6 @@ related: - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ --- -If notifications are no longer sent to an endpoint, complete the step below to delete the endpoint, and then [update notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/update-notification-rules) with a new notification endpoint as needed. +If notifications are no longer sent to an endpoint, complete the steps below to delete the endpoint, and then [update notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/update-notification-rules) with a new notification endpoint as needed. 1. \ No newline at end of file From 6f9893a7754974c5cfbe00fcf229e39a438ca998 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 4 Sep 2019 15:33:45 -0600 Subject: [PATCH 054/136] added the flux slack package, resolves #423 --- .../reference/flux/functions/http/endpoint.md | 9 +- .../reference/flux/functions/slack/_index.md | 22 ++++ .../flux/functions/slack/endpoint.md | 84 ++++++++++++ .../reference/flux/functions/slack/message.md | 123 ++++++++++++++++++ 4 files changed, 236 insertions(+), 2 deletions(-) create mode 100644 content/v2.0/reference/flux/functions/slack/_index.md create mode 100644 content/v2.0/reference/flux/functions/slack/endpoint.md create mode 100644 content/v2.0/reference/flux/functions/slack/message.md diff --git a/content/v2.0/reference/flux/functions/http/endpoint.md b/content/v2.0/reference/flux/functions/http/endpoint.md index 67e117df5..b251070d5 100644 --- a/content/v2.0/reference/flux/functions/http/endpoint.md +++ b/content/v2.0/reference/flux/functions/http/endpoint.md @@ -30,8 +30,6 @@ _**Data type:** String_ ### mapFn A function that builds the object used to generate the POST request. -The object must include `headers` and `data` key-value pairs. -_For more information, see [`http.post()`](/v2.0/reference/flux/functions/http/post/)_ {{% note %}} _You should rarely need to override the default `mapFn` parameter. @@ -41,6 +39,13 @@ To see the default `mapFn` value or for insight into possible overrides, view th _**Data type:** Function_ +The returned object must include the following fields: + +- `headers` +- `data` + +_For more information, see [`http.post()`](/v2.0/reference/flux/functions/http/post/)_ + ## Examples ##### Send critical statuses to an HTTP endpoint diff --git a/content/v2.0/reference/flux/functions/slack/_index.md b/content/v2.0/reference/flux/functions/slack/_index.md new file mode 100644 index 000000000..82e48c738 --- /dev/null +++ b/content/v2.0/reference/flux/functions/slack/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux Slack package +list_title: Slack package +description: > + The Flux Slack package provides functions for sending data to Slack. + Import the `slack` package. +menu: + v2_0_ref: + name: Slack + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, slack, package] +--- + +The Flux Slack package provides functions for sending data to Slack. +Import the `slack` package: + +```js +import "slack" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/slack/endpoint.md b/content/v2.0/reference/flux/functions/slack/endpoint.md new file mode 100644 index 000000000..bee802fe6 --- /dev/null +++ b/content/v2.0/reference/flux/functions/slack/endpoint.md @@ -0,0 +1,84 @@ +--- +title: slack.endpoint() function +description: > + The `slack.endpoint()` function sends a message to Slack that includes output data. +menu: + v2_0_ref: + name: slack.endpoint + parent: Slack +weight: 202 +--- + +The `slack.endpoint()` function sends a message to Slack that includes output data. + +_**Function type:** Output_ + +```js +import "slack" + +slack.endpoint( + url: "https://slack.com/api/chat.postMessage", + token: "mySuPerSecRetTokEn" +) +``` + +## Parameters + +### url +The Slack API URL. +Defaults to `https://slack.com/api/chat.postMessage`. + +{{% note %}} +If using a Slack Webhook, the Webhook setup process provides the +[Webhook URL](https://api.slack.com/incoming-webhooks#create_a_webhook). +{{% /note %}} + +_**Data type:** String_ + +### token +The Slack API token used to interact with Slack. +Defaults to `""`. + +{{% note %}} +A token is only required if using the Slack chat.postMessage API. +{{% /note %}} + +_**Data type:** String_ + +### mapFn +A function that builds the object used to generate the POST request. + +{{% note %}} +_You should rarely need to override the default `mapFn` parameter. +To see the default `mapFn` value or for insight into possible overrides, view the +[`slack.endpoint()` source code](https://github.com/influxdata/flux/blob/master/stdlib/slack/slack.flux)._ +{{% /note %}} + +_**Data type:** Function_ + +The returned object must include the following fields: + +- `username` +- `channel` +- `workspace` +- `text` +- `iconEmoji` +- `color` + +_For more information, see [`slack.message()`](/v2.0/reference/flux/functions/slack/message/)_ + +## Examples + +##### Send critical statuses to a Slack endpoint +```js +import "monitor" +import "slack" + +endpoint = slack.endpoint(token: "mySuPerSecRetTokEn") + +from(bucket: "example-bucket") + |> range(start: -1m) + |> filter(fn: (r) => r._measurement == "statuses" and status == "crit") + |> map(fn: (r) => { return {r with status: r._status} }) + |> monitor.notify(endpoint: endpoint) +``` diff --git a/content/v2.0/reference/flux/functions/slack/message.md b/content/v2.0/reference/flux/functions/slack/message.md new file mode 100644 index 000000000..a7a0cfbdf --- /dev/null +++ b/content/v2.0/reference/flux/functions/slack/message.md @@ -0,0 +1,123 @@ +--- +title: slack.message() function +description: > + The `slack.message()` function sends a single message to a Slack channel. + It work with either with the chat.postMessage API or with a Slack webhook. +menu: + v2_0_ref: + name: slack.message + parent: Slack +weight: 202 +--- + +The `slack.message()` function sends a single message to a Slack channel. +It will work either with the [chat.postMessage API](https://api.slack.com/methods/chat.postMessage) +or with a [Slack Webhook](https://api.slack.com/incoming-webhooks). + +_**Function type:** Output_ + +```js +import "slack" + +slack.message( + url: "https://slack.com/api/chat.postMessage", + token: "mySuPerSecRetTokEn", + username: "Fluxtastic", + channel: "#flux", + workspace: "", + text: "This is a message from the Flux slack.message() function.", + iconEmoji: "wave", + color: "good" +) +``` + +## Parameters + +### url +The Slack API URL. +Defaults to `https://slack.com/api/chat.postMessage`. + +{{% note %}} +If using a Slack Webhook, the Webhook setup process provides the +[Webhook URL](https://api.slack.com/incoming-webhooks#create_a_webhook). +{{% /note %}} + +_**Data type:** String_ + +### token +The Slack API token used to interact with Slack. +Defaults to `""`. + +{{% note %}} +A token is only required if using the Slack chat.postMessage API. +{{% /note %}} + +_**Data type:** String_ + +### username +The username to use when posting the message to a Slack channel. Required + +_**Data type:** String_ + +### channel +The name of channel in which to post the message. Required + +_**Data type:** String_ + +### workspace +The name of the Slack workspace to use if there are multiple. +Defaults to `""`. + +_**Data type:** String_ + +### text +The text to display in the Slack message. Required + +_**Data type:** String_ + +### iconEmoji +The name of emoji to use as the user avatar when posting the message to Slack. +Required + +_**Data type:** String_ + +{{% note %}} +#### Things to know about iconEmoji +- **Do not** enclose the name in colons `:` as you do in the Slack client. +- If using a Slack Webhook, the `iconEmoji` **will not** show as the avatar. +{{% /note %}} + +### color +The color to include with the message. +Required + +**Valid values include:** + +- `good` +- `warning` +- `danger` +- Any valid RGB hex color code. For example: `#439FE0`. + +_**Data type:** String_ + +## Examples + +##### Send the last reported status to Slack +```js +import "slack" + +lastReported = + from(bucket: "example-bucket") + |> range(start: -1m) + |> filter(fn: (r) => r._measurement == "statuses") + |> last() + |> map(fn: (r) => { return {status: r._status} }) + +slack.message( + url: "https://slack.com/api/chat.postMessage", + token: "mySuPerSecRetTokEn", + username: "johndoe", + channel: "#system-status", + text: "The last reported status was \"${lastReported.status}\"." +) +``` From 3e3cf944e313447e2c9e50e0ec9af609d6dc6b39 Mon Sep 17 00:00:00 2001 From: Nora Date: Wed, 4 Sep 2019 15:00:12 -0700 Subject: [PATCH 055/136] Add steps for CRUD --- .../notification-rules/_index.md | 4 +- .../create-notification-rules.md | 43 +++++++++---------- .../delete-notification-rules.md | 7 ++- .../update-notfication-rules.md | 43 ++++++++++++++++++- .../view-notification-rules.md | 13 +++++- 5 files changed, 82 insertions(+), 28 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md index 4c0585f39..a48da3364 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md @@ -2,8 +2,8 @@ title: Manage notification rules description: > Manage notification rules in InfluxDB. -weight: 101 -v2.0/tags: [monitor, notification, rules] +weight: 20 +v2.0/tags: [manage, notification, rules] menu: v2_0: name: Manage notification rules diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 7398621f2..0159939a5 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -3,46 +3,43 @@ title: Create notification rules description: > Create notification rules to receive alerts on your time series data. -weight: 101 +weight: 201 v2.0/tags: [monitor, notification rules] menu: v2_0: name: Create notification rules parent: Manage notification rules -related: - - /v2.0/monitor-alert/create-notification-endpoints/ --- -To receive notifications about changes in your data, start by setting up a notification endpoint. After setting up your notification endpoints, create notification rules and checks . +Once you've set up checks and notification endpoints, create notification rules to alert you. For details, see and . -## Create a notification rule in the UI +## Create a new notification rule in the UI -1. On the **Monitoring and Alerting** page, next to **Notification Rules**, click **Create**. +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alert" >}} + + +2. Under **Notification Rules**, click **+Create**. 2. Complete the **About** section: a. In the **Name** field, enter a name for the notification rule. b. In the **Schedule Every** field, enter . c. In the **Offset** field, enter . 3. In the **Conditions** section, build a condition using a combination of status and tag keys. + a. Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) + Select status from the drop-down list (one for is equal to or two for changes from). + b. Next to **AND When**, enter one or more tag key-value pairs to filter by. +4. In the **Message** section, select an endpoint to notify. +5. Click **Create Notification Rule**. -Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) +## Clone an existing notification rule in the UI -Select status from the drop-down list (one for is equal to or two for changes from). +1. Select the **Monitoring and Alerting** icon from the sidebar. -4. From the **Destination** drop-down list, select a destination to send notifications: - - (Free plan) HTTP server - - (Pay as You Go plan) HTTP server, Slack, or PagerDuty -5. Enter the **URL** to notify, and then enter connection information: + {{< nav-icon "alert" >}} - - For HTTP: - a. Select the **HTTP method** to use. In most cases, select **POST**. {find use cases when to use PUT & GET} - - b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - - c. In the **Content Template** field, enter {examples for each endpoint template}. - - - For Slack, enter your Slack authentication token in the **Token** field. - - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. - -5. Click **Create Notification Endpoint**. +2. Under **Notification Rules**, hover over the rule you want to clone. +3. Click the clone icon and select **Clone**. The cloned rule appears. diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md index b3e63eeaa..129b35b23 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md @@ -3,10 +3,15 @@ title: Delete notification rules description: > Delete notification rules to receive alerts on your time series data. -weight: 101 +weight: 201 v2.0/tags: [monitor, notification rules] menu: v2_0: name: Delete notification rules parent: Manage notification rules --- + +## Delete a notification rule in the UI + +1. On the **Monitoring and Alerting** page, under **Notification Rules**, hover over an existing notification rule. +2. Click the delete icon, then click **Delete** to confirm. diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md index 1bbde4224..f491b2e97 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -3,10 +3,51 @@ title: Update notification rules description: > Update notification rules to receive alerts on your time series data. -weight: 101 +weight: 201 v2.0/tags: [monitor, notification rules] menu: v2_0: name: Update notification rules parent: Manage notification rules --- + +## Add a label to notification rules + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alert" >}} + + +2. Under **Notification Rules**, click **Add a label** next to the rule you want to add a label to. The **Add Labels** box opens. +3. To add an existing label, select the label from the list. +4. To create and add a new label: + - In the search field, enter the name of the new label. The **Create Label** box opens. + - In the **Description** field, enter an optional description for the label. + - Select a color from the for the label. + - Click **Create Label**. +5. To remove a label, hover over the label next to a rule and click the X. + + +## Disable notification rules + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alert" >}} + + +2. Under **Notification Rules**, find the rule you want to disable. +3. Click the blue toggle to disable the notification rule. + +## Update the name or description for notification rules + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alert" >}} + + +2. Under **Notification Rules**, hover over the name or description of a rule. +3. Click the pencil icon to edit the field. +4. Click outside of the field to save your changes. diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md index c78682810..3bd3f44fa 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md @@ -3,10 +3,21 @@ title: View notification rules description: > View notification rules to receive alerts on your time series data. -weight: 101 +weight: 201 v2.0/tags: [monitor, notification rules] menu: v2_0: name: View notification rules parent: Manage notification rules --- + +## View the history for notification Rules + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alert" >}} + + +2. Under **Notification Rules**, hover over the rule you want to view history for and click the eye icon, then click **View History** to confirm. +3. In the table that appears, review the history of alerts sent with the notification rule. From 90ed3c0a1cf94f76200c292401d58e33038cdc49 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Wed, 4 Sep 2019 16:01:29 -0600 Subject: [PATCH 056/136] added alert icon and updated nav-icon shortcode --- assets/styles/tools/_icomoon.scss | 3 +++ layouts/shortcodes/nav-icon.html | 3 +++ static/fonts/icomoon.eot | Bin 16216 -> 16456 bytes static/fonts/icomoon.svg | 1 + static/fonts/icomoon.ttf | Bin 16052 -> 16292 bytes static/fonts/icomoon.woff | Bin 16128 -> 16368 bytes 6 files changed, 7 insertions(+) diff --git a/assets/styles/tools/_icomoon.scss b/assets/styles/tools/_icomoon.scss index a3b4a64a2..0ba91e342 100644 --- a/assets/styles/tools/_icomoon.scss +++ b/assets/styles/tools/_icomoon.scss @@ -27,6 +27,9 @@ .icon-ui-chat:before { content: "\e93a"; } +.icon-ui-bell:before { + content: "\e93b"; +} .icon-ui-cloud:before { content: "\e93f"; } diff --git a/layouts/shortcodes/nav-icon.html b/layouts/shortcodes/nav-icon.html index a3a7c3d9c..d87e0c133 100644 --- a/layouts/shortcodes/nav-icon.html +++ b/layouts/shortcodes/nav-icon.html @@ -11,6 +11,9 @@ {{ else if eq $navIcon "tasks" }} {{ .Scratch.Set "icon" "calendar" }} {{ .Scratch.Set "title" "Tasks" }} +{{ else if or (eq $navIcon "monitor") (eq $navIcon "alerts") (eq $navIcon "bell") }} + {{ .Scratch.Set "icon" "bell" }} + {{ .Scratch.Set "title" "Monitoring & Alerting" }} {{ else if or (eq $navIcon "disks") (eq $navIcon "load data") (eq $navIcon "load-data") }} {{ .Scratch.Set "icon" "disks" }} {{ .Scratch.Set "title" "Load Data" }} diff --git a/static/fonts/icomoon.eot b/static/fonts/icomoon.eot index 2ff522e19975fc4ef156699920faa3c53ec0d52b..b10672cf56d20e695867c36daedfac6ef5d8cc37 100755 GIT binary patch delta 551 zcmcanccOuj&BK9#VTt`jHZvB{E$ot$7ut$U3`rK;!N9<<2Z$4ra}x_DTTkYmctWQB z!m%J;1_s6h3=CEb8L5dWveUV87#OU9dBadQ$o~UW-&T-cT*AN% zlwq)M0m(BkvoP{cPGRh3w4VHd(OQ&IoI&iH*k`dUF>%ppqFtixK*fxc9hqb{$1uIu zuNV8z$h?u6iNTn`n}I=9U5^on^cmGa3^jFSC3ZeWb~b)SAj!wb&&VbsF2`uiD931Q zWM&S+W+v+Fib`tsjCPD5Y|UsSCJ&UBXB1;&-l)ta#33cmrOPQTR+IB)hjKV_By1J&@9K$TRM0m91z2%iuHOY3=CE`fa=ULfC7AZ+!727)&fAjN=9x;g+ieOP_4BI zP>)JZesZGt1XU#l2Ac?={FL0piUNjk#uY&R8z5gHFEKZDrWfaL1_oOmp!&9g{NfS@ zW}pm%-4u{K12YSwz~mIhZbqxg9~iAg8N~jJeHHs8mMJDCI#sk&v<;}3ak3+m%;p%T z_xhWSjV(E4=6Q+w$Mf5KW#DE38N_h2b+aanp4?$$&geP$fX$!D2W(d=M@g)bxF^{q mc}~hq>X;0NOqxs&10ztaC*v{(UXUIJCZOTMn-|+HWds0i(NgmO diff --git a/static/fonts/icomoon.svg b/static/fonts/icomoon.svg index f5ed6e65c..229d9fdc8 100755 --- a/static/fonts/icomoon.svg +++ b/static/fonts/icomoon.svg @@ -66,6 +66,7 @@ + diff --git a/static/fonts/icomoon.ttf b/static/fonts/icomoon.ttf index fb000be8e48fc19badfbaf3fa3d8885c02e21b49..70f0b78749a48536fe212022044729299083c94c 100755 GIT binary patch delta 600 zcmXw%O=uHQ5P)a0`OliQNq6&~*kqHK#xy_84`!3rwi2bO6e@^+pi6BVYSIMSLj_Ab zh=QJEv7&fURIDd!N>Na#7Y`o9lR@$3-HRxK)jBIUym>R<%)G~Y^WMhFgLWGb04#6` z7)VVXO=h@f`sWmRNqTm=A-5Dsu>hc#`0kv%*dn`|SgkS6)i2Dxe>1gsH~k{srUh48&BY};D9P|;H4luIyRmg0C1nC79vvY35WWfXf`eb>uklx@ z6qS4ERGy-)^8&vn+rkbq>x>2lp$ZU=4j_#rMpP#f4FwHWH0U{`*@_(MdmVn1(2s+e zd_mQGHfrb#Muu?+Rh2L!1SlOqLC>s*%r>JtU{07k?uk?~tIwszj$p zcH3AYk=q#_6MqgU^rGN#KJ*xTXDXBvUz&5BA*=VPM)fi`8a?EVCStCH8l|7 z5P+^P`0s|f&Z~6Dy z0Hg(g{2f4=BR!`wO~0{qIgo#Vfx%KDBQ-Hawrph;1B2BKpuAZIP=GIwTY`bX8mNas zB_p?_LZMIssMgv9s7ECyKiM%+e1fVH1A|QjP{EYk#EJrjaK;rt{u>})AulmEb*2~R zZw3Zi9-xM{g8bqVphJPcZVE`Aftf{M;(=~PtI0l$)}jnz|HZzFeGOVmG}-{va=Hw(xphMTRMHDUDRC)VbSo|9#4 x{!Es!U8x);u}b2eWS8VQDKn{KG8{5#GCkk`^JHAczzf#Q1hhbS^MBi=i~y`XR73y( diff --git a/static/fonts/icomoon.woff b/static/fonts/icomoon.woff index ac8bf730d5dcca27a39c47bb41eabedb900c395b..b043be6595959349c702c49438d5b476a0978824 100755 GIT binary patch delta 607 zcmZpu`%o`Z?(gQtz{mgu_8%Cy!Ss^J9~ng^F|kb45w72noSRs{z`&RRl$isX?BnW)}X*JdE9p){|#2T8lD@Gl+c? z`z)3vCN4Tnv`e&|fti63;&E1>-#4=|z0pfCL%7!Xw4|cXl!I=4#H+8>gqup#pwKu;vwB?kMWZxnh&u{aU zfg2R93=B7?K3)W)Cwo|%GkQ&Ku>Qlse2_tGa*fSO*))lBl5&zklK-Tfq*h5=$<)Z) Qk_D*;B_*%TcD9EY0hZ`|%m4rY delta 368 zcmexR-%uw~?(gQtz{mgu_6!W%Alh!rIm2GOwLU#U|?X(07}dO;mPKc zS<@4XfnrQ7Kt2Z)3#8{%rUAux7#J)iKv=)Ab$Lc=VhRI;wF*#;83@akt*pub3IfGq zfP9d+3SS<#L`H5&1yHO3Xb(_~QAMFp;y_M*GEkkL%@UxZDIhF9K~*U?u>xqZtp$*; z0LI~rEAkR^Q-NX;K#gr6JkyKwcR_w}3D6@C;OdxxEM^vg$vlkRj8>CpFj|W;i2WD) zD)vb%Q%p>Bs%WQZ8v`=~BgEsZK)-KhWqPN-`L>ZIr_4MrQU7>;o39MqEI?Bj7;d(1 z)`ZcM4Q$LAJtt?_{F$6#yHYYrVwJ=_$u7xrQf5-eWH@BfWO~41>$zFa?hqpYhILfN From 16aec833c49ee41f1f98eeb1b47df220db5c165e Mon Sep 17 00:00:00 2001 From: Nora Date: Wed, 4 Sep 2019 15:22:26 -0700 Subject: [PATCH 057/136] Updates to content and icons --- .../notification-rules/_index.md | 3 +++ .../create-notification-rules.md | 22 +++++++++--------- .../delete-notification-rules.md | 10 ++++++-- .../update-notfication-rules.md | 6 ++--- .../view-notification-rules.md | 23 ------------------- 5 files changed, 25 insertions(+), 39 deletions(-) delete mode 100644 content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md index a48da3364..8b01ccc8a 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md @@ -9,3 +9,6 @@ menu: name: Manage notification rules parent: Monitor and alert --- +The following articles provide information on managing your notification rules: + +{{< children >}} diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 0159939a5..c02ebaf14 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -11,27 +11,27 @@ menu: parent: Manage notification rules --- -Once you've set up checks and notification endpoints, create notification rules to alert you. For details, see and . +Once you've set up checks and notification endpoints, create notification rules to alert you. For details, see and . ## Create a new notification rule in the UI 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alert" >}} + {{< nav-icon "alerts" >}} 2. Under **Notification Rules**, click **+Create**. -2. Complete the **About** section: - a. In the **Name** field, enter a name for the notification rule. - b. In the **Schedule Every** field, enter . - c. In the **Offset** field, enter . -3. In the **Conditions** section, build a condition using a combination of status and tag keys. - a. Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) +3. Complete the **About** section: + 1. In the **Name** field, enter a name for the notification rule. + 2. In the **Schedule Every** field, enter . + 3. In the **Offset** field, enter . +4. In the **Conditions** section, build a condition using a combination of status and tag keys. + 1. Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) Select status from the drop-down list (one for is equal to or two for changes from). - b. Next to **AND When**, enter one or more tag key-value pairs to filter by. -4. In the **Message** section, select an endpoint to notify. -5. Click **Create Notification Rule**. + 2. Next to **AND When**, enter one or more tag key-value pairs to filter by. +5. In the **Message** section, select an endpoint to notify. +6. Click **Create Notification Rule**. ## Clone an existing notification rule in the UI diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md index 129b35b23..7fdd4e281 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md @@ -13,5 +13,11 @@ menu: ## Delete a notification rule in the UI -1. On the **Monitoring and Alerting** page, under **Notification Rules**, hover over an existing notification rule. -2. Click the delete icon, then click **Delete** to confirm. +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alerts" >}} + + +2. Under **Notification Rules**, find the rule you want to disable. +3. Click the delete icon, then click **Delete** to confirm. diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md index f491b2e97..c71ccfd34 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -16,7 +16,7 @@ menu: 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alert" >}} + {{< nav-icon "alerts" >}} 2. Under **Notification Rules**, click **Add a label** next to the rule you want to add a label to. The **Add Labels** box opens. @@ -34,7 +34,7 @@ menu: 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alert" >}} + {{< nav-icon "alerts" >}} 2. Under **Notification Rules**, find the rule you want to disable. @@ -45,7 +45,7 @@ menu: 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alert" >}} + {{< nav-icon "alerts" >}} 2. Under **Notification Rules**, hover over the name or description of a rule. diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md deleted file mode 100644 index 3bd3f44fa..000000000 --- a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md +++ /dev/null @@ -1,23 +0,0 @@ ---- -title: View notification rules -description: > - View notification rules to receive alerts on your time series data. - -weight: 201 -v2.0/tags: [monitor, notification rules] -menu: - v2_0: - name: View notification rules - parent: Manage notification rules ---- - -## View the history for notification Rules - -1. Select the **Monitoring and Alerting** icon from the sidebar. - - - {{< nav-icon "alert" >}} - - -2. Under **Notification Rules**, hover over the rule you want to view history for and click the eye icon, then click **View History** to confirm. -3. In the table that appears, review the history of alerts sent with the notification rule. From b3f80a6d9eb1d89450929e62d27f61f518ac44bf Mon Sep 17 00:00:00 2001 From: Nora Date: Wed, 4 Sep 2019 15:27:14 -0700 Subject: [PATCH 058/136] Add missing definition --- .../notification-rules/create-notification-rules.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index c02ebaf14..3a8b0228e 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -24,8 +24,8 @@ Once you've set up checks and notification endpoints, create notification rules 2. Under **Notification Rules**, click **+Create**. 3. Complete the **About** section: 1. In the **Name** field, enter a name for the notification rule. - 2. In the **Schedule Every** field, enter . - 3. In the **Offset** field, enter . + 2. In the **Schedule Every** field, enter how frequently the rule should run. + 3. In the **Offset** field, enter an offset time. For example, if a task is to run on the hour, a 10m offset will delay it to 10 minutes after the hour, but all time ranges defined in the task are relative to the specified execution time. 4. In the **Conditions** section, build a condition using a combination of status and tag keys. 1. Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) Select status from the drop-down list (one for is equal to or two for changes from). From 146c01009780749af0e61a2494bbb279c0d8fde0 Mon Sep 17 00:00:00 2001 From: kelseiv <47797004+kelseiv@users.noreply.github.com> Date: Wed, 4 Sep 2019 17:51:00 -0700 Subject: [PATCH 059/136] Update create-notification-endpoints.md --- .../create-notification-endpoints.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 51cc9dfd4..52864ad7f 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -15,7 +15,7 @@ related: - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ --- -To send notifications about changes in your data, start by setting up a notification endpoint to a third party service. After setting up notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/cloud/monitor-alert/manage-checks/create-checks). +To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/cloud/monitor-alert/manage-checks/create-checks). ## Create a notification endpoint in the UI @@ -37,4 +37,4 @@ To send notifications about changes in your data, start by setting up a notifica - For Slack, enter your Slack authentication token in the **Token** field. - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. -5. Click **Create Notification Endpoint**. \ No newline at end of file +5. Click **Create Notification Endpoint**. From 3cc49e0cc36e687ddf033e7a9a95d4a37cc9b163 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 07:49:22 -0600 Subject: [PATCH 060/136] updated http and slack docs to address PR feedback --- .../reference/flux/functions/http/endpoint.md | 4 ++-- .../flux/functions/slack/endpoint.md | 7 ++++--- .../reference/flux/functions/slack/message.md | 19 ++++++++++--------- 3 files changed, 16 insertions(+), 14 deletions(-) diff --git a/content/v2.0/reference/flux/functions/http/endpoint.md b/content/v2.0/reference/flux/functions/http/endpoint.md index b251070d5..6b316bf27 100644 --- a/content/v2.0/reference/flux/functions/http/endpoint.md +++ b/content/v2.0/reference/flux/functions/http/endpoint.md @@ -1,7 +1,7 @@ --- title: http.endpoint() function description: > - The `http.endpoint()` function sends output data to a an HTTP URL using the POST request method. + The `http.endpoint()` function sends output data to an HTTP URL using the POST request method. menu: v2_0_ref: name: http.endpoint @@ -9,7 +9,7 @@ menu: weight: 202 --- -The `http.endpoint()` function sends output data to a an HTTP URL using the POST request method. +The `http.endpoint()` function sends output data to an HTTP URL using the POST request method. _**Function type:** Output_ diff --git a/content/v2.0/reference/flux/functions/slack/endpoint.md b/content/v2.0/reference/flux/functions/slack/endpoint.md index bee802fe6..ea3ecbb7a 100644 --- a/content/v2.0/reference/flux/functions/slack/endpoint.md +++ b/content/v2.0/reference/flux/functions/slack/endpoint.md @@ -29,14 +29,15 @@ The Slack API URL. Defaults to `https://slack.com/api/chat.postMessage`. {{% note %}} -If using a Slack Webhook, the Webhook setup process provides the -[Webhook URL](https://api.slack.com/incoming-webhooks#create_a_webhook). +If using a Slack webhook, you'll receive a Slack webhook URL when you +[create an incoming webhook](https://api.slack.com/incoming-webhooks#create_a_webhook). {{% /note %}} _**Data type:** String_ ### token -The Slack API token used to interact with Slack. +The [Slack API token](https://get.slack.help/hc/en-us/articles/215770388-Create-and-regenerate-API-tokens) +used to interact with Slack. Defaults to `""`. {{% note %}} diff --git a/content/v2.0/reference/flux/functions/slack/message.md b/content/v2.0/reference/flux/functions/slack/message.md index a7a0cfbdf..70606b866 100644 --- a/content/v2.0/reference/flux/functions/slack/message.md +++ b/content/v2.0/reference/flux/functions/slack/message.md @@ -2,7 +2,7 @@ title: slack.message() function description: > The `slack.message()` function sends a single message to a Slack channel. - It work with either with the chat.postMessage API or with a Slack webhook. + The function works with either with the chat.postMessage API or with a Slack webhook. menu: v2_0_ref: name: slack.message @@ -11,8 +11,8 @@ weight: 202 --- The `slack.message()` function sends a single message to a Slack channel. -It will work either with the [chat.postMessage API](https://api.slack.com/methods/chat.postMessage) -or with a [Slack Webhook](https://api.slack.com/incoming-webhooks). +The function works with either with the [chat.postMessage API](https://api.slack.com/methods/chat.postMessage) +or with a [Slack webhook](https://api.slack.com/incoming-webhooks). _**Function type:** Output_ @@ -38,14 +38,15 @@ The Slack API URL. Defaults to `https://slack.com/api/chat.postMessage`. {{% note %}} -If using a Slack Webhook, the Webhook setup process provides the -[Webhook URL](https://api.slack.com/incoming-webhooks#create_a_webhook). +If using a Slack webhook, you'll receive a Slack webhook URL when you +[create an incoming webhook](https://api.slack.com/incoming-webhooks#create_a_webhook). {{% /note %}} _**Data type:** String_ ### token -The Slack API token used to interact with Slack. +The [Slack API token](https://get.slack.help/hc/en-us/articles/215770388-Create-and-regenerate-API-tokens) +used to interact with Slack. Defaults to `""`. {{% note %}} @@ -60,7 +61,7 @@ The username to use when posting the message to a Slack channel. Required +The name of channel to post the message to. Required _**Data type:** String_ @@ -84,7 +85,7 @@ _**Data type:** String_ {{% note %}} #### Things to know about iconEmoji - **Do not** enclose the name in colons `:` as you do in the Slack client. -- If using a Slack Webhook, the `iconEmoji` **will not** show as the avatar. +- `iconEmoji` only appears as the user avatar when using the Slack chat.postMessage API. {{% /note %}} ### color @@ -96,7 +97,7 @@ The color to include with the message. - `good` - `warning` - `danger` -- Any valid RGB hex color code. For example: `#439FE0`. +- Any valid RGB hex color code. For example, `#439FE0`. _**Data type:** String_ From a15b45865be40dbd186dd69933e2d3f8e6fb3ea9 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 08:43:11 -0600 Subject: [PATCH 061/136] added flux secrets package --- .../flux/functions/secrets/_index.md | 22 ++++++++++ .../reference/flux/functions/secrets/get.md | 44 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/secrets/_index.md create mode 100644 content/v2.0/reference/flux/functions/secrets/get.md diff --git a/content/v2.0/reference/flux/functions/secrets/_index.md b/content/v2.0/reference/flux/functions/secrets/_index.md new file mode 100644 index 000000000..d27834ccf --- /dev/null +++ b/content/v2.0/reference/flux/functions/secrets/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux InfluxDB Secrets package +list_title: InfluxDB Secrets package +description: > + The Flux InfluxDB Secrets package provides functions for working with sensitive secrets managed by InfluxDB. + Import the `influxdata/influxdb/secrets` package. +menu: + v2_0_ref: + name: InfluxDB Secrets + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, secrets, package] +--- + +InfluxDB Secrets Flux functions provide tools for working with sensitive secrets managed by InfluxDB. +Import the `influxdata/influxdb/secrets` package: + +```js +import "influxdata/influxdb/secrets" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/secrets/get.md b/content/v2.0/reference/flux/functions/secrets/get.md new file mode 100644 index 000000000..ff669f891 --- /dev/null +++ b/content/v2.0/reference/flux/functions/secrets/get.md @@ -0,0 +1,44 @@ +--- +title: secrets.get() function +description: > + The `secrets.get()` function retrieves a secret from the InfluxDB secret store. +menu: + v2_0_ref: + name: secrets.get + parent: InfluxDB Secrets +weight: 202 +--- + +The `secrets.get()` function retrieves a secret from the InfluxDB secret store. + +_**Function type:** Miscellaneous_ + +```js +import "influxdata/influxdb/secrets" + +secrets.get(key: "KEY_NAME") +``` + +## Parameters + +### key +The secret key to retrieve. + +_**Data type:** String_ + +## Examples + +### Populate sensitive credentials with secrets +```js +import "sql" +import "influxdata/influxdb/secrets" + +username = secrets.get(key: "POSTGRES_USERNAME") +password = secrets.get(key: "POSTGRES_PASSWORD") + +sql.from( + driverName: "postgres", + dataSourceName: "postgresql://${username}:${password}@localhost", + query:"SELECT * FROM example-table" +) +``` From 5c5562db645f32066f1c23068589f0aa47071a4d Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 11:05:21 -0600 Subject: [PATCH 062/136] updated flux changelog with 0.41.0 --- content/v2.0/reference/release-notes/flux.md | 23 +++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index 5d7e5d90c..c241a7cc4 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,34 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.40.2**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.41.0**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.41.0 [2019-08-26] + +### Features +- Add ability to validate URLs before making `http.post` requests. +- Evaluate string interpolation. +- Implement the `secrets.get` function. +- Added secret service interface. +- Add secrets package that will construct a secret object. +- Added a SecretService interface and a new dependencies package and a basic test of functionality. +- Add Slack endpoint. + +### Bug fixes +- Make `reset()` check for non-nil data before calling `Release()`. +- Add test case for `notify` function. +- Add missing math import to test case. +- Make packages aware of options. +- Resolved `holtWinters` panic. +- Use non-pointer receiver for `interpreter.function`. + +--- + ## v0.40.2 [2019-08-22] ### Bug fixes From f5893d35c52cf18f494bcb9afbdac79b68d71101 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:22:30 -0700 Subject: [PATCH 063/136] Update _index.md --- content/v2.0/cloud/monitor-alert/notification-rules/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md index 8b01ccc8a..8f907fa01 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/_index.md @@ -3,7 +3,7 @@ title: Manage notification rules description: > Manage notification rules in InfluxDB. weight: 20 -v2.0/tags: [manage, notification, rules] +v2.0/tags: [notifications] menu: v2_0: name: Manage notification rules From 32c06ceb9cd01a58de6e8ef5031e2eade926e183 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:22:54 -0700 Subject: [PATCH 064/136] Update create-notification-rules.md --- .../notification-rules/create-notification-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 3a8b0228e..7760c1937 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -1,7 +1,7 @@ --- title: Create notification rules description: > - Create notification rules to receive alerts on your time series data. + Create notifications to receive alerts on your time series data. weight: 201 v2.0/tags: [monitor, notification rules] From 1614aabf252433722e3a4278da64f0b7a5370704 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:23:55 -0700 Subject: [PATCH 065/136] Update create-notification-rules.md --- .../notification-rules/create-notification-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 7760c1937..dc727d446 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -25,7 +25,7 @@ Once you've set up checks and notification endpoints, create notification rules 3. Complete the **About** section: 1. In the **Name** field, enter a name for the notification rule. 2. In the **Schedule Every** field, enter how frequently the rule should run. - 3. In the **Offset** field, enter an offset time. For example, if a task is to run on the hour, a 10m offset will delay it to 10 minutes after the hour, but all time ranges defined in the task are relative to the specified execution time. + 3. In the **Offset** field, enter an offset time. For example,if a task runs on the hour, a 10m offset delays the task to 10 minutes after the hour. Time ranges defined in the task are relative to the specified execution time. 4. In the **Conditions** section, build a condition using a combination of status and tag keys. 1. Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) Select status from the drop-down list (one for is equal to or two for changes from). From ce3e917885aa372dd369846b8e61e0bfb7bdfce4 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:24:56 -0700 Subject: [PATCH 066/136] Update create-notification-rules.md --- .../notification-rules/create-notification-rules.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index dc727d446..64239f4c7 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -27,8 +27,9 @@ Once you've set up checks and notification endpoints, create notification rules 2. In the **Schedule Every** field, enter how frequently the rule should run. 3. In the **Offset** field, enter an offset time. For example,if a task runs on the hour, a 10m offset delays the task to 10 minutes after the hour. Time ranges defined in the task are relative to the specified execution time. 4. In the **Conditions** section, build a condition using a combination of status and tag keys. - 1. Next to **When status**, select a an operator from the drop-down field. (either **is equal to** or **changes from**.) - Select status from the drop-down list (one for is equal to or two for changes from). + 1. Next to **When status**, select a an operator from the drop-down field: + - **is equal to** and then select the status + - **changes from** and then select both statuses 2. Next to **AND When**, enter one or more tag key-value pairs to filter by. 5. In the **Message** section, select an endpoint to notify. 6. Click **Create Notification Rule**. From abc91821116c8b2890185706692720b6ae03dc23 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:25:27 -0700 Subject: [PATCH 067/136] Update create-notification-rules.md --- .../notification-rules/create-notification-rules.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 64239f4c7..025166030 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -1,10 +1,10 @@ --- title: Create notification rules description: > - Create notifications to receive alerts on your time series data. + Create notification rules to receive alerts on your time series data. -weight: 201 -v2.0/tags: [monitor, notification rules] +weight: 20 +v2.0/tags: [notifications] menu: v2_0: name: Create notification rules From 0725bfa2bf12f89ee8efa8e66c2dfbb10aa6c42f Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:25:51 -0700 Subject: [PATCH 068/136] Update delete-notification-rules.md --- .../notification-rules/delete-notification-rules.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md index 7fdd4e281..c0340f347 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md @@ -1,7 +1,8 @@ --- title: Delete notification rules description: > - Delete notification rules to receive alerts on your time series data. + If you no longer need to receive an alert, delete the associated notification rule. + weight: 201 v2.0/tags: [monitor, notification rules] From ca73dd14d8b2316b983fed710f1e27ceef844b94 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:26:29 -0700 Subject: [PATCH 069/136] Update delete-notification-rules.md --- .../notification-rules/delete-notification-rules.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md index c0340f347..ba3d61c31 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md @@ -5,7 +5,7 @@ description: > weight: 201 -v2.0/tags: [monitor, notification rules] +v2.0/tags: [notifications] menu: v2_0: name: Delete notification rules @@ -20,5 +20,5 @@ menu: {{< nav-icon "alerts" >}} -2. Under **Notification Rules**, find the rule you want to disable. +2. Under **Notification Rules**, find the rule you want to delete. 3. Click the delete icon, then click **Delete** to confirm. From 684ef7534dcebec996e61cdbb5e7303fffb79fc1 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:27:22 -0700 Subject: [PATCH 070/136] Update update-notfication-rules.md --- .../notification-rules/update-notfication-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md index c71ccfd34..75a91e6c2 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -1,7 +1,7 @@ --- title: Update notification rules description: > - Update notification rules to receive alerts on your time series data. + Update notification rules to update the notification message or change the schedule or conditions. weight: 201 v2.0/tags: [monitor, notification rules] From 47b24206dc2a7980bada14c0fa1842b1070b572c Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:28:42 -0700 Subject: [PATCH 071/136] Update update-notfication-rules.md --- .../notification-rules/update-notfication-rules.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md index 75a91e6c2..311b7c709 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -4,7 +4,7 @@ description: > Update notification rules to update the notification message or change the schedule or conditions. weight: 201 -v2.0/tags: [monitor, notification rules] +v2.0/tags: [notifications] menu: v2_0: name: Update notification rules @@ -26,7 +26,7 @@ menu: - In the **Description** field, enter an optional description for the label. - Select a color from the for the label. - Click **Create Label**. -5. To remove a label, hover over the label next to a rule and click the X. +5. To remove a label, hover over the label under to a rule and click X. ## Disable notification rules From 0050e555853e258a156b2e70547901c4c56d0bb3 Mon Sep 17 00:00:00 2001 From: noramullen1 <42354779+noramullen1@users.noreply.github.com> Date: Thu, 5 Sep 2019 10:29:21 -0700 Subject: [PATCH 072/136] Update update-notfication-rules.md --- .../notification-rules/update-notfication-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md index 311b7c709..cc0a53d23 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md @@ -24,7 +24,7 @@ menu: 4. To create and add a new label: - In the search field, enter the name of the new label. The **Create Label** box opens. - In the **Description** field, enter an optional description for the label. - - Select a color from the for the label. + - Select a color for the label. - Click **Create Label**. 5. To remove a label, hover over the label under to a rule and click X. From e9b55218ddb1ee1a63ef09079a6e3d7fce4b4b15 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 13:52:50 -0600 Subject: [PATCH 073/136] added flux 0.42 to flux release notes --- content/v2.0/reference/release-notes/flux.md | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index c241a7cc4..e3f0267b3 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,27 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.41.0**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.42.0**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.42.0 [2019-08-30] + +### Features +- Add `stateChanges` function. + +### Bug fixes +- Race condition in looking up types in `map`. +- Support bool equality expressions. +- Calculating a type variable's free type variables. +- Do not generate fresh type variables for member expressions. +- Array instantiation. + +--- + ## v0.41.0 [2019-08-26] ### Features From 1a5c66e4d46d6d4b2440874f7cce652898f13ccf Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 15:51:43 -0600 Subject: [PATCH 074/136] added monitor.stateChanges function --- .../flux/functions/monitor/statechanges.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/monitor/statechanges.md diff --git a/content/v2.0/reference/flux/functions/monitor/statechanges.md b/content/v2.0/reference/flux/functions/monitor/statechanges.md new file mode 100644 index 000000000..2769c5b3a --- /dev/null +++ b/content/v2.0/reference/flux/functions/monitor/statechanges.md @@ -0,0 +1,55 @@ +--- +title: monitor.stateChanges() function +description: > + The `monitor.stateChanges()` function ... +menu: + v2_0_ref: + name: monitor.stateChanges + parent: InfluxDB Monitor +weight: 202 +cloud_all: true +--- + +The `monitor.stateChanges()` function detects state changes in a stream of data and +outputs only records that change from `fromLevel` to `toLevel`. + +{{% note %}} +`monitor.stateChanges` operates on data in the `statuses` measurement and requires a `_level` column . +{{% /note %}} + +_**Function type:** Transformation_ + +```js +import "influxdata/influxdb/monitor" + +monitor.stateChanges( + fromLevel: "any", + toLevel: "crit" +) +``` + +## Parameters + +### fromLevel +The level to detect a change from. +Defaults to `"any"`. + +_**Data type:** String_ + +### toLevel +The level to detect a change to. +The function only output records that change to this level. + +_**Data type:** String_ + +## Examples + +### Detect when the state changes to critical +```js +import "influxdata/influxdb/monitor" + +from(bucket: "example-bucket") + |> range(start: -10m) + |> group(columns: ["host"]) + |> monitor.stateChanges(toLevel: "crit") +``` From 030b2b484da3c47ad0f0e51a9bd8712900767237 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 15:53:56 -0600 Subject: [PATCH 075/136] added description on monitor.stateChanges function --- content/v2.0/reference/flux/functions/monitor/statechanges.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/monitor/statechanges.md b/content/v2.0/reference/flux/functions/monitor/statechanges.md index 2769c5b3a..1274829a7 100644 --- a/content/v2.0/reference/flux/functions/monitor/statechanges.md +++ b/content/v2.0/reference/flux/functions/monitor/statechanges.md @@ -1,7 +1,8 @@ --- title: monitor.stateChanges() function description: > - The `monitor.stateChanges()` function ... + The `monitor.stateChanges()` function detects state changes in a stream of data and + outputs only records that change from `fromLevel` to `toLevel`. menu: v2_0_ref: name: monitor.stateChanges From c0d40519a132eec5000c6d38ea38825d1287ae85 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 15:56:03 -0600 Subject: [PATCH 076/136] updated example in monitor.stateChange --- content/v2.0/reference/flux/functions/monitor/statechanges.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/v2.0/reference/flux/functions/monitor/statechanges.md b/content/v2.0/reference/flux/functions/monitor/statechanges.md index 1274829a7..1aa6c43df 100644 --- a/content/v2.0/reference/flux/functions/monitor/statechanges.md +++ b/content/v2.0/reference/flux/functions/monitor/statechanges.md @@ -49,8 +49,6 @@ _**Data type:** String_ ```js import "influxdata/influxdb/monitor" -from(bucket: "example-bucket") - |> range(start: -10m) - |> group(columns: ["host"]) +monitor.from(start: -1h) |> monitor.stateChanges(toLevel: "crit") ``` From 1c398b937c4872803267c86dd0bdb7c8447458b2 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Thu, 5 Sep 2019 16:01:06 -0600 Subject: [PATCH 077/136] added flux 0.43 to the flux changelog --- content/v2.0/reference/release-notes/flux.md | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index e3f0267b3..3352a8e00 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,20 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.42.0**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.43.0**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.43.0 [2019-09-04] + +### Features +- PagerDuty endpoint for alerts and notifications. + +--- + ## v0.42.0 [2019-08-30] ### Features From f23fb2ec4d6fa55c0a3649596c53945d708b78ab Mon Sep 17 00:00:00 2001 From: timhallinflux Date: Thu, 5 Sep 2019 17:46:21 -0700 Subject: [PATCH 078/136] Update create-notification-endpoints.md Removed HTTP from Free Plan --- .../create-notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 52864ad7f..0057cac10 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -22,7 +22,7 @@ To send notifications about changes in your data, start by creating a notificati 1. On the **Monitoring and Alerting** page, next to **Notification Endpoints**, click **Create**. 2. In the **Name** and **Description** fields, enter a name and description for the endpoint. 3. From the **Destination** drop-down list, select a destination endpoint to send notifications: - - (Free plan) HTTP or Slack + - (Free plan) Slack - (Pay as You Go plan) HTTP, Slack, or PagerDuty 4. Enter the **URL** to notify, and then enter connection information: From 4ca6115f18a4b36a1ebf0899c0fc59effda7ff79 Mon Sep 17 00:00:00 2001 From: timhallinflux Date: Thu, 5 Sep 2019 18:24:18 -0700 Subject: [PATCH 079/136] Update create-notification-endpoints.md Updated Slack instructions. --- .../create-notification-endpoints.md | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 0057cac10..79f0ffe00 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -34,7 +34,12 @@ To send notifications about changes in your data, start by creating a notificati c. In the **Content Template** field, enter {examples for each endpoint template}. - - For Slack, enter your Slack authentication token in the **Token** field. + - For Slack: + + a. Create an Incoming WebHook within Slack in order to send notifications to Slack. + + b. Enter the Slack Incoming WebHook URL in the **Slack Incoming WebHook URL** field. + - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. 5. Click **Create Notification Endpoint**. From 4784f6cc499db7ea7aea4e2fc49822504abb2b72 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 6 Sep 2019 09:49:44 -0600 Subject: [PATCH 080/136] added flux pagerduty package --- .../reference/flux/functions/http/endpoint.md | 1 + .../flux/functions/pagerduty/_index.md | 22 ++++ .../functions/pagerduty/actionfromseverity.md | 42 ++++++ .../flux/functions/pagerduty/dedupkey.md | 36 +++++ .../flux/functions/pagerduty/endpoint.md | 81 ++++++++++++ .../flux/functions/pagerduty/sendevent.md | 123 ++++++++++++++++++ .../flux/functions/slack/endpoint.md | 1 + 7 files changed, 306 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/pagerduty/_index.md create mode 100644 content/v2.0/reference/flux/functions/pagerduty/actionfromseverity.md create mode 100644 content/v2.0/reference/flux/functions/pagerduty/dedupkey.md create mode 100644 content/v2.0/reference/flux/functions/pagerduty/endpoint.md create mode 100644 content/v2.0/reference/flux/functions/pagerduty/sendevent.md diff --git a/content/v2.0/reference/flux/functions/http/endpoint.md b/content/v2.0/reference/flux/functions/http/endpoint.md index 6b316bf27..df67ea6af 100644 --- a/content/v2.0/reference/flux/functions/http/endpoint.md +++ b/content/v2.0/reference/flux/functions/http/endpoint.md @@ -7,6 +7,7 @@ menu: name: http.endpoint parent: HTTP weight: 202 +v2.0/tags: [endpoints] --- The `http.endpoint()` function sends output data to an HTTP URL using the POST request method. diff --git a/content/v2.0/reference/flux/functions/pagerduty/_index.md b/content/v2.0/reference/flux/functions/pagerduty/_index.md new file mode 100644 index 000000000..8a8a1fd13 --- /dev/null +++ b/content/v2.0/reference/flux/functions/pagerduty/_index.md @@ -0,0 +1,22 @@ +--- +title: Flux PagerDuty package +list_title: PagerDuty package +description: > + The Flux PagerDuty package provides functions for sending data to PagerDuty. + Import the `pagerduty` package. +menu: + v2_0_ref: + name: PagerDuty + parent: Flux packages and functions +weight: 202 +v2.0/tags: [functions, pagerduty, package] +--- + +The Flux PagerDuty package provides functions for sending data to PagerDuty. +Import the `pagerduty` package: + +```js +import "pagerduty" +``` + +{{< children type="functions" show="pages" >}} diff --git a/content/v2.0/reference/flux/functions/pagerduty/actionfromseverity.md b/content/v2.0/reference/flux/functions/pagerduty/actionfromseverity.md new file mode 100644 index 000000000..6ac966f05 --- /dev/null +++ b/content/v2.0/reference/flux/functions/pagerduty/actionfromseverity.md @@ -0,0 +1,42 @@ +--- +title: pagerduty.actionFromSeverity() function +description: > + The `pagerduty.actionFromSeverity()` function converts a severity to a PagerDuty action. +menu: + v2_0_ref: + name: pagerduty.actionFromSeverity + parent: PagerDuty +weight: 202 +--- + +The `pagerduty.actionFromSeverity()` function converts a severity to a PagerDuty action. +`ok` converts to `resolve`. +All other severities convert to `trigger`. + +_**Function type:** Transformation_ + +```js +import "pagerduty" + +pagerduty.actionFromSeverity( + severity: "ok" +) + +// Returns "resolve" +``` + +## Parameters + +### severity +The severity to convert to a PagerDuty action. + +_**Data type:** String_ + +## Function definition +```js +import "strings" + +actionFromSeverity = (severity) => + if strings.toLower(v: severity) == "ok" then "resolve" + else "trigger" +``` diff --git a/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md b/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md new file mode 100644 index 000000000..a932cd754 --- /dev/null +++ b/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md @@ -0,0 +1,36 @@ +--- +title: pagerduty.dedupKey() function +description: > + The `pagerduty.dedupKey()` function uses the group key of an input table to + generate and store a deduplication key in the `_pagerdutyDedupKey` column. +menu: + v2_0_ref: + name: pagerduty.dedupKey + parent: PagerDuty +weight: 202 +--- + +The `pagerduty.dedupKey()` function uses the group key of an input table to +generate and store a deduplication key in the `_pagerdutyDedupKey` column. +The function sorts, newline-concatenates, SHA256-hashes, and hex-encodes +the group key before storing it. + +_**Function type:** Transformation_ + +```js +import "pagerduty" + +pagerduty.dedupKey() +``` + +## Examples + +##### Add a PagerDuty deduplication key to output data +```js +import "pagerduty" + +from(bucket: "default") + |> range(start: -5m) + |> filter(fn: (r) => r._measurement == "mem") + |> pagerduty.dedupKey() +``` diff --git a/content/v2.0/reference/flux/functions/pagerduty/endpoint.md b/content/v2.0/reference/flux/functions/pagerduty/endpoint.md new file mode 100644 index 000000000..cd3a63ffc --- /dev/null +++ b/content/v2.0/reference/flux/functions/pagerduty/endpoint.md @@ -0,0 +1,81 @@ +--- +title: pagerduty.endpoint() function +description: > + The `pagerduty.endpoint()` function sends a message to PagerDuty that includes output data. +menu: + v2_0_ref: + name: pagerduty.endpoint + parent: PagerDuty +weight: 202 +v2.0/tags: [endpoints] +--- + +The `pagerduty.endpoint()` function sends a message to PagerDuty that includes output data. + +_**Function type:** Output_ + +```js +import "pagerduty" + +pagerduty.endpoint( + url: "https://events.pagerduty.com/v2/enqueue", + token: "mySuPerSecRetTokEn" +) +``` + +## Parameters + +### pagerdutyURL +The PagerDuty API URL. +Defaults to `https://events.pagerduty.com/v2/enqueue`. + +_**Data type:** String_ + +### token +The [PagerDuty API token](https://support.pagerduty.com/docs/generating-api-keys#section-generating-a-general-access-rest-api-key) +used to interact with PagerDuty. +Defaults to `""`. + +_**Data type:** String_ + +### mapFn +A function that builds the object used to generate the POST request. + +{{% note %}} +_You should rarely need to override the default `mapFn` parameter. +To see the default `mapFn` value or for insight into possible overrides, view the +[`pagerduty.endpoint()` source code](https://github.com/influxdata/flux/blob/master/stdlib/pagerduty/pagerduty.flux)._ +{{% /note %}} + +_**Data type:** Function_ + +The returned object must include the following fields: + +- `routingKey` +- `client` +- `client_url` +- `class` +- `group` +- `severity` +- `component` +- `source` +- `summary` +- `timestamp` + +_For more information, see [`pagerduty.message()`](/v2.0/reference/flux/functions/pagerduty/message/)_ + +## Examples + +##### Send critical statuses to a PagerDuty endpoint +```js +import "monitor" +import "pagerduty" + +endpoint = pagerduty.endpoint(token: "mySuPerSecRetTokEn") + +from(bucket: "example-bucket") + |> range(start: -1m) + |> filter(fn: (r) => r._measurement == "statuses" and status == "crit") + |> map(fn: (r) => { return {r with status: r._status} }) + |> monitor.notify(endpoint: endpoint) +``` diff --git a/content/v2.0/reference/flux/functions/pagerduty/sendevent.md b/content/v2.0/reference/flux/functions/pagerduty/sendevent.md new file mode 100644 index 000000000..2dfdd436b --- /dev/null +++ b/content/v2.0/reference/flux/functions/pagerduty/sendevent.md @@ -0,0 +1,123 @@ +--- +title: pagerduty.sendEvent() function +description: > + The `pagerduty.sendEvent()` function sends an event to PagerDuty. +menu: + v2_0_ref: + name: pagerduty.sendEvent + parent: PagerDuty +weight: 202 +--- + +The `pagerduty.sendEvent()` function sends an event to PagerDuty. + +_**Function type:** Output_ + +```js +import "pagerduty" + +pagerduty.sendEvent( + pagerdutyURL: "https://events.pagerduty.com/v2/enqueue", + token: "mySuPerSecRetTokEn", + routingKey: "ExampleRoutingKey", + client: "ExampleClient", + clientURL: "http://examplepagerdutyclient.com", + dedupkey: "ExampleDedupKey", + class: "cpu usage", + group: "app-stack", + severity: "ok", + component: "postgres", + source: "monitoringtool:vendor:region", + summary: "This is an example summary.", + timestamp: "2016-07-17T08:42:58.315+0000" +) +``` + +## Parameters + +### pagerdutyURL +The URL of the PagerDuty endpoint. +Defaults to `https://events.pagerduty.com/v2/enqueue`. + +_**Data type:** String_ + +### token +The [PagerDuty API token](https://support.pagerduty.com/docs/generating-api-keys#section-generating-a-general-access-rest-api-key) +used to interact with PagerDuty. +Defaults to `""`. + +_**Data type:** String_ + +### routingKey +The routing key generated from your PagerDuty integration. + +_**Data type:** String_ + +### client +The name of the client sending the alert. + +_**Data type:** String_ + +### clientURL +The URL of the client sending the alert. + +_**Data type:** String_ + +### dedupkey +A per-alert ID that acts as deduplication key and allows you to acknowledge or +change the severity of previous messages. +Supports a maximum of 255 characters. + +{{% note %}} +When using [`pagerduty.endpoint()`](/v2.0/reference/flux/functions/pagerduty/endpoint/) +to send data to PagerDuty, the function uses the [`pagerduty.dedupKey()` function](/v2.0/reference/flux/functions/pagerduty/dedupkey/) to populate the `dedupkey` parameter. +{{% /note %}} + +_**Data type:** String_ + +### class +The class or type of the event. +For example, `ping failure` or `cpu load`. + +_**Data type:** String_ + +### group +A logical grouping used by PagerDuty. +For example, `app-stack`. + +_**Data type:** String_ + +### severity +The severity of the event. + +**Valid values include:** + +- `critical` +- `error` +- `warning` +- `info` + +_**Data type:** String_ + +### component +The component of the source machine responsible for the event. +For example, `mysql` or `eth0`. + +_**Data type:** String_ + +### source +The unique location of the affected system. +For example, the hostname or fully qualified domain name (FQDN). + +_**Data type:** String_ + +### summary +A brief text summary of the event used as the summaries or titles of associated alerts. +The maximum permitted length is 1024 characters. + +_**Data type:** String_ + +### timestamp +The time the detected event occurred in [RFC3339nano format](https://golang.org/pkg/time/#RFC3339Nano). + +_**Data type:** String_ diff --git a/content/v2.0/reference/flux/functions/slack/endpoint.md b/content/v2.0/reference/flux/functions/slack/endpoint.md index ea3ecbb7a..a4940de1a 100644 --- a/content/v2.0/reference/flux/functions/slack/endpoint.md +++ b/content/v2.0/reference/flux/functions/slack/endpoint.md @@ -7,6 +7,7 @@ menu: name: slack.endpoint parent: Slack weight: 202 +v2.0/tags: [endpoints] --- The `slack.endpoint()` function sends a message to Slack that includes output data. From a64cec6784127dcbf7a755ad44e2e54fe2b761c2 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 6 Sep 2019 09:57:39 -0600 Subject: [PATCH 081/136] updated stateChanges doc to address PR feedback --- .../v2.0/reference/flux/functions/monitor/statechanges.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/v2.0/reference/flux/functions/monitor/statechanges.md b/content/v2.0/reference/flux/functions/monitor/statechanges.md index 1aa6c43df..fd3b0dc0d 100644 --- a/content/v2.0/reference/flux/functions/monitor/statechanges.md +++ b/content/v2.0/reference/flux/functions/monitor/statechanges.md @@ -2,7 +2,7 @@ title: monitor.stateChanges() function description: > The `monitor.stateChanges()` function detects state changes in a stream of data and - outputs only records that change from `fromLevel` to `toLevel`. + outputs records that change from `fromLevel` to `toLevel`. menu: v2_0_ref: name: monitor.stateChanges @@ -12,7 +12,7 @@ cloud_all: true --- The `monitor.stateChanges()` function detects state changes in a stream of data and -outputs only records that change from `fromLevel` to `toLevel`. +outputs records that change from `fromLevel` to `toLevel`. {{% note %}} `monitor.stateChanges` operates on data in the `statuses` measurement and requires a `_level` column . @@ -39,7 +39,7 @@ _**Data type:** String_ ### toLevel The level to detect a change to. -The function only output records that change to this level. +The function output records that change to this level. _**Data type:** String_ From c70a09faf897023cd98bf485b36ac5d105cb9b91 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 6 Sep 2019 10:15:23 -0600 Subject: [PATCH 082/136] added flux 0.44 to changelog, updated monitor functions with measurement filters --- content/v2.0/reference/flux/functions/monitor/from.md | 6 ++++-- content/v2.0/reference/flux/functions/monitor/logs.md | 6 ++++-- content/v2.0/reference/release-notes/flux.md | 11 +++++++++++ 3 files changed, 19 insertions(+), 4 deletions(-) diff --git a/content/v2.0/reference/flux/functions/monitor/from.md b/content/v2.0/reference/flux/functions/monitor/from.md index 2c97ed710..cffde8c9c 100644 --- a/content/v2.0/reference/flux/functions/monitor/from.md +++ b/content/v2.0/reference/flux/functions/monitor/from.md @@ -1,7 +1,8 @@ --- title: monitor.from() function description: > - The `monitor.from()` function retrieves check statuses stored in the `_monitoring` bucket. + The `monitor.from()` function retrieves check statuses stored in the `statuses` + measurement in the `_monitoring` bucket. menu: v2_0_ref: name: monitor.from @@ -9,7 +10,8 @@ menu: weight: 202 --- -The `monitor.from()` function retrieves check statuses stored in the `_monitoring` bucket. +The `monitor.from()` function retrieves check statuses stored in the `statuses` +measurement in the `_monitoring` bucket. _**Function type:** Input_ diff --git a/content/v2.0/reference/flux/functions/monitor/logs.md b/content/v2.0/reference/flux/functions/monitor/logs.md index 5b13f9c14..a27b6bc0d 100644 --- a/content/v2.0/reference/flux/functions/monitor/logs.md +++ b/content/v2.0/reference/flux/functions/monitor/logs.md @@ -1,7 +1,8 @@ --- title: monitor.logs() function description: > - The `monitor.logs()` function retrieves notification events stored in the `_monitoring` bucket. + The `monitor.logs()` function retrieves notification events stored in the `notifications` + measurement in the `_monitoring` bucket. menu: v2_0_ref: name: monitor.logs @@ -9,7 +10,8 @@ menu: weight: 202 --- -The `monitor.logs()` function retrieves notification events stored in the `_monitoring` bucket. +The `monitor.logs()` function retrieves notification events stored in the `notifications` +measurement in the `_monitoring` bucket. _**Function type:** Input_ diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index 3352a8e00..eb7e39a4b 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -18,6 +18,17 @@ InfluxDB until the next InfluxDB v2.0 release._ --- +## v0.44.0 [2019-09-05] + +### Features +- Add `http.basicAuth` function. +- Add measurement filters to `monitor.from` and `monitor.logs`. + +### Bug fixes +- changed the default HTTP client to be more robust. + +--- + ## v0.43.0 [2019-09-04] ### Features From a97b75b1ae5dca3b83c35fa618b765fc3116b912 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 6 Sep 2019 11:40:01 -0600 Subject: [PATCH 083/136] added http.basicAuth function --- .../flux/functions/http/basicauth.md | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/http/basicauth.md diff --git a/content/v2.0/reference/flux/functions/http/basicauth.md b/content/v2.0/reference/flux/functions/http/basicauth.md new file mode 100644 index 000000000..37fc33f71 --- /dev/null +++ b/content/v2.0/reference/flux/functions/http/basicauth.md @@ -0,0 +1,56 @@ +--- +title: http.basicAuth() function +description: > + The `http.basicAuth()` function returns a Base64-encoded basic authentication + header using a specified username and password combination. +menu: + v2_0_ref: + name: http.basicAuth + parent: HTTP +weight: 202 +--- + +The `http.basicAuth()` function returns a Base64-encoded basic authentication +header using a specified username and password combination. + +_**Function type:** Miscellaneous_ + +```js +import "http" + +http.basicAuth( + u: "username" + p: "passw0rd" +) + +// Returns "Basic dXNlcm5hbWU6cGFzc3cwcmQ=" +``` + +## Parameters + +### u +The username to use in the basic authentication header. + +_**Data type:** String_ + +### p +The password to use in the basic authentication header. + +_**Data type:** String_ + +## Examples + +##### Set a basic authentication header in an HTTP POST request +```js +import "monitor" +import "http" + +username = "myawesomeuser" +password = "mySupErSecRetPasSW0rD" + +http.post( + url: "http://localhost:9999/", + headers: {Authorization: http.basicAuth(u:username, p:password)}, + data: bytes(v: "something I want to send.") +) +``` From 1794a6e094ec714dfdfca4f172393dc3cceff40b Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 6 Sep 2019 13:28:18 -0600 Subject: [PATCH 084/136] updated pagerduty docs to address PR feedback --- content/v2.0/reference/flux/functions/pagerduty/dedupkey.md | 2 +- content/v2.0/reference/flux/functions/pagerduty/sendevent.md | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md b/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md index a932cd754..a49792e6d 100644 --- a/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md +++ b/content/v2.0/reference/flux/functions/pagerduty/dedupkey.md @@ -13,7 +13,7 @@ weight: 202 The `pagerduty.dedupKey()` function uses the group key of an input table to generate and store a deduplication key in the `_pagerdutyDedupKey` column. The function sorts, newline-concatenates, SHA256-hashes, and hex-encodes -the group key before storing it. +the group key to create a unique deduplication key for each input table. _**Function type:** Transformation_ diff --git a/content/v2.0/reference/flux/functions/pagerduty/sendevent.md b/content/v2.0/reference/flux/functions/pagerduty/sendevent.md index 2dfdd436b..562abf3e3 100644 --- a/content/v2.0/reference/flux/functions/pagerduty/sendevent.md +++ b/content/v2.0/reference/flux/functions/pagerduty/sendevent.md @@ -77,12 +77,14 @@ _**Data type:** String_ ### class The class or type of the event. +Classes are user-defined. For example, `ping failure` or `cpu load`. _**Data type:** String_ ### group A logical grouping used by PagerDuty. +Groups are user-defined. For example, `app-stack`. _**Data type:** String_ @@ -101,6 +103,7 @@ _**Data type:** String_ ### component The component of the source machine responsible for the event. +Components are user-defined. For example, `mysql` or `eth0`. _**Data type:** String_ From e814c21a09bb1c461d7fdf372a2daf5c4be8e587 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Fri, 6 Sep 2019 13:30:24 -0600 Subject: [PATCH 085/136] updated example url in http.basicAuth doc --- content/v2.0/reference/flux/functions/http/basicauth.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/functions/http/basicauth.md b/content/v2.0/reference/flux/functions/http/basicauth.md index 37fc33f71..3ea42a485 100644 --- a/content/v2.0/reference/flux/functions/http/basicauth.md +++ b/content/v2.0/reference/flux/functions/http/basicauth.md @@ -49,7 +49,7 @@ username = "myawesomeuser" password = "mySupErSecRetPasSW0rD" http.post( - url: "http://localhost:9999/", + url: "http://myawesomesite.com/api/", headers: {Authorization: http.basicAuth(u:username, p:password)}, data: bytes(v: "something I want to send.") ) From d9ec46fc5f0737005816262fb80af95e95e785d6 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 12:58:10 -0700 Subject: [PATCH 086/136] glossary updates --- content/v2.0/reference/glossary.md | 53 ++++++++++++++---------------- 1 file changed, 25 insertions(+), 28 deletions(-) diff --git a/content/v2.0/reference/glossary.md b/content/v2.0/reference/glossary.md index 330b62d03..99ea96622 100644 --- a/content/v2.0/reference/glossary.md +++ b/content/v2.0/reference/glossary.md @@ -34,12 +34,6 @@ For a list of available aggregation functions, see [Flux built-in aggregate func Related entries: [function](#function), [selector](#selector), [transformation](#transformation) -### alert - -In data monitoring and alerting, an alert occurs when a [check](#check) results in a [check status](#check-status) that triggers a [notification rule](#notification-rule). - -Related entries: [notification bucket](#notification-bucket) - ## B ### bar graph @@ -100,16 +94,29 @@ A bucket is a named location where time series data is stored. All buckets have ### check -In data monitoring and alerting, a check analyzes query results to determine the current [check status](#check-status) and writes the check status to a [status bucket](#status-bucket). +Checks are part of queries used in monitoring to read input data and assign a [status](#check-status) (`_level`) based on specified conditions. For example: -Related entries: [alerts](#alerts) +``` +monitor.check( + crit: (r) => r._value > 90.0, + warn: (r) => r._value > 80.0, + info: (r) => r._value > 60.0, + ok: (r) => r._value <= 20.0, + messageFn: (r) => "The current level is ${r._level}", +) +``` + +This check gives rows with a `_value` greater than 90.0 a crit _level; rows greater than 80.0 get a warn _level, and so on. + +Learn how to [create a check](/v2.0/cloud/monitor-alert/manage-checks/create-checks). + +Related entries: [check status](#check-status), [notification rule](#notification-rule), [notification endpoint](#notification-endpoint) ### check status -In data monitoring and alerting, a check status identifies: +A [check](#check) gets one of the following statuses (`_level`): CRIT, INFO, WARN, or OK. Check statuses are written to a status measurement in the _monitoring bucket. -- Status level (OK, INFO, WARN, CRIT, or UNKNOWN) -- Check [tags](#tag) written to the [status bucket](#status-bucket) +Related entries: [check](#check), [notification rule](#notification-rule), [notification endpoint](#notification-endpoint) ### CSV @@ -542,21 +549,19 @@ An independent `influxd` process. Related entries: [server](#server) -### notification bucket - - In data monitoring and alerting, the notification bucket is where a [notification rule](#notification-rule) records the name of the [notification endpoint](#notification-endpoint), [notification message](notification-message), and [tags](#tag) in a [query](#query). - ### notification endpoint - In data monitoring and alerting, the notification endpoint is the configuration describing how to call a 3rd party service (for example, Slack or Pagerduty). + The notification endpoint specifies the Slack or PagerDuty endpoint to send a notification and contains configuration details for connecting to the endpoint. Learn how to [create a notification endpoint](/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints). -### notification message - -A templatized payload sent to the [notification endpoint](#notification-endpoint). +Related entries: [check](#check), [notification rule](#notification-rule) ### notification rule - In data monitoring and alerting, a notification rule is a query on a [status bucket](#status-bucket) that returns the [check status](#check-status). When warranted by the conditions of the rule, the notification rule sends a [message] to a 3rd party using the [notification endpoint](#notification-endpoint) and stores a receipt in the [notification bucket](#notification-bucket). +A notification rule specifies a status level (and tags) to alert on, the notification message to send for the specified status level (or change in status level), and the interval or schedule you want to check the status level (and tags). If conditions are met, the notification rule sends a message to the [notification endpoint](#notification-endpoint) and stores a receipt in a notification measurement in the _monitoring bucket. For example, a notification rule may specify a message to send to a Slack endpoint when a status level is critical (`crit`). + +Learn how to [create a notification rule](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules). + +Related entries: [check](#check), [notification endpoint](#notification-endpoint) ### now() @@ -814,14 +819,6 @@ A visualization that displays points sharing a common X value as stacked rather Related entries: [bin](#bin) --> -### status bucket - - In data monitoring and alerting, a status bucket stores the current [check status](#check-status). - -### status graph - - In data monitoring and alerting, a status graph shows the [check status](#check-status) over time. - ### step-plot In InfluxDB 1.x, a [step-plot graph](https://docs.influxdata.com/chronograf/v1.7/guides/visualization-types/#step-plot-graph) displays time series data in a staircase graph. In InfluxDB 2.0, generate a similar graph using the step interpolation option for [line graphs](https://v2.docs.influxdata.com/v2.0/visualize-data/visualization-types/graph/#options). From d03ca8d6f2babfa2c90663112772b852abd08ed1 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 13:00:12 -0700 Subject: [PATCH 087/136] add icons to notification endpoint topics --- .../create-notification-endpoints.md | 16 +++++++++++----- .../delete-notification-endpoints.md | 5 ++++- .../update-notification-endpoints.md | 5 ++++- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 79f0ffe00..d18bc9f7c 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -19,12 +19,18 @@ To send notifications about changes in your data, start by creating a notificati ## Create a notification endpoint in the UI -1. On the **Monitoring and Alerting** page, next to **Notification Endpoints**, click **Create**. -2. In the **Name** and **Description** fields, enter a name and description for the endpoint. -3. From the **Destination** drop-down list, select a destination endpoint to send notifications: +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alerts" >}} + + +2. Next to **Notification Endpoints**, click **Create**. +3. In the **Name** and **Description** fields, enter a name and description for the endpoint. +4. From the **Destination** drop-down list, select a destination endpoint to send notifications: - (Free plan) Slack - (Pay as You Go plan) HTTP, Slack, or PagerDuty -4. Enter the **URL** to notify, and then enter connection information: +5. Enter the **URL** to notify, and then enter connection information: - For HTTP: @@ -42,4 +48,4 @@ To send notifications about changes in your data, start by creating a notificati - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. -5. Click **Create Notification Endpoint**. +6. Click **Create Notification Endpoint**. diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md index 809abf0eb..aaa611250 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md @@ -17,4 +17,7 @@ related: If notifications are no longer sent to an endpoint, complete the steps below to delete the endpoint, and then [update notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/update-notification-rules) with a new notification endpoint as needed. -1. \ No newline at end of file +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alerts" >}} \ No newline at end of file diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md index d1a670377..3382eb98f 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md @@ -15,4 +15,7 @@ related: To update information for a specified notification endpoint, complete the steps below. To update a notification endpoint for a specified notification rule, [update notification rules](/v2.0/cloud/monitor-alert/update-notification-rules/) by selecting the updated notification endpoint. -1. +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alerts" >}} From c6bdd0ac29ce3d3f84f92b26ee8177ff44f4c270 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 13:06:55 -0700 Subject: [PATCH 088/136] remove patch and get methods from notif endpoint --- .../create-notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index d18bc9f7c..1cffc46d3 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -34,7 +34,7 @@ To send notifications about changes in your data, start by creating a notificati - For HTTP: - a. Select the **HTTP method** to use. In most cases, select **POST**. {find use cases when to use PUT & GET} + a. From the **HTTP method** drop-down list, select **POST**. b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. From 5fb903d1f2ee96fb1b5c985403105046e4768a12 Mon Sep 17 00:00:00 2001 From: Nora Date: Fri, 6 Sep 2019 13:14:59 -0700 Subject: [PATCH 089/136] fix icon shortcode --- .../notification-rules/create-notification-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 3a8b0228e..e02ef92bf 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -38,7 +38,7 @@ Once you've set up checks and notification endpoints, create notification rules 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alert" >}} + {{< nav-icon "alerts" >}} 2. Under **Notification Rules**, hover over the rule you want to clone. From 0691c7b490069a045fc0b32a3592df69d61bd3dc Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 14:17:05 -0700 Subject: [PATCH 090/136] remove HTTP from manage notification endpoints --- .../cloud/monitor-alert/manage-notification-endpoints/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md index 9c5ca7252..a3e930c48 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md @@ -12,6 +12,6 @@ menu: weight: 102 --- -Notification endpoints store information to connect to a third party service. If you're using the Free plan, create an HTTP or Slack endpoint. If you're using the Pay as You Go plan, create a connection to a HTTP, Slack, or PagerDuty endpoint. +Notification endpoints store information to connect to a third party service. If you're using the Free plan, create a Slack endpoint. If you're using the Pay as You Go plan, create a connection to a HTTP, Slack, or PagerDuty endpoint. {{< children >}} From ca145084b5d27fe300e776c079759deb95dc109f Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 14:54:43 -0700 Subject: [PATCH 091/136] add Slack and PagerDuty endpoint updates --- .../create-notification-endpoints.md | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 1cffc46d3..048e3a3df 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -30,7 +30,7 @@ To send notifications about changes in your data, start by creating a notificati 4. From the **Destination** drop-down list, select a destination endpoint to send notifications: - (Free plan) Slack - (Pay as You Go plan) HTTP, Slack, or PagerDuty -5. Enter the **URL** to notify, and then enter connection information: +5. Enter the **URL** to send the notification, and then enter connection information: - For HTTP: @@ -42,10 +42,8 @@ To send notifications about changes in your data, start by creating a notificati - For Slack: - a. Create an Incoming WebHook within Slack in order to send notifications to Slack. + a. Create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. - b. Enter the Slack Incoming WebHook URL in the **Slack Incoming WebHook URL** field. - - - For PagerDuty, enter your PagerDuty routing key in the **Routing Key** field. + - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. 6. Click **Create Notification Endpoint**. From f19549489223ca8343d96133b6d650d25f248589 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 15:15:01 -0700 Subject: [PATCH 092/136] rmv content template field, upd steps 2 match UI --- .../create-notification-endpoints.md | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 048e3a3df..ca594c989 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -26,23 +26,15 @@ To send notifications about changes in your data, start by creating a notificati 2. Next to **Notification Endpoints**, click **Create**. -3. In the **Name** and **Description** fields, enter a name and description for the endpoint. -4. From the **Destination** drop-down list, select a destination endpoint to send notifications: +3. From the **Destination** drop-down list, select a destination endpoint to send notifications: - (Free plan) Slack - (Pay as You Go plan) HTTP, Slack, or PagerDuty -5. Enter the **URL** to send the notification, and then enter connection information: +4. In the **Name** and **Description** fields, enter a name and description for the endpoint. +5. Enter enter information to connect to the endpoint: - - For HTTP: - - a. From the **HTTP method** drop-down list, select **POST**. + - For HTTP, select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - b. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - - c. In the **Content Template** field, enter {examples for each endpoint template}. - - - For Slack: - - a. Create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. + - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. From 8a79be07343b07ce06a543849dab6af62951220e Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 15:20:48 -0700 Subject: [PATCH 093/136] add URL to for HTTP step --- .../create-notification-endpoints.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index ca594c989..8d51f614d 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -21,10 +21,8 @@ To send notifications about changes in your data, start by creating a notificati 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alerts" >}} - 2. Next to **Notification Endpoints**, click **Create**. 3. From the **Destination** drop-down list, select a destination endpoint to send notifications: - (Free plan) Slack @@ -32,7 +30,7 @@ To send notifications about changes in your data, start by creating a notificati 4. In the **Name** and **Description** fields, enter a name and description for the endpoint. 5. Enter enter information to connect to the endpoint: - - For HTTP, select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. + - For HTTP, enter the **URL** to send the notification. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. From 44c7ead0fbc51b703af875cc59574e727665c28e Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 15:27:51 -0700 Subject: [PATCH 094/136] fix formatting --- .../create-notification-endpoints.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 8d51f614d..631ae2b20 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -32,8 +32,8 @@ To send notifications about changes in your data, start by creating a notificati - For HTTP, enter the **URL** to send the notification. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. + - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. - - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. + - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. 6. Click **Create Notification Endpoint**. From 19a4b8f0c209ee666f5583a57b5896bbca2641a7 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 15:52:25 -0700 Subject: [PATCH 095/136] update notification endpoint --- .../update-notification-endpoints.md | 51 ++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md index 3382eb98f..3f8657365 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md @@ -13,9 +13,58 @@ related: - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ --- -To update information for a specified notification endpoint, complete the steps below. To update a notification endpoint for a specified notification rule, [update notification rules](/v2.0/cloud/monitor-alert/update-notification-rules/) by selecting the updated notification endpoint. +To update the notification endpoint details, complete the following procedures as needed. + +> **Note:** To update the notification endpoint selected for a notification rule, see [update notification rules](/v2.0/cloud/monitor-alert/update-notification-rules/). + +## Add a label to notification endpoint 1. Select the **Monitoring and Alerting** icon from the sidebar. {{< nav-icon "alerts" >}} + + +2. Under **Notification Endpoints**, click **Add a label** next to the endpoint you want to add a label to. The **Add Labels** box opens. +3. To add an existing label, select the label from the list. +4. To create and add a new label: + + - In the search field, enter the name of the new label. The **Create Label** box opens. + - In the **Description** field, enter an optional description for the label. + - Select a color for the label. + - Click **Create Label**. + +5. To remove a label, hover over the label under an endpoint and click X. + + +## Disable notification endpoint + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alerts" >}} + + +2. Under **Notification Endpoints**, find the endpoint you want to disable. +3. Click the blue toggle to disable the notification endpoint. + +## Update the name or description for notification endpoint + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + + {{< nav-icon "alerts" >}} + + +2. Under **Notification Endpoints**, hover over the name or description of the endpoint. +3. Click the pencil icon to edit the field. +4. Click outside of the field to save your changes. + +## Change endpoint details + +1. Select the **Monitoring and Alerting** icon from the sidebar. + + {{< nav-icon "alerts" >}} + +2. Under **Notification Endpoints**, click the endpoint to update. +3. Update details as needed, and then click **Edit a Notification Endpoint**. For details about each field, see [create a notification endpoint](v2.0/cloud/monitor-alert/manage-checks/create-notification-endpoints). From 4f6d5f9f24e794d6d0aef25739fe9e9c8b0820c4 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 15:52:39 -0700 Subject: [PATCH 096/136] update delete notification endpoint --- .../delete-notification-endpoints.md | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md index aaa611250..48166598f 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md @@ -17,7 +17,11 @@ related: If notifications are no longer sent to an endpoint, complete the steps below to delete the endpoint, and then [update notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/update-notification-rules) with a new notification endpoint as needed. +## Delete a notification endpoint in the UI + 1. Select the **Monitoring and Alerting** icon from the sidebar. + {{< nav-icon "alerts" >}} - {{< nav-icon "alerts" >}} \ No newline at end of file +2. Under **Notification Rules**, find the rule you want to delete. +3. Click the delete icon, then click **Delete** to confirm. From 96346ef8a85eb96a31a61f299b5c635af2b57413 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 15:55:17 -0700 Subject: [PATCH 097/136] update links in create notification endpoint --- .../create-notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 631ae2b20..38093ba4c 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -15,7 +15,7 @@ related: - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ --- -To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/cloud/monitor-alert/manage-checks/create-checks). +To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/cloud/monitor-alert/checks/create-checks). ## Create a notification endpoint in the UI From 7b5b7c9feae89f477d565865264279379a6e1892 Mon Sep 17 00:00:00 2001 From: Kelly Date: Fri, 6 Sep 2019 16:41:22 -0700 Subject: [PATCH 098/136] add reference to PagerDuty client URL docs --- .../create-notification-endpoints.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md index 38093ba4c..52f14d7d9 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md @@ -34,6 +34,6 @@ To send notifications about changes in your data, start by creating a notificati - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. - - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. + - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. By default, the PagerDuty client URL is https://events.pagerduty.com/v2/enqueue. For details, see [PagerDuty documentation](https://v2.developer.pagerduty.com/docs/send-an-event-events-api-v2). 6. Click **Create Notification Endpoint**. From c20bdcd10a86141ed5106bd792c01d694bda4d1a Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Sat, 7 Sep 2019 00:10:37 -0600 Subject: [PATCH 099/136] added check management docs --- assets/styles/layouts/_inline-icons.scss | 19 ++- assets/styles/tools/_icomoon.scss | 6 + .../v2.0/cloud/monitor-alert/checks/_index.md | 16 +++ .../v2.0/cloud/monitor-alert/checks/create.md | 127 ++++++++++++++++++ .../v2.0/cloud/monitor-alert/checks/delete.md | 32 +++++ .../v2.0/cloud/monitor-alert/checks/update.md | 60 +++++++++ .../v2.0/cloud/monitor-alert/checks/view.md | 42 ++++++ layouts/shortcodes/icon.html | 6 +- static/fonts/icomoon.eot | Bin 16456 -> 16944 bytes static/fonts/icomoon.svg | 2 + static/fonts/icomoon.ttf | Bin 16292 -> 16780 bytes static/fonts/icomoon.woff | Bin 16368 -> 16856 bytes .../2-0-monitor-check-builder-view-toggle.png | Bin 0 -> 19454 bytes 13 files changed, 299 insertions(+), 11 deletions(-) create mode 100644 content/v2.0/cloud/monitor-alert/checks/_index.md create mode 100644 content/v2.0/cloud/monitor-alert/checks/create.md create mode 100644 content/v2.0/cloud/monitor-alert/checks/delete.md create mode 100644 content/v2.0/cloud/monitor-alert/checks/update.md create mode 100644 content/v2.0/cloud/monitor-alert/checks/view.md create mode 100644 static/img/2-0-monitor-check-builder-view-toggle.png diff --git a/assets/styles/layouts/_inline-icons.scss b/assets/styles/layouts/_inline-icons.scss index 0609c0c24..5151d2091 100644 --- a/assets/styles/layouts/_inline-icons.scss +++ b/assets/styles/layouts/_inline-icons.scss @@ -26,22 +26,21 @@ &.ui-toggle { display: inline-block; position: relative; - width: 34px; - height: 22px; - background: #1C1C21; - border: 2px solid #383846; + width: 28px; + height: 16px; + background: $b-pool; border-radius: .7rem; - vertical-align: text-bottom; + vertical-align: text-top; .circle { display: inline-block; position: absolute; border-radius: 50%; - height: 12px; - width: 12px; - background: #22ADF6; - top: 3px; - right: 3px; + height: 8px; + width: 8px; + background: $g20-white; + top: 4px; + right: 4px; } } } diff --git a/assets/styles/tools/_icomoon.scss b/assets/styles/tools/_icomoon.scss index 0ba91e342..b089302dc 100644 --- a/assets/styles/tools/_icomoon.scss +++ b/assets/styles/tools/_icomoon.scss @@ -24,6 +24,12 @@ -moz-osx-font-smoothing: grayscale; } +.icon-ui-eye-closed:before { + content: "\e956"; +} +.icon-ui-eye-open:before { + content: "\e957"; +} .icon-ui-chat:before { content: "\e93a"; } diff --git a/content/v2.0/cloud/monitor-alert/checks/_index.md b/content/v2.0/cloud/monitor-alert/checks/_index.md new file mode 100644 index 000000000..8f7ba6a21 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/checks/_index.md @@ -0,0 +1,16 @@ +--- +title: Manage checks +seotitle: Manage monitoring checks in InfluxDB +description: > + InfluxDB checks query data and apply a status or level to each data point based on specified conditions. +menu: + v2_0: + parent: Monitor and alert +weight: 101 +v2.0/tags: [monitor, checks, notifications] +--- + +InfluxDB checks query data and apply a status or level to each data point based on specified conditions. +The following articles provide information about creating and managing checks: + +{{< children >}} diff --git a/content/v2.0/cloud/monitor-alert/checks/create.md b/content/v2.0/cloud/monitor-alert/checks/create.md new file mode 100644 index 000000000..38662d497 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/checks/create.md @@ -0,0 +1,127 @@ +--- +title: Create checks +seotitle: Create monitoring checks in InfluxDB +description: > + Create a check in the InfluxDB UI. +menu: + v2_0: + parent: Manage checks +weight: 201 +v2.0/tags: [monitor, checks, notifications] +--- + +Create a check in the InfluxDB user interface (UI). + +## Create a check +1. To create a check in the InfluxDB UI, click **Monitoring & Alerting** in the sidebar. + + {{< nav-icon "alerts" >}} + +2. In the top right corner of the **Checks** column, click **{{< icon "plus" >}} Create**. + The check builder will appear. + +3. Click **Name this check** in the top left corner of the check builder and provide + a unique name for the check. + +A check consists of two parts – a query and check logic. +The check builder provides separate views for configuring each. + +{{< img-hd src="/img/2-0-monitor-check-builder-view-toggle.png" alt="Check builder view toggle" />}} + +### Configure the query +The check query determines the specific dataset to monitor. +Each query requires a bucket, measurement, field, and an aggregate function. +You can narrow results further with tags, but they are not required. + +{{% note %}} +The aggregate function uses data points recorded between check intervals to +calculate and return a single value for the check to process. +{{% /note %}} + +1. In the **Query view**, select the bucket, measurement, field and any desired tag sets to query. +2. In the **Aggregate functions** column, select an interval from the interval dropdown + (for example, "Every 5 minutes") and an aggregate function from the list of functions. +3. Click **Submit** to run the query and preview the results in the visualization pane. + To see the raw query results, click the the **View Raw Data** toggle. + +### Configure the check logic +A check adds a status to each data point based on defined conditions. +The status is stored in the `_level` column. +The following statuses or levels are available: + +- `crit` +- `warn` +- `info` +- `note` + +1. In the **Properties** column, configure the following: + + ##### Schedule Every + Schedule every sets the interval at which the check runs. + _This and the aggregate function interval will always be the same._ + + ##### Offset + The offset delays the execution of a check to account for any late data. + Although the query is delayed, it does not change the queried time range. + + {{% note %}}Your offset must be shorter than your [check interval](#schedule-every) or the check will not run. + {{% /note %}} + + ##### Tags + Add custom tags to the query output. + These tags are unique to each check. + +2. In the **Status Message Template** column, configure the status message for the check. + Use [Flux string interpolation](#) to populate the message with data from the query. + Check data is represented as an object, `r`. + Access specific column values using dot notation: `r.columnName`. + + Each check has access to data from the following columns: + + - all columns included in the query output + - any [custom tags](#tags) added the query output + - `_check_id` + - `_check_name` + - `_level` + - `_source_measurement` + - `_type` + +3. In the **Conditions** column, define the logic that assigns a status or level to data. + There are two types of checks: + + #### Threshold + A threshold check assigns a status based on a value being above, below, + inside, or outside of defined thresholds. + + 1. Click a status to configure thresholds. + 2. Use the dropdown to configure the kind of threshold to use. + + - is above + - is below + - is inside of + - is outside of + + 3. Depending on the kind of threshold you select, one or two fields appear on the next line. + Enter threshold values in each field or use the threshold sliders that appear + in the data visualization to define threshold values. + 4. Repeat for each status you want the check to assigns. + You do not need to define logic for all statuses; only those you wish to use. + + #### Deadman + A deadman check assigns a status to data when a series or group has not + reported in a specified amount of time. + + 1. In the first field, enter a duration for the deadman check. + Any series that have not reported within the specified duration are considered dead. + 2. Use the dropdown to select a status to assign to a dead series. + 3. In the last field, enter a duration after which if a series does not begin reporting again, + the check no longer looks for that series. + +After configuring your check query and logic, click the green **{{< icon "check" >}}** +in the top right corner to save the check. + +## Clone a check +Create a new check by cloning an existing check. + +1. In the **Checks** column, hover over the check you want to clone. +2. Click the **{{< icon "clone" >}}** icon, then **Clone**. diff --git a/content/v2.0/cloud/monitor-alert/checks/delete.md b/content/v2.0/cloud/monitor-alert/checks/delete.md new file mode 100644 index 000000000..90c42a138 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/checks/delete.md @@ -0,0 +1,32 @@ +--- +title: Delete checks +seotitle: Delete monitoring checks in InfluxDB +description: > + Delete checks in the InfluxDB UI. +menu: + v2_0: + parent: Manage checks +weight: 204 +v2.0/tags: [monitor, checks, notifications] +--- + +If you no longer need a check, use the InfluxDB user interface (UI) to delete it. + +{{% warn %}} +Deleting a check cannot be undone. +{{% /warn %}} + +1. Click **Monitoring & Alerting** in the sidebar. + + {{< nav-icon "alerts" >}} + +2. In the **Checks** column, hover over the check you want to delete, click the + **{{< icon "delete" >}}** icon, then **Delete**. + +After a check is deleted, all statuses generated by the check remain in the `_monitoring` +bucket until the retention period for the bucket expires. + +{{% note %}} +You can also [disable a check](/v2.0/cloud/monitor-alert/checks/update/#enable-or-disable-a-check) +without having to delete it. +{{% /note %}} diff --git a/content/v2.0/cloud/monitor-alert/checks/update.md b/content/v2.0/cloud/monitor-alert/checks/update.md new file mode 100644 index 000000000..45b136a8a --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/checks/update.md @@ -0,0 +1,60 @@ +--- +title: Update checks +seotitle: Update monitoring checks in InfluxDB +description: > + Update, rename, enable or disable checks in the InfluxDB UI. +menu: + v2_0: + parent: Manage checks +weight: 203 +v2.0/tags: [monitor, checks, notifications] +--- + +Update checks in the InfluxDB user interface (UI). +Common updates include: + +- [Update check queries and logic](#update-check-queries-and-logic) +- [Enable or disable a check](#enable-or-disable-a-check) +- [Rename a check](#rename-a-check) +- [Add or update a check description](#add-or-update-a-check-description) +- [Add a label to a check](#add-a-label-to-a-check) + +To update checks, click **Monitoring & Alerting** in the InfluxDB UI sidebar. + +{{< nav-icon "alerts" >}} + + +## Update check queries and logic +1. In the **Checks** column, click the name of the check you want to update. + The check builder appears. +2. To edit the check query, click **1. Query** at the top of the check builder window. +3. To edit the check logic, click **2. Check** at the top of the check builder window. + +_For details about using the check builder, see [Create checks](/v2.0/cloud/monitor-alert/checks/create/)._ + +## Enable or disable a check +In the **Checks** column, click the {{< icon "toggle" >}} toggle next to a check +to enable or disable it. + +## Rename a check +1. In the **Checks** column, hover over the name of the check you want to update. +2. Click the **{{< icon "edit" >}}** icon that appears next to the check name. +2. Enter a new name and click out of the name field or press enter to save. + +_You can also rename a check in the [check builder](#update-check-queries-and-logic)._ + +## Add or update a check description +1. In the **Checks** column, hover over the check description you want to update. +2. Click the **{{< icon "edit" >}}** icon that appears next to the description. +2. Enter a new description and click out of the name field or press enter to save. + +## Add a label to a check +1. In the **Checks** column, click **Add a label** next to the check you want to add a label to. + The **Add Labels** box opens. +2. To add an existing label, select the label from the list. +3. To create and add a new label: + - In the search field, enter the name of the new label. The **Create Label** box opens. + - In the **Description** field, enter an optional description for the label. + - Select a color for the label. + - Click **Create Label**. +4. To remove a label, hover over the label under to a rule and click **{{< icon "x" >}}**. diff --git a/content/v2.0/cloud/monitor-alert/checks/view.md b/content/v2.0/cloud/monitor-alert/checks/view.md new file mode 100644 index 000000000..2fc4cd8d6 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/checks/view.md @@ -0,0 +1,42 @@ +--- +title: View checks +seotitle: View monitoring checks in InfluxDB +description: > + placeholder +menu: + v2_0: + parent: Manage checks +weight: 202 +v2.0/tags: [monitor, checks, notifications] +--- + +View checks and statuses generated by checks in the InfluxDB user interface (UI). + +- [View a list of all checks](#view-a-list-of-all-checks) +- [View check details](#view-check-details) +- [View statuses generated by a check](#view-statuses-generated-by-a-check) +- [View notifications triggered by a check](#view-notifications-triggered-by-a-check) + +To view checks, click **Monitoring & Alerting** in the InfluxDB UI sidebar. + +{{< nav-icon "alerts" >}} + +## View a list of all checks +The **Checks** column on the Monitoring & Alerting landing page displays all existing checks. + +## View check details +In the **Checks** column, click the name of the check you want to view. +The check builder appears. +Here you can view the check query and logic. + +## View statuses generated by a check +1. In the **Checks** column, hover over the check, click the **{{< icon "view" >}}** + icon, then **View History**. +2. This takes you to the **Statuses History** page filtered to statuses generated + from the check. + +## View notifications triggered by a check +1. In the **Checks** column, hover over the check, click the **{{< icon "view" >}}** + icon, then **View History**. +2. Click **Notifications** in the **Statuses | Notifications** toggle at the top of the page. +3. This displays the **Notifications History** filtered to notifications triggered by the check. diff --git a/layouts/shortcodes/icon.html b/layouts/shortcodes/icon.html index d1fb7b15a..6016f819d 100644 --- a/layouts/shortcodes/icon.html +++ b/layouts/shortcodes/icon.html @@ -41,7 +41,7 @@ {{ else if or (eq $icon "refresh") (eq $icon "replay") }} {{ else if or (eq $icon "remove") (eq $icon "x") }} - + {{ else if eq $icon "search" }} {{ else if or (eq $icon "trash") (eq $icon "trashcan") (eq $icon "delete") }} @@ -54,6 +54,10 @@ {{ else if eq $icon "chat" }} +{{ else if or (eq $icon "eye-open") (eq $icon "eye") (eq $icon "view") }} + +{{ else if or (eq $icon "eye-closed") (eq $icon "hide") }} + {{ else if eq $icon "add-label" }} {{ else if eq $icon "toggle" }} diff --git a/static/fonts/icomoon.eot b/static/fonts/icomoon.eot index b10672cf56d20e695867c36daedfac6ef5d8cc37..c76b18107924e06680dfb0c6daf4a9922113583b 100755 GIT binary patch delta 814 zcmZ9KT}V@L6u{5f=Do|iHgET1*}lw;-95M=(|ZToRF*-IH?R>U7T793ps52tu&0?t z7>FV3!M>jQz=s}$y#;}U4?cx~1QtEjL)$|Lktmt#Ow+^*m;e8F&i|bM`CabPIL_Zi zrv4PbRAPqFOe3Rf(cDb4ICCMBoty5x34l%jc+s00%FtRxyg;kDH+`$ewEW=#@e)96 zrLQ}6!}Y9w8ldSZ<+VNvSO+)<@d~l8uYY)~E`0nW@dnk@rw6a6lCKlX04)K^KkiSB zWuO!1h!=@#22%ai-H*;5`AvauRB$gdI5Z4KNyMlKdleBfyKt`|vLQNr7XelHL zdZE2=DYt>1;KjnHVyHM@d|P~1`co@MF8`E&$Z5G+nw6%c`_ut*34=4= zX3%TvFF3 zRMl%XyE_bKD`T-3k@HwMZmVRnA|Jix8|M`%7*OIo&oar%N>S7`?X;!p%Wd8-g_J;S zH_nL?#apXv(XMS1LmiA@v2Y%0!i7zdmP^1uKZlTi-ux2(0>bFGX8-^I delta 321 zcmdnc!g!*Aky0Hg(g{2f4= zBR!`w?ZUAjULgMf1A`SqMrvY;>~yXi1_o;&pTR5xD8QG;EeYiR0Pyj3llx zFxUXiW7NpWPfj#tQ<=rUVCw>upO%|gQNR$vxB|$(1LP~@CFV+|&h+B^4HWnT)X-Lt zUtGe#43uK9Z?#LU3Mz{sHR()y+SOUIW!F9Rn3Vw9gO%_PH{B_=L9 zO|(n29jJzJav+n)W;c1fwUX o*qJkWZJuMN%sBbD{RCkrsa4WeGBq-{WI-wzf!J$vp2HzV02T02$^ZZW diff --git a/static/fonts/icomoon.svg b/static/fonts/icomoon.svg index 229d9fdc8..7364c8c24 100755 --- a/static/fonts/icomoon.svg +++ b/static/fonts/icomoon.svg @@ -71,6 +71,8 @@ + + diff --git a/static/fonts/icomoon.ttf b/static/fonts/icomoon.ttf index 70f0b78749a48536fe212022044729299083c94c..d4b5f62009941a274b318a32ae3dcae118168936 100755 GIT binary patch delta 821 zcmZXSOGs2<6vxk*8Rt&UZN}?;Y0kr(;oe#3AfxvVIAbCPLEgY-QBn(;N=ImXfEKnI zQ-}hwVp`a15m>lrA5{(*Uja$k+QR z;2Ct+kX|Ak?jIN(tB+N^C;gLZ8nZ)Z)2YYpivVpA^6w0!$A;k)&XHaqT|1Z_sP4Ue zbl)!utWd#~;h~XHu#*Mt*_%%$Ggs*ppn2@z0fbsJVYZp=reSuOC(RGVXmP&yviREi zZCRxf@?qCMvF*Ru_R;z*J7knWT9v*_U!|;6EzXEj;x+1x`3G2)pGT(f6dlbuy5BnO zK-*oqItj;Ut|+QZ07ZfEAma?xDJ9huiyy+c-iB&fJc?TLrfP~wGO1AAW~LYA0LqlE zG{;eo$&$dJ2kmQtZf(4b;kZOZZIBc$rF2D(cN!DA7IwMTpXL7bQid_1X(5*@&~0;h zoGfcccaU|v*DZ$!xt25GaZVK*B5IQ37-y=yTo4RhKg?Eqyv!+LRE;FI;%-5tct?e| zrDwz8qz-mqS$B}yI2}-Wbn7iaYY+)S0*(;1q7t|AmqjYkNW0u+`A?O;9H9|efZnCf zz82Q>38S-Xci?Tk1GfQN(`=FNIWs)ZYn7ah7n+dk&~-x;c81-nyvzSpRz@2(0THMH z&kGvI7oKaZ)7SFt;)Nb>@&~vHj=trY)xyr6UrEH#DEN{g%*R`24vro8Qd3`Z%NO?d a`4{{}N<&%(K7#$F60p(#!56I7hxi9?j>N?P delta 315 zcmeBaW?WJ~L7{%K^<-`a21XeM28KE5iNys#S^&u30i-$7b1Ks=91G$F@((aDSTSUz zCZ@iOPUnL{Aq(a3=;u-^k4bVJBjhy`CL{m1ESqu!e zEYEZ3X$oB@E0!DF*wNi94Dl8-Oes zpnI4Zco-NN6kb}tw14UN(&uHs%ppqFtixljkuiZa&D!VzPOrIX9b(B>NW8cz&C&4BRXrYZz`$eY^-pPd;F4 m&gixIhpjT>WM%sa!cJ1Fq^)FXWNyiVR4@Xu*XC39hZq6VwOeKY diff --git a/static/fonts/icomoon.woff b/static/fonts/icomoon.woff index b043be6595959349c702c49438d5b476a0978824..9d4279f587ac469bfcb827332d4236156e742b8c 100755 GIT binary patch delta 814 zcmZ9LPfXKL9LImZwp%N0w$-+qI<^tEv^&5;2JI3yzy*Sd)`&YO(F2(ZERlZ+sCXJe zVl)yA%mZqS9yoCDwu|xL!FV>97y}3I%!9#$CPV`Mx&abi^38j{Z@=&N-sdIVDz49= zdhb$iFCfs!u7g;e=S#m(U1GS!rbuyxoR!su;oHOc$q4{PqFUIOZ+PVX5P2#<`l};u z?aR}`VEz_B$0lVgN1<0O3k5O(Ivc2tIr5B&!NTa&G~m zp^~n2Rk9Vk(pR}!dV>+XQu=@)?@#}T|FpKO&1;V-i8X5165}d!jH|840_gTu{fyvoOA?D> zL=wfFJRgL^^pSOKrmvd7G z79>fGP#ZS~^bWB1nV?OGM<5O7h*~#@TmR4EcWC^F+^*7VIap+gjnKmMFpcbX%(Q0h z3w?(--meencA<8i8v2nnuPBOnQf3sj73FTrvNiSKwnr=P#_^qsk!Y?GB2WWGQB7GX z3zp=rZ{NCmXTY2J4IRq}<=lje(H?2<$&FaD(Y3lRq*_Ow^IDp9AF1nQT3oJ3XYJjkck;Ju}{A8dy+X+B5(?Hmi%}8ZdZej({VmqKB1_dyVU|f-xn41a| z^8jjW1L2uooWBe5i%Wn$xG?cgcVYujp$vln12Y2;&|?ZOtzX)|bbRUaGT`N{S9-5D zyxRBb(Eq>x{{vM44SmUgCc76Z%lQAXIEy%=ID^zV&bCHM7u=Wfu=G7gGXjF z4->1&=BMV|Y%-GUTSVjeZN4&agTjY_;pWuGi(vF*9y@bJugxxY%8Zlq?I*}ONv)E$ flBtooB@0pk3U)8XWemI^4g(X=T;a{e4oevUTg-Ch diff --git a/static/img/2-0-monitor-check-builder-view-toggle.png b/static/img/2-0-monitor-check-builder-view-toggle.png new file mode 100644 index 0000000000000000000000000000000000000000..e3b64ec632e08b780d15a227080b9027d74015eb GIT binary patch literal 19454 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 literal 0 HcmV?d00001 From 9abe5e6a1c332d76ba59b492d38566977d165844 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Sat, 7 Sep 2019 00:14:19 -0600 Subject: [PATCH 100/136] added page description to view checks doc --- content/v2.0/cloud/monitor-alert/checks/view.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/cloud/monitor-alert/checks/view.md b/content/v2.0/cloud/monitor-alert/checks/view.md index 2fc4cd8d6..937fe564f 100644 --- a/content/v2.0/cloud/monitor-alert/checks/view.md +++ b/content/v2.0/cloud/monitor-alert/checks/view.md @@ -2,7 +2,7 @@ title: View checks seotitle: View monitoring checks in InfluxDB description: > - placeholder + View check details and statuses and notifications generated by checks in the InfluxDB UI. menu: v2_0: parent: Manage checks @@ -10,7 +10,7 @@ weight: 202 v2.0/tags: [monitor, checks, notifications] --- -View checks and statuses generated by checks in the InfluxDB user interface (UI). +View check details and statuses and notifications generated by checks in the InfluxDB user interface (UI). - [View a list of all checks](#view-a-list-of-all-checks) - [View check details](#view-check-details) From 0a6aa30e59922228df999e7d73e92bc3efffb91b Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Sat, 7 Sep 2019 10:29:43 -0600 Subject: [PATCH 101/136] added string interpolation doc to flux reference --- assets/styles/themes/_theme-dark.scss | 2 +- assets/styles/tools/_color-palette.scss | 1 + .../flux/language/lexical-elements.md | 4 +- .../flux/language/string-interpolation.md | 96 +++++++++++++++++++ 4 files changed, 100 insertions(+), 3 deletions(-) create mode 100644 content/v2.0/reference/flux/language/string-interpolation.md diff --git a/assets/styles/themes/_theme-dark.scss b/assets/styles/themes/_theme-dark.scss index 26efd67cc..4ca1c16ad 100644 --- a/assets/styles/themes/_theme-dark.scss +++ b/assets/styles/themes/_theme-dark.scss @@ -86,7 +86,7 @@ $article-note-table-row-alt: #3B2862; $article-note-table-scrollbar: $np-deepnight; $article-note-shadow: $np-deepnight; $article-note-code: $cp-comet; -$article-note-code-bg: $wp-telopea; +$article-note-code-bg: $wp-jaguar; $article-note-code-accent1: #567375; $article-note-code-accent2: $b-pool; $article-note-code-accent3: $gr-viridian; diff --git a/assets/styles/tools/_color-palette.scss b/assets/styles/tools/_color-palette.scss index 7004a1aa2..146282cfa 100644 --- a/assets/styles/tools/_color-palette.scss +++ b/assets/styles/tools/_color-palette.scss @@ -24,6 +24,7 @@ $g19-ghost: #FAFAFC; $g20-white: #FFFFFF; // Brand color // Warm Purples - Magentas +$wp-jaguar: #1d0135; $wp-telopea: #23043E; $wp-violentdark: #2d0749; $wp-violet: #32094E; diff --git a/content/v2.0/reference/flux/language/lexical-elements.md b/content/v2.0/reference/flux/language/lexical-elements.md index d19fb807b..b27481165 100644 --- a/content/v2.0/reference/flux/language/lexical-elements.md +++ b/content/v2.0/reference/flux/language/lexical-elements.md @@ -300,9 +300,9 @@ To be added: TODO: With string interpolation `string_lit` is not longer a lexica ``` String literals are also interpolated for embedded expressions to be evaluated as strings. -Embedded expressions are enclosed in curly brackets (`{}`). +Embedded expressions are enclosed in a dollar sign and curly braces (`${}`). The expressions are evaluated in the scope containing the string literal. -The result of an expression is formatted as a string and replaces the string content between the brackets. +The result of an expression is formatted as a string and replaces the string content between the braces. All types are formatted as strings according to their literal representation. A function `printf` exists to allow more precise control over formatting of various types. To include the literal curly brackets within a string they must be escaped. diff --git a/content/v2.0/reference/flux/language/string-interpolation.md b/content/v2.0/reference/flux/language/string-interpolation.md new file mode 100644 index 000000000..ebe90a9c4 --- /dev/null +++ b/content/v2.0/reference/flux/language/string-interpolation.md @@ -0,0 +1,96 @@ +--- +title: String interpolation +description: > + Flux string interpolation evaluates string literals containing one or more placeholders + and returns a result with placeholders replaced with their corresponding values. +menu: + v2_0_ref: + parent: Flux specification + name: String interpolation +weight: 211 +--- + +Flux string interpolation evaluates string literals containing one or more placeholders +and returns a result with placeholders replaced with their corresponding values. + +## String interpolation syntax +To use Flux string interpolation, enclose embedded [expressions](/v2.0/reference/flux/language/expressions/) +in a dollar sign and curly braces `${}`. +Flux replaces the content between the braces with the result of the expression and +returns a string literal. + +```js +name = "John" + +"My name is ${name}." + +// My name is John. +``` + +{{% note %}} +#### Flux only interpolates string values +Flux currently interpolates only string values ([IMP#1775](https://github.com/influxdata/flux/issues/1775)). +Use the [string() function](/v2.0/reference/functions/built-in/transformations/type-conversions/string/) +to convert non-string values to strings. + +```js +count = 12 + +"I currently have ${string(v: count)} cats." +``` +{{% /note %}} + + +## Use dot notation to interpolate object values +[Objects](/v2.0/reference/flux/language/expressions/#object-literals) consist of key-value pairs. +Use [dot notation](/v2.0/reference/flux/language/expressions/#member-expressions) +to interpolate values from an object. + +```js +person = { + name: "John", + age: 42 +} + +"My name is ${person.name} and I'm ${string(v: person.age)} years old." + +// My name is John and I'm 42 years old. +``` + +Flux returns each record in query results as an object. +In Flux row functions, each row object is represented by `r`. +Use dot notation to interpolate specific column values from the `r` object. + +##### Use string interpolation to add a human-readable message +```js +from(bucket: "example-bucket") + |> range(start: -30m) + |> map(fn: (r) => ({ + r with + human-readable: "${r._field} is ${r._value} at ${string(v: r._time)}." + })) +``` + +## String interpolation versus concatenation +Flux supports both string interpolation and string concatenation. +String interpolation is a more concise method for achieving the same result. + +```js +person = { + name: "John", + age: 42 +} + +// String interpolation +"My name is ${person.name} and I'm ${string(v: person.age)} years old." + +// String concatenation +"My name is " + person.name + " and I'm " + string(v: person.age) + " years old." + +// Both return: My name is John and I'm 42 years old. +``` + +{{% note %}} +Check and notification message templates configured in the InfluxDB user interface +**do not** support string concatenation. +{{% /note %}} From ac187688c1b576adc3d5fae23fea6b3c331de245 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Sat, 7 Sep 2019 10:31:03 -0600 Subject: [PATCH 102/136] added string interpolation link to flux check create doc --- content/v2.0/cloud/monitor-alert/checks/create.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/checks/create.md b/content/v2.0/cloud/monitor-alert/checks/create.md index 38662d497..e3c5aa934 100644 --- a/content/v2.0/cloud/monitor-alert/checks/create.md +++ b/content/v2.0/cloud/monitor-alert/checks/create.md @@ -72,7 +72,8 @@ The following statuses or levels are available: These tags are unique to each check. 2. In the **Status Message Template** column, configure the status message for the check. - Use [Flux string interpolation](#) to populate the message with data from the query. + Use [Flux string interpolation](/v2.0/reference/flux/language/string-interpolation/) + to populate the message with data from the query. Check data is represented as an object, `r`. Access specific column values using dot notation: `r.columnName`. From b56d3db7980997ded23946ecef3ef78cb18de928 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 11:22:37 -0600 Subject: [PATCH 103/136] Update string-interpolation.md --- content/v2.0/reference/flux/language/string-interpolation.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/reference/flux/language/string-interpolation.md b/content/v2.0/reference/flux/language/string-interpolation.md index ebe90a9c4..463233ae4 100644 --- a/content/v2.0/reference/flux/language/string-interpolation.md +++ b/content/v2.0/reference/flux/language/string-interpolation.md @@ -30,7 +30,7 @@ name = "John" {{% note %}} #### Flux only interpolates string values Flux currently interpolates only string values ([IMP#1775](https://github.com/influxdata/flux/issues/1775)). -Use the [string() function](/v2.0/reference/functions/built-in/transformations/type-conversions/string/) +Use the [string() function](/v2.0/reference/flux/functions/built-in/transformations/type-conversions/string/) to convert non-string values to strings. ```js From 5ca0047783241cf52d0e8251380c52aca92d7c4c Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 11:30:04 -0600 Subject: [PATCH 104/136] updated check management docs to address PR feedback --- assets/styles/layouts/_article.scss | 3 +- assets/styles/layouts/_inline-icons.scss | 1 + .../v2.0/cloud/monitor-alert/checks/_index.md | 4 +- .../v2.0/cloud/monitor-alert/checks/create.md | 156 ++++++++++-------- .../v2.0/cloud/monitor-alert/checks/view.md | 7 +- .../2-0-monitor-check-builder-view-toggle.png | Bin 19454 -> 0 bytes 6 files changed, 95 insertions(+), 76 deletions(-) delete mode 100644 static/img/2-0-monitor-check-builder-view-toggle.png diff --git a/assets/styles/layouts/_article.scss b/assets/styles/layouts/_article.scss index c9ca666a0..1c8ef4a49 100644 --- a/assets/styles/layouts/_article.scss +++ b/assets/styles/layouts/_article.scss @@ -18,7 +18,8 @@ } } h2,h3,h4,h5,h6 { - & + .highlight pre { margin-top: .5rem; } + & + .highlight pre { margin-top: .5rem } + & + pre { margin-top: .5rem } & + .code-tabs-wrapper { margin-top: 0; } } h1 { diff --git a/assets/styles/layouts/_inline-icons.scss b/assets/styles/layouts/_inline-icons.scss index 5151d2091..b654d14bd 100644 --- a/assets/styles/layouts/_inline-icons.scss +++ b/assets/styles/layouts/_inline-icons.scss @@ -31,6 +31,7 @@ background: $b-pool; border-radius: .7rem; vertical-align: text-top; + margin-top: 2px; .circle { display: inline-block; diff --git a/content/v2.0/cloud/monitor-alert/checks/_index.md b/content/v2.0/cloud/monitor-alert/checks/_index.md index 8f7ba6a21..50a882404 100644 --- a/content/v2.0/cloud/monitor-alert/checks/_index.md +++ b/content/v2.0/cloud/monitor-alert/checks/_index.md @@ -2,7 +2,7 @@ title: Manage checks seotitle: Manage monitoring checks in InfluxDB description: > - InfluxDB checks query data and apply a status or level to each data point based on specified conditions. + Checks in InfluxDB query data and apply a status or level to each data point based on specified conditions. menu: v2_0: parent: Monitor and alert @@ -11,6 +11,6 @@ v2.0/tags: [monitor, checks, notifications] --- InfluxDB checks query data and apply a status or level to each data point based on specified conditions. -The following articles provide information about creating and managing checks: +Learn how to create and manage checks: {{< children >}} diff --git a/content/v2.0/cloud/monitor-alert/checks/create.md b/content/v2.0/cloud/monitor-alert/checks/create.md index e3c5aa934..f02de1f19 100644 --- a/content/v2.0/cloud/monitor-alert/checks/create.md +++ b/content/v2.0/cloud/monitor-alert/checks/create.md @@ -11,115 +11,133 @@ v2.0/tags: [monitor, checks, notifications] --- Create a check in the InfluxDB user interface (UI). +A check consists of two parts – a query and check confiuration. -## Create a check -1. To create a check in the InfluxDB UI, click **Monitoring & Alerting** in the sidebar. +##### Check query +- Specifies the dataset to monitor. +- Requires a bucket, measurement, field, and an aggregate function. + + {{% note %}}The aggregate function aggregates data points between the specified check intervals + and returns a single value for the check to process. + {{% /note %}} +- May include tags to narrow results. + +##### Check configuration +- Defines check properties, including the check interval and status message. +- Evaluates specified conditions and applies a status (if applicable) to each data point: + - `crit` + - `warn` + - `info` + - `note` +- Stores status in the `_level` column. + +## Create a check in the InfluxDB UI +1. Click **Monitoring & Alerting** in the sidebar. {{< nav-icon "alerts" >}} 2. In the top right corner of the **Checks** column, click **{{< icon "plus" >}} Create**. - The check builder will appear. -3. Click **Name this check** in the top left corner of the check builder and provide - a unique name for the check. - -A check consists of two parts – a query and check logic. -The check builder provides separate views for configuring each. - -{{< img-hd src="/img/2-0-monitor-check-builder-view-toggle.png" alt="Check builder view toggle" />}} +3. Click **Name this check** in the top left corner and provide a unique name for the check. ### Configure the query -The check query determines the specific dataset to monitor. -Each query requires a bucket, measurement, field, and an aggregate function. -You can narrow results further with tags, but they are not required. - -{{% note %}} -The aggregate function uses data points recorded between check intervals to -calculate and return a single value for the check to process. -{{% /note %}} - -1. In the **Query view**, select the bucket, measurement, field and any desired tag sets to query. -2. In the **Aggregate functions** column, select an interval from the interval dropdown +1. In the **Query view**, select the bucket, measurement, field and tag sets to query. +2. In the **Aggregate functions** column, select an interval from the interval drop-down list (for example, "Every 5 minutes") and an aggregate function from the list of functions. -3. Click **Submit** to run the query and preview the results in the visualization pane. - To see the raw query results, click the the **View Raw Data** toggle. +3. Click **Submit** to run the query and preview the results. + To see the raw query results, click the the **{{< icon "toggle" >}} View Raw Data** toggle. -### Configure the check logic -A check adds a status to each data point based on defined conditions. -The status is stored in the `_level` column. -The following statuses or levels are available: - -- `crit` -- `warn` -- `info` -- `note` - -1. In the **Properties** column, configure the following: +### Configure the check +1. Click **2. Check** near the top of the window to display the **Check view**. +2. In the **Properties** column, configure the following: ##### Schedule Every - Schedule every sets the interval at which the check runs. - _This and the aggregate function interval will always be the same._ + Select the interval to run the check (for example, "Every 5 minutes"). + This interval matches the aggregate function interval for the check query. + _Changing the interval here will update the aggregate function interval._ ##### Offset - The offset delays the execution of a check to account for any late data. - Although the query is delayed, it does not change the queried time range. + Delay the execution of a task to account for any late data. + Offset queries do not change the queried time range. - {{% note %}}Your offset must be shorter than your [check interval](#schedule-every) or the check will not run. + {{% note %}}Your offset must be shorter than your [check interval](#schedule-every). {{% /note %}} ##### Tags Add custom tags to the query output. - These tags are unique to each check. + Each custom tag appends a new column to each row in the query output. + The column label is the tag key and the column value is the tag value. -2. In the **Status Message Template** column, configure the status message for the check. + Use custom tags to associate additional metadata with the check. + Common metadata tags across different checks lets you easily group and organize checks. + You can also use custom tags in [notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules/). + +3. In the **Status Message Template** column, enter the status message template for the check. Use [Flux string interpolation](/v2.0/reference/flux/language/string-interpolation/) to populate the message with data from the query. + + {{% note %}} +#### Flux only interpolates string values +Flux currently interpolates only string values. +Use the [string() function](/v2.0/reference/flux/functions/built-in/transformations/type-conversions/string/) +to convert non-string values to strings. + +```js +count = 12 +"I currently have ${string(v: count)} cats." +``` + {{% /note %}} + Check data is represented as an object, `r`. Access specific column values using dot notation: `r.columnName`. - Each check has access to data from the following columns: + Use data from the following columns: - - all columns included in the query output - - any [custom tags](#tags) added the query output + - columns included in the query output + - [custom tags](#tags) added to the query output - `_check_id` - `_check_name` - `_level` - `_source_measurement` - `_type` -3. In the **Conditions** column, define the logic that assigns a status or level to data. - There are two types of checks: + ###### Example status message template + ``` + From ${r._check_name}: + ${r._field} is ${r._level}. + Its value is ${string(v: r._value)}. + ``` - #### Threshold + When a check generates a status, it stores the message in the `_message` column. + +4. In the **Conditions** column, define the logic that assigns a status or level to data. + Select the type of check to configure: + + ##### Threshold A threshold check assigns a status based on a value being above, below, inside, or outside of defined thresholds. + [Configure a threshold check](#configure-a-threshold-check). - 1. Click a status to configure thresholds. - 2. Use the dropdown to configure the kind of threshold to use. - - - is above - - is below - - is inside of - - is outside of - - 3. Depending on the kind of threshold you select, one or two fields appear on the next line. - Enter threshold values in each field or use the threshold sliders that appear - in the data visualization to define threshold values. - 4. Repeat for each status you want the check to assigns. - You do not need to define logic for all statuses; only those you wish to use. - - #### Deadman + ##### Deadman A deadman check assigns a status to data when a series or group has not reported in a specified amount of time. + [Configure a deadman check](#configure-a-deadman-check). - 1. In the first field, enter a duration for the deadman check. - Any series that have not reported within the specified duration are considered dead. - 2. Use the dropdown to select a status to assign to a dead series. - 3. In the last field, enter a duration after which if a series does not begin reporting again, - the check no longer looks for that series. + ##### Configure a threshold check + 1. For each status you want to configure, click the status name (CRIT, WARN, INFO, or OK). + 2. From the **When value** drop-down list, select a threshold: is above, is below, + is inside of, is outside of. + 3. Enter a value or values for the threshold. + You can also use the threshold sliders in the data visualization to define threshold values. -After configuring your check query and logic, click the green **{{< icon "check" >}}** -in the top right corner to save the check. + ##### Configure a deadman check + 1. In the **for** field, enter a duration for the deadman check. + For example, `5m`, `1h`, or `2h30m`. + 2. Use the **set status to** drop-down list to select a status to set on a dead series. + 3. In the **And stop checking after** field, enter the time to stop monitoring the series. + For example, `30m`, `2h`, `3h15m`. + +5. Click the green **{{< icon "check" >}}** in the top right corner to save the check. ## Clone a check Create a new check by cloning an existing check. diff --git a/content/v2.0/cloud/monitor-alert/checks/view.md b/content/v2.0/cloud/monitor-alert/checks/view.md index 937fe564f..a742da80a 100644 --- a/content/v2.0/cloud/monitor-alert/checks/view.md +++ b/content/v2.0/cloud/monitor-alert/checks/view.md @@ -32,11 +32,10 @@ Here you can view the check query and logic. ## View statuses generated by a check 1. In the **Checks** column, hover over the check, click the **{{< icon "view" >}}** icon, then **View History**. -2. This takes you to the **Statuses History** page filtered to statuses generated - from the check. + The Statuses History page displays statuses generated by the selected check. ## View notifications triggered by a check 1. In the **Checks** column, hover over the check, click the **{{< icon "view" >}}** icon, then **View History**. -2. Click **Notifications** in the **Statuses | Notifications** toggle at the top of the page. -3. This displays the **Notifications History** filtered to notifications triggered by the check. +2. In the top left corner, click **Notifications**. + The Notifications History page displays notifications initiated by the selected check. diff --git a/static/img/2-0-monitor-check-builder-view-toggle.png b/static/img/2-0-monitor-check-builder-view-toggle.png deleted file mode 100644 index e3b64ec632e08b780d15a227080b9027d74015eb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19454 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 From 6aae13b904918503da0d34c47a268ea3c3a2c9e2 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 10:41:14 -0700 Subject: [PATCH 105/136] Fix shortcode --- .../notification-rules/create-notification-rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md index 025166030..24dbf049e 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md +++ b/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md @@ -39,7 +39,7 @@ Once you've set up checks and notification endpoints, create notification rules 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alert" >}} + {{< nav-icon "alerts" >}} 2. Under **Notification Rules**, hover over the rule you want to clone. From 16cf4d25edc32cc392c83d091374c77586cd41a7 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 11:00:58 -0700 Subject: [PATCH 106/136] Updated token paths --- content/v2.0/security/tokens/create-token.md | 4 ++-- content/v2.0/security/tokens/delete-token.md | 4 ++-- content/v2.0/security/tokens/update-tokens.md | 4 ++-- content/v2.0/security/tokens/view-tokens.md | 4 ++-- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/content/v2.0/security/tokens/create-token.md b/content/v2.0/security/tokens/create-token.md index d364d99bd..a5f2e2b10 100644 --- a/content/v2.0/security/tokens/create-token.md +++ b/content/v2.0/security/tokens/create-token.md @@ -16,9 +16,9 @@ command line interface (CLI). ## Create a token in the InfluxDB UI -1. Click the **Settings** icon in the navigation bar. +1. Click the **Load Data** icon in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load" >}} 2. Click **Tokens**. 3. Click the **+ Generate** dropdown in the upper right and select a token type (**Read/Write Token** or **All Access Token**). diff --git a/content/v2.0/security/tokens/delete-token.md b/content/v2.0/security/tokens/delete-token.md index 13083063a..f036a72e5 100644 --- a/content/v2.0/security/tokens/delete-token.md +++ b/content/v2.0/security/tokens/delete-token.md @@ -17,9 +17,9 @@ have access to your InfluxDB instance. ## Delete tokens in the InfluxDB UI -1. Click the **Settings** icon in the navigation bar. +1. Click the Click the **Load Data** icon in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load" >}} 2. Click **Tokens**. All of your account's tokens appear. 3. Hover over the token you want to delete and click **Delete** and **Confirm**. diff --git a/content/v2.0/security/tokens/update-tokens.md b/content/v2.0/security/tokens/update-tokens.md index eb1b86533..70accf31c 100644 --- a/content/v2.0/security/tokens/update-tokens.md +++ b/content/v2.0/security/tokens/update-tokens.md @@ -15,9 +15,9 @@ Update an authentication token's description using the InfluxDB user interface ( ## Update a token in the InfluxDB UI -1. Click the **Settings** icon in the navigation bar. +1. Click the **Load Data** icon in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load" >}} 2. Click **Tokens**. All of your account's tokens appear. 3. Click the pencil icon {{< icon "pencil" >}} next to the token's name in the **Description** column. diff --git a/content/v2.0/security/tokens/view-tokens.md b/content/v2.0/security/tokens/view-tokens.md index 6dc3537e9..c8f962341 100644 --- a/content/v2.0/security/tokens/view-tokens.md +++ b/content/v2.0/security/tokens/view-tokens.md @@ -16,9 +16,9 @@ command line interface (CLI). ## View tokens in the InfluxDB UI -1. Click the **Settings** icon in the navigation bar. +1. Click the **Load Data** icon in the navigation bar. - {{< nav-icon "settings" >}} + {{< nav-icon "load" >}} 2. Click **Tokens**. All of your account's tokens appear. 3. Click on a token name from the list to view the token and a summary of access permissions. From 43006c9837f491fc1c138e9e08c63ec16f256e7b Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 11:26:27 -0700 Subject: [PATCH 107/136] Add view notification rules doc --- .../view-notification-rules.md | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md new file mode 100644 index 000000000..b383e06e4 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md @@ -0,0 +1,42 @@ +--- +title: View notification rules +description: > + Update notification rules to update the notification message or change the schedule or conditions. + +weight: 201 +v2.0/tags: [notifications] +menu: + v2_0: + name: View notification rules + parent: Manage notification rules +--- + +View notification rule details and statuses and notifications generated by notification rules in the InfluxDB user interface (UI). + +- [View a list of all notification rules](#view-a-list-of-all-notification-rules) +- [View notification rule details](#view-notification-rule-details) +- [View statuses generated by a check](#view-statuses-generated-by-a-notification-rule) +- [View notifications triggered by a notification rule](#view-notifications-triggered-by-a-notification-rule) + +To view notification rules, click **Monitoring & Alerting** in the InfluxDB UI sidebar. + +{{< nav-icon "alerts" >}} + +## View a list of all notification rules +The **Notification Rules** column on the Monitoring & Alerting landing page displays all existing checks. + +## View notification rule details +In the **Notification Rules** column, click the name of the check you want to view. +The check builder appears. +Here you can view the check query and logic. + +## View statuses generated by a notification rule +1. In the **Notification Rules** column, hover over the check, click the **{{< icon "view" >}}** + icon, then **View History**. + The Statuses History page displays statuses generated by the selected check. + +## View notifications triggered by a notification rule +1. In the **Notification Rules** column, hover over the notification rule, click the **{{< icon "view" >}}** + icon, then **View History**. +2. In the top left corner, click **Notifications**. + The Notifications History page displays notifications initiated by the selected notification rule. From c0aae4a7e736b5e2925128ac1e9a3b3a02c24081 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 13:54:29 -0600 Subject: [PATCH 108/136] moved monitor docs out of cloud directory --- content/v2.0/{cloud => }/monitor-alert/_index.md | 10 +++++----- .../v2.0/{cloud => }/monitor-alert/checks/_index.md | 0 .../v2.0/{cloud => }/monitor-alert/checks/create.md | 0 .../v2.0/{cloud => }/monitor-alert/checks/delete.md | 2 +- .../v2.0/{cloud => }/monitor-alert/checks/update.md | 2 +- content/v2.0/{cloud => }/monitor-alert/checks/view.md | 0 .../notification-endpoints}/_index.md | 0 .../notification-endpoints/create.md} | 6 +++--- .../notification-endpoints/delete.md} | 6 +++--- .../notification-endpoints/update.md} | 4 ++-- .../monitor-alert/notification-rules/_index.md | 2 +- .../notification-rules/create.md} | 0 .../notification-rules/delete.md} | 0 .../notification-rules/update.md} | 0 content/v2.0/reference/glossary.md | 2 +- 15 files changed, 17 insertions(+), 17 deletions(-) rename content/v2.0/{cloud => }/monitor-alert/_index.md (65%) rename content/v2.0/{cloud => }/monitor-alert/checks/_index.md (100%) rename content/v2.0/{cloud => }/monitor-alert/checks/create.md (100%) rename content/v2.0/{cloud => }/monitor-alert/checks/delete.md (88%) rename content/v2.0/{cloud => }/monitor-alert/checks/update.md (98%) rename content/v2.0/{cloud => }/monitor-alert/checks/view.md (100%) rename content/v2.0/{cloud/monitor-alert/manage-notification-endpoints => monitor-alert/notification-endpoints}/_index.md (100%) rename content/v2.0/{cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md => monitor-alert/notification-endpoints/create.md} (93%) rename content/v2.0/{cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md => monitor-alert/notification-endpoints/delete.md} (73%) rename content/v2.0/{cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md => monitor-alert/notification-endpoints/update.md} (94%) rename content/v2.0/{cloud => }/monitor-alert/notification-rules/_index.md (96%) rename content/v2.0/{cloud/monitor-alert/notification-rules/create-notification-rules.md => monitor-alert/notification-rules/create.md} (100%) rename content/v2.0/{cloud/monitor-alert/notification-rules/delete-notification-rules.md => monitor-alert/notification-rules/delete.md} (100%) rename content/v2.0/{cloud/monitor-alert/notification-rules/update-notfication-rules.md => monitor-alert/notification-rules/update.md} (100%) diff --git a/content/v2.0/cloud/monitor-alert/_index.md b/content/v2.0/monitor-alert/_index.md similarity index 65% rename from content/v2.0/cloud/monitor-alert/_index.md rename to content/v2.0/monitor-alert/_index.md index 602e87b54..c56f45e23 100644 --- a/content/v2.0/cloud/monitor-alert/_index.md +++ b/content/v2.0/monitor-alert/_index.md @@ -6,7 +6,7 @@ description: > menu: v2_0: name: Monitor and alert -weight: 3 +weight: 6 v2.0/tags: [monitor, alert, checks, notification, endpoints] --- @@ -15,12 +15,12 @@ Monitor your time series data and send alerts by creating checks, notification r 1. [Create checks](...create-a-check) to monitor data for a specified check status. 2. (Optional) Send alerts on a specified check status by doing the following: - a. [Create a notification endpoint](/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints). + a. [Create a notification endpoint](/v2.0/monitor-alert/notification-endpoints/create). - b. [Create notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/create-notification-rules). + b. [Create notification rules](/v2.0/monitor-alert/notification-rules/create). After creating your initial checks and notifications, adjust how you monitor data and alerts as needed. For more information, see: - [Manage checks](/v2.0/cloud/monitor-alert/manage-checks) -- [Manage notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules) -- [Manage notification endpoints](/v2.0/cloud/monitor-alert/manage-notification-endpoints) +- [Manage notification rules](/v2.0/monitor-alert/notification-rules) +- [Manage notification endpoints](/v2.0/monitor-alert/notification-endpoints) diff --git a/content/v2.0/cloud/monitor-alert/checks/_index.md b/content/v2.0/monitor-alert/checks/_index.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/checks/_index.md rename to content/v2.0/monitor-alert/checks/_index.md diff --git a/content/v2.0/cloud/monitor-alert/checks/create.md b/content/v2.0/monitor-alert/checks/create.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/checks/create.md rename to content/v2.0/monitor-alert/checks/create.md diff --git a/content/v2.0/cloud/monitor-alert/checks/delete.md b/content/v2.0/monitor-alert/checks/delete.md similarity index 88% rename from content/v2.0/cloud/monitor-alert/checks/delete.md rename to content/v2.0/monitor-alert/checks/delete.md index 90c42a138..58e0a70c4 100644 --- a/content/v2.0/cloud/monitor-alert/checks/delete.md +++ b/content/v2.0/monitor-alert/checks/delete.md @@ -27,6 +27,6 @@ After a check is deleted, all statuses generated by the check remain in the `_mo bucket until the retention period for the bucket expires. {{% note %}} -You can also [disable a check](/v2.0/cloud/monitor-alert/checks/update/#enable-or-disable-a-check) +You can also [disable a check](/v2.0/monitor-alert/checks/update/#enable-or-disable-a-check) without having to delete it. {{% /note %}} diff --git a/content/v2.0/cloud/monitor-alert/checks/update.md b/content/v2.0/monitor-alert/checks/update.md similarity index 98% rename from content/v2.0/cloud/monitor-alert/checks/update.md rename to content/v2.0/monitor-alert/checks/update.md index 45b136a8a..2a3cb1f44 100644 --- a/content/v2.0/cloud/monitor-alert/checks/update.md +++ b/content/v2.0/monitor-alert/checks/update.md @@ -30,7 +30,7 @@ To update checks, click **Monitoring & Alerting** in the InfluxDB UI sidebar. 2. To edit the check query, click **1. Query** at the top of the check builder window. 3. To edit the check logic, click **2. Check** at the top of the check builder window. -_For details about using the check builder, see [Create checks](/v2.0/cloud/monitor-alert/checks/create/)._ +_For details about using the check builder, see [Create checks](/v2.0/monitor-alert/checks/create/)._ ## Enable or disable a check In the **Checks** column, click the {{< icon "toggle" >}} toggle next to a check diff --git a/content/v2.0/cloud/monitor-alert/checks/view.md b/content/v2.0/monitor-alert/checks/view.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/checks/view.md rename to content/v2.0/monitor-alert/checks/view.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md b/content/v2.0/monitor-alert/notification-endpoints/_index.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/manage-notification-endpoints/_index.md rename to content/v2.0/monitor-alert/notification-endpoints/_index.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md b/content/v2.0/monitor-alert/notification-endpoints/create.md similarity index 93% rename from content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md rename to content/v2.0/monitor-alert/notification-endpoints/create.md index 52f14d7d9..cf0381d7f 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints.md +++ b/content/v2.0/monitor-alert/notification-endpoints/create.md @@ -11,11 +11,11 @@ menu: parent: Manage notification endpoints weight: 201 related: - - /v2.0/cloud/monitor-alert/manage-notification-rules/ - - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ --- -To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/cloud/monitor-alert/checks/create-checks). +To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/monitor-alert/checks/create-checks). ## Create a notification endpoint in the UI diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md b/content/v2.0/monitor-alert/notification-endpoints/delete.md similarity index 73% rename from content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md rename to content/v2.0/monitor-alert/notification-endpoints/delete.md index 48166598f..842042c15 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/delete-notification-endpoints.md +++ b/content/v2.0/monitor-alert/notification-endpoints/delete.md @@ -11,11 +11,11 @@ menu: parent: Manage notification endpoints weight: 201 related: - - /v2.0/cloud/monitor-alert/manage-notification-rules/ - - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ --- -If notifications are no longer sent to an endpoint, complete the steps below to delete the endpoint, and then [update notification rules](/v2.0/cloud/monitor-alert/manage-notification-rules/update-notification-rules) with a new notification endpoint as needed. +If notifications are no longer sent to an endpoint, complete the steps below to delete the endpoint, and then [update notification rules](/v2.0/monitor-alert/notification-rules/update) with a new notification endpoint as needed. ## Delete a notification endpoint in the UI diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md b/content/v2.0/monitor-alert/notification-endpoints/update.md similarity index 94% rename from content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md rename to content/v2.0/monitor-alert/notification-endpoints/update.md index 3f8657365..cbb0a6afc 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/update-notification-endpoints.md +++ b/content/v2.0/monitor-alert/notification-endpoints/update.md @@ -9,8 +9,8 @@ menu: parent: Manage notification endpoints weight: 204 related: - - /v2.0/cloud/monitor-alert/manage-notification-rules/ - - /v2.0/cloud/monitor-alert/manage-notification-endpoints/ + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ --- To update the notification endpoint details, complete the following procedures as needed. diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md b/content/v2.0/monitor-alert/notification-rules/_index.md similarity index 96% rename from content/v2.0/cloud/monitor-alert/notification-rules/_index.md rename to content/v2.0/monitor-alert/notification-rules/_index.md index 8f907fa01..e43daae95 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/monitor-alert/notification-rules/_index.md @@ -2,7 +2,7 @@ title: Manage notification rules description: > Manage notification rules in InfluxDB. -weight: 20 +weight: 103 v2.0/tags: [notifications] menu: v2_0: diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md b/content/v2.0/monitor-alert/notification-rules/create.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules.md rename to content/v2.0/monitor-alert/notification-rules/create.md diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md b/content/v2.0/monitor-alert/notification-rules/delete.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/notification-rules/delete-notification-rules.md rename to content/v2.0/monitor-alert/notification-rules/delete.md diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md b/content/v2.0/monitor-alert/notification-rules/update.md similarity index 100% rename from content/v2.0/cloud/monitor-alert/notification-rules/update-notfication-rules.md rename to content/v2.0/monitor-alert/notification-rules/update.md diff --git a/content/v2.0/reference/glossary.md b/content/v2.0/reference/glossary.md index 99ea96622..8dd7a1d45 100644 --- a/content/v2.0/reference/glossary.md +++ b/content/v2.0/reference/glossary.md @@ -551,7 +551,7 @@ Related entries: [server](#server) ### notification endpoint - The notification endpoint specifies the Slack or PagerDuty endpoint to send a notification and contains configuration details for connecting to the endpoint. Learn how to [create a notification endpoint](/v2.0/cloud/monitor-alert/manage-notification-endpoints/create-notification-endpoints). + The notification endpoint specifies the Slack or PagerDuty endpoint to send a notification and contains configuration details for connecting to the endpoint. Learn how to [create a notification endpoint](/v2.0/monitor-alert/notification-endpoints/create). Related entries: [check](#check), [notification rule](#notification-rule) From cb3e1bcf661ca5645adcdae1458776ade240acce Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 13:19:15 -0700 Subject: [PATCH 109/136] Restructure files (addresses #434 ) --- content/v2.0/security/secrets/_index.md | 0 content/v2.0/security/secrets/storing-secrets-in-bolt.md | 0 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 content/v2.0/security/secrets/_index.md create mode 100644 content/v2.0/security/secrets/storing-secrets-in-bolt.md diff --git a/content/v2.0/security/secrets/_index.md b/content/v2.0/security/secrets/_index.md new file mode 100644 index 000000000..e69de29bb diff --git a/content/v2.0/security/secrets/storing-secrets-in-bolt.md b/content/v2.0/security/secrets/storing-secrets-in-bolt.md new file mode 100644 index 000000000..e69de29bb From 97514f17184ecf8f48f7c419986f78b1629b4435 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 13:31:33 -0700 Subject: [PATCH 110/136] Fixed icon shortcode --- content/v2.0/security/tokens/create-token.md | 2 +- content/v2.0/security/tokens/delete-token.md | 2 +- content/v2.0/security/tokens/update-tokens.md | 2 +- content/v2.0/security/tokens/view-tokens.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/v2.0/security/tokens/create-token.md b/content/v2.0/security/tokens/create-token.md index a5f2e2b10..0352c5a6c 100644 --- a/content/v2.0/security/tokens/create-token.md +++ b/content/v2.0/security/tokens/create-token.md @@ -18,7 +18,7 @@ command line interface (CLI). 1. Click the **Load Data** icon in the navigation bar. - {{< nav-icon "load" >}} + {{< nav-icon "disks" >}} 2. Click **Tokens**. 3. Click the **+ Generate** dropdown in the upper right and select a token type (**Read/Write Token** or **All Access Token**). diff --git a/content/v2.0/security/tokens/delete-token.md b/content/v2.0/security/tokens/delete-token.md index f036a72e5..b96e308af 100644 --- a/content/v2.0/security/tokens/delete-token.md +++ b/content/v2.0/security/tokens/delete-token.md @@ -19,7 +19,7 @@ have access to your InfluxDB instance. 1. Click the Click the **Load Data** icon in the navigation bar. - {{< nav-icon "load" >}} + {{< nav-icon "disks" >}} 2. Click **Tokens**. All of your account's tokens appear. 3. Hover over the token you want to delete and click **Delete** and **Confirm**. diff --git a/content/v2.0/security/tokens/update-tokens.md b/content/v2.0/security/tokens/update-tokens.md index 70accf31c..b566c8809 100644 --- a/content/v2.0/security/tokens/update-tokens.md +++ b/content/v2.0/security/tokens/update-tokens.md @@ -17,7 +17,7 @@ Update an authentication token's description using the InfluxDB user interface ( 1. Click the **Load Data** icon in the navigation bar. - {{< nav-icon "load" >}} + {{< nav-icon "disks" >}} 2. Click **Tokens**. All of your account's tokens appear. 3. Click the pencil icon {{< icon "pencil" >}} next to the token's name in the **Description** column. diff --git a/content/v2.0/security/tokens/view-tokens.md b/content/v2.0/security/tokens/view-tokens.md index c8f962341..3e5fe9d22 100644 --- a/content/v2.0/security/tokens/view-tokens.md +++ b/content/v2.0/security/tokens/view-tokens.md @@ -18,7 +18,7 @@ command line interface (CLI). 1. Click the **Load Data** icon in the navigation bar. - {{< nav-icon "load" >}} + {{< nav-icon "disks" >}} 2. Click **Tokens**. All of your account's tokens appear. 3. Click on a token name from the list to view the token and a summary of access permissions. From 536d220665c7cf9ffd689e310fd9aa5784c06090 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 14:38:02 -0600 Subject: [PATCH 111/136] cleaned up frontmatter in monitoring docs and updated links --- content/v2.0/monitor-alert/_index.md | 1 + content/v2.0/monitor-alert/checks/_index.md | 6 +++- content/v2.0/monitor-alert/checks/create.md | 5 ++- content/v2.0/monitor-alert/checks/delete.md | 5 ++- content/v2.0/monitor-alert/checks/update.md | 5 ++- content/v2.0/monitor-alert/checks/view.md | 5 ++- .../notification-endpoints/_index.md | 12 ++++--- .../notification-endpoints/create.md | 35 +++++++++++-------- .../notification-endpoints/delete.md | 6 ++-- .../notification-endpoints/update.md | 6 ++-- .../notification-rules/_index.md | 8 +++-- .../notification-rules/create.md | 15 ++++---- .../notification-rules/delete.md | 10 +++--- .../notification-rules/update.md | 9 +++-- 14 files changed, 76 insertions(+), 52 deletions(-) diff --git a/content/v2.0/monitor-alert/_index.md b/content/v2.0/monitor-alert/_index.md index c56f45e23..c5bcc3992 100644 --- a/content/v2.0/monitor-alert/_index.md +++ b/content/v2.0/monitor-alert/_index.md @@ -8,6 +8,7 @@ menu: name: Monitor and alert weight: 6 v2.0/tags: [monitor, alert, checks, notification, endpoints] +cloud_all: true --- Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. To get started, do the following: diff --git a/content/v2.0/monitor-alert/checks/_index.md b/content/v2.0/monitor-alert/checks/_index.md index 50a882404..e420f4323 100644 --- a/content/v2.0/monitor-alert/checks/_index.md +++ b/content/v2.0/monitor-alert/checks/_index.md @@ -7,7 +7,11 @@ menu: v2_0: parent: Monitor and alert weight: 101 -v2.0/tags: [monitor, checks, notifications] +v2.0/tags: [monitor, checks, notifications, alert] +related: + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- InfluxDB checks query data and apply a status or level to each data point based on specified conditions. diff --git a/content/v2.0/monitor-alert/checks/create.md b/content/v2.0/monitor-alert/checks/create.md index f02de1f19..332eca11c 100644 --- a/content/v2.0/monitor-alert/checks/create.md +++ b/content/v2.0/monitor-alert/checks/create.md @@ -7,7 +7,10 @@ menu: v2_0: parent: Manage checks weight: 201 -v2.0/tags: [monitor, checks, notifications] +related: + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- Create a check in the InfluxDB user interface (UI). diff --git a/content/v2.0/monitor-alert/checks/delete.md b/content/v2.0/monitor-alert/checks/delete.md index 58e0a70c4..3d42b1bac 100644 --- a/content/v2.0/monitor-alert/checks/delete.md +++ b/content/v2.0/monitor-alert/checks/delete.md @@ -7,7 +7,10 @@ menu: v2_0: parent: Manage checks weight: 204 -v2.0/tags: [monitor, checks, notifications] +related: + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- If you no longer need a check, use the InfluxDB user interface (UI) to delete it. diff --git a/content/v2.0/monitor-alert/checks/update.md b/content/v2.0/monitor-alert/checks/update.md index 2a3cb1f44..935509b05 100644 --- a/content/v2.0/monitor-alert/checks/update.md +++ b/content/v2.0/monitor-alert/checks/update.md @@ -7,7 +7,10 @@ menu: v2_0: parent: Manage checks weight: 203 -v2.0/tags: [monitor, checks, notifications] +related: + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- Update checks in the InfluxDB user interface (UI). diff --git a/content/v2.0/monitor-alert/checks/view.md b/content/v2.0/monitor-alert/checks/view.md index a742da80a..b27e7a202 100644 --- a/content/v2.0/monitor-alert/checks/view.md +++ b/content/v2.0/monitor-alert/checks/view.md @@ -7,7 +7,10 @@ menu: v2_0: parent: Manage checks weight: 202 -v2.0/tags: [monitor, checks, notifications] +related: + - /v2.0/monitor-alert/notification-rules/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- View check details and statuses and notifications generated by checks in the InfluxDB user interface (UI). diff --git a/content/v2.0/monitor-alert/notification-endpoints/_index.md b/content/v2.0/monitor-alert/notification-endpoints/_index.md index a3e930c48..15aa8c339 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/_index.md +++ b/content/v2.0/monitor-alert/notification-endpoints/_index.md @@ -1,17 +1,21 @@ --- title: Manage notification endpoints -seotitle: Manage notification endpoints list_title: Manage notification endpoints description: > Create, read, update, and delete endpoints in the InfluxDB UI. -v2.0/tags: [endpoints] +v2.0/tags: [monitor, endpoints, notifications, alert] menu: v2_0: - name: Manage notification endpoints parent: Monitor and alert weight: 102 +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-rules/ +cloud_all: true --- -Notification endpoints store information to connect to a third party service. If you're using the Free plan, create a Slack endpoint. If you're using the Pay as You Go plan, create a connection to a HTTP, Slack, or PagerDuty endpoint. +Notification endpoints store information to connect to a third party service. +If you're using the Free plan, create a Slack endpoint. +If you're using the Pay as You Go plan, create a connection to a HTTP, Slack, or PagerDuty endpoint. {{< children >}} diff --git a/content/v2.0/monitor-alert/notification-endpoints/create.md b/content/v2.0/monitor-alert/notification-endpoints/create.md index cf0381d7f..5d1188c91 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/create.md +++ b/content/v2.0/monitor-alert/notification-endpoints/create.md @@ -1,18 +1,16 @@ --- title: Create notification endpoints -seotitle: Create notification endpoints description: > Create notification endpoints to send alerts on your time series data. - -v2.0/tags: [monitor, notifications, endpoints] menu: v2_0: name: Create endpoints parent: Manage notification endpoints weight: 201 related: + - /v2.0/monitor-alert/checks/ - /v2.0/monitor-alert/notification-rules/ - - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/monitor-alert/checks/create-checks). @@ -23,17 +21,24 @@ To send notifications about changes in your data, start by creating a notificati {{< nav-icon "alerts" >}} -2. Next to **Notification Endpoints**, click **Create**. -3. From the **Destination** drop-down list, select a destination endpoint to send notifications: - - (Free plan) Slack - - (Pay as You Go plan) HTTP, Slack, or PagerDuty -4. In the **Name** and **Description** fields, enter a name and description for the endpoint. -5. Enter enter information to connect to the endpoint: +2. Next to **Notification Endpoints**, click **Create**. +3. From the **Destination** drop-down list, select a destination endpoint to send notifications. + The following endpoints are available for InfluxDB 2.0 OSS, the InfluxDB Cloud 2.0 Free Plan, + and the InfluxDB Cloud 2.0 Pay As You Go (PAYG) Plan: - - For HTTP, enter the **URL** to send the notification. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. - - - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. - - - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. By default, the PagerDuty client URL is https://events.pagerduty.com/v2/enqueue. For details, see [PagerDuty documentation](https://v2.developer.pagerduty.com/docs/send-an-event-events-api-v2). + | Endpoint | OSS | Free Plan _(Cloud)_ | PAYG Plan _(Cloud)_ | + |:-------- |:--------:|:-------------------: |:----------------------------:| + | **Slack** | _Coming_ | **{{< icon "check" >}}** | **{{< icon "check" >}}** | + | **PagerDuty** | _Coming_ | | **{{< icon "check" >}}** | + | **HTTP** | _Coming_ | | **{{< icon "check" >}}** | + +4. In the **Name** and **Description** fields, enter a name and description for the endpoint. +5. Enter enter information to connect to the endpoint: + + - For HTTP, enter the **URL** to send the notification. Select the **auth method** to use: **None** for no authentication. To authenticate with a username and password, select **Basic** and then enter credentials in the **Username** and **Password** fields. To authenticate with a token, select **Bearer**, and then enter the authentication token in the **Token** field. + + - For Slack, create an [Incoming WebHook](https://api.slack.com/incoming-webhooks#posting_with_webhooks) in Slack, and then enter your webHook URL in the **Slack Incoming WebHook URL** field. + + - For PagerDuty, [create a new service](https://support.pagerduty.com/docs/services-and-integrations#section-create-a-new-service), [add an integration for your service](https://support.pagerduty.com/docs/services-and-integrations#section-add-integrations-to-an-existing-service), and then enter the PagerDuty integration key for your new service in the **Routing Key** field. By default, the PagerDuty client URL is https://events.pagerduty.com/v2/enqueue. For details, see [PagerDuty documentation](https://v2.developer.pagerduty.com/docs/send-an-event-events-api-v2). 6. Click **Create Notification Endpoint**. diff --git a/content/v2.0/monitor-alert/notification-endpoints/delete.md b/content/v2.0/monitor-alert/notification-endpoints/delete.md index 842042c15..0f3200f54 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/delete.md +++ b/content/v2.0/monitor-alert/notification-endpoints/delete.md @@ -1,18 +1,16 @@ --- title: Delete notification endpoints -seotitle: Delete notification endpoints description: > Delete a notification endpoint in the InfluxDB UI. - -v2.0/tags: [monitor, notifications, endpoints] menu: v2_0: name: Delete endpoints parent: Manage notification endpoints weight: 201 related: + - /v2.0/monitor-alert/checks/ - /v2.0/monitor-alert/notification-rules/ - - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- If notifications are no longer sent to an endpoint, complete the steps below to delete the endpoint, and then [update notification rules](/v2.0/monitor-alert/notification-rules/update) with a new notification endpoint as needed. diff --git a/content/v2.0/monitor-alert/notification-endpoints/update.md b/content/v2.0/monitor-alert/notification-endpoints/update.md index cbb0a6afc..9353fd9a3 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/update.md +++ b/content/v2.0/monitor-alert/notification-endpoints/update.md @@ -1,6 +1,5 @@ --- title: Update notification endpoints -seotitle: Update notification endpoints description: > Update notification endpoints in the InfluxDB UI. menu: @@ -9,8 +8,9 @@ menu: parent: Manage notification endpoints weight: 204 related: + - /v2.0/monitor-alert/checks/ - /v2.0/monitor-alert/notification-rules/ - - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- To update the notification endpoint details, complete the following procedures as needed. @@ -21,10 +21,8 @@ To update the notification endpoint details, complete the following procedures a 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alerts" >}} - 2. Under **Notification Endpoints**, click **Add a label** next to the endpoint you want to add a label to. The **Add Labels** box opens. 3. To add an existing label, select the label from the list. 4. To create and add a new label: diff --git a/content/v2.0/monitor-alert/notification-rules/_index.md b/content/v2.0/monitor-alert/notification-rules/_index.md index e43daae95..6225efa41 100644 --- a/content/v2.0/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/monitor-alert/notification-rules/_index.md @@ -3,12 +3,16 @@ title: Manage notification rules description: > Manage notification rules in InfluxDB. weight: 103 -v2.0/tags: [notifications] +v2.0/tags: [monitor, notifications, alert] menu: v2_0: - name: Manage notification rules parent: Monitor and alert +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- + The following articles provide information on managing your notification rules: {{< children >}} diff --git a/content/v2.0/monitor-alert/notification-rules/create.md b/content/v2.0/monitor-alert/notification-rules/create.md index 24dbf049e..c3c47aa53 100644 --- a/content/v2.0/monitor-alert/notification-rules/create.md +++ b/content/v2.0/monitor-alert/notification-rules/create.md @@ -1,26 +1,27 @@ --- title: Create notification rules description: > - Create notification rules to receive alerts on your time series data. - + Create notification rules to send alerts on your time series data. weight: 20 -v2.0/tags: [notifications] menu: v2_0: - name: Create notification rules parent: Manage notification rules +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- -Once you've set up checks and notification endpoints, create notification rules to alert you. For details, see and . +Once you've set up checks and notification endpoints, create notification rules to alert you. +_For details, see [Manage checks](/v2.0/monitor-alert/checks/) and +[Manage notification endpoints](/v2.0/monitor-alert/notification-endpoints/)._ ## Create a new notification rule in the UI 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alerts" >}} - 2. Under **Notification Rules**, click **+Create**. 3. Complete the **About** section: 1. In the **Name** field, enter a name for the notification rule. diff --git a/content/v2.0/monitor-alert/notification-rules/delete.md b/content/v2.0/monitor-alert/notification-rules/delete.md index ba3d61c31..317d11b88 100644 --- a/content/v2.0/monitor-alert/notification-rules/delete.md +++ b/content/v2.0/monitor-alert/notification-rules/delete.md @@ -2,23 +2,21 @@ title: Delete notification rules description: > If you no longer need to receive an alert, delete the associated notification rule. - - weight: 201 -v2.0/tags: [notifications] menu: v2_0: - name: Delete notification rules parent: Manage notification rules +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- ## Delete a notification rule in the UI 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alerts" >}} - 2. Under **Notification Rules**, find the rule you want to delete. 3. Click the delete icon, then click **Delete** to confirm. diff --git a/content/v2.0/monitor-alert/notification-rules/update.md b/content/v2.0/monitor-alert/notification-rules/update.md index cc0a53d23..21a278c7c 100644 --- a/content/v2.0/monitor-alert/notification-rules/update.md +++ b/content/v2.0/monitor-alert/notification-rules/update.md @@ -2,23 +2,22 @@ title: Update notification rules description: > Update notification rules to update the notification message or change the schedule or conditions. - weight: 201 -v2.0/tags: [notifications] menu: v2_0: - name: Update notification rules parent: Manage notification rules +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- ## Add a label to notification rules 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alerts" >}} - 2. Under **Notification Rules**, click **Add a label** next to the rule you want to add a label to. The **Add Labels** box opens. 3. To add an existing label, select the label from the list. 4. To create and add a new label: From 9a50e6c8d281e200b968bd96637695427f81e29a Mon Sep 17 00:00:00 2001 From: Kelly Date: Mon, 9 Sep 2019 13:48:55 -0700 Subject: [PATCH 112/136] add view endpoint notification history doc --- .../view-endpoint-history.md | 41 +++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md new file mode 100644 index 000000000..622eae500 --- /dev/null +++ b/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md @@ -0,0 +1,41 @@ +--- +title: View notification endpoint history +seotitle: View notification endpoint details and history in the InfluxDB. +description: > + View notification endpoint details and history in the InfluxDB UI. +menu: + v2_0: + name: View endpoint history + parent: Manage notification endpoints +weight: 202 +v2.0/tags: [monitor, notifications] +--- + +View notification endpoint details and history in the InfluxDB user interface (UI). + +- [View notification endpoints](#view-notification-endpoints) +- [View notification endpoint details](#view-notification-endpoint-details) +- [View history notification endpoint history](#view-notification-endpoint-history), including statues and notifications sent to the endpoint + +## View notification endpoints + +- Click **Monitoring & Alerting** in the InfluxDB UI sidebar. + + {{< nav-icon "alerts" >}} + + In the **Notification Endpoints** column, view existing notification endpoints. + +## View notification endpoint details + +1. Click **Monitoring & Alerting** in the InfluxDB UI sidebar. +2. In the **Notification Endpoints** column, click the name of the notification endpoint you want to view. +3. View the notification endpoint destination, name, and information to connect to the endpoint. + +## View notification endpoint history + +1. Click **Monitoring & Alerting** in the InfluxDB UI sidebar. +2. In the **Notification Endpoints** column, hover over the notification endpoint, click the **{{< icon "view" >}}** icon, then **View History**. +The Check Statuses History page displays: + + - Statuses generated for the selected notification endpoint + - Notifications sent to the selected notification endpoint From fd2b00735a9777ad241c154d32bc8bc322f11703 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 14:56:17 -0600 Subject: [PATCH 113/136] updated content on monitoring landing page --- content/v2.0/monitor-alert/_index.md | 33 +++++++++++++------ content/v2.0/monitor-alert/checks/_index.md | 2 +- .../notification-rules/create.md | 2 -- 3 files changed, 24 insertions(+), 13 deletions(-) diff --git a/content/v2.0/monitor-alert/_index.md b/content/v2.0/monitor-alert/_index.md index c5bcc3992..1a131482e 100644 --- a/content/v2.0/monitor-alert/_index.md +++ b/content/v2.0/monitor-alert/_index.md @@ -2,7 +2,8 @@ title: Monitor data and send alerts seotitle: Monitor data and send alerts description: > - Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. + Monitor your time series data and send alerts by creating checks, notification + rules, and notification endpoints. menu: v2_0: name: Monitor and alert @@ -11,17 +12,29 @@ v2.0/tags: [monitor, alert, checks, notification, endpoints] cloud_all: true --- -Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. To get started, do the following: +Monitor your time series data and send alerts by creating checks, notification +rules, and notification endpoints. -1. [Create checks](...create-a-check) to monitor data for a specified check status. -2. (Optional) Send alerts on a specified check status by doing the following: +InfluxDB lets - a. [Create a notification endpoint](/v2.0/monitor-alert/notification-endpoints/create). +## The monitoring workflow +1. InfluxDB uses a [check](/v2.0/reference/glossary/#check) to query data and + assigns a status or `_level` based on specific conditions. +2. InfluxDB stores the output the check in the `statuses` measurement in the `_monitoring` system bucket. +3. [Notification rules](/v2.0/reference/glossary/#notification-rule) check data in the `statuses` + measurement and, based conditions set in the notification rule, send a message + to a [notification endpoint](/v2.0/reference/glossary/#notification-endpoint). +4. InfluxDB stores notifications in the `notifications` measurement in the `_monitoring` system bucket. - b. [Create notification rules](/v2.0/monitor-alert/notification-rules/create). +## Monitor your data +To get started, do the following: -After creating your initial checks and notifications, adjust how you monitor data and alerts as needed. For more information, see: +1. [Create checks](/v2.0/monitor-alert/checks/create/) to monitor data and assign a status. +2. [Add notification endpoints](/v2.0/monitor-alert/notification-endpoints/create/) to send notifications to. +3. [Create notification rules](/v2.0/monitor-alert/notification-rules/create) to check + statuses and send notifications to your notifications endpoints. -- [Manage checks](/v2.0/cloud/monitor-alert/manage-checks) -- [Manage notification rules](/v2.0/monitor-alert/notification-rules) -- [Manage notification endpoints](/v2.0/monitor-alert/notification-endpoints) + +## Manage your monitoring and alerting pipeline + +{{< children >}} diff --git a/content/v2.0/monitor-alert/checks/_index.md b/content/v2.0/monitor-alert/checks/_index.md index e420f4323..77463f54c 100644 --- a/content/v2.0/monitor-alert/checks/_index.md +++ b/content/v2.0/monitor-alert/checks/_index.md @@ -14,7 +14,7 @@ related: cloud_all: true --- -InfluxDB checks query data and apply a status or level to each data point based on specified conditions. +Checks in InfluxDB query data and apply a status or level to each data point based on specified conditions. Learn how to create and manage checks: {{< children >}} diff --git a/content/v2.0/monitor-alert/notification-rules/create.md b/content/v2.0/monitor-alert/notification-rules/create.md index c3c47aa53..fea519401 100644 --- a/content/v2.0/monitor-alert/notification-rules/create.md +++ b/content/v2.0/monitor-alert/notification-rules/create.md @@ -39,9 +39,7 @@ _For details, see [Manage checks](/v2.0/monitor-alert/checks/) and 1. Select the **Monitoring and Alerting** icon from the sidebar. - {{< nav-icon "alerts" >}} - 2. Under **Notification Rules**, hover over the rule you want to clone. 3. Click the clone icon and select **Clone**. The cloned rule appears. From 3e6f5d8dac0dc52338c5a0e233406882f2912e13 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 14:58:56 -0600 Subject: [PATCH 114/136] updated monitor and alert nav name --- content/v2.0/monitor-alert/_index.md | 2 +- content/v2.0/monitor-alert/checks/_index.md | 2 +- content/v2.0/monitor-alert/notification-endpoints/_index.md | 2 +- content/v2.0/monitor-alert/notification-rules/_index.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/v2.0/monitor-alert/_index.md b/content/v2.0/monitor-alert/_index.md index 1a131482e..ef2eafd3d 100644 --- a/content/v2.0/monitor-alert/_index.md +++ b/content/v2.0/monitor-alert/_index.md @@ -6,7 +6,7 @@ description: > rules, and notification endpoints. menu: v2_0: - name: Monitor and alert + name: Monitor & alert weight: 6 v2.0/tags: [monitor, alert, checks, notification, endpoints] cloud_all: true diff --git a/content/v2.0/monitor-alert/checks/_index.md b/content/v2.0/monitor-alert/checks/_index.md index 77463f54c..490bb8645 100644 --- a/content/v2.0/monitor-alert/checks/_index.md +++ b/content/v2.0/monitor-alert/checks/_index.md @@ -5,7 +5,7 @@ description: > Checks in InfluxDB query data and apply a status or level to each data point based on specified conditions. menu: v2_0: - parent: Monitor and alert + parent: Monitor & alert weight: 101 v2.0/tags: [monitor, checks, notifications, alert] related: diff --git a/content/v2.0/monitor-alert/notification-endpoints/_index.md b/content/v2.0/monitor-alert/notification-endpoints/_index.md index 15aa8c339..2362d0f5e 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/_index.md +++ b/content/v2.0/monitor-alert/notification-endpoints/_index.md @@ -6,7 +6,7 @@ description: > v2.0/tags: [monitor, endpoints, notifications, alert] menu: v2_0: - parent: Monitor and alert + parent: Monitor & alert weight: 102 related: - /v2.0/monitor-alert/checks/ diff --git a/content/v2.0/monitor-alert/notification-rules/_index.md b/content/v2.0/monitor-alert/notification-rules/_index.md index 6225efa41..0b7115605 100644 --- a/content/v2.0/monitor-alert/notification-rules/_index.md +++ b/content/v2.0/monitor-alert/notification-rules/_index.md @@ -6,7 +6,7 @@ weight: 103 v2.0/tags: [monitor, notifications, alert] menu: v2_0: - parent: Monitor and alert + parent: Monitor & alert related: - /v2.0/monitor-alert/checks/ - /v2.0/monitor-alert/notification-endpoints/ From 72c8846c9ec3870d940671d9267fcae7b8e3f381 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 15:01:16 -0600 Subject: [PATCH 115/136] added monitor and alert to version landing page --- layouts/_default/version-landing.html | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/layouts/_default/version-landing.html b/layouts/_default/version-landing.html index b6ee4d93a..2a1bcfdf3 100644 --- a/layouts/_default/version-landing.html +++ b/layouts/_default/version-landing.html @@ -35,6 +35,10 @@

Visualize Data

+ +

Monitor & alert

+
+ From 2ba7de16b704810dd1504a7563aea08c54c8c7a8 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 15:08:11 -0600 Subject: [PATCH 116/136] fixed broken links in monitoring section --- content/v2.0/monitor-alert/checks/create.md | 2 +- content/v2.0/monitor-alert/notification-endpoints/create.md | 2 +- content/v2.0/monitor-alert/notification-endpoints/update.md | 2 +- content/v2.0/reference/glossary.md | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/content/v2.0/monitor-alert/checks/create.md b/content/v2.0/monitor-alert/checks/create.md index 332eca11c..f4c0fd74a 100644 --- a/content/v2.0/monitor-alert/checks/create.md +++ b/content/v2.0/monitor-alert/checks/create.md @@ -73,7 +73,7 @@ A check consists of two parts – a query and check confiuration. Use custom tags to associate additional metadata with the check. Common metadata tags across different checks lets you easily group and organize checks. - You can also use custom tags in [notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules/). + You can also use custom tags in [notification rules](/v2.0/monitor-alert/notification-rules/create/). 3. In the **Status Message Template** column, enter the status message template for the check. Use [Flux string interpolation](/v2.0/reference/flux/language/string-interpolation/) diff --git a/content/v2.0/monitor-alert/notification-endpoints/create.md b/content/v2.0/monitor-alert/notification-endpoints/create.md index 5d1188c91..3c485876e 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/create.md +++ b/content/v2.0/monitor-alert/notification-endpoints/create.md @@ -13,7 +13,7 @@ related: cloud_all: true --- -To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules) to send alerts to third party services on [check statuses](/v2.0/monitor-alert/checks/create-checks). +To send notifications about changes in your data, start by creating a notification endpoint to a third party service. After creating notification endpoints, [create notification rules](/v2.0/monitor-alert/notification-rules/create) to send alerts to third party services on [check statuses](/v2.0/monitor-alert/checks/create). ## Create a notification endpoint in the UI diff --git a/content/v2.0/monitor-alert/notification-endpoints/update.md b/content/v2.0/monitor-alert/notification-endpoints/update.md index 9353fd9a3..dccc45216 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/update.md +++ b/content/v2.0/monitor-alert/notification-endpoints/update.md @@ -65,4 +65,4 @@ To update the notification endpoint details, complete the following procedures a {{< nav-icon "alerts" >}} 2. Under **Notification Endpoints**, click the endpoint to update. -3. Update details as needed, and then click **Edit a Notification Endpoint**. For details about each field, see [create a notification endpoint](v2.0/cloud/monitor-alert/manage-checks/create-notification-endpoints). +3. Update details as needed, and then click **Edit a Notification Endpoint**. For details about each field, see [Create notification endpoints](/v2.0/monitor-alert/notification-endpoints/create/). diff --git a/content/v2.0/reference/glossary.md b/content/v2.0/reference/glossary.md index 8dd7a1d45..1111627d2 100644 --- a/content/v2.0/reference/glossary.md +++ b/content/v2.0/reference/glossary.md @@ -559,7 +559,7 @@ Related entries: [check](#check), [notification rule](#notification-rule) A notification rule specifies a status level (and tags) to alert on, the notification message to send for the specified status level (or change in status level), and the interval or schedule you want to check the status level (and tags). If conditions are met, the notification rule sends a message to the [notification endpoint](#notification-endpoint) and stores a receipt in a notification measurement in the _monitoring bucket. For example, a notification rule may specify a message to send to a Slack endpoint when a status level is critical (`crit`). -Learn how to [create a notification rule](/v2.0/cloud/monitor-alert/notification-rules/create-notification-rules). +Learn how to [create a notification rule](/v2.0/monitor-alert/notification-rules/create). Related entries: [check](#check), [notification endpoint](#notification-endpoint) From 2326703bb058960b89d7894d1ac3397ab242f920 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 15:13:33 -0600 Subject: [PATCH 117/136] various fixes in monitoring docs --- content/v2.0/monitor-alert/_index.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/content/v2.0/monitor-alert/_index.md b/content/v2.0/monitor-alert/_index.md index ef2eafd3d..00d2bf8bf 100644 --- a/content/v2.0/monitor-alert/_index.md +++ b/content/v2.0/monitor-alert/_index.md @@ -15,8 +15,6 @@ cloud_all: true Monitor your time series data and send alerts by creating checks, notification rules, and notification endpoints. -InfluxDB lets - ## The monitoring workflow 1. InfluxDB uses a [check](/v2.0/reference/glossary/#check) to query data and assigns a status or `_level` based on specific conditions. @@ -30,7 +28,8 @@ InfluxDB lets To get started, do the following: 1. [Create checks](/v2.0/monitor-alert/checks/create/) to monitor data and assign a status. -2. [Add notification endpoints](/v2.0/monitor-alert/notification-endpoints/create/) to send notifications to. +2. [Add notification endpoints](/v2.0/monitor-alert/notification-endpoints/create/) + to send notifications to third parties. 3. [Create notification rules](/v2.0/monitor-alert/notification-rules/create) to check statuses and send notifications to your notifications endpoints. From 090275460966486d4be8ce096679adced512f694 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 15:19:39 -0600 Subject: [PATCH 118/136] moved monitor view docs out of cloud --- .../v2.0/monitor-alert/notification-endpoints/delete.md | 2 +- .../v2.0/monitor-alert/notification-endpoints/update.md | 2 +- .../notification-endpoints/view.md} | 9 ++++++--- content/v2.0/monitor-alert/notification-rules/create.md | 2 +- content/v2.0/monitor-alert/notification-rules/delete.md | 2 +- content/v2.0/monitor-alert/notification-rules/update.md | 2 +- .../notification-rules/view.md} | 9 +++++---- 7 files changed, 16 insertions(+), 12 deletions(-) rename content/v2.0/{cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md => monitor-alert/notification-endpoints/view.md} (89%) rename content/v2.0/{cloud/monitor-alert/notification-rules/view-notification-rules.md => monitor-alert/notification-rules/view.md} (93%) diff --git a/content/v2.0/monitor-alert/notification-endpoints/delete.md b/content/v2.0/monitor-alert/notification-endpoints/delete.md index 0f3200f54..88d2448b0 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/delete.md +++ b/content/v2.0/monitor-alert/notification-endpoints/delete.md @@ -6,7 +6,7 @@ menu: v2_0: name: Delete endpoints parent: Manage notification endpoints -weight: 201 +weight: 204 related: - /v2.0/monitor-alert/checks/ - /v2.0/monitor-alert/notification-rules/ diff --git a/content/v2.0/monitor-alert/notification-endpoints/update.md b/content/v2.0/monitor-alert/notification-endpoints/update.md index dccc45216..a49675a4d 100644 --- a/content/v2.0/monitor-alert/notification-endpoints/update.md +++ b/content/v2.0/monitor-alert/notification-endpoints/update.md @@ -6,7 +6,7 @@ menu: v2_0: name: Update endpoints parent: Manage notification endpoints -weight: 204 +weight: 203 related: - /v2.0/monitor-alert/checks/ - /v2.0/monitor-alert/notification-rules/ diff --git a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md b/content/v2.0/monitor-alert/notification-endpoints/view.md similarity index 89% rename from content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md rename to content/v2.0/monitor-alert/notification-endpoints/view.md index 622eae500..a4c5342d9 100644 --- a/content/v2.0/cloud/monitor-alert/manage-notification-endpoints/view-endpoint-history.md +++ b/content/v2.0/monitor-alert/notification-endpoints/view.md @@ -1,6 +1,6 @@ --- title: View notification endpoint history -seotitle: View notification endpoint details and history in the InfluxDB. +seotitle: View notification endpoint details and history description: > View notification endpoint details and history in the InfluxDB UI. menu: @@ -8,7 +8,10 @@ menu: name: View endpoint history parent: Manage notification endpoints weight: 202 -v2.0/tags: [monitor, notifications] +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-rules/ +cloud_all: true --- View notification endpoint details and history in the InfluxDB user interface (UI). @@ -34,7 +37,7 @@ View notification endpoint details and history in the InfluxDB user interface (U ## View notification endpoint history 1. Click **Monitoring & Alerting** in the InfluxDB UI sidebar. -2. In the **Notification Endpoints** column, hover over the notification endpoint, click the **{{< icon "view" >}}** icon, then **View History**. +2. In the **Notification Endpoints** column, hover over the notification endpoint, click the **{{< icon "view" >}}** icon, then **View History**. The Check Statuses History page displays: - Statuses generated for the selected notification endpoint diff --git a/content/v2.0/monitor-alert/notification-rules/create.md b/content/v2.0/monitor-alert/notification-rules/create.md index fea519401..9bbb54e17 100644 --- a/content/v2.0/monitor-alert/notification-rules/create.md +++ b/content/v2.0/monitor-alert/notification-rules/create.md @@ -2,7 +2,7 @@ title: Create notification rules description: > Create notification rules to send alerts on your time series data. -weight: 20 +weight: 201 menu: v2_0: parent: Manage notification rules diff --git a/content/v2.0/monitor-alert/notification-rules/delete.md b/content/v2.0/monitor-alert/notification-rules/delete.md index 317d11b88..7ebfca923 100644 --- a/content/v2.0/monitor-alert/notification-rules/delete.md +++ b/content/v2.0/monitor-alert/notification-rules/delete.md @@ -2,7 +2,7 @@ title: Delete notification rules description: > If you no longer need to receive an alert, delete the associated notification rule. -weight: 201 +weight: 204 menu: v2_0: parent: Manage notification rules diff --git a/content/v2.0/monitor-alert/notification-rules/update.md b/content/v2.0/monitor-alert/notification-rules/update.md index 21a278c7c..7b9960fb5 100644 --- a/content/v2.0/monitor-alert/notification-rules/update.md +++ b/content/v2.0/monitor-alert/notification-rules/update.md @@ -2,7 +2,7 @@ title: Update notification rules description: > Update notification rules to update the notification message or change the schedule or conditions. -weight: 201 +weight: 203 menu: v2_0: parent: Manage notification rules diff --git a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md b/content/v2.0/monitor-alert/notification-rules/view.md similarity index 93% rename from content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md rename to content/v2.0/monitor-alert/notification-rules/view.md index b383e06e4..5dad401c4 100644 --- a/content/v2.0/cloud/monitor-alert/notification-rules/view-notification-rules.md +++ b/content/v2.0/monitor-alert/notification-rules/view.md @@ -2,13 +2,14 @@ title: View notification rules description: > Update notification rules to update the notification message or change the schedule or conditions. - -weight: 201 -v2.0/tags: [notifications] +weight: 202 menu: v2_0: - name: View notification rules parent: Manage notification rules +related: + - /v2.0/monitor-alert/checks/ + - /v2.0/monitor-alert/notification-endpoints/ +cloud_all: true --- View notification rule details and statuses and notifications generated by notification rules in the InfluxDB user interface (UI). From de1e9116b292485f062027310e1512247ac536be Mon Sep 17 00:00:00 2001 From: Kelly Date: Mon, 9 Sep 2019 14:36:58 -0700 Subject: [PATCH 119/136] enable the corrent version of KV engine (kv-v2) --- content/v2.0/security/use-vault.md | 26 ++++++++++++++++++++------ 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/content/v2.0/security/use-vault.md b/content/v2.0/security/use-vault.md index 5fc8bc3bd..c53651855 100644 --- a/content/v2.0/security/use-vault.md +++ b/content/v2.0/security/use-vault.md @@ -10,7 +10,7 @@ weight: 102 [Vault](https://www.vaultproject.io/) secures, stores, and tightly controls access to tokens, passwords, certificates, and other sensitive secrets. -Store sensitive secrets in Vault using the InfluxDB built-in Vault integration. +Store sensitive secrets in Vault using the InfluxDB built-in Vault integration. {{% note %}} When not using Vault, secrets are Base64-encoded and stored in the InfluxDB embedded key value store, @@ -18,7 +18,9 @@ When not using Vault, secrets are Base64-encoded and stored in the InfluxDB embe {{% /note %}} ## Start a Vault server + Start a Vault server and ensure InfluxDB has network access to the server. + The following links provide information about running Vault in both development and production: - [Install Vault](https://learn.hashicorp.com/vault/getting-started/install) @@ -32,10 +34,12 @@ vault server -dev ``` ## Define Vault environment variables + Use [Vault environment variables](https://www.vaultproject.io/docs/commands/index.html#environment-variables) to provide connection credentials and other important Vault-related information to InfluxDB. #### Required environment variables + - `VAULT_ADDR`: The API address of your Vault server _(provided in the Vault server output)_. - `VAULT_TOKEN`: The [Vault token](https://learn.hashicorp.com/vault/getting-started/authentication) required to access your Vault server. @@ -47,6 +51,7 @@ export VAULT_ADDR='http://127.0.0.1:8200' VAULT_TOKEN='s.0X0XxXXx0xXxXXxxxXxXxX0 ``` ## Start InfluxDB + Start the [`influxd` service](/v2.0/reference/cli/influxd/) with the `--secret-store` option set to `vault`. @@ -55,6 +60,7 @@ influxd --secret-store vault ``` ## Test Vault storage + With Vault and InfluxDB servers running, use the InfluxDB API to test Vault: {{% note %}} @@ -63,6 +69,7 @@ and `YOURAUTHTOKEN` with your [InfluxDB authentication token](/v2.0/security/tok {{% /note %}} ##### Retrieve an organization's secrets + ```sh curl --request GET \ --url http://localhost:9999/api/v2/orgs//secrets \ @@ -79,6 +86,7 @@ curl --request GET \ ``` ##### Add secrets to an organization + ```sh curl --request PATCH \ --url http://localhost:9999/api/v2/orgs//secrets \ @@ -93,6 +101,7 @@ curl --request PATCH \ ``` ##### Retrieve the added secrets + ```bash curl --request GET \ --url http://localhost:9999/api/v2/orgs//secrets \ @@ -112,12 +121,17 @@ curl --request GET \ ``` ## Vault secrets storage -For each organization, InfluxDB creates a [secrets engine](https://learn.hashicorp.com/vault/getting-started/secrets-engines) -using the following pattern: -``` -/secret/data/ -``` +For each organization, InfluxDB creates a [secrets engine](https://learn.hashicorp.com/vault/getting-started/secrets-engines) +using the following pattern: `/secret/data/` + +{{% note %}} +The InfluxDB API supports KV engine v2 only. +{{% /note %}} + +#### Enable KV engine v2 + +To pass the correct version of the KV engine when you enable a secrets engine, run the following command `vault secrets enable kv-v2`. Secrets are stored in Vault as key value pairs in their respective secrets engines. From 6c62e0ae3ec9a07f040b955596b6a767d066dcd2 Mon Sep 17 00:00:00 2001 From: kelseiv <47797004+kelseiv@users.noreply.github.com> Date: Mon, 9 Sep 2019 14:42:28 -0700 Subject: [PATCH 120/136] Update use-vault.md --- content/v2.0/security/use-vault.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/v2.0/security/use-vault.md b/content/v2.0/security/use-vault.md index c53651855..2db1f42a5 100644 --- a/content/v2.0/security/use-vault.md +++ b/content/v2.0/security/use-vault.md @@ -129,9 +129,9 @@ using the following pattern: `/secret/data/` The InfluxDB API supports KV engine v2 only. {{% /note %}} -#### Enable KV engine v2 +#### Enable KV secrets engine v2 -To pass the correct version of the KV engine when you enable a secrets engine, run the following command `vault secrets enable kv-v2`. +To pass the correct version of the KV secrets engine when you enable a secrets engine, run: `vault secrets enable kv-v2`. Secrets are stored in Vault as key value pairs in their respective secrets engines. From 5d0e638afeb7a8a599b20c780b753397e17cd85d Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 14:43:42 -0700 Subject: [PATCH 121/136] Move vault doc --- content/v2.0/security/{ => secrets}/use-vault.md | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename content/v2.0/security/{ => secrets}/use-vault.md (100%) diff --git a/content/v2.0/security/use-vault.md b/content/v2.0/security/secrets/use-vault.md similarity index 100% rename from content/v2.0/security/use-vault.md rename to content/v2.0/security/secrets/use-vault.md From 7f1f2eb5400a9708cc0efaa6b266a68f5dd4f4c9 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 16:13:23 -0600 Subject: [PATCH 122/136] added pagerduty.severityFromLevel function --- .../functions/pagerduty/severityfromlevel.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 content/v2.0/reference/flux/functions/pagerduty/severityfromlevel.md diff --git a/content/v2.0/reference/flux/functions/pagerduty/severityfromlevel.md b/content/v2.0/reference/flux/functions/pagerduty/severityfromlevel.md new file mode 100644 index 000000000..a70fd76b6 --- /dev/null +++ b/content/v2.0/reference/flux/functions/pagerduty/severityfromlevel.md @@ -0,0 +1,55 @@ +--- +title: pagerduty.severityFromLevel() function +description: > + The `pagerduty.severityFromLevel()` function converts an InfluxDB status level to + a PagerDuty severity. +menu: + v2_0_ref: + name: pagerduty.severityFromLevel + parent: PagerDuty +weight: 202 +--- + +The `pagerduty.severityFromLevel()` function converts an InfluxDB status level to +a PagerDuty severity. + +_**Function type:** Transformation_ + +```js +import "pagerduty" + +pagerduty.severityFromLevel( + level: "crit" +) + +// Returns "critical" +``` + +| Status level | PagerDuty severity | +|:------------:|:------------------:| +| `crit` | `critical` | +| `warn` | `warning` | +| `info` | `info` | +| `ok` | `info` | + +## Parameters + +### level +The InfluxDB status level to convert to a PagerDuty severity. + +_**Data type:** String_ + +## Function definition +```js +import "strings" + +severityFromLevel = (level) => { + lvl = strings.toLower(v:level) + sev = if lvl == "warn" then "warning" + else if lvl == "crit" then "critical" + else if lvl == "info" then "info" + else if lvl == "ok" then "info" + else "error" + return sev +} +``` From 29f8b0ef64973b6a58d200f79def6c854d0ef23d Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 16:26:53 -0600 Subject: [PATCH 123/136] removed token from pagerduty functions --- .../flux/functions/pagerduty/endpoint.md | 10 +--------- .../flux/functions/pagerduty/sendevent.md | 19 +++++++++++-------- 2 files changed, 12 insertions(+), 17 deletions(-) diff --git a/content/v2.0/reference/flux/functions/pagerduty/endpoint.md b/content/v2.0/reference/flux/functions/pagerduty/endpoint.md index cd3a63ffc..70fb7cf83 100644 --- a/content/v2.0/reference/flux/functions/pagerduty/endpoint.md +++ b/content/v2.0/reference/flux/functions/pagerduty/endpoint.md @@ -18,8 +18,7 @@ _**Function type:** Output_ import "pagerduty" pagerduty.endpoint( - url: "https://events.pagerduty.com/v2/enqueue", - token: "mySuPerSecRetTokEn" + url: "https://events.pagerduty.com/v2/enqueue" ) ``` @@ -31,13 +30,6 @@ Defaults to `https://events.pagerduty.com/v2/enqueue`. _**Data type:** String_ -### token -The [PagerDuty API token](https://support.pagerduty.com/docs/generating-api-keys#section-generating-a-general-access-rest-api-key) -used to interact with PagerDuty. -Defaults to `""`. - -_**Data type:** String_ - ### mapFn A function that builds the object used to generate the POST request. diff --git a/content/v2.0/reference/flux/functions/pagerduty/sendevent.md b/content/v2.0/reference/flux/functions/pagerduty/sendevent.md index 562abf3e3..a3fb2b7d0 100644 --- a/content/v2.0/reference/flux/functions/pagerduty/sendevent.md +++ b/content/v2.0/reference/flux/functions/pagerduty/sendevent.md @@ -18,7 +18,6 @@ import "pagerduty" pagerduty.sendEvent( pagerdutyURL: "https://events.pagerduty.com/v2/enqueue", - token: "mySuPerSecRetTokEn", routingKey: "ExampleRoutingKey", client: "ExampleClient", clientURL: "http://examplepagerdutyclient.com", @@ -41,13 +40,6 @@ Defaults to `https://events.pagerduty.com/v2/enqueue`. _**Data type:** String_ -### token -The [PagerDuty API token](https://support.pagerduty.com/docs/generating-api-keys#section-generating-a-general-access-rest-api-key) -used to interact with PagerDuty. -Defaults to `""`. - -_**Data type:** String_ - ### routingKey The routing key generated from your PagerDuty integration. @@ -101,6 +93,17 @@ The severity of the event. _**Data type:** String_ +### eventAction +The type of event to send to PagerDuty. + +**Valid values include:** + +- `trigger` +- `resolve` +- `acknowledge` + +_**Data type:** String_ + ### component The component of the source machine responsible for the event. Components are user-defined. From 6145483b6701ad33abf1f84c274003a622112c8d Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 16:33:35 -0600 Subject: [PATCH 124/136] added flux 0.45.0 and 0.45.1 to flux changelog --- content/v2.0/reference/release-notes/flux.md | 22 +++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/content/v2.0/reference/release-notes/flux.md b/content/v2.0/reference/release-notes/flux.md index eb7e39a4b..8d5d09809 100644 --- a/content/v2.0/reference/release-notes/flux.md +++ b/content/v2.0/reference/release-notes/flux.md @@ -11,13 +11,33 @@ aliases: --- {{% note %}} -_The latest release of InfluxDB v2.0 alpha includes **Flux v0.43.0**. +_The latest release of InfluxDB v2.0 alpha includes **Flux v0.45.1**. Though newer versions of Flux may be available, they will not be included with InfluxDB until the next InfluxDB v2.0 release._ {{% /note %}} --- +## v0.45.1 [2019-09-09] + +### Bug fixes +- Ensure `http.post` respects the context. + +--- + +## v0.45.0 [2019-09-06] + +### Features +- Added Google Bigtable `from()`. + +### Bug fixes +- Add `pagerduty.severityFromLevel()` helper function. +- Sleep function now gets canceled when the context is canceled. +- Categorize the undefined identifier as an invalid status code. +- Panic from `CheckKind` in `memberEvaluator`. + +--- + ## v0.44.0 [2019-09-05] ### Features From e802a19b929ef37acac9c954b1ff006812d3890a Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 16:01:25 -0700 Subject: [PATCH 125/136] Add overview content to index page --- content/v2.0/security/secrets/_index.md | 14 ++++++++++++++ .../security/secrets/storing-secrets-in-bolt.md | 0 content/v2.0/security/secrets/use-vault.md | 6 +++--- 3 files changed, 17 insertions(+), 3 deletions(-) delete mode 100644 content/v2.0/security/secrets/storing-secrets-in-bolt.md diff --git a/content/v2.0/security/secrets/_index.md b/content/v2.0/security/secrets/_index.md index e69de29bb..030970e8f 100644 --- a/content/v2.0/security/secrets/_index.md +++ b/content/v2.0/security/secrets/_index.md @@ -0,0 +1,14 @@ +--- +title: Store secrets +description: +v2.0/tags: [secrets, security] +menu: + v2_0: + parent: Security & authorization +weight: 102 +--- + +There are two options for storing secrets with InfluxDB: + +- By default, secrets are Base64-encoded and stored in the InfluxDB embedded key value store, [BoltDB](https://github.com/boltdb/bolt). +- You can also set up Vault to store secrets. For details, see [Store secrets in Vault](/v2.0/security/secrets/use-vault). diff --git a/content/v2.0/security/secrets/storing-secrets-in-bolt.md b/content/v2.0/security/secrets/storing-secrets-in-bolt.md deleted file mode 100644 index e69de29bb..000000000 diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index 2db1f42a5..36b42b372 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -4,13 +4,13 @@ description: Manage authentication tokens in InfluxDB using the InfluxDB UI or t v2.0/tags: [tokens, security] menu: v2_0: - parent: Security & authorization -weight: 102 + parent: Store secrets +weight: 201 --- [Vault](https://www.vaultproject.io/) secures, stores, and tightly controls access to tokens, passwords, certificates, and other sensitive secrets. -Store sensitive secrets in Vault using the InfluxDB built-in Vault integration. +Store sensitive secrets in Vault using the InfluxDB built-in Vault integration. {{% note %}} When not using Vault, secrets are Base64-encoded and stored in the InfluxDB embedded key value store, From b95327d07b83dc66a638ce2b9d56868687e94574 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 16:06:59 -0700 Subject: [PATCH 126/136] Move API calls to manage doc --- .../v2.0/security/secrets/manage-secrets.md | 64 +++++++++++++++++++ content/v2.0/security/secrets/use-vault.md | 4 +- 2 files changed, 66 insertions(+), 2 deletions(-) create mode 100644 content/v2.0/security/secrets/manage-secrets.md diff --git a/content/v2.0/security/secrets/manage-secrets.md b/content/v2.0/security/secrets/manage-secrets.md new file mode 100644 index 000000000..053f69e45 --- /dev/null +++ b/content/v2.0/security/secrets/manage-secrets.md @@ -0,0 +1,64 @@ +--- +title: Manage secrets +description: Manage secrets in InfluxDB with the API. +v2.0/tags: [secrets, security] +menu: + v2_0: + parent: Store secrets +weight: 201 +--- + + +The following API calls allow you to manage secrets: + + +### Add secrets to an organization + +```sh +curl --request PATCH \ + --url http://localhost:9999/api/v2/orgs//secrets \ + --header 'authorization: Token YOURAUTHTOKEN' \ + --header 'content-type: application/json' \ + --data '{ + "foo": "bar", + "hello": "world" +}' + +# should return 204 no content +``` +### Retrieve an organization's secrets + +```sh +curl --request GET \ + --url http://localhost:9999/api/v2/orgs//secrets \ + --header 'authorization: Token YOURAUTHTOKEN' + +# should return +# { +# "links": { +# "org": "/api/v2/orgs/031c8cbefe101000", +# "secrets": "/api/v2/orgs/031c8cbefe101000/secrets" +# }, +# "secrets": [] +# } +``` + +### Retrieve the added secrets + +```bash +curl --request GET \ + --url http://localhost:9999/api/v2/orgs//secrets \ + --header 'authorization: Token YOURAUTHTOKEN' + +# should return +# { +# "links": { +# "org": "/api/v2/orgs/031c8cbefe101000", +# "secrets": "/api/v2/orgs/031c8cbefe101000/secrets" +# }, +# "secrets": [ +# "foo", +# "hello" +# ] +# } +``` diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index 36b42b372..7b6a74b60 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -1,7 +1,7 @@ --- title: Store secrets in Vault -description: Manage authentication tokens in InfluxDB using the InfluxDB UI or the influx CLI. -v2.0/tags: [tokens, security] +description: Manage secrets in InfluxDB using the InfluxDB UI or the influx CLI. +v2.0/tags: [secrets, security] menu: v2_0: parent: Store secrets From 049e7928b649542002df82ec04a8a32af6b77b2d Mon Sep 17 00:00:00 2001 From: Kelly Date: Mon, 9 Sep 2019 16:14:31 -0700 Subject: [PATCH 127/136] move note about kv-v2 up to install section --- content/v2.0/security/secrets/use-vault.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index 7b6a74b60..e50ff4716 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -33,6 +33,14 @@ For this example, install Vault on your local machine and start a Vault dev serv vault server -dev ``` +{{% note %}} +The InfluxDB API supports KV engine v2 only. +{{% /note %}} + +#### Enable KV secrets engine v2 + +To pass the correct version of the KV secrets engine when you enable a secrets engine, run: `vault secrets enable kv-v2`. + ## Define Vault environment variables Use [Vault environment variables](https://www.vaultproject.io/docs/commands/index.html#environment-variables) @@ -125,14 +133,6 @@ curl --request GET \ For each organization, InfluxDB creates a [secrets engine](https://learn.hashicorp.com/vault/getting-started/secrets-engines) using the following pattern: `/secret/data/` -{{% note %}} -The InfluxDB API supports KV engine v2 only. -{{% /note %}} - -#### Enable KV secrets engine v2 - -To pass the correct version of the KV secrets engine when you enable a secrets engine, run: `vault secrets enable kv-v2`. - Secrets are stored in Vault as key value pairs in their respective secrets engines. ``` From 9123ee349b996b52c902b4963fdcd780c5b8fc2e Mon Sep 17 00:00:00 2001 From: Kelly Date: Mon, 9 Sep 2019 16:21:01 -0700 Subject: [PATCH 128/136] add note to enable kv-v2 -secrets storage section --- content/v2.0/security/secrets/use-vault.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index e50ff4716..dd2fdc65a 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -37,10 +37,6 @@ vault server -dev The InfluxDB API supports KV engine v2 only. {{% /note %}} -#### Enable KV secrets engine v2 - -To pass the correct version of the KV secrets engine when you enable a secrets engine, run: `vault secrets enable kv-v2`. - ## Define Vault environment variables Use [Vault environment variables](https://www.vaultproject.io/docs/commands/index.html#environment-variables) @@ -133,8 +129,11 @@ curl --request GET \ For each organization, InfluxDB creates a [secrets engine](https://learn.hashicorp.com/vault/getting-started/secrets-engines) using the following pattern: `/secret/data/` -Secrets are stored in Vault as key value pairs in their respective secrets engines. +{{% note %}} +When you create a secrets engine, enable the `kv-v2` version by running: `vault secrets enable kv-v2`. +{{% /note %}} +Secrets are stored in Vault as key value pairs in their respective secrets engines. ``` /secret/data/031c8cbefe101000 -> this_key: foo From 043fe36db7eb3ec1e20d701a17d4a10fe22f240a Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 17:54:39 -0600 Subject: [PATCH 129/136] added example api calls and queries to the manage secrets doc --- .../v2.0/security/secrets/manage-secrets.md | 87 ++++++++++--------- 1 file changed, 46 insertions(+), 41 deletions(-) diff --git a/content/v2.0/security/secrets/manage-secrets.md b/content/v2.0/security/secrets/manage-secrets.md index 053f69e45..17826985f 100644 --- a/content/v2.0/security/secrets/manage-secrets.md +++ b/content/v2.0/security/secrets/manage-secrets.md @@ -1,6 +1,6 @@ --- title: Manage secrets -description: Manage secrets in InfluxDB with the API. +description: Manage secrets in InfluxDB with the InfluxDB API. v2.0/tags: [secrets, security] menu: v2_0: @@ -9,56 +9,61 @@ weight: 201 --- -The following API calls allow you to manage secrets: +Manage secrets using the InfluxDB `/org/{orgID}/secrets` API endpoint. +All secrets belong to an organization and are stored in your [secret-store](/v2.0/security/secrets/). +Include your [organization ID](/v2.0/organizations/view-orgs/#view-your-organization-id) +and [authentication token](/v2.0/security/tokens/view-tokens/) with each request. - -### Add secrets to an organization +### Add a secret +Use the `PATCH` request method to add a new secret to your organization. +Pass the secret key-value pair in the request body. ```sh -curl --request PATCH \ - --url http://localhost:9999/api/v2/orgs//secrets \ - --header 'authorization: Token YOURAUTHTOKEN' \ - --header 'content-type: application/json' \ +curl -XPATCH http://localhost:9999/api/v2/orgs//secrets \ + -H 'authorization: Token YOURAUTHTOKEN' \ + -H 'Content-type: application/json' \ --data '{ - "foo": "bar", - "hello": "world" + "": "" }' - -# should return 204 no content ``` -### Retrieve an organization's secrets + +### View secret keys +Use the `GET` request method to view your organization's secrets keys. ```sh -curl --request GET \ - --url http://localhost:9999/api/v2/orgs//secrets \ - --header 'authorization: Token YOURAUTHTOKEN' - -# should return -# { -# "links": { -# "org": "/api/v2/orgs/031c8cbefe101000", -# "secrets": "/api/v2/orgs/031c8cbefe101000/secrets" -# }, -# "secrets": [] -# } +curl -XGET http://localhost:9999/api/v2/orgs//secrets \ + -H 'authorization: Token YOURAUTHTOKEN' ``` -### Retrieve the added secrets +### Delete a secret +Use the `POST` request method and the `orgs/{orgID}/secrets/delete` API endpoint +to delete one or more secrets. +Include an array of secret keys to delete in the requests body in the following format. ```bash -curl --request GET \ - --url http://localhost:9999/api/v2/orgs//secrets \ - --header 'authorization: Token YOURAUTHTOKEN' - -# should return -# { -# "links": { -# "org": "/api/v2/orgs/031c8cbefe101000", -# "secrets": "/api/v2/orgs/031c8cbefe101000/secrets" -# }, -# "secrets": [ -# "foo", -# "hello" -# ] -# } +curl -XGET http://localhost:9999/api/v2/orgs//secrets/delete \ + --H 'authorization: Token YOURAUTHTOKEN' + --data '{ + "secrets": [ + "" + ] +}' +``` + +## Use secrets in a query +Import the `influxdata/influxd/secrets` package and use the `secrets.get()` function +to populate sensitive data in queries with secrets from your secret store. + +```js +import "influxdata/influxdb/secrets" +import "sql" + +username = secrets.get(key: "POSTGRES_USERNAME") +password = secrets.get(key: "POSTGRES_PASSWORD") + +sql.from( + driverName: "postgres", + dataSourceName: "postgresql://${username}:${password}@localhost", + query:"SELECT * FROM example-table" +) ``` From 27c64405c360cf118e30dc3e139fd2e7c6024bfb Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 17:07:58 -0700 Subject: [PATCH 130/136] Updated index page --- content/v2.0/security/secrets/_index.md | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/content/v2.0/security/secrets/_index.md b/content/v2.0/security/secrets/_index.md index 030970e8f..4e34bc970 100644 --- a/content/v2.0/security/secrets/_index.md +++ b/content/v2.0/security/secrets/_index.md @@ -1,5 +1,5 @@ --- -title: Store secrets +title: Store and view secrets description: v2.0/tags: [secrets, security] menu: @@ -12,3 +12,25 @@ There are two options for storing secrets with InfluxDB: - By default, secrets are Base64-encoded and stored in the InfluxDB embedded key value store, [BoltDB](https://github.com/boltdb/bolt). - You can also set up Vault to store secrets. For details, see [Store secrets in Vault](/v2.0/security/secrets/use-vault). + +## Use secrets in a query +Import the `influxdata/influxd/secrets` package and use the `secrets.get()` function +to populate sensitive data in queries with secrets from your secret store. + +```js +import "influxdata/influxdb/secrets" +import "sql" + +username = secrets.get(key: "POSTGRES_USERNAME") +password = secrets.get(key: "POSTGRES_PASSWORD") + +sql.from( + driverName: "postgres", + dataSourceName: "postgresql://${username}:${password}@localhost", + query:"SELECT * FROM example-table" +) +``` + +## Add, list, and delete secrets + +See [Manage secrets](/v2.0/security/secrets/manage-secrets). From 96d7e8ae749b8f33c6480856489c5507725e194e Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 18:10:39 -0600 Subject: [PATCH 131/136] minor updates to the secrets doc --- content/v2.0/security/secrets/_index.md | 2 +- content/v2.0/security/secrets/manage-secrets.md | 2 +- content/v2.0/security/secrets/use-vault.md | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/content/v2.0/security/secrets/_index.md b/content/v2.0/security/secrets/_index.md index 4e34bc970..dba43f9a8 100644 --- a/content/v2.0/security/secrets/_index.md +++ b/content/v2.0/security/secrets/_index.md @@ -1,5 +1,5 @@ --- -title: Store and view secrets +title: Store and use secrets description: v2.0/tags: [secrets, security] menu: diff --git a/content/v2.0/security/secrets/manage-secrets.md b/content/v2.0/security/secrets/manage-secrets.md index 17826985f..9b4054267 100644 --- a/content/v2.0/security/secrets/manage-secrets.md +++ b/content/v2.0/security/secrets/manage-secrets.md @@ -4,7 +4,7 @@ description: Manage secrets in InfluxDB with the InfluxDB API. v2.0/tags: [secrets, security] menu: v2_0: - parent: Store secrets + parent: Store and use secrets weight: 201 --- diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index dd2fdc65a..a6a9197d7 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -4,7 +4,7 @@ description: Manage secrets in InfluxDB using the InfluxDB UI or the influx CLI. v2.0/tags: [secrets, security] menu: v2_0: - parent: Store secrets + parent: Store and use secrets weight: 201 --- From 302623c8d9818400b833025525a5ad7772747456 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 18:16:01 -0600 Subject: [PATCH 132/136] updated vault doc --- content/v2.0/security/secrets/use-vault.md | 96 ++-------------------- 1 file changed, 9 insertions(+), 87 deletions(-) diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index a6a9197d7..6302787f0 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -12,11 +12,6 @@ weight: 201 to tokens, passwords, certificates, and other sensitive secrets. Store sensitive secrets in Vault using the InfluxDB built-in Vault integration. -{{% note %}} -When not using Vault, secrets are Base64-encoded and stored in the InfluxDB embedded key value store, -[BoltDB](https://github.com/boltdb/bolt). -{{% /note %}} - ## Start a Vault server Start a Vault server and ensure InfluxDB has network access to the server. @@ -27,16 +22,21 @@ The following links provide information about running Vault in both development - [Start a Vault dev server](https://learn.hashicorp.com/vault/getting-started/dev-server) - [Deploy Vault](https://learn.hashicorp.com/vault/getting-started/deploy) +{{% note %}} +InfluxDB supports the [Vault KV Secrets Engine Version 2 API](https://www.vaultproject.io/api/secret/kv/kv-v2.html) only. +When you create a secrets engine, enable the `kv-v2` version by running: + +```js +vault secrets enable kv-v2 +``` +{{% /note %}} + For this example, install Vault on your local machine and start a Vault dev server. ```sh vault server -dev ``` -{{% note %}} -The InfluxDB API supports KV engine v2 only. -{{% /note %}} - ## Define Vault environment variables Use [Vault environment variables](https://www.vaultproject.io/docs/commands/index.html#environment-variables) @@ -62,81 +62,3 @@ option set to `vault`. ```bash influxd --secret-store vault ``` - -## Test Vault storage - -With Vault and InfluxDB servers running, use the InfluxDB API to test Vault: - -{{% note %}} -Replace `` with your [organization ID](/v2.0/organizations/view-orgs/#view-your-organization-id) -and `YOURAUTHTOKEN` with your [InfluxDB authentication token](/v2.0/security/tokens/). -{{% /note %}} - -##### Retrieve an organization's secrets - -```sh -curl --request GET \ - --url http://localhost:9999/api/v2/orgs//secrets \ - --header 'authorization: Token YOURAUTHTOKEN' - -# should return -# { -# "links": { -# "org": "/api/v2/orgs/031c8cbefe101000", -# "secrets": "/api/v2/orgs/031c8cbefe101000/secrets" -# }, -# "secrets": [] -# } -``` - -##### Add secrets to an organization - -```sh -curl --request PATCH \ - --url http://localhost:9999/api/v2/orgs//secrets \ - --header 'authorization: Token YOURAUTHTOKEN' \ - --header 'content-type: application/json' \ - --data '{ - "foo": "bar", - "hello": "world" -}' - -# should return 204 no content -``` - -##### Retrieve the added secrets - -```bash -curl --request GET \ - --url http://localhost:9999/api/v2/orgs//secrets \ - --header 'authorization: Token YOURAUTHTOKEN' - -# should return -# { -# "links": { -# "org": "/api/v2/orgs/031c8cbefe101000", -# "secrets": "/api/v2/orgs/031c8cbefe101000/secrets" -# }, -# "secrets": [ -# "foo", -# "hello" -# ] -# } -``` - -## Vault secrets storage - -For each organization, InfluxDB creates a [secrets engine](https://learn.hashicorp.com/vault/getting-started/secrets-engines) -using the following pattern: `/secret/data/` - -{{% note %}} -When you create a secrets engine, enable the `kv-v2` version by running: `vault secrets enable kv-v2`. -{{% /note %}} - -Secrets are stored in Vault as key value pairs in their respective secrets engines. -``` -/secret/data/031c8cbefe101000 -> - this_key: foo - that_key: bar - a_secret: key -``` From caaa3138e179c9b3e9a17abd9526e96faf49aea6 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 20:04:33 -0600 Subject: [PATCH 133/136] updated left nav icons --- assets/styles/tools/_icomoon.scss | 9 ++++++--- layouts/shortcodes/nav-icon.html | 4 ++-- static/fonts/icomoon.eot | Bin 16944 -> 17144 bytes static/fonts/icomoon.svg | 3 ++- static/fonts/icomoon.ttf | Bin 16780 -> 16980 bytes static/fonts/icomoon.woff | Bin 16856 -> 17056 bytes 6 files changed, 10 insertions(+), 6 deletions(-) diff --git a/assets/styles/tools/_icomoon.scss b/assets/styles/tools/_icomoon.scss index b089302dc..32f4e000f 100644 --- a/assets/styles/tools/_icomoon.scss +++ b/assets/styles/tools/_icomoon.scss @@ -24,6 +24,12 @@ -moz-osx-font-smoothing: grayscale; } +.icon-ui-disks-nav:before { + content: "\e93c"; +} +.icon-ui-wrench-nav:before { + content: "\e93d"; +} .icon-ui-eye-closed:before { content: "\e956"; } @@ -42,9 +48,6 @@ .icon-ui-nav-chat:before { content: "\e941"; } -.icon-ui-disks:before { - content: "\e950"; -} .icon-ui-add-cell:before { content: "\e91f"; } diff --git a/layouts/shortcodes/nav-icon.html b/layouts/shortcodes/nav-icon.html index d87e0c133..b2f5a22e8 100644 --- a/layouts/shortcodes/nav-icon.html +++ b/layouts/shortcodes/nav-icon.html @@ -15,10 +15,10 @@ {{ .Scratch.Set "icon" "bell" }} {{ .Scratch.Set "title" "Monitoring & Alerting" }} {{ else if or (eq $navIcon "disks") (eq $navIcon "load data") (eq $navIcon "load-data") }} - {{ .Scratch.Set "icon" "disks" }} + {{ .Scratch.Set "icon" "disks-nav" }} {{ .Scratch.Set "title" "Load Data" }} {{ else if eq $navIcon "settings" }} - {{ .Scratch.Set "icon" "wrench-2" }} + {{ .Scratch.Set "icon" "wrench-nav" }} {{ .Scratch.Set "title" "Settings" }} {{ else if or (eq $navIcon "feedback") }} {{ .Scratch.Set "icon" "nav-chat" }} diff --git a/static/fonts/icomoon.eot b/static/fonts/icomoon.eot index c76b18107924e06680dfb0c6daf4a9922113583b..c2e03e9b413b1bcf9b340508073dbdacf9ccc341 100755 GIT binary patch delta 931 zcmY*XU1(ET5T3a=y(i{wPfT)uXp+V>HL0l(OKyJXUs5aeL7HvdEh21To7i78wPJ-9 zDiOB3528@L2#S61!3U8Fb+d>R7p1=XqWDq~6+|I@+1-c5qBL>RBI<#2X1@7mK4ylq zJdYc{qqNZtFwlKTN?5}0Uanp0nlG3=W&;3v0bp?~dwPoOPQv%eTE|Yzjvl=Cbd~TU zfQ}pEBiZ5lo3|GLQbWWi#woxjWvWeGCA@n)KRweDt-DV60oBA#oIIBOX<_J3fb_q_ zFXpo|Q}7Gk0_eIx*gu)g*Nt2|wBr*6mZ;#5sgtLtK_m*gW9A_Krk^9%OAU$e10eWI zouzbXf2r5pz+HQflwPby)|c1+USF+jRw{s%x4K0abwS(E{?YQ9TfL@URL@f_nui6& z91?2iT8bmW^OiyltW?g52ZhH_4||~%df;bjAiy{>Np&c?4|UCmCR3P9#2vAw2sVXW z92*0nrnnD{Xd>zO4vA4s-wveE^)*T5C_ra>+n|@uU|W0V7r#JYNj@_%aYl~JrPFhf zZ~ap4l*4fgPcy00?lj(kDI@{(~4~0d(p*6iZ?RC@H!YO=7B=Mf-_&V4O*TeOr2oG&W=7iZ|vAhjBoZG_BBU z7_I&Tep@YLv%y)Wa+}Li%QdYxYP2~To#i`f!Ye=~&zLCK%2zn&L5|059!_K?pCdFX zTN%q)WXoMeZJrL{fV$h!W<+~6&F-)`Wt%Ejg_&rx`BVN@!yrNu%S);v_T)1mlHqQd zgo7ka!V+U_G9y}9j`J~Qx5;)k3Q$ZMFR(a~c+I?PFW-fKwRijvvZeYzVQsPa*B5IJ zr;?Z{E~Z4RT_O5tHHB`Ixt!L`hv|h~@9Spj-nd)b!|qp}A3c{nAHC=6pZJ=6{q(B= KGR4WRRs0O;gVL=4 delta 742 zcmey-%DAD0k$&QX96GIB>SM;T4GcYj9FfcGINlz>;0MY_L z{sAD(k)BhT#&Y3eKahWdfx-GpMrvY;>|BFB1_s+XKzXwapa5SUw=|G{1;|&)$StYR zF_O3jt#CfFX);1(1IP$XCcq%#}=?>BadQDDVWR zp{*dlxP*ZjD8=BIGdYH_S+WDjlmj}5nSqaikwM|5^-KGgjxT*)22B3OD6b#zGVJB8 zS9-5DyxRNf(Eq>x|1&WDe=N=-&M3|x_D$@w*gLTtF-g%GqCKLWKob}zJ2J^^j$*oQ zusPK924g)7gYSPv<}J)jKpU(WA{femE>L3UV`OKOWfT#YV-y!NHZr$kG&i$lG*Q=M zR990LH3AEZihxxqD}hB#O~8uKwVS>b1XC%pHcU1%6AzD;jEurE1sNGF9w3NB;u-VsC}4@^EwW zC<+R3^9Twl@bLUO15*xCeHNMHfXqRW*{oy!fL+GwLs@A&zs*+$ZWd64GTfZ;Z8MCX ztYL4?=(9P&o|%!C0Vu5wQUb)jlM5WAC-*yaXr7allMIslCsiT!LRv?9ij0bEn(PtT cS3qTqK + + - diff --git a/static/fonts/icomoon.ttf b/static/fonts/icomoon.ttf index d4b5f62009941a274b318a32ae3dcae118168936..0a5bee2552ca57f9c64386fe2ed2183f8c379d5b 100755 GIT binary patch delta 928 zcmY*XUuY9)5TDtN`^Bt&xlOXWG)Z&Y)TE|DEZO{_wMo>YK1g#dDk_|!iP}~)wPJ-9 zln9CsqEHQjVi7?fL@KBek>aUW@kM-5d{K@&K@`##^+8TfnmF55)DOOI<~P5YA2Y*u z@+iJIhGRyl+*NJ@KtBMC_va4`k^P16U9$H6y`z0=?mU|!{1Bk?(!j3#&c-X(#sD(g ziBAqtfDg)4n>j~#$v|;;`1Fr(CJW1FX z%oiJWonO1~3k4>q;P}wK1H&K^1*_wy?;hQHggig>Bf=s;FskWlwz{g?UENfDH65M4 zF@1k}sy9cqX$se%vdUesboTlw?wfe?B>`U47Vf#XvUH$k>@Uo{KV%4x z?Dn9~8=83@^7?{yIu;V5bEx(}UbyDWnO0%nWT}}E0$Q2nA1xM{H=RCx5kHg1_%oPiS`eZv}1)FTU=}}vU!?;0R zqI8(CZcTG4Hka&BWlNZe4u_F3+D(%PNvut%9A6y_?Q(;_O9L~piI v=(bq4Y|mc)^#0%BZ+H3{tuuYgPi>2#Go~f7Z@1q zHGuN7auX{G7@`_OY5&skrO(TNm*FpOz0!NN;nluZhyMTl{~x3UD9-?spIpEwF3u>< zAofk{v)DVa95G4J8KOO+oj{WqCog1_n7o0Jee+JnD+Zf4n%rQlXJPRD&&a%mnF(l{ z6+;9=8PG9G?0k&uY_g0Z;&P1QV#Y@1c8um`wu~m~dW`C7%A!VKVNnsVDrF_GsHq89 z5xN#sHKu3=0%hxg7Qu{QVu#&3o*a8F?9i(&`{3 zKqt+LQISoPJtF%GsDu%SeHfQ9@B(QD1}0#n3U6NT Hu#^!1jiIk` diff --git a/static/fonts/icomoon.woff b/static/fonts/icomoon.woff index 9d4279f587ac469bfcb827332d4236156e742b8c..a232e31cc369010b9a8fb17431f8d67e53a106f4 100755 GIT binary patch delta 935 zcmY*YOK1~87@mJO?!;_6ag%-6Bu&%Qq)nArcJrXGq&}L1G`46Df{HfQKCr2ZEw)f; zLG+*qt-(XFhk_48>OmtOdJ*;NML|#z^`Jsd;z2BGQ~ymZ)`4$lzHh$$X8)a;*XLpW z0?21OQz-%j+s=6+miq48H`qM0t!i=(>0GWoSKZ%p<`f~E1-bPvHuVpU_n}rsNXxv5 z)T0+q2afmj5|UUzPs~K+&AZbBD5CZW`4$swSo92JN5%+AVirV9H0TxAhfW?tUt0@$ zO6%^M){j2O_Ke}eZLd-Em2eR54EJP@qqc-EUNkYgXXCF^C(n#v1yeJ>FKbh1^pH)2 zCuLZeuh3dZ7IqXma`RA?djhJ$Yn-~IepR!oOPN)!D3{O)Sh6Qy#=UBo+&~sr&haVk z8L1>&Nh4_|`*9UNWk3Z*k~J@As-edd5RXNrNNpHugH8rD{$Op?3x*zxOaC!mSG83k z0nUFWg#kxeo0|@KupMe@Ze1HsB3Tee2M0&R@I*2>5newoWKK)c>CEbLor8O3wffzz z!1Bw0%k8&fGZ`0NWyQy0U7gtJa5^2uA7UtkLs@n}XEkF!A7jJ(X2|y42 zj%W)+so>vUdOenedZ=0SL>!?Ibn}9$b{IyZZLsjjP#Ua`h z(M+bi&E`w^8Vv&{1irYS$b5S?jWNt6VsHSXF<79K4ySo5%`nza?KaU)@s#I3=x-q} z#XeBan|Gf>N9--%iD=#iLf*{fAFlPevP2xx`P~T~q(z)QU|JBhW}oX$-UxlE7_0c` pYH;%AF)_c23S1=8?Nx2zDI6RNeywP?G{s5TH#BBfo delta 767 zcmZ3`%6OxhQKa18&5ePP0SFv#FmQwEp2;5>MJ6$^Ow^IDUjh_avZ60NJ3X|4 z$1RXvwfEJb|9}7gXJGvQSe!+iQJg{So7iWucVanWlA<$2dqg{dCNM%m zgLM)U>t+_Fs|K6@n%rQlXJPRD&&a%mnF(l*6+;9=8PFL@?0k&uY_g0Z;&P1QV#Y@1 zc8um`wu~m~dW`C7%A!VKVNnsVDrF_GsHq895xN#sHKu3=0%hxg7Qu{QVuNj21)*ts*rji bts^}}MnyJF_K55&pfXTG_t|{U;SeJLsFASI From 329ba4ab0dbfd380705df821486347ffa94c5e90 Mon Sep 17 00:00:00 2001 From: Scott Anderson Date: Mon, 9 Sep 2019 21:00:29 -0600 Subject: [PATCH 134/136] various updates to flux functions --- .../built-in/transformations/aggregates/kaufmansama.md | 2 +- .../transformations/aggregates/tripleexponentialderivative.md | 2 +- content/v2.0/reference/flux/functions/secrets/get.md | 3 ++- content/v2.0/security/secrets/use-vault.md | 4 ++++ 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md index 26d6c1686..1944d041d 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/kaufmansama.md @@ -21,7 +21,7 @@ _**Function type:** Aggregate_ ```js kaufmansAMA( n: 10, - columns: ["_value"] + column: "_value" ) ``` diff --git a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md index 1f734698c..4fa7c2137 100644 --- a/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md +++ b/content/v2.0/reference/flux/functions/built-in/transformations/aggregates/tripleexponentialderivative.md @@ -19,7 +19,7 @@ related: --- The `tripleExponentialDerivative()` function calculates a triple exponential -derivative ([TRIX](https://en.wikipedia.org/wiki/Trix_(technical_analysis)) of +derivative ([TRIX](https://en.wikipedia.org/wiki/Trix_(technical_analysis))) of input tables using `n` points. _**Function type:** Aggregate_ diff --git a/content/v2.0/reference/flux/functions/secrets/get.md b/content/v2.0/reference/flux/functions/secrets/get.md index ff669f891..342e6d380 100644 --- a/content/v2.0/reference/flux/functions/secrets/get.md +++ b/content/v2.0/reference/flux/functions/secrets/get.md @@ -9,7 +9,8 @@ menu: weight: 202 --- -The `secrets.get()` function retrieves a secret from the InfluxDB secret store. +The `secrets.get()` function retrieves a secret from the +[InfluxDB secret store](/v2.0/security/secrets/). _**Function type:** Miscellaneous_ diff --git a/content/v2.0/security/secrets/use-vault.md b/content/v2.0/security/secrets/use-vault.md index 6302787f0..7b7ca9934 100644 --- a/content/v2.0/security/secrets/use-vault.md +++ b/content/v2.0/security/secrets/use-vault.md @@ -62,3 +62,7 @@ option set to `vault`. ```bash influxd --secret-store vault ``` + +## Manage tokens through the InfluxDB API +Use the InfluxDB `/org/{orgID}/secrets` API endpoint to add tokens to Vault. +For details, see [Manage secrets](/v2.0/security/secrets/manage-secrets/). From be81797dbc27a4475bafca67326538de4f7cfe58 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 20:53:57 -0700 Subject: [PATCH 135/136] Remove status change for launch --- content/v2.0/monitor-alert/notification-rules/create.md | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/content/v2.0/monitor-alert/notification-rules/create.md b/content/v2.0/monitor-alert/notification-rules/create.md index 9bbb54e17..5bed355ea 100644 --- a/content/v2.0/monitor-alert/notification-rules/create.md +++ b/content/v2.0/monitor-alert/notification-rules/create.md @@ -28,10 +28,8 @@ _For details, see [Manage checks](/v2.0/monitor-alert/checks/) and 2. In the **Schedule Every** field, enter how frequently the rule should run. 3. In the **Offset** field, enter an offset time. For example,if a task runs on the hour, a 10m offset delays the task to 10 minutes after the hour. Time ranges defined in the task are relative to the specified execution time. 4. In the **Conditions** section, build a condition using a combination of status and tag keys. - 1. Next to **When status**, select a an operator from the drop-down field: - - **is equal to** and then select the status - - **changes from** and then select both statuses - 2. Next to **AND When**, enter one or more tag key-value pairs to filter by. + - Next to **When status is equal to**, select a status from the drop-down field. + - Next to **AND When**, enter one or more tag key-value pairs to filter by. 5. In the **Message** section, select an endpoint to notify. 6. Click **Create Notification Rule**. From d0eb50ad31f171d4caca177514af701aa196ce76 Mon Sep 17 00:00:00 2001 From: Nora Date: Mon, 9 Sep 2019 20:54:50 -0700 Subject: [PATCH 136/136] Fix typo --- content/v2.0/monitor-alert/checks/create.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/content/v2.0/monitor-alert/checks/create.md b/content/v2.0/monitor-alert/checks/create.md index f4c0fd74a..b075a4f83 100644 --- a/content/v2.0/monitor-alert/checks/create.md +++ b/content/v2.0/monitor-alert/checks/create.md @@ -14,7 +14,7 @@ cloud_all: true --- Create a check in the InfluxDB user interface (UI). -A check consists of two parts – a query and check confiuration. +A check consists of two parts – a query and check configuration. ##### Check query - Specifies the dataset to monitor.