Merge branch 'master' into demo-data

pull/956/head
Scott Anderson 2020-05-13 17:03:51 -06:00
commit c65cf37433
39 changed files with 756 additions and 108 deletions

View File

@ -4375,6 +4375,84 @@ paths:
schema:
$ref: "#/components/schemas/Error"
/packages/stacks:
get:
operationId: ListStacks
tags:
- InfluxPackages
summary: Grab a list of installed Influx packages
parameters:
- in: query
name: orgID
required: true
schema:
type: string
description: The organization id of the stacks
- in: query
name: name
schema:
type: string
description: A collection of names to filter the list by.
- in: query
name: stackID
schema:
type: string
description: A collection of stackIDs to filter the list by.
responses:
'200':
description: Influx stacks found
content:
application/json:
schema:
type: array
items:
type: object
properties:
id:
type: string
orgID:
type: string
name:
type: string
description:
type: string
urls:
type: array
items:
type: string
createdAt:
type: string
format: date-time
readOnly: true
updatedAt:
type: string
format: date-time
readOnly: true
resources:
type: object
properties:
apiVersion:
type: string
resourceID:
type: string
kind:
type: string
pkgName:
type: string
associations:
type: array
items:
type: object
properties:
kind:
type: string
pkgName:
type: string
default:
description: Unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
post:
operationId: CreateStack
tags:
@ -4432,6 +4510,34 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/Error"
/packages/stacks/{stack_id}:
delete:
operationId: DeleteStack
tags:
- InfluxPackages
summary: Delete a stack and remove all its associated resources
parameters:
- in: path
name: stack_id
required: true
schema:
type: string
description: The stack id to be removed
- in: query
name: orgID
required: true
schema:
type: string
description: The organization id of the user
responses:
'204':
description: Stack and all its associated resources are deleted
default:
description: Unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/tasks:
get:
operationId: GetTasks
@ -4936,6 +5042,27 @@ paths:
application/json:
schema:
$ref: "#/components/schemas/Error"
/flags:
get:
operationId: GetFlags
tags:
- Users
summary: Return the feature flags for the currently authenticated user
parameters:
- $ref: '#/components/parameters/TraceSpan'
responses:
'200':
description: Feature flags for the currently authenticated user
content:
application/json:
schema:
$ref: "#/components/schemas/Flags"
default:
description: Unexpected error
content:
application/json:
schema:
$ref: "#/components/schemas/Error"
/me:
get:
operationId: GetMe
@ -8138,6 +8265,9 @@ components:
type: array
items:
$ref: "#/components/schemas/User"
Flags:
type: object
additionalProperties: true
ResourceMember:
allOf:
- $ref: "#/components/schemas/User"
@ -8223,6 +8353,9 @@ components:
me:
type: string
format: uri
flags:
type: string
format: uri
orgs:
type: string
format: uri

View File

@ -13,32 +13,29 @@ ul {
}
ol {
list-style-type: none;
list-style: none;
counter-reset: item;
margin: 0;
padding: 0;
}
ol > li {
display: table;
counter-increment: item;
margin-bottom: 0.6em;
li {
position: relative;
counter-increment: item;
&:before {
content: counters(item, ".") ". ";
display: table-cell;
padding-right: 0.6em;
letter-spacing: .05rem;
color: $article-bold;
font-weight: bold;
}
}
&:before {
content: counter(item) ". ";
position: absolute;
left: -1.6em;
color: $article-bold;
font-weight: bold;
}
li ol > li {
margin: .5rem 0;
& > ol li:before { content: counter(item, lower-latin) ". "; }
& > ol li ol li:before { content: counter(item) ". "; }
& > ol li ol li ol li:before { content: counter(item, lower-latin) ". "; }
& > ol li ol li ol li ol li:before { content: counter(item) ". "; }
&:before {
content: counters(item, ".") ".";
ul {
counter-reset: item;
}
}
}

View File

@ -0,0 +1,20 @@
---
title: Manage multiple members
description: >
View and manage multiple members in an InfluxDB Cloud account.
weight: 4
menu:
v2_0:
parent: Account management
name: Manage multiple members
---
{{< cloud-name >}} accounts support multiple members in an organization.
Collaborate with others using these features.
By default, each member has full permissions on resources in your organization.
{{< children >}}
{{% cloud %}}
**Known issue**: Currently, checks created before a member is added are not visible to that member.
{{% /cloud %}}

View File

@ -0,0 +1,28 @@
---
title: Invite a member
list_title: Invite a member
description: >
Invite a member to collaborate in InfluxDB Cloud.
weight: 103
menu:
v2_0:
parent: Manage multiple members
name: Invite a member
---
1. Navigate to the **Members** page under **Organizations** in the left navigation bar.
{{< nav-icon "org" >}}
2. Under **Add a new member to your organization**, enter the email address of the member to invite.
(Members must be invited one at a time.)
3. Click **Add & Invite**.
An invitation with an activation link is sent to the specified email address.
The activation link expires after 72 hours.
Once activated, the new member is added as an **Owner** with permissions to read and write all resources.
{{% warn %}}
Currently, Cloud 2.0 has only one permission level: Owner.
With Owner permissions, a member can delete resources and other members from your organization.
Take care when inviting a member.
{{% /warn %}}

View File

@ -0,0 +1,16 @@
---
title: Remove a member
seotitle: Remove a member from your InfluxDB Cloud organization
description: >
Remove a member from an InfluxDB Cloud organization.
weight: 103
menu:
v2_0:
parent: Manage multiple members
identifier: remove_member_cloud
---
1. Navigate to the **Members** page under **Organizations** in the left navigation bar.
{{< nav-icon "org" >}}
2. Click the {{< icon "delete" >}} next to the member you want to remove.
3. Confirm the removal.

View File

@ -116,7 +116,7 @@ executables, and running the initial setup process.
### Download and install InfluxDB v2.0 beta
Download InfluxDB v2.0 beta for macOS.
<a class="btn download" href="https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.9_darwin_amd64.tar.gz" download>InfluxDB v2.0 beta (macOS)</a>
<a class="btn download" href="https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.10_darwin_amd64.tar.gz" download>InfluxDB v2.0 beta (macOS)</a>
### Unpackage the InfluxDB binaries
To unpackage the downloaded archive, **double click the archive file in Finder**
@ -125,7 +125,7 @@ or run the following command in a macOS command prompt application such
```sh
# Unpackage contents to the current working directory
tar zxvf ~/Downloads/influxdb_2.0.0-beta.9_darwin_amd64.tar.gz
tar zxvf ~/Downloads/influxdb_2.0.0-beta.10_darwin_amd64.tar.gz
```
#### (Optional) Place the binaries in your $PATH
@ -134,7 +134,7 @@ prefix the executables with `./` to run then in place.
```sh
# (Optional) Copy the influx and influxd binary to your $PATH
sudo cp influxdb_2.0.0-beta.9_darwin_amd64/{influx,influxd} /usr/local/bin/
sudo cp influxdb_2.0.0-beta.10_darwin_amd64/{influx,influxd} /usr/local/bin/
```
{{% note %}}
@ -198,8 +198,8 @@ influxd --reporting-disabled
### Download and install InfluxDB v2.0 beta
Download the InfluxDB v2.0 beta package appropriate for your chipset.
<a class="btn download" href="https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.9_linux_amd64.tar.gz" download >InfluxDB v2.0 beta (amd64)</a>
<a class="btn download" href="https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.9_linux_arm64.tar.gz" download >InfluxDB v2.0 beta (arm)</a>
<a class="btn download" href="https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.10_linux_amd64.tar.gz" download >InfluxDB v2.0 beta (amd64)</a>
<a class="btn download" href="https://dl.influxdata.com/influxdb/releases/influxdb_2.0.0-beta.10_linux_arm64.tar.gz" download >InfluxDB v2.0 beta (arm)</a>
### Place the executables in your $PATH
Unpackage the downloaded archive and place the `influx` and `influxd` executables in your system `$PATH`.
@ -208,10 +208,10 @@ _**Note:** The following commands are examples. Adjust the file names, paths, an
```sh
# Unpackage contents to the current working directory
tar xvzf path/to/influxdb_2.0.0-beta.9_linux_amd64.tar.gz
tar xvzf path/to/influxdb_2.0.0-beta.10_linux_amd64.tar.gz
# Copy the influx and influxd binary to your $PATH
sudo cp influxdb_2.0.0-beta.9_linux_amd64/{influx,influxd} /usr/local/bin/
sudo cp influxdb_2.0.0-beta.10_linux_amd64/{influx,influxd} /usr/local/bin/
```
{{% note %}}

View File

@ -9,6 +9,9 @@ menu:
identifier: Create an InfluxDB template
weight: 103
v2.0/tags: [templates]
related:
- /v2.0/reference/cli/influx/pkg/export/
- /v2.0/reference/cli/influx/pkg/export/all/
---
Use the InfluxDB user interface (UI) and the `influx pkg export` command to

View File

@ -9,6 +9,8 @@ menu:
name: Use templates
weight: 102
v2.0/tags: [templates]
related:
- /v2.0/reference/cli/influx/pkg/
---
Use the `influx pkg` command to summarize, validate, and install templates from
@ -27,11 +29,19 @@ others in the InfluxData community.
Install community templates directly from GitHub using a template's download URL
or download the template.
{{% note %}} When attempting to access the community templates via the URL, the templates use the following
as the root of the URL: `https://raw.githubusercontent.com/influxdata/community-templates/master/`.
{{% note %}}
When attempting to access the community templates via the URL, the templates use the following
as the root of the URL:
```sh
https://raw.githubusercontent.com/influxdata/community-templates/master/
```
For example, the Docker community template can be accessed via:
`https://raw.githubusercontent.com/influxdata/community-templates/master/docker/docker.yml`.
```sh
https://raw.githubusercontent.com/influxdata/community-templates/master/docker/docker.yml
```
{{% /note %}}
<a class="btn" href="https://github.com/influxdata/community-templates/" target="\_blank">View InfluxDB Community Templates</a>
@ -113,14 +123,14 @@ to provide the **file path** of the template manifest.
```sh
# Syntax
influx pkg -f <template-file-path>
influx pkg -o <org-name> -f <template-file-path>
# Examples
# Install a single template
influx pkg -f /path/to/template.yml
influx pkg -o example-org -f /path/to/template.yml
# Install multiple templates
influx pkg \
influx pkg -o example-org \
-f /path/to/this/template.yml \
-f /path/to/that/template.yml
```
@ -134,14 +144,14 @@ include the `--recurse` flag.
```sh
# Syntax
influx pkg -f <template-directory-path>
influx pkg -o <org-name> -f <template-directory-path>
# Examples
# Install all templates in a directory
influx pkg -f /path/to/template/dir/
influx pkg -o example-org -f /path/to/template/dir/
# Install all templates in a directory and its subdirectories
influx pkg -f /path/to/template/dir/ --recurse
influx pkg -o example-org -f /path/to/template/dir/ --recurse
```
### Install a template from a URL
@ -150,14 +160,14 @@ of the template manifest.
```sh
# Syntax
influx pkg -u <template-url>
influx pkg -o <org-name> -u <template-url>
# Examples
# Install a single template from a URL
influx pkg -u https://example.com/templates/template.yml
influx pkg -o example-org -u https://example.com/templates/template.yml
# Install multiple templates from URLs
influx pkg \
influx pkg -o example-org \
-u https://example.com/templates/template1.yml \
-u https://example.com/templates/template2.yml
```
@ -168,10 +178,10 @@ file or directory paths and URLs, each with the appropriate `-f` or `-u` flag.
```sh
# Syntax
influx pkg -u <template-url> -f <template-path>
influx pkg -o <org-name> -u <template-url> -f <template-path>
# Example
influx pkg \
influx pkg -o example-org \
-u https://example.com/templates/template1.yml \
-u https://example.com/templates/template2.yml \
-f ~/templates/custom-template.yml \
@ -188,7 +198,7 @@ flag with a key-value pair comprised of the environment reference key and the
value to replace it.
```sh
influx pkg -f /path/to/template.yml \
influx pkg -o example-org -f /path/to/template.yml \
--env-ref=bucket-name-1=myBucket
--env-ref=label-name-1=Label1 \
--env-ref=label-name-2=Label2
@ -202,18 +212,18 @@ with the secret key-value pair.
```sh
# Syntax
influx pkg -f <template-file-path> --secret=<secret-key>=<secret-value>
influx pkg -o <org-name> -f <template-file-path> \
--secret=<secret-key>=<secret-value>
# Examples
# Define a single secret when installing a template
influx pkg -f /path/to/template.yml \
influx pkg -o example-org -f /path/to/template.yml \
--secret=FOO=BAR
# Define multiple secrets when installing a template
influx pkg -f /path/to/template.yml \
influx pkg -o example-org -f /path/to/template.yml \
--secret=FOO=bar \
--secret=BAZ=quz
```
_To add a secret after installing a template, see [Add secrets](/v2.0/security/secrets/manage-secrets/add/)._

View File

@ -17,3 +17,7 @@ Checks in InfluxDB query data and apply a status or level to each data point bas
Learn how to create and manage checks:
{{< children >}}
{{% cloud %}}
**Known issue**: Currently in {{< cloud-name >}}, checks created before a [member is added to an organization](/v2.0/account-management/multi-member) are not visible to that member.
{{% /cloud %}}

View File

@ -26,6 +26,10 @@ To view checks, click **Alerts** in navigation menu on the left.
## View a list of all checks
The **Checks** section of the Alerts landing page displays all existing checks.
{{% cloud %}}
**Known issue**: Currently in {{< cloud-name >}}, checks created before a [member is added to an organization](/v2.0/account-management/multi-member) are not visible to that member.
{{% /cloud %}}
## View check details
Click the name of the check you want to view.
The check builder appears.

View File

@ -14,6 +14,10 @@ to create a bucket.
## Create a bucket in the InfluxDB UI
There are two places you can create a bucket in the UI.
### Create a bucket from the Load Data menu
1. In the navigation menu on the left, select **Data (Load Data)** > **Buckets**.
{{< nav-icon "data" >}}
@ -25,6 +29,20 @@ to create a bucket.
- **Older than** to choose a specific retention policy.
5. Click **Create** to create the bucket.
### Create a bucket in the Data Explorer
1. In the navigation menu on the left, select **Explore* (**Data Explorer**).
{{< nav-icon "data-explorer" >}}
2. In the **From** panel in the Flux Builder, select `+ Create Bucket`.
3. Enter a **Name** for the bucket.
4. Select when to **Delete Data**:
- **Never** to retain data forever.
- **Older than** to choose a specific retention policy.
5. Click **Create** to create the bucket.
## Create a bucket using the influx CLI
Use the [`influx bucket create` command](/v2.0/reference/cli/influx/bucket/create)

View File

@ -63,8 +63,8 @@ influx bucket update -i 034ad714fdd6f000 -o my-org -n my-new-bucket
##### Update a bucket's retention policy
```sh
# Syntax
influx bucket update -i <bucket-id> -o <org-name> -r <retention period in nanoseconds>
influx bucket update -i <bucket-id> -r <retention period in nanoseconds>
# Example
influx bucket update -i 034ad714fdd6f000 -o my-org -r 1209600000000000
influx bucket update -i 034ad714fdd6f000 -r 1209600000000000
```

View File

@ -12,7 +12,7 @@ weight: 201
Use the `influx` command line interface (CLI) to add a member to an organization.
{{% cloud %}}
Adding members is currently unavailable in {{< cloud-name >}}.
To manage members of an organization in {{< cloud-name >}}, see [Manage multiple users](/v2.0/account-management/multi-user/).
{{% /cloud %}}
<!-- ## Add a member to an organization in the InfluxDB UI

View File

@ -16,6 +16,8 @@ related:
- /v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/time/
- /v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/uint/
- /v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/int/
- /v2.0/reference/flux/stdlib/built-in/transformations/truncatetimecolumn/
- /v2.0/reference/flux/stdlib/date/truncate/
- /v2.0/reference/flux/stdlib/experimental/addduration/
- /v2.0/reference/flux/stdlib/experimental/subduration/
---
@ -24,39 +26,49 @@ Every point stored in InfluxDB has an associated timestamp.
Use Flux to process and manipulate timestamps to suit your needs.
- [Convert timestamp format](#convert-timestamp-format)
- [Time-related Flux functions](#time-related-flux-functions)
- [Calculate the duration between two timestamps](#calculate-the-duration-between-two-timestamps)
- [Retrieve the current time](#retrieve-the-current-time)
- [Normalize irregular timestamps](#normalize-irregular-timestamps)
- [Use timestamps and durations together](#use-timestamps-and-durations-together)
{{% note %}}
If you're just getting started with Flux queries, check out the following:
- [Get started with Flux](/v2.0/query-data/get-started/) for a conceptual overview of Flux and parts of a Flux query.
- [Execute queries](/v2.0/query-data/execute-queries/) to discover a variety of ways to run your queries.
{{% /note %}}
## Convert timestamp format
### Convert nanosecond epoch timestamp to RFC3339
- [Unix nanosecond to RFC3339](#unix-nanosecond-to-rfc3339)
- [RFC3339 to Unix nanosecond](#rfc3339-to-unix-nanosecond)
### Unix nanosecond to RFC3339
Use the [`time()` function](/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/time/)
to convert a **nanosecond** epoch timestamp to an RFC3339 timestamp.
to convert a [Unix **nanosecond** timestamp](/v2.0/reference/glossary/#unix-timestamp)
to an [RFC3339 timestamp](/v2.0/reference/glossary/#rfc3339-timestamp).
```js
time(v: 1568808000000000000)
// Returns 2019-09-18T12:00:00.000000000Z
```
### Convert RFC3339 to nanosecond epoch timestamp
### RFC3339 to Unix nanosecond
Use the [`uint()` function](/v2.0/reference/flux/stdlib/built-in/transformations/type-conversions/uint/)
to convert an RFC3339 timestamp to a nanosecond epoch timestamp.
to convert an RFC3339 timestamp to a Unix nanosecond timestamp.
```js
uint(v: 2019-09-18T12:00:00.000000000Z)
// Returns 1568808000000000000
```
### Calculate the duration between two timestamps
## Calculate the duration between two timestamps
Flux doesn't support mathematical operations using [time type](/v2.0/reference/flux/language/types/#time-types) values.
To calculate the duration between two timestamps:
1. Use the `uint()` function to convert each timestamp to a nanosecond epoch timestamp.
2. Subtract one nanosecond epoch timestamp from the other.
1. Use the `uint()` function to convert each timestamp to a Unix nanosecond timestamp.
2. Subtract one Unix nanosecond timestamp from the other.
3. Use the `duration()` function to convert the result into a duration.
```js
@ -73,9 +85,11 @@ To store a duration in a column, use the [`string()` function](/v2.0/reference/f
to convert the duration to a string.
{{% /note %}}
## Time-related Flux functions
## Retrieve the current time
- [Current UTC time](#current-utc-time)
- [Current system time](#current-system-time)
### Retrieve the current UTC time
### Current UTC time
Use the [`now()` function](/v2.0/reference/flux/stdlib/built-in/misc/now/) to
return the current UTC time in RFC3339 format.
@ -88,7 +102,7 @@ now()
return the same value.
{{% /note %}}
### Retrieve the current system time
### Current system time
Import the `system` package and use the [`system.time()` function](/v2.0/reference/flux/stdlib/system/time/)
to return the current system time of the host machine in RFC3339 format.
@ -103,6 +117,47 @@ system.time()
in a Flux script returns a unique value.
{{% /note %}}
## Normalize irregular timestamps
To normalize irregular timestamps, truncate all `_time` values to a specified unit
with the [`truncateTimeColumn()` function](/v2.0/reference/flux/stdlib/built-in/transformations/truncatetimecolumn/).
This is useful in [`join()`](/v2.0/reference/flux/stdlib/built-in/transformations/join/)
and [`pivot()`](/v2.0/reference/flux/stdlib/built-in/transformations/pivot/)
operations where points should align by time, but timestamps vary slightly.
```js
data
|> truncateTimeColumn(unit: 1m)
```
{{< flex >}}
{{% flex-content %}}
**Input:**
| _time | _value |
|:----- | ------:|
| 2020-01-01T00:00:49Z | 2.0 |
| 2020-01-01T00:01:01Z | 1.9 |
| 2020-01-01T00:03:22Z | 1.8 |
| 2020-01-01T00:04:04Z | 1.9 |
| 2020-01-01T00:05:38Z | 2.1 |
{{% /flex-content %}}
{{% flex-content %}}
**Output:**
| _time | _value |
|:----- | ------:|
| 2020-01-01T00:00:00Z | 2.0 |
| 2020-01-01T00:01:00Z | 1.9 |
| 2020-01-01T00:03:00Z | 1.8 |
| 2020-01-01T00:04:00Z | 1.9 |
| 2020-01-01T00:05:00Z | 2.1 |
{{% /flex-content %}}
{{< /flex >}}
## Use timestamps and durations together
- [Add a duration to a timestamp](#add-a-duration-to-a-timestamp)
- [Subtract a duration from a timestamp](#subtract-a-duration-from-a-timestamp)
### Add a duration to a timestamp
The [`experimental.addDuration()` function](/v2.0/reference/flux/stdlib/experimental/addduration/)
adds a duration to a specified time and returns the resulting time.

View File

@ -36,6 +36,7 @@ dashboards, tasks, and other operations.
- [Query a SQL data source](#query-a-sql-data-source)
- [Join SQL data with data in InfluxDB](#join-sql-data-with-data-in-influxdb)
- [Use SQL results to populate dashboard variables](#use-sql-results-to-populate-dashboard-variables)
- [Use secrets to store SQL database credentials](#use-secrets-to-store-sql-database-credentials)
- [Sample sensor data](#sample-sensor-data)
If you're just getting started with Flux queries, check out the following:
@ -154,6 +155,81 @@ Use the variable to manipulate queries in your dashboards.
---
## Use secrets to store SQL database credentials
If your SQL database requires authentication, use [InfluxDB secrets](/v2.0/security/secrets/)
to store and populate connection credentials.
By default, InfluxDB base64-encodes and stores secrets in its internal key-value store, BoltDB.
For added security, [store secrets in Vault](/v2.0/security/secrets/use-vault/).
### Store your database credentials as secrets
Use the [InfluxDB API](/v2.0/reference/api/) or the [`influx` CLI](/v2.0/reference/cli/influx/secret/)
to store your database credentials as secrets.
{{< tabs-wrapper >}}
{{% tabs %}}
[InfluxDB API](#)
[influx CLI](#)
{{% /tabs %}}
{{% tab-content %}}
```sh
curl -X PATCH http://localhost:9999/api/v2/orgs/<org-id>/secrets \
-H 'Authorization: Token YOURAUTHTOKEN' \
-H 'Content-type: application/json' \
-d '{
"POSTGRES_HOST": "http://example.com",
"POSTGRES_USER": "example-username",
"POSTGRES_PASS": "example-password"
}'
```
**To store secrets, you need:**
- [your organization ID](/v2.0/organizations/view-orgs/#view-your-organization-id)
- [your authentication token](/v2.0/security/tokens/view-tokens/)
{{% /tab-content %}}
{{% tab-content %}}
```sh
# Syntax
influx secret update -k <secret-key>
# Example
influx secret update -k POSTGRES_PASS
```
**When prompted, enter your secret value.**
{{% warn %}}
You can provide the secret value with the `-v`, `--value` flag, but the **plain text
secret may appear in your shell history**.
```sh
influx secret update -k <secret-key> -v <secret-value>
```
{{% /warn %}}
{{% /tab-content %}}
{{< /tabs-wrapper >}}
### Use secrets in your query
Import the `influxdata/influxdb/secrets` package and use [string interpolation](/v2.0/reference/flux/language/string-interpolation/)
to populate connection credentials with stored secrets in your Flux query.
```js
import "sql"
import "influxdata/influxdb/secrets"
POSTGRES_HOST = secrets.get(key: "POSTGRES_HOST")
POSTGRES_USER = secrets.get(key: "POSTGRES_USER")
POSTGRES_PASS = secrets.get(key: "POSTGRES_PASS")
sql.from(
driverName: "postgres",
dataSourceName: "postgresql://${POSTGRES_USER}:${POSTGRES_PASS}@${POSTGRES_HOST}",
query: "SELECT * FROM sensors"
)
```
---
## Sample sensor data
The [sample data generator](#download-and-run-the-sample-data-generator) and
[sample sensor information](#import-the-sample-sensor-information) simulate a

View File

@ -7,9 +7,13 @@ menu:
parent: influx
weight: 101
v2.0/tags: [templates]
related:
- /v2.0/influxdb-templates/use/
---
The `influx pkg` command manages InfluxDB templates.
_For information about finding and using InfluxDB templates, see
[Use InfluxDB templates](/v2.0/influxdb-templates/use/)._
## Usage
```

View File

@ -5,9 +5,13 @@ menu:
v2_0_ref:
parent: influx pkg
weight: 101
related:
- /v2.0/influxdb-templates/create/
---
The `influx pkg export` command exports existing resources as an InfluxDB template.
_For detailed examples of exporting InfluxDB templates, see
[Create an InfluxDB template](/v2.0/influxdb-templates/create/)._
## Usage
```

View File

@ -6,10 +6,14 @@ menu:
v2_0_ref:
parent: influx pkg export
weight: 201
related:
- /v2.0/influxdb-templates/create/
---
The `influx pkg export all` command exports all resources in an
organization as an InfluxDB template.
_For detailed examples of exporting InfluxDB templates, see
[Create an InfluxDB template](/v2.0/influxdb-templates/create/)._
## Usage
```

View File

@ -18,9 +18,11 @@ influx pkg stack [command]
```
## Subcommands
| Subcommand | Description |
|:------- |:----------- |
| [init](/v2.0/reference/cli/influx/pkg/stack/init/) | Initialize a stack |
| Subcommand | Description |
|:------- |:----------- |
| [init](/v2.0/reference/cli/influx/pkg/stack/init/) | Initialize a stack |
| [list](/v2.0/reference/cli/influx/pkg/stack/list/) | List stacks |
| [remove](/v2.0/reference/cli/influx/pkg/stack/remove/) | Remove a stack |
## Flags
| Flag | Description |

View File

@ -0,0 +1,34 @@
---
title: influx pkg stack list
description: >
The 'influx pkg stack list' command lists InfluxDB stacks and associated resources.
menu:
v2_0_ref:
name: influx pkg stack list
parent: influx pkg stack
weight: 201
v2.0/tags: [templates]
---
The `influx pkg stack list` command lists InfluxDB stacks and associated resources.
## Usage
```
influx pkg stack list [flags]
```
#### Aliases
`list`, `ls`
## Flags
| Flag | Description | Input type | {{< cli/mapped >}} |
|:---- |:----------- |:----------: |:------------------ |
| `-h`, `--help` | Help for the `list` command | | |
| `--hide-headers` | Hide table headers (default `false`) | | `INFLUX_HIDE_HEADERS` |
| `--json` | Output data as JSON (default `false`) | | `INFLUX_OUTPUT_JSON` |
| `-o`, `--org` | Organization name | string | `INFLUX_ORG` |
| `--org-id` | Organization ID | string | `INFLUX_ORG_ID` |
| `--stack-id` | Stack IDs to filter by | list of strings | |
| `--stack-name` | Stack names to filter by | list of strings | |
{{% cli/influx-global-flags %}}

View File

@ -0,0 +1,32 @@
---
title: influx pkg stack remove
description: The 'influx pkg stack remove' command removes an InfluxDB stack.
menu:
v2_0_ref:
name: influx pkg stack remove
parent: influx pkg stack
weight: 201
v2.0/tags: [templates]
---
The `influx pkg stack remove` command removes an InfluxDB stack.
## Usage
```
influx pkg stack remove [flags]
```
#### Aliases
`remove`, `rm`, `uninstall`
## Flags
| Flag | Description | Input type | {{< cli/mapped >}} |
|:---- |:----------- |:----------: |:------------------ |
| `-h`, `--help` | Help for the `remove` command | | |
| `--hide-headers` | Hide table headers (default `false`) | | `INFLUX_HIDE_HEADERS` |
| `--json` | Output data as JSON (default `false`) | | `INFLUX_OUTPUT_JSON` |
| `-o`, `--org` | Organization name | string | `INFLUX_ORG` |
| `--org-id` | Organization ID | string | `INFLUX_ORG_ID` |
| `--stack-id` | Stack IDs to remove | list of strings | |
{{% cli/influx-global-flags %}}

View File

@ -75,7 +75,7 @@ The time type name is `time`.
The time type is nullable.
#### Timestamp format
Flux supports [RFC3339](https://tools.ietf.org/html/rfc3339#section-5.6) timestamps:
Flux supports [RFC3339 timestamps](/v2.0/reference/glossary/#rfc3339-timestamp):
- `YYYY-MM-DD`
- `YYYY-MM-DDT00:00:00Z`

View File

@ -37,10 +37,7 @@ to(
)
```
{{% note %}}
### Output data requirements
The `to()` function converts output data into line protocol and writes it to InfluxDB.
Line protocol requires each record to have a timestamp, a measurement, a field, and a value.
All output data must include the following columns:
@ -49,6 +46,10 @@ All output data must include the following columns:
- `_measurement`
- `_field`
- `_value`
{{% note %}}
The `to()` function ignores rows with a null `_time` value and does not write
them to InfluxDB.
{{% /note %}}
## Parameters

View File

@ -52,3 +52,26 @@ _**Data type:** String_
The name of the Cloud Bigtable table to retrieve data from.
_**Data type:** String_
## Examples
{{% note %}}
The example below uses [InfluxDB secrets](/v2.0/security/secrets/) to populate
sensitive connection credentials.
{{% /note %}}
```js
import "experimental/bigtable"
import "influxdata/influxdb/secrets"
bigtable_token = secrets.get(key: "BIGTABLE_TOKEN")
bigtable_project = secrets.get(key: "BIGTABLE_PROJECT_ID")
bigtable_instance = secrets.get(key: "BIGTABLE_INSTANCE_ID")
bigtable.from(
token: bigtable_token,
project: bigtable_project,
instance: bigtable_instance,
table: "example-table"
)
```

View File

@ -22,7 +22,7 @@ json.encode(v: "some value")
This function encodes [Flux types](/v2.0/reference/flux/language/types/) as follows:
- `time` values in [RFC3339](https://tools.ietf.org/html/rfc3339) format
- `time` values in [RFC3339](/v2.0/reference/glossary/#rfc3339-timestamp) format
- `duration` values in number of milliseconds since the epoch
- `regexp` values as their string representation
- `bytes` values as base64-encoded strings

View File

@ -64,13 +64,22 @@ _**Data type:** String_
## Examples
{{% note %}}
The examples below use [InfluxDB secrets](/v2.0/security/secrets/) to populate
sensitive connection credentials.
{{% /note %}}
### Query a MySQL database
```js
import "sql"
import "influxdata/influxdb/secrets"
username = secrets.get(key: "MYSQL_USER")
password = secrets.get(key: "MYSQL_PASS")
sql.from(
driverName: "mysql",
dataSourceName: "user:password@tcp(localhost:3306)/db",
dataSourceName: "${username}:${password}@tcp(localhost:3306)/db",
query:"SELECT * FROM ExampleTable"
)
```
@ -78,10 +87,14 @@ sql.from(
### Query a Postgres database
```js
import "sql"
import "influxdata/influxdb/secrets"
username = secrets.get(key: "POSTGRES_USER")
password = secrets.get(key: "POSTGRES_PASS")
sql.from(
driverName: "postgres",
dataSourceName: "postgresql://user:password@localhost",
dataSourceName: "postgresql://${username}:${password}@localhost",
query:"SELECT * FROM ExampleTable"
)
```

View File

@ -73,13 +73,22 @@ If writing to a **SQLite** database, set `batchSize` to `999` or less.
## Examples
{{% note %}}
The examples below use [InfluxDB secrets](/v2.0/security/secrets/) to populate
sensitive connection credentials.
{{% /note %}}
### Write data to a MySQL database
```js
import "sql"
import "influxdata/influxdb/secrets"
username = secrets.get(key: "MYSQL_USER")
password = secrets.get(key: "MYSQL_PASS")
sql.to(
driverName: "mysql",
dataSourceName: "user:password@tcp(localhost:3306)/db",
dataSourceName: "${username}:${password}@tcp(localhost:3306)/db",
table: "ExampleTable"
)
```
@ -87,10 +96,14 @@ sql.to(
### Write data to a Postgres database
```js
import "sql"
import "influxdata/influxdb/secrets"
username = secrets.get(key: "POSTGRES_USER")
password = secrets.get(key: "POSTGRES_PASS")
sql.to(
driverName: "postgres",
dataSourceName: "postgresql://user:password@localhost",
dataSourceName: "postgresql://${username}:${password}@localhost",
table: "ExampleTable"
)
```

View File

@ -779,6 +779,13 @@ Related entries: [duration](#duration), [measurement](#measurement), [replicatio
-->
### RFC3339 timestamp
A timestamp that uses the human readable DateTime format proposed in
[RFC 3339](https://tools.ietf.org/html/rfc3339) (for example: `2020-01-01T00:00:00.00Z`).
Flux and InfluxDB clients return query results with RFC3339 timestamps.
Related entries: [timestamp](#timestamp), [unix timestamp](#unix-timestamp)
## S
### schema
@ -927,13 +934,8 @@ Related entries: [bin](#bin)
### step-plot
<<<<<<< HEAD
A data visualization that displays time series data in a staircase graph.
Generate a step-plot using the step [interpolation option for line graphs](/v2.0/visualize-data/visualization-types/graph/#options).
=======
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](/v2.0/visualize-data/visualization-types/graph/#options).
>>>>>>> master
### stream
@ -1025,7 +1027,7 @@ Time in InfluxDB is in UTC.
To specify time when writing data, see [Elements of line protocol](/v2.0/reference/syntax/line-protocol/#elements-of-line-protocol).
To specify time when querying data, see [Query InfluxDB with Flux](/v2.0/query-data/get-started/query-influxdb/#2-specify-a-time-range).
Related entries: [point](#point)
Related entries: [point](#point), [unix timestamp](#unix-timestamp), [RFC3339 timestamp](#rfc3339-timestamp)
### token
@ -1045,7 +1047,7 @@ See [InfluxQL functions](http://docs.influxdata.com/influxdb/latest/query_langua
Related entries: [aggregate](#aggregate), [function](#function), [selector](#selector)
## TSI (Time Series Index)
### TSI (Time Series Index)
TSI uses the operating system's page cache to pull frequently accessed data into memory and keep infrequently accessed data on disk.
@ -1053,7 +1055,7 @@ TSI uses the operating system's page cache to pull frequently accessed data into
The Time Series Logs (TSL) extension (.tsl) identifies Time Series Index (TSI) log files, generated by the tsi1 engine.
## TSM (Time Structured Merge tree)
### TSM (Time Structured Merge tree)
A data storage format that allows greater compaction and higher write and read throughput than B+ or LSM tree implementations.
For more information, see [Storage engine](http://docs.influxdata.com/influxdb/latest/concepts/storage_engine/).
@ -1075,6 +1077,23 @@ This protocol is used when speed is desirable and error correction is not necess
An implicit block that encompasses all Flux source text in a universe block.
### unix timestamp
Counts time since **Unix Epoch (1970-01-01T00:00:00Z UTC)** in specified units ([precision](#precision)).
Specify timestamp precision when [writing data to InfluxDB](/v2.0/write-data/).
InfluxDB supports the following unix timestamp precisions:
| Precision | Description | Example |
|:--------- |:----------- |:------- |
| `ns` | Nanoseconds | `1577836800000000000` |
| `us` | Microseconds | `1577836800000000` |
| `ms` | Milliseconds | `1577836800000` |
| `s` | Seconds | `1577836800` |
<p style="font-size:.9rem;margin-top:-2rem"><em>The examples above represent <strong>2020-01-01T00:00:00Z UTC</strong>.</em></p>
Related entries: [timestamp](#timestamp), [RFC3339 timestamp](#rfc3339-timestamp)
### user
InfluxDB users are granted permission to access to InfluxDB.
@ -1082,13 +1101,18 @@ Users are added as a member of an organization and are given a unique authentica
## V
## values per second
### values per second
The preferred measurement of the rate at which data are persisted to InfluxDB.
Write speeds are generally quoted in values per second.
To calculate the values per second rate, multiply the number of points written per second by the number of values stored per point.
For example, if the points have four fields each, and a batch of 5000 points is written 10 times per second, the values per second rate is `4 field values per point * 5000 points per batch * 10 batches per second = 200,000 values per second`.
To calculate the values per second rate, multiply the number of points written
per second by the number of values stored per point.
For example, if the points have four fields each, and a batch of 5000 points is
written 10 times per second, the values per second rate is:
**4 field values per point** × **5000 points per batch** × **10 batches per second** = **200,000 values per second**
Related entries: [batch](#batch), [field](#field), [point](#point)

View File

@ -40,7 +40,7 @@ _Hover over highlighted terms to get acquainted with InfluxDB terminology and la
## Timestamp
All data stored in InfluxDB has a `_time` column that stores timestamps. On disk, timestamps are stored in epoch nanosecond format. InfluxDB formats timestamps show the date and time in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) UTC associated with data. Timestamp precision is important when you write data.
All data stored in InfluxDB has a `_time` column that stores timestamps. On disk, timestamps are stored in epoch nanosecond format. InfluxDB formats timestamps show the date and time in [RFC3339](/v2.0/reference/glossary/#rfc3339-timestamp) UTC associated with data. Timestamp precision is important when you write data.
## Measurement

View File

@ -8,6 +8,25 @@ menu:
weight: 101
---
## v2.0.0-beta.10 [2020-05-07]
### Features
- Add ability to delete a stack and all associated resources.
- Enforce DNS name compliance on the `metadata.name` field in all `pkger` resources.
- Add stateful `pkg` management with stacks.
### Bug Fixes
- Ensure `UpdateUser` cleans up the index when updating names.
- Ensure Checks can be set for zero values.
### UI Improvements
- Create buckets in the Data Explorer and Cell Editor.
---
## v2.0.0-beta.9 [2020-04-23]
### Bug Fixes
@ -20,6 +39,8 @@ weight: 101
- Sort dashboards on Getting Started page by recently modified.
- Add single-color schemes for visualizations: Solid Red, Solid Blue, Solid Yellow, Solid Green, and Solid Purple.
---
## v2.0.0-beta.8 [2020-04-10]
### Features
@ -40,6 +61,8 @@ weight: 101
- Update layout of Alerts page to work on all screen sizes.
- Sort dashboards on Getting Started page by recently modified.
---
## v2.0.0-beta.7 [2020-03-27]
### Features
@ -131,6 +154,8 @@ weight: 101
- Remove pkger gauge chart requirement for color threshold type.
- Remove secret confirmation from `influx secret update`.
---
## v2.0.0-beta.4 [2020-02-14]
### Features

View File

@ -10,6 +10,8 @@ weight: 102
v2.0/tags: [write, line protocol, syntax]
aliases:
- /v2.0/reference/line-protocol
related:
- /v2.0/write-data/
---
InfluxDB uses line protocol to write data points.
@ -87,20 +89,18 @@ measurementName fieldKey="field string value" 1556813561098000000
### Timestamp
_**Optional**_
The Unix nanosecond timestamp for the data point.
The [unix timestamp](/v2.0/reference/glossary/#unix-timestamp) for the data point.
InfluxDB accepts one timestamp per point.
If no timestamp is provided, InfluxDB uses the system time (UTC) of its host machine.
_**Data type:** [Unix timestamp](#unix-timestamp)_
{{% note %}}
To ensure a data point includes the time a metric is observed (not received by InfluxDB),
include the timestamp.
{{% /note %}}
{{% note %}}
_Use the default nanosecond precision timestamp or specify an alternative precision
when [writing the data](/v2.0/write-data/#timestamp-precision)._
#### Important notes about timestamps
- To ensure a data point includes the time a metric is observed (not received by InfluxDB),
include the timestamp.
- If your timestamps are not in nanoseconds, specify the precision of your timestamps
when [writing the data to InfluxDB](/v2.0/write-data/#timestamp-precision).
{{% /note %}}
### Whitespace
@ -191,7 +191,8 @@ Quoted field values are interpreted as strings.
{{% /note %}}
### Unix timestamp
Unix nanosecond timestamp.
Unix timestamp in a [specified precision](/v2.0/reference/glossary/#unix-timestamp).
Default precision is nanoseconds (`ns`).
| Minimum timestamp | Maximum timestamp |
| ----------------- | ----------------- |

View File

@ -1,6 +1,6 @@
---
title: Store and use secrets
description:
description: Use BoltDB or Vault to store secrets for InfluxDB.
v2.0/tags: [secrets, security]
menu:
v2_0:

View File

@ -31,7 +31,7 @@ See [Get started with Flux](/v2.0/query-data/get-started) to learn more about Fl
{{< nav-icon "data-explorer" >}}
2. Use the Flux builder in the bottom panel to create a Flux query:
- Select a bucket to define your data source.
- Select a bucket to define your data source or select `+ Create Bucket` to add a new bucket.
- Edit your time range with the [time range option](#select-time-range) in the dropdown menu.
- Add filters to narrow your data by selecting attributes or columns in the dropdown menu.
- Select **Group** from the **Filter** dropdown menu to group data into tables. For more about how grouping data in Flux works, see [Group data](/v2.0/query-data/flux/group-data/).

View File

@ -23,7 +23,7 @@ Reference each variable using dot-notation (e.g. `v.variableName`).
```js
from(bucket: v.bucket)
|> range(start: v.timeRangeStart, stop: v.timeRangeStart)
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|> filter(fn: (r) => r._measurement == v.measurement and r._field == v.field)
|> aggregateWindow(every: v.windowPeriod, fn: mean)
```
@ -35,6 +35,10 @@ in the **Variables** tab next to the Functions tab.
Click a variable name to add it to your query and select a value from the **Value** dropdown.
## Link to dashboards with variables defined in the URL
When you apply a variable to your dashboard, `&vars[variable_name]=value` is appended to the URL so you can share the link with the variables included.
## Predefined dashboard variables
The InfluxDB user interface (UI) provides the following predefined dashboard variables:

View File

@ -26,7 +26,8 @@ the InfluxDB user interface (UI), and client libraries.
- [User Interface](#user-interface)
- [influx CLI](#influx-cli)
- [InfluxDB API](#influxdb-api)
- [Others](#others)
- [Other ways to write data](#other-ways-to-write-data)
- [Next steps](#next-steps)
### What you'll need
@ -56,7 +57,7 @@ mem,host=host1 used_percent=21.83599203 1556892777007291000
```
#### Timestamp precision
Timestamps are essential in InfluxDB.
When writing data to InfluxDB, we [recommend including a timestamp](/v2.0/reference/syntax/line-protocol/#timestamp) with each point.
If a data point does not include a timestamp when it is received by the database,
InfluxDB uses the current system time (UTC) of its host machine.
@ -70,7 +71,8 @@ InfluxDB accepts the following precisions:
- `ms` - Milliseconds
- `s` - Seconds
_For more details about line protocol, see the [Line protocol reference](/v2.0/reference/syntax/line-protocol) and [Best practices for writing data](/v2.0/write-data/best-practices/)._
_For more details about line protocol, see the [Line protocol reference](/v2.0/reference/syntax/line-protocol)
and [Best practices for writing data](/v2.0/write-data/best-practices/)._
## Ways to write data into InfluxDB
@ -179,7 +181,7 @@ influx write \
### InfluxDB API
Write data to InfluxDB using an HTTP request to the InfluxDB API `/write` endpoint.
Include the following in your request:
Use the `POST` request method and include the following in your request:
| Requirement | Include by |
|:----------- |:---------- |
@ -189,19 +191,50 @@ Include the following in your request:
| Authentication token | Use the `Authorization: Token` header. |
| Line protocol | Pass as plain text in your request body. |
##### Example API write request
#### Example API write request
Below is an example API write request using `curl`.
The URL depends on the version and location of your InfluxDB 2.0 instance.
The URL depends on the version and location of your InfluxDB 2.0 instance _(see [InfluxDB URLs](/v2.0/reference/urls/))_.
To compress data when writing to InfluxDB, set the `Content-Encoding` header to `gzip`.
Compressing write requests reduces network bandwidth, but increases server-side load.
{{< code-tabs-wrapper >}}
{{% code-tabs %}}
[Uncompressed](#)
[Compressed](#)
{{% /code-tabs %}}
{{% code-tab-content %}}
```sh
curl -XPOST "http://localhost:9999/api/v2/write?org=YOUR_ORG&bucket=YOUR_BUCKET&precision=s" \
--header "Authorization: Token YOURAUTHTOKEN" \
--data-raw "mem,host=host1 used_percent=23.43234543 1556896326"
--data-raw "
mem,host=host1 used_percent=23.43234543 1556896326
mem,host=host2 used_percent=26.81522361 1556896326
mem,host=host1 used_percent=22.52984738 1556896336
mem,host=host2 used_percent=27.18294630 1556896336
"
```
{{% /code-tab-content %}}
{{% code-tab-content %}}
```bash
curl -XPOST "http://localhost:9999/api/v2/write?org=YOUR_ORG&bucket=YOUR_BUCKET&precision=s" \
--header "Authorization: Token YOURAUTHTOKEN" \
--header "Content-Encoding: gzip" \
--data-raw "
mem,host=host1 used_percent=23.43234543 1556896326
mem,host=host2 used_percent=26.81522361 1556896326
mem,host=host1 used_percent=22.52984738 1556896336
mem,host=host2 used_percent=27.18294630 1556896336
"
```
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
### Others
_For information about **InfluxDB API response codes**, see
[InfluxDB API Write documentation](/v2.0/api/#operation/PostWrite)._
## Other ways to write data
{{< children >}}
@ -209,3 +242,23 @@ curl -XPOST "http://localhost:9999/api/v2/write?org=YOUR_ORG&bucket=YOUR_BUCKET&
Use language-specific client libraries to integrate with the InfluxDB v2 API.
See [Client libraries reference](/v2.0/reference/api/client-libraries/) for more information.
---
## Next steps
With your data in InfluxDB, you're ready to do one or more of the following:
### Query and explore your data
Query data using Flux, the UI, and the `influx` command line interface.
See [Query data](/v2.0/query-data/).
### Process your data
Use InfluxDB tasks to process and downsample data. See [Process data](/v2.0/process-data/).
### Visualize your data
Build custom dashboards to visualize your data.
See [Visualize data](/v2.0/visualize-data/).
### Monitor your data and send alerts
Monitor your data and sends alerts based on specified logic.
See [Monitor and alert](/v2.0/monitor-alert/).

View File

@ -44,7 +44,17 @@ To send data to an InfluxDB v2.0 instance, enable in the
[`influxdb_v2` output plugin](https://github.com/influxdata/telegraf/blob/master/plugins/outputs/influxdb_v2/README.md)
in the `telegraf.conf`.
Specify the following:
To find an example InfluxDB v2 output plugin configuration in the UI:
1. In the navigation menu on the left, select **Data (Load Data)** > **Telegraf**.
{{< nav-icon "load data" >}}
2. Click **InfluxDB Output Plugin**.
3. Click **Copy to Clipboard** to copy the example configuration or **Download Config** to save a copy.
4. Paste the example configuration into your `telegraf.conf` and specify the options below.
The InfluxDB output plugin configuration contains the following options:
##### urls
An array of URLs for your InfluxDB v2.0 instances.

View File

@ -932,7 +932,7 @@ input:
The MQTT Consumer input plugin reads from specified MQTT topics and adds messages to InfluxDB.
Messages are in the [Telegraf input data formats](https://docs.influxdata.com/telegraf/latest/data_formats/input/).
introduced: 0.10.3
tags: [linux, macos, windows, messaging]
tags: [linux, macos, windows, messaging, IoT]
- name: Multifile
id: multifile
@ -1864,7 +1864,7 @@ output:
The MQTT Producer output plugin writes to the MQTT server using
[supported output data formats](https://docs.influxdata.com/telegraf/latest/data_formats/output/).
introduced: 0.2.0
tags: [linux, macos, windows, messaging]
tags: [linux, macos, windows, messaging, IoT]
- name: NATS Output
id: nats

View File

@ -17,6 +17,7 @@
{{ partial "header/canonical.html" . }}
{{ partial "header/stylesheets.html" }}
{{ partial "header/google-fonts.html" }}
{{ partial "header/marketing.html" }}
{{ partial "header/javascript.html" }}
<meta name="Copyright" content="InfluxData Inc." />

View File

@ -0,0 +1,36 @@
<!-- Marketo -->
<script type="text/javascript">
(function() {
var didInit = false;
function initMunchkin() {
if(didInit === false) {
didInit = true;
Munchkin.init('972-GDU-533');
}
}
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = '//munchkin.marketo.net/munchkin.js';
s.onreadystatechange = function() {
if (this.readyState == 'complete' || this.readyState == 'loaded') {
initMunchkin();
}
};
s.onload = initMunchkin;
document.getElementsByTagName('head')[0].appendChild(s);
})();
</script>
<!-- Engagio -->
<script type="text/javascript" charset="utf-8">
var _eiq = _eiq || [];
var _engagio_settings = {
accountId: "e9b11baeb0d0dda444c3105e7cf0877955e378ca"
};
(function() {
var ei = document.createElement('script'); ei.type = 'text/javascript'; ei.async = true;
ei.src = ('https:' == document.location.protocol ? 'https://' : 'http://') + 'web-analytics.engagio.com/js/ei.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ei, s);
})();
</script>