docs-v2/content/influxdb/clustered/get-started/setup.md

7.9 KiB

title seotitle list_title description menu weight metadata related
Set up InfluxDB Clustered Set up InfluxDB | Get started with InfluxDB Clustered Set up InfluxDB Learn how to set up InfluxDB Clustered for the "Get started with InfluxDB" tutorial and for general use.
influxdb_clustered
name parent identifier
Set up InfluxDB Get started get-started-set-up
101
1 / 3
/influxdb/clustered/admin/databases/
/influxdb/clustered/reference/cli/influxctl/
/influxdb/clustered/reference/api/

As you get started with this tutorial, do the following to make sure everything you need is in place.

Install and configure your InfluxDB cluster

Follow the Install InfluxDB Clustered guide to install prerequisites and set up your cluster.

Download, install, and configure the influxctl CLI

The influxctl CLI lets you manage your {{< product-name omit="Clustered" >}} cluster from a command line and perform administrative tasks such as managing databases and tokens.

  1. Download and install the influxctl CLI.

  2. Create a connection profile and provide your {{< product-name >}} connection credentials.

    The influxctl CLI uses connection profiles to connect to and authenticate with your {{< product-name omit="Clustered" >}} cluster.

    Create a file named config.toml at the following location depending on your operating system.

    Operating system Default profile configuration file path
    Linux ~/.config/influxctl/config.toml
    macOS ~/Library/Application Support/influxctl/config.toml
    Windows %APPDATA%\influxctl\config.toml

    {{% note %}}

If stored at a non-default location, include the --config flag with each influxctl command and provide the path to your profile configuration file.

{{% /note %}}
  1. Copy and paste the sample configuration profile code into your config.toml:

{{% code-placeholders "PORT|OAUTH_TOKEN_URL|OAUTH_DEVICE_URL|OAUTH_CLIENT_ID" %}}

[[profile]]
  name = "default"
  product = "clustered"
  host = "{{< influxdb/host >}}"
  port = "PORT"

[profile.auth.oauth2]
  client_id = "OAUTH_CLIENT_ID"
  scopes = [""]
  token_url = "OAUTH_TOKEN_URL"
  device_url = "OAUTH_DEVICE_URL"

{{% /code-placeholders %}}

Replace the following with your {{< product-name >}} credentials:

  • {{% code-placeholder-key %}}PORT{{% /code-placeholder-key %}}: the port to use to access your InfluxDB cluster
  • {{% code-placeholder-key %}}OAUTH_CLIENT_ID{{% /code-placeholder-key %}}: the client URL of your OAuth2 provider (for example: https://identityprovider/oauth2/v2/token)
  • {{% code-placeholder-key %}}OAUTH_DEVICE_ID{{% /code-placeholder-key %}}: the device URL of your OAuth2 provider (for example: https://identityprovider/oauth2/v2/auth/device)

For detailed information about influxctl profiles, see Configure connection profiles.

Create a database

Use the influxctl database create command to create a database. You can use an existing database or create a new one specifically for this getting started tutorial. Examples in this getting started tutorial assume a database named get-started.

{{% note %}}

Authenticate with your cluster

The first time you run an influxctl CLI command, you are directed to login to your OAuth provider. Once logged in, your OAuth provider issues a short-lived (1 hour) management token for the influxctl CLI that grants administrative access to your {{< product-name omit="Clustered" >}} cluster. {{% /note %}}

Provide the following:

  • Database name.
  • Optional: Database retention period as a duration value. If no retention period is specified, the default is infinite.

{{% code-placeholders "get-started|1y" %}}

influxctl database create --retention-period 1y get-started

{{% /code-placeholders %}}

Create a database token

Use the influxctl token create command to create a database token with read and write permissions for your database.

Provide the following:

  • Permission grants
    • --read-database: Grants read access to a database
    • --write-database Grants write access to a database
  • Token description

{{% code-placeholders "get-started" %}}

influxctl token create \
  --read-database get-started \
  --write-database get-started \
  "Read/write token for get-started database"

{{% /code-placeholders %}}

The command returns the token ID and the token string. Store the token string in a safe place. You'll need it later. This is the only time the token string is available in plain text.

{{% note %}}

Store secure tokens in a secret store

Token strings are returned only on token creation. We recommend storing database tokens in a secure secret store. For example, see how to authenticate Telegraf using tokens in your OS secret store. {{% /note %}}

Configure authentication credentials

Code samples in later sections assume you assigned the token string to an INFLUX_TOKEN environment variable--for example:

{{< tabs-wrapper >}} {{% tabs %}} MacOS and Linux PowerShell CMD {{% /tabs %}} {{% tab-content %}}

{{% code-placeholders "DATABASE_TOKEN" %}}

export INFLUX_TOKEN=DATABASE_TOKEN

{{% /code-placeholders %}}

{{% /tab-content %}} {{% tab-content %}}

{{% code-placeholders "DATABASE_TOKEN" %}}

$env:INFLUX_TOKEN = "DATABASE_TOKEN"

{{% /code-placeholders %}}

{{% /tab-content %}} {{% tab-content %}}

{{% code-placeholders "DATABASE_TOKEN" %}}

set INFLUX_TOKEN=DATABASE_TOKEN 
# Make sure to include a space character at the end of this command.

{{% /code-placeholders %}}

{{% /tab-content %}} {{< /tabs-wrapper >}}

Replace {{% code-placeholder-key %}}DATABASE_TOKEN{{% /code-placeholder-key %}} with your database token string.

{{< page-nav prev="/influxdb/clustered/get-started/" next="/influxdb/clustered/get-started/write/" keepTab=true >}}