Merge pull request #218 from influxdata/write-data-section

Write data section restructure
pull/221/head
Scott Anderson 2019-05-06 21:09:48 -06:00 committed by GitHub
commit 2018ed12bc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 191 additions and 36 deletions

View File

@ -46,7 +46,7 @@ Log in at [https://us-west-2-1.aws.cloud2.influxdata.com](https://us-west-2-1.aw
Use Telegraf to collect and write data to {{< cloud-name >}}. Create Telegraf configurations automatically in the UI or manually configure Telegraf.
For details, see [Automatically configure Telegraf](https://v2.docs.influxdata.com/v2.0/collect-data/use-telegraf/auto-config/#create-a-telegraf-configuration) and [Manually configure Telegraf](https://v2.docs.influxdata.com/v2.0/collect-data/use-telegraf/manual-config/).
For details, see [Automatically configure Telegraf](https://v2.docs.influxdata.com/v2.0/write-data/use-telegraf/auto-config/#create-a-telegraf-configuration) and [Manually configure Telegraf](https://v2.docs.influxdata.com/v2.0/write-data/use-telegraf/manual-config/).
## Query and visualize data

View File

@ -1,17 +0,0 @@
---
title: Collect data with InfluxDB 2.0
weight: 2
description: >
InfluxDB provides multiple ways to collect time series data including using Telegraf,
using InfluxDB's built-in data scraper, and using line protocol.
weight: 2
menu:
v2_0:
name: Collect data
---
The following guides will give you a taste of how you can use the InfluxDB user
interface (UI) to collect data into InfluxDB 2.0 buckets and display the data
in dashboards.
{{< children >}}

View File

@ -209,7 +209,7 @@ the `influx` command line interface (CLI).
5. Click **Continue**.
InfluxDB is now initialized with a primary user, organization, and bucket.
You are ready to [collect data](/v2.0/collect-data).
You are ready to [write or collect data](/v2.0/write-data).
{{% note %}}
#### Using the influx CLI after setting up InfluxDB through the UI
@ -247,7 +247,7 @@ influx setup
7. Confirm the details for your primary user, organization, and bucket.
InfluxDB is now initialized with a primary user, organization, and bucket.
You are ready to [collect data](/v2.0/collect-data).
You are ready to [write or collect data](/v2.0/write-data).
{{% /tab-content %}}
<!------------------------------- END UI Setup -------------------------------->

View File

@ -7,7 +7,7 @@ description: >
menu:
v2_0:
name: Query data
weight: 2
weight: 3
v2.0/tags: [query, flux]
---

View File

@ -0,0 +1,147 @@
---
title: Write data to InfluxDB
list_title: Write data
description: >
Collect and write time series data to InfluxDB using line protocol, Telegraf, data scrapers,
the InfluxDB v2 API, `influx` CLI, the InfluxDB UI, and client libaries.
weight: 2
menu:
v2_0:
name: Write data
v2.0/tags: [write, line protocol]
---
Collect and write time series data to InfluxDB using [line protocol](/v2.0/reference/line-protocol),
Telegraf, data scrapers, the InfluxDB v2 API, `influx` command line interface (CLI),
the InfluxDB user interface (UI), and client libraries.
- [Requirements to write data](#requirements-to-write-data)
- [InfluxDB v2 API](#write-data-using-the-influxdb-v2-api)
- [influx CLI](#write-data-using-the-influx-cli)
- [InfluxDB UI](#write-data-in-the-influxdb-ui)
- [Other ways to write data to InfluxDB](#other-ways-to-write-data-to-influxdb)
## Requirements to write data
To write data to InfluxDB, you must have an organization, bucket, authentication token,
and data formatted in line protocol.
### Organization
The organization in which to write data.
Use your organization name or ID.
### Bucket
The bucket in which to write data.
Use the bucket name or ID.
The bucket must belong to the specified organization.
### Precision
The precision of timestamps provided in the line protocol.
Default timestamp precision is in nanoseconds.
If the precision of the timestamps is anything other than nanoseconds (ns),
you must specify the precision in your write request.
InfluxDB accepts the following precisions:
- `ns` - Nanoseconds
- `us` - Microseconds
- `ms` - Milliseconds
- `s` - Seconds
### Authentication token
All InfluxDB write interactions require an [authentication token](http://localhost:1313/v2.0/security/tokens/).
### Line protocol
Use line protocol to write data points to InfluxDB.
Each line represents a data point.
Each point requires a [measurement](/v2.0/reference/line-protocol/#measurement)
and [field set](/v2.0/reference/line-protocol/#field-set) but can also include
a [tag set](/v2.0/reference/line-protocol/#tag-set) and a [timestamp](/v2.0/reference/line-protocol/#timestamp).
{{% note %}}
_If a data point does not include a timestamp, InfluxDB uses the system time (UTC)
of its host machine when it receives the data point._
{{% /note %}}
##### Example line protocol
```sh
mem,host=host1 used_percent=23.43234543 1556892576842902000
cpu,host=host1 usage_user=3.8234,usage_system=4.23874 1556892726597397000
mem,host=host1 used_percent=21.83599203 1556892777007291000
```
_For details about line protocol, see the [Line protocol reference](/v2.0/reference/line-protocol) ._
<!-- Link to line protocol best practices -->
## Write data using the InfluxDB v2 API
Use the InfluxDB API `/write` endpoint to write data to InfluxDB.
Include the following in your request:
| Requirement | Include by |
|:----------- |:---------- |
| Organization | Use the `org` query parameter in your request URL. |
| Bucket | Use the `bucket` query parameter in your request URL. |
| Precision | Use the `precision` query parameter in your request URL. |
| Authentication token | Use the `Authorization: Token` header. |
| Line protocol | Pass as plain text in your request body. |
###### Example API write request
```sh
curl "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"
```
## Write data using the influx CLI
Use the [`influx write` command](/v2.0/reference/cli/influx/write/) to write data to InfluxDB.
Include the following in your command:
| Requirement | Include by |
|:----------- |:---------- |
| Organization | Use the `-o`,`--org`, or `--org-id` flags. |
| Bucket | Use the `-b`, `--bucket`, or `--bucket-id` flags. |
| Precision | Use the the `-p`, `--precision` flag. |
| Authentication token | Set the `INFLUX_TOKEN` environment variable or use the `t`, `--token` flag. |
| Line protocol | Write a single line as a string or pass a file path prefixed with `@`. |
##### Example influx write commands
```sh
# Write a single data point
influx write -b bucketName -o orgName -p s 'myMeasurement,host=myHost testField="testData" 1556896326'
# Write line protocol from a file
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.
{{< nav-icon "settings" >}}
2. Select the **Buckets** tab.
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
[scrape data](/v2.0/write-data/scrape-data/)._
5. Select **Upload File** or **Enter Manually**.
- **Upload File:**
Select the time precision of your data.
Drag and drop the line protocol file into the UI or click to select the
file from your file manager.
- **Enter Manually:**
Select the time precision of your data.
Manually enter line protocol.
6. Click **Continue**.
A message indicates whether data is successfully written to InfluxDB.
7. To add more data or correct line protocol, click **Previous**.
8. Click **Finish**.
## Other ways to write data to InfluxDB
{{< children >}}
### InfluxDB client libraries
Use language-specific client libraries to integrate with the InfluxDB v2 API.
See [Client libraries reference](/v2.0/reference/client-libraries/) for more information.

View File

@ -6,10 +6,11 @@ description: >
that collects InfluxDB metrics from the InfluxDB `/metrics` endpoint.
aliases:
- /v2.0/collect-data/scraper-quickstart
- /v2.0/collect-data/quick-start
menu:
v2_0:
name: Quick start
parent: Collect data
parent: Write data
weight: 101
---
@ -23,18 +24,20 @@ After [setting up InfluxDB v2.0](/v2.0/get-started/#set-up-influxdb),
the "Let's start collecting data!" page displays options for collecting data.
Click **Quick Start**.
InfluxDB creates and configures a new [scraper](/v2.0/collect-data/scrape-data/).
The target URL points to the `/metrics` HTTP endpoint of your local InfluxDB instance (e.g. `http://localhost:9999/metrics`),
which outputs internal InfluxDB metrics in the [Prometheus data format](https://prometheus.io/docs/instrumenting/exposition_formats/).
It stores the scraped metrics in the bucket created during the [initial setup process](/v2.0/get-started/#set-up-influxdb).
InfluxDB creates and configures a new [scraper](/v2.0/write-data/scrape-data/).
The target URL points to the `/metrics` HTTP endpoint of your local InfluxDB instance
(for example, `http://localhost:9999/metrics`), which outputs internal InfluxDB
metrics in the [Prometheus data format](https://prometheus.io/docs/instrumenting/exposition_formats/).
The scraper stores the scraped metrics in the bucket created during the
[initial setup process](/v2.0/get-started/#set-up-influxdb).
The following message briefly appears in the UI:
{{< ui-message text="The InfluxDB scraper has been configured for http://localhost:9999/metrics" >}}
{{% note %}}
Quick Start is available only in the last step of the setup process.
If you missed the Quick Start option, you can [manually create a scraper](/v2.0/collect-data/scrape-data)
Quick Start is only available in the last step of the setup process.
If you missed the Quick Start option, you can [manually create a scraper](/v2.0/write-data/scrape-data)
that scrapes data from the `/metrics` endpoint.
{{% /note %}}

View File

@ -7,11 +7,12 @@ description: >
Create a scraper in the InfluxDB UI to collect metrics from a specified target.
aliases:
- /v2.0/collect-data/scraper-metrics-endpoint
- /v2.0/collect-data/scrape-data
v2.0/tags: [scraper]
menu:
v2_0:
name: Scrape data
parent: Collect data
parent: Write data
---
InfluxDB scrapers collect data from specified targets at regular intervals,

View File

@ -2,6 +2,8 @@
title: Manage scrapers
seotitle: Manage InfluxDB scrapers
description: Create, update, and delete InfluxDB data scrapers in the InfluxDB user interface.
aliases:
- /v2.0/collect-data/scrape-data/manage-scrapers
menu:
v2_0:
name: Manage scrapers

View File

@ -2,6 +2,8 @@
title: Create a scraper
seotitle: Create an InfluxDB scraper
description: Create an InfluxDB scraper that collects data from InfluxDB or a remote endpoint.
aliases:
- /v2.0/collect-data/scrape-data/manage-scrapers/create-a-scraper
menu:
v2_0:
parent: Manage scrapers

View File

@ -2,6 +2,8 @@
title: Delete a scraper
seotitle: Delete an InfluxDB scraper
description: Delete an InfluxDB scraper in the InfluxDB user interface.
aliases:
- /v2.0/collect-data/scrape-data/manage-scrapers/delete-a-scraper
menu:
v2_0:
parent: Manage scrapers

View File

@ -2,6 +2,8 @@
title: Update a scraper
seotitle: Update an InfluxDB scraper
description: Update an InfluxDB scraper that collects data from InfluxDB or a remote endpoint.
aliases:
- /v2.0/collect-data/scrape-data/manage-scrapers/update-a-scraper
menu:
v2_0:
parent: Manage scrapers
@ -12,7 +14,7 @@ Update a scraper in the InfluxDB user interface (UI).
{{% note %}}
Scraper **Target URLs** and **BUCKETS** can not be updated.
To modify either, [create a new scraper](/v2.0/collect-data/scrape-data/manage-scrapers/create-a-scraper).
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

View File

@ -6,6 +6,8 @@ description: >
returns data in the Prometheus data format.
This article provides links to information about the Prometheus data format
and tools that generate Prometheus-formatted metrics.
aliases:
- /v2.0/collect-data/scrape-data/scrapable-endpoints
menu:
v2_0:
parent: Scrape data

View File

@ -8,10 +8,11 @@ description: >
Create Telegraf configurations in the InfluxDB UI or manually configure Telegraf.
aliases:
- /v2.0/collect-data/advanced-telegraf
- /v2.0/collect-data/use-telegraf
menu:
v2_0:
name : Use Telegraf
parent: Collect data
parent: Write data
---

View File

@ -4,6 +4,8 @@ seotitle: Automatically configure Telegraf for InfluxDB v2.0
description: >
Use the InfluxDB UI to automatically generate a Telegraf configuration,
then start Telegraf using the generated configuration file.
aliases:
- /v2.0/collect-data/use-telegraf/auto-config
menu:
v2_0:
parent: Use Telegraf
@ -16,7 +18,7 @@ This article describes how to create a Telegraf configuration in the InfluxDB UI
start Telegraf using the generated configuration file.
{{% note %}}
_View the [requirements](/v2.0/collect-data/use-telegraf#requirements)
_View the [requirements](/v2.0/write-data/use-telegraf#requirements)
for using Telegraf with InfluxDB v2.0._
{{% /note %}}
@ -35,7 +37,7 @@ for using Telegraf with InfluxDB v2.0._
(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/collect-data/use-telegraf/manual-config).
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.
Plugins listed with a <span style="color:#32B08C">{{< icon "check" >}}</span>

View File

@ -2,6 +2,8 @@
title: Delete a Telegraf configuration
seotitle: Delete a Telegraf configuration from the InfluxDB UI
description: Delete a Telegraf configuration created in the InfluxDB UI.
aliases:
- /v2.0/collect-data/use-telegraf/auto-config/delete-telegraf-config
menu:
v2_0:
parent: Automatically configure Telegraf

View File

@ -2,6 +2,8 @@
title: Update a Telegraf configuration
seotitle: Update Telegraf configurations in the InfluxDB UI
description: Update the name and description of a Telegraf configuration created in the InfluxDB UI.
aliases:
- /v2.0/collect-data/use-telegraf/auto-config/update-telegraf-config
menu:
v2_0:
parent: Automatically configure Telegraf

View File

@ -4,6 +4,8 @@ seotitle: View a Telegraf configuration in the InfluxDB UI
description: >
View the `telegraf.conf` and setup instructions associated with a Telegraf configuration
created in the InfluxDB UI.
aliases:
- /v2.0/collect-data/use-telegraf/auto-config/view-telegraf-config
menu:
v2_0:
parent: Automatically configure Telegraf

View File

@ -4,6 +4,8 @@ seotitle: Manually configure Telegraf for InfluxDB v2.0
description: >
Manually configure Telegraf to write to InfluxDB v2.0 using the Telegraf `influxdb_v2`
output plugin, and then start Telegraf using the custom configuration.
aliases:
- /v2.0/collect-data/use-telegraf/manual-config
menu:
v2_0:
parent: Use Telegraf
@ -16,7 +18,7 @@ This article describes how to enable the `influxdb_v2` output plugin,
and then start Telegraf using the custom configuration file.
{{% note %}}
_View the [requirements](/v2.0/collect-data/use-telegraf#requirements)
_View the [requirements](/v2.0/write-data/use-telegraf#requirements)
for using Telegraf with InfluxDB v2.0._
{{% /note %}}

View File

@ -13,8 +13,8 @@
</div>
<div class="group">
<a class="card quarter" href="collect-data">
<h3>Collect Data</h3>
<a class="card quarter" href="write-data">
<h3>Write Data</h3>
</a>
<a class="card quarter"href="query-data">