Merge branch 'DAR-450-add-user-groups-for-dedicated' into staging/commandbar-clustered-install

staging/commandbar-clustered-install
Jason Stirnaman 2024-10-17 14:46:48 -05:00
commit ebbebc84ba
21 changed files with 243 additions and 106 deletions

View File

@ -5,3 +5,9 @@ level: error
nonword: true
tokens:
- \d+(?:st|nd|rd|th)
- tenth
exceptions:
- 0th
- 50th
- 90th

View File

@ -12,7 +12,7 @@ Monitoring is the act of observing changes in data over time.
There are multiple ways to monitor your InfluxDB Enterprise cluster.
See the guides below to monitor a cluster using another InfluxDB instance.
Alternatively, to view your output data occasionally (_e.g._, for auditing or diagnostics),
Alternatively, to view your output data occasionally (for example, for auditing or diagnostics),
do one of the following:
- [Log and trace InfluxDB Enterprise operations](/enterprise_influxdb/v1/administration/monitor/logs/)
@ -22,7 +22,7 @@ do one of the following:
### Monitor with InfluxDB Insights
For InfluxDB Enterprise customers, Insights is a free service that monitors your cluster and sends metrics to a private Cloud account. This allows InfluxDB Support to monitor your cluster health and access usage statistics when assisting with support tickets that you raise.
To apply for this service, please contact the [support team](https://support.influxdata.com/s/login/).
To apply for this service, please [contact InfluxData support](https://support.influxdata.com).
{{% /note %}}
{{< children >}}

View File

@ -182,4 +182,4 @@ Send a notification to PagerDuty or HTTP endpoints (other webhooks) by [upgradin
For InfluxDB Enterprise customers, Insights is a free service that monitors your cluster and sends metrics to a private Cloud account. This allows InfluxDB Support to monitor your cluster health and access usage statistics when assisting with support tickets that you raise.
To apply for this service, please contact the [InfluxData Support team](mailto:support@influxdata.com).
To apply for this service, please [contact InfluxData support](https://support.influxdata.com).

View File

@ -10,9 +10,9 @@ menu:
weight: 104
---
InfluxData provides a Grafana operational dashboard that provide observability
into the your {{< product-name >}} cluster. Use the operational dashboard to
monitor your cluster.
InfluxData provides a Grafana operational dashboard that provides observability
into your {{< product-name >}} cluster.
Use the operational dashboard to monitor your cluster.
{{% note %}}
#### Not available for all clusters
@ -40,7 +40,7 @@ If you do not have login credentials, [contact InfluxData support](https://suppo
## Dashboard sections and cells
The dashboard is divided into the following sections that visualize metrics
The dashboard contains the following sections that visualize metrics
related to the health of components in your {{< product-name >}} cluster:
- [Query Tier Cpu/Mem](#query-tier-cpumem)
@ -156,7 +156,7 @@ to the [Object store](/influxdb/cloud-dedicated/reference/internals/storage-engi
#### CPU Utilization Ingesters (k8s)
CPU Utilization of Ingester pods as reported by the Kubernetes container usage.
CPU utilization of Ingester pods as reported by the Kubernetes container usage.
Usage is reported by the number of CPU cores used by pods, including
fractional cores.
The CPU limit is represented by the top line in the visualization.
@ -284,7 +284,7 @@ _These do not represent the most recent logs._
The **Compaction Tier Cpu/Mem** section displays the CPU and memory usage of
Compactor pods as reported by Kubernetes.
[Compactors](/influxdb/cloud-dedicated/reference/internals/storage-engine/#compactor)
process and compress parquet files in the
process and compress Parquet files in the
[Object store](/influxdb/cloud-dedicated/reference/internals/storage-engine/#object-store)
to continually optimize storage.
@ -330,10 +330,10 @@ following levels:
Parquet files store data partitioned by time and optionally tags
_(see [Manage data partition](https://docs.influxdata.com/influxdb/cloud-dedicated/admin/custom-partitions/))_.
After four L0 files accumulate for a partition, they are are eligible for compaction.
After four L0 files accumulate for a partition, they're eligible for compaction.
If the compactor is keeping up with the incoming write load, all compaction
events will have exactly four files. If the number of L0 files compacted begins to
to increase, it indicates the compactor is not keeping up.
events have exactly four files.
An increase in the number of L0 files compacted indicates the compactor isn't keeping up.
This histogram helps to determine if the Compactor is starting compactions as
soon as it can.
@ -367,7 +367,7 @@ that the Catalog may be overloaded or unresponsive.
#### Catalog Op Latency (P90)
The 90th percentile (P90) of query latency against the catalog service per operation.
The 90th percentile (P90) query latency for each operation against the catalog service.
A high P90 value indicates that the Catalog may be overloaded.
---

View File

@ -11,6 +11,8 @@ menu:
name: Management tokens
weight: 101
influxdb/cloud-dedicated/tags: [tokens]
related:
- /influxdb/cloud-dedicated/reference/internals/security/
---
Management tokens grant permission to perform administrative actions such as
@ -21,24 +23,27 @@ managing users, databases, and database tokens in your
Management tokens do _not_ grant permissions to write or query time series data
in your {{< product-name omit=" Clustered">}} cluster.
To grant write or query permissions, use management tokens to create [database tokens](/influxdb/cloud-dedicated/admin/tokens/database/).
To grant write or query permissions, use management tokens to create
[database tokens](/influxdb/cloud-dedicated/admin/tokens/database/).
{{% /note %}}
By default, management tokens are short-lived tokens issued by an OAuth2 identity
provider that grant a specific user administrative access to your
{{< product-name omit=" Clustered">}} cluster.
By default, management tokens are short-lived tokens issued by your identity
provider for a [specific client session](/influxdb/cloud-dedicated/reference/internals/security/#management-tokens-in-the-influxctl-cli) (for example, `influxctl`).
However, for automation purposes, you can manually create management tokens that
authenticate directly with your InfluxDB Cluster and do not require human
interaction with your identity provider.
_Manually created management tokens provide full access to all account resources
and aren't affected by [user groups](/influxdb/cloud-dedicated/reference/internals/security/#user-groups)_.
{{% warn %}}
#### For automation use cases only
The tools outlined below are meant for automation use cases and should not be
used to circumvent your identity provider. **Take great care when manually creating
and using management tokens**.
The tools outlined below are meant for automation use cases and shouldn't be
used to circumvent your identity provider or user group permissions.
**Take great care when manually creating and using management tokens**.
{{< product-name >}} requires at least one user associated with your cluster
{{< product-name >}} requires at least one [Admin user](/influxdb/cloud-dedicated/reference/internals/security/#admin-user-group) associated with your cluster
and authorized through your OAuth2 identity provider to manually create a
management token.
{{% /warn %}}

View File

@ -25,19 +25,15 @@ user attributes, resource types, and environment context.
- [Available user groups](#available-user-groups)
- [Manage users](#manage-users)
- [Assign a user to a different group](#assign-a-user-to-a-different-group)
- [Invite a user to your account](#invite-a-user-to-your-account)
### Available user groups
In {{% product-name %}}, users have "management" roles, such as creating and
deleting databases, viewing resource information, and provisioning
In {{% product-name %}}, users have "management" responsibilities, such as creating and
deleting [databases](/influxdb/cloud-dedicated/admin/databases/), [viewing resource information](/influxdb/cloud-dedicated/admin/monitor-your-cluster/), and provisioning
[database tokens](/influxdb/cloud-dedicated/admin/tokens/database/) for reading and writing data.
A user can belong to the following groups, each with predefined privileges:
<!-- Question: what are the "certain resources" below? -->
- **Admin**: Read and write permissions on all resources.
- **Member**: Read permission on certain resources and create permission for
database tokens; members can't delete or create databases or management tokens.
@ -53,8 +49,8 @@ access to resources in your cluster.
### Manage users
InfluxData uses Auth0 to create user accounts and assign users to groups
in {{% product-name %}}.
- [Assign a user to a different group](#assign-a-user-to-a-different-group)
- [Invite a user to your account](#invite-a-user-to-your-account)
### Assign a user to a different group
@ -68,9 +64,6 @@ for each.
For new users that you want to add to your account, the InfluxData Support Team
configures invitations with the attributes and groups that you specify.
<!-- Question: cluster admins shouldn't use `influctl user invite` https://github.com/influxdata/docs-v2/blob/dddf699722bc9e2ba33c4ea9f34673454f3164a5/content/influxdb/cloud-dedicated/reference/cli/influxctl/user/invite.md
How should we communicate this? -->
1. [Contact InfluxData support](https://support.influxdata.com/s/login/)
to invite a user to your account.
In your request, provide the user details, including email address, desired
@ -78,7 +71,7 @@ How should we communicate this? -->
2. InfluxData support creates the user account and emails the user an invitation
that includes following:
- An **Auth0 login** to authenticate access to the cluster
- A login URL to authenticate access to the cluster
- The {{% product-name %}} **account ID**
- The {{% product-name %}} **cluster ID**
- The {{% product-name %}} **cluster URL**

View File

@ -14,6 +14,7 @@ weight: 101
metadata: [1 / 3]
related:
- /influxdb/cloud-dedicated/admin/databases/
- /influxdb/cloud-dedicated/admin/tokens/
- /influxdb/cloud-dedicated/reference/cli/influxctl/
- /influxdb/cloud-dedicated/reference/api/
---

View File

@ -25,7 +25,7 @@ By learning how to generate and interpret reports for the query plan,
you can better understand how the query is executed and identify bottlenecks that affect the performance of your query.
For example, if the query plan reveals that your query reads a large number of Parquet files,
you can then take steps to [optimize your query](/influxdb/cloud-dedicated/query-data/optimize-queries/), such as add filters to read less data or
you can then take steps to [optimize your query](/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/optimize-queries/), such as add filters to read less data or
configure your cluster to store fewer and larger files.
- [Use EXPLAIN keywords to view a query plan](#use-explain-keywords-to-view-a-query-plan)
@ -113,7 +113,7 @@ Plans are in _tree format_--each plan is an upside-down tree in which
execution and data flow from _leaf nodes_, the innermost steps in the plan, to outer _branch nodes_.
Whether reading a logical or physical plan, keep the following in mind:
- Start at the the _leaf nodes_ and read upward.
- Start at the _leaf nodes_ and read upward.
- At the top of the plan, the _root node_ represents the final, encompassing step.
In a [physical plan](/influxdb/cloud-dedicated/reference/internals/query-plan/#physical-plan), each step is an [`ExecutionPlan` node](/influxdb/cloud-dedicated/reference/internals/query-plan/#execution-plan-nodes) that receives expressions for input data and output requirements, and computes a partition of data.
@ -770,4 +770,4 @@ Operator structure for aggregating, sorting, and final output.
- `SortPreservingMergeExec: [city@0 ASC NULLS LAST]`: Merges and sorts the four sorted streams for the final output.
In the preceding examples, the `EXPLAIN` report shows the query plan without executing the query.
To view runtime metrics, such as execution time for a plan and its operators, use [`EXPLAIN ANALYZE`](/influxdb/cloud-dedicated/reference/sql/explain/#explain-analyze) to generate the report and [tracing](/influxdb/cloud-dedicated/query-data/optimize-queries/#enable-trace-logging) for further debugging, if necessary.
To view runtime metrics, such as execution time for a plan and its operators, use [`EXPLAIN ANALYZE`](/influxdb/cloud-dedicated/reference/sql/explain/#explain-analyze) to generate the report and [tracing](/influxdb/cloud-dedicated/query-data/troubleshoot-and-optimize/optimize-queries/#enable-trace-logging) for further debugging, if necessary.

View File

@ -16,6 +16,7 @@ related:
aliases:
- /influxdb/cloud-dedicated/query-data/execute-queries/optimize-queries/
- /influxdb/cloud-dedicated/query-data/execute-queries/analyze-query-plan/
- /influxdb/cloud-dedicated/query-data/optimize-queries/
---
Optimize SQL and InfluxQL queries to improve performance and reduce their memory and compute (CPU) requirements.

View File

@ -17,7 +17,7 @@ administrative tasks in an {{< product-name omit=" Clustered" >}} cluster.
- [Usage](#usage)
- [Commands](#commands)
- [Flags](#command-flags)
- [Global flags](#global-flags)
- [Download and install influxctl](#download-and-install-influxctl)
- [Configure connection profiles](#configure-connection-profiles)
- [Authentication](#authentication)
@ -25,14 +25,14 @@ administrative tasks in an {{< product-name omit=" Clustered" >}} cluster.
## Usage
```sh
influxctl [flags] [command]
influxctl [global-flags] [command]
```
## Commands
| Command | Description |
| :-------------------------------------------------------------------------- | :------------------------------------- |
| [auth](/influxdb/cloud-dedicated/reference/cli/influxctl/auth/) | Log in to or log out of InfluxDB v3 |
| [auth](/influxdb/cloud-dedicated/reference/cli/influxctl/auth/) | Log in to or log out of InfluxDB v3 |
| [cluster](/influxdb/cloud-dedicated/reference/cli/influxctl/cluster/) | List InfluxDB v3 cluster information |
| [database](/influxdb/cloud-dedicated/reference/cli/influxctl/database/) | Manage InfluxDB v3 databases |
| [help](/influxdb/cloud-dedicated/reference/cli/influxctl/help/) | Output `influxctl` help information |
@ -45,15 +45,16 @@ influxctl [flags] [command]
## Global flags
| Flag | | Description |
| :--- | :---------- | :--------------------------------------------------------- |
| | `--debug` | Enable debug logging |
| | `--account` | Override account ID value in configuration file |
| | `--cluster` | Override cluster ID value in configuration file |
| | `--config` | Path to configuration file to use |
| | `--profile` | Specify a connection profile to use (default is `default`) |
| | `--trace` | Enable more verbose debug logging |
| `-h` | `--help` | Show help |
| Flag | | Description |
| :--- | :---------- | :----------------------------------------------------------- |
| | `--debug` | Enable debug logging |
| | `--account` | Override account ID value in configuration file |
| | `--cluster` | Override cluster ID value in configuration file |
| | `--config` | Path to configuration file to use |
| | `--profile` | Specify a connection profile to use (default is `default`) |
| | `--timeout` | Specify a timeout duration for API calls (default is `1m0s`) |
| | `--trace` | Enable more verbose debug logging |
| `-h` | `--help` | Show help |
---
@ -344,7 +345,6 @@ If stored at a non-default location, include the `--config` flag with each
## OAuth2 client authorization settings
# [profile.auth.oauth2]
# client_id = ""
# client_secret = ""
# scopes = [""]
# parameters = { audience = "" }
# token_url = "https://indentityprovider/oauth2/v2/token"

View File

@ -9,6 +9,13 @@ weight: 301
draft: true
---
{{% warn %}}
#### InfluxData internal use only
This command is for InfluxData internal use only and won't work when run by
a user account.
{{% /warn %}}
The `influxctl user delete` command deletes a user from your {{< product-name >}}
account.

View File

@ -1,7 +1,7 @@
---
title: influxctl user invite
description: >
The `influxctl user invite` command invites a user to your InfluxDB Cloud Dedicated
The `influxctl user invite` command invites a user to an InfluxDB Cloud Dedicated
account.
menu:
influxdb_cloud_dedicated:
@ -10,7 +10,14 @@ weight: 301
draft: true
---
The `influxctl user invite` command invites a user to your {{< product-name >}}
{{% warn %}}
#### InfluxData internal use only
This command is for InfluxData internal use only and won't work when run by
a user account.
{{% /warn %}}
The `influxctl user invite` command invites a user to an {{< product-name >}}
account.
## Usage

View File

@ -8,6 +8,9 @@ menu:
name: Security
parent: InfluxDB internals
influxdb/cloud-dedicated/tags: [security, internals]
related:
- /influxdb/cloud-dedicated/admin/tokens
- /influxdb/cloud-dedicated/admin/users
---
InfluxData's information security program is based on industry-recognized standards and frameworks,
@ -233,8 +236,8 @@ Users can configure the following security controls:
### Access, authentication, and authorization
{{< product-name >}} uses [Auth0](https://auth0.com/) for authentication and
separates workload cluster management authorizations (using _management tokens_)
{{< product-name >}} separates workload cluster management authorizations
(using _management tokens_)
from database read and write authorizations (using _database tokens_).
- [User provisioning](#user-provisioning)
@ -244,12 +247,14 @@ from database read and write authorizations (using _database tokens_).
#### User provisioning
InfluxData uses [Auth0](https://auth0.com/) to create user accounts and
assign user attributes, including [user groups](#user-groups), on {{% product-name %}}.
InfluxData follows security best practices for creating user accounts
and managing permissions to resources.
After a user account is created, InfluxData provides the user with the following:
InfluxData Support creates user accounts with [user group](#user-groups) permissions
for access to {{% product-name omit="Clustered" %}} cluster resources.
After creating the user account, InfluxData provides the user with the following:
- An **Auth0 login** to authenticate access to the cluster
- A login URL for authenticating access to the cluster
- The {{% product-name %}} **account ID**
- The {{% product-name %}} **cluster ID**
- The {{% product-name %}} **cluster URL**
@ -257,9 +262,10 @@ After a user account is created, InfluxData provides the user with the following
With a valid password, the user can login by invoking one of the
[`influxctl` commands](/influxdb/cloud-dedicated/reference/influxctl/).
The command initiates an Auth0 browser login so that the password is never
The command initiates a browser login between the identity provider and the user
so that the password is never
exchanged with `influxctl`.
After a successful Auth0 authentication, {{% product-name %}} provides the
After a successful authentication, {{% product-name %}} provides the
user's `influxctl` session with a short-lived
[management token](#management-tokens) for access to the Granite service.
The user interacts with the `influxctl` command line tool to view or manage
@ -276,35 +282,29 @@ user attributes, resource types, and environment context.
In {{% product-name %}}, a user can belong to any of the following user groups,
each with predefined privileges:
- [Admin user group](#admins-role-admin)
- [Member user group](#members-role-member)
- [Auditor user group](#auditors-role-auditor)
- [Admin user group](#admin-user-group)
- [Member user group](#member-user-group)
- [Auditor user group](#auditor-user-group)
##### Admins (role: admin)
##### Admin user group
Admins are {{% product-name %}} users who have read and write permissions on
all resources (for all clusters) in the account.
Only Admins can create [management tokens](#management-tokens).
##### Members (role: member)
<!-- Define "certain resources" below: -->
##### Member user group
Members are {{% product-name %}} users who have read permission on certain
resources and create permission for [database tokens](#database-tokens).
Members can't delete or create databases or management tokens.
##### Auditors (role: auditor)
##### Auditor user group
Auditors are {{% product-name %}} users who have read permission on all resources
(for all clusters) in the account; auditors can't modify account resources.
#### Management tokens
[Admins](#admin-group) can create long-lived
[management tokens](/influxdb/cloud-dedicated/admin/management-tokens/)
for use with the [Management API](/influxdb/cloud-dedicated/api/management/).
Management tokens authenticate user accounts to the Granite service and provide
authorizations for workload cluster management activities, including:
@ -317,11 +317,24 @@ Management tokens consist of the following:
- An access token string (sensitive)
- A permission set for management activities (configured during user provisioning)
- A mandatory 1 hour expiration for tokens generated by logging in to `influxctl`
- For tokens generated by logging in to `influxctl`, a mandatory 1 hour expiration
In {{% product-name %}}, management tokens may be created by
the account's identity provider
for user authentication in clients, such as `influxctl`, or they may be manually
created by [Admin](#admins-role-admin)
users for automation using the Management API.
- [Management tokens in the `influxctl` CLI](#management-tokens-in-influxctl-cli)
- [Management tokens and the Management API](#management-tokens-and-the-management-api)
##### Management tokens in influxctl CLI
In {{% product-name %}}, the account's identity provider creates management tokens
for user authentication in tools such as `influxctl`.
When a user issues a command using the `influxctl` command-line tool,
`influxctl` sends the management token string with the request to the server,
where Granite validates the token (for example, using Auth0).
where Granite validates the token.
If the management token is valid and not expired, the service then compares the
token's permissions against the permissions needed to complete the user's request.
@ -338,16 +351,14 @@ For example, a user's Linux system would store the management token at
##### Management tokens and the Management API
A user associated with the cluster and authorized through OAuth may use
`influxctl` to
[manually create and revoke management tokens](/influxdb/cloud-dedicated/admin/tokens/management/)
for automation use
cases--for example, using the [Management API for
{{% product-name %}}](/influxdb/cloud-dedicated/api/management/) to rotate
database tokens or create tables.
For automation use cases, [Admins](#admin-group) can
[manually create and revoke long-lived management tokens](/influxdb/cloud-dedicated/admin/tokens/management/)
for use with the [Management API](/influxdb/cloud-dedicated/api/management/)--for
example, to rotate database tokens or create tables.
Manually created management tokens:
- aren't affected by [user group](#user-groups) permissions
- have an optional expiration and don't require human interaction with the OAuth provider
- are for automation use cases
- shouldn't be used to circumvent the OAuth provider

View File

@ -11,12 +11,54 @@ menu:
weight: 202
---
## v2.9.8 {date="2024-10-15"}
### Bug Fixes
- Continue revoking tokens on error.
- Reject unsupported input to `--template-timeformat`.
- Remove unused `client_secret` option from
[connection configuration profiles](/influxdb/cloud-dedicated/reference/cli/influxctl/#configure-connection-profiles).
### Dependency Updates
- Update Go to v1.23.2.
- Update `github.com/jedib0t/go-pretty/v6` from 6.5.9 to 6.6.0.
- Update `github.com/urfave/cli/v2` from 2.27.4 to 2.27.5.
- Update `google.golang.org/grpc` from 1.66.0 to 1.67.1.
- Update `google.golang.org/protobuf` from 1.34.2 to 1.35.1.
---
## v2.9.7 {date="2024-09-11"}
### Features
- Add [global `--timeout` flag](/influxdb/cloud-dedicated/reference/cli/influxctl/#global-flags).
- Improve timezone support.
### Bug Fixes
- Use passthrough resolver for gRPC.
### Dependency Updates
- Update Go to 1.23.1.
- Update `github.com/pelletier/go-toml/v2` from 2.2.2 to 2.2.3.
- Update `golang.org/x/mod` from 0.20.0 to 0.21.0.
- Update `golang.org/x/oauth2` from 0.22.0 to 0.23.0.
- Update `google.golang.org/grpc` from 1.65.0 to 1.66.0.
---
## v2.9.6 {date="2024-08-15"}
### Bug Fixes
- Update query to wait for EOF on stdin instead of the first newline.
---
## v2.9.5 {date="2024-08-13"}
### Bug Fixes
@ -29,6 +71,8 @@ weight: 202
- Update `golang.org/x/mod` from 0.19.0 to 0.20.0
- Update `golang.org/x/oauth2` from 0.21.0 to 0.22.0
---
## v2.9.4 {date="2024-07-25"}
### Bug Fixes
@ -40,12 +84,16 @@ weight: 202
- Update `golang.org/x/mod` from 0.18.0 to 0.19.0
- Update `google.golang.org/grpc` from 1.64.0 to 1.65.0
---
## v2.9.3 {date="2024-06-26"}
### Bug Fixes
- Update query subcommand to safely handle null timestamp in response.
---
## v2.9.2 {date="2024-06-17"}
### Bug Fixes
@ -56,6 +104,8 @@ weight: 202
- Update `google.golang.org/protobuf` from 1.34.1 to 1.34.2.
---
## v2.9.1 {date="2024-06-06"}
### Dependency Updates
@ -69,6 +119,8 @@ weight: 202
- Update `google.golang.org/protobuf` from 1.34.0 to 1.34.1
- Update build dependencies.
---
## v2.9.0 {date="2024-05-06"}
### Features
@ -80,7 +132,7 @@ weight: 202
- Update unimplemented error message with additional information.
### Dependecy Updates
### Dependency Updates
- Update `github.com/apache/arrow/go/v16` from 16.0.0-20240401180149-68241d8a86e9 to 16.0.0.
- Update `github.com/jedib0t/go-pretty/v6` from 6.5.8 to 6.5.9.
@ -188,7 +240,7 @@ associated with another InfluxDB cluster.
### Bug Fixes
- Update arrow to allow non-TLS connections.
- Update Arrow to allow non-TLS connections.
- Do not attempt to load cached tokens when an admin token file is provided.
- Print retention period up to days rather than very large hours.
- Fix indentation of help output.

View File

@ -24,7 +24,7 @@ By learning how to generate and interpret reports for the query plan,
you can better understand how the query is executed and identify bottlenecks that affect the performance of your query.
For example, if the query plan reveals that your query reads a large number of Parquet files,
you can then take steps to [optimize your query](/influxdb/cloud-serverless/query-data/optimize-queries/), such as add filters to read less data.
you can then take steps to [optimize your query](/influxdb/cloud-serverless/query-data/troubleshoot-and-optimize/optimize-queries/), such as add filters to read less data.
- [Use EXPLAIN keywords to view a query plan](#use-explain-keywords-to-view-a-query-plan)
- [Read an EXPLAIN report](#read-an-explain-report)
@ -65,7 +65,7 @@ import pandas as pd
import tabulate # Required for pandas.to_markdown()
# Instantiate an InfluxDB client.
client = InfluxDBClient3(token = f"TOKEN",
client = InfluxDBClient3(token = f"API_TOKEN",
host = f"{{< influxdb/host >}}",
database = f"BUCKET_NAME")
@ -109,7 +109,7 @@ Plans are in _tree format_--each plan is an upside-down tree in which
execution and data flow from _leaf nodes_, the innermost steps in the plan, to outer _branch nodes_.
Whether reading a logical or physical plan, keep the following in mind:
- Start at the the _leaf nodes_ and read upward.
- Start at the _leaf nodes_ and read upward.
- At the top of the plan, the _root node_ represents the final, encompassing execution step.
In a [physical plan](/influxdb/cloud-serverless/reference/internals/query-plan/#physical-plan), each step is an [`ExecutionPlan` node](/influxdb/cloud-serverless/reference/internals/query-plan/#executionplan-nodes) that receives expressions for input data and output requirements, and computes a partition of data.
@ -766,4 +766,4 @@ Operator structure for aggregating, sorting, and final output.
- `SortPreservingMergeExec: [city@0 ASC NULLS LAST]`: Merges and sorts the four sorted streams for the final output.
In the preceding examples, the `EXPLAIN` report shows the query plan without executing the query.
To view runtime metrics, such as execution time for a plan and its operators, use [`EXPLAIN ANALYZE`](/influxdb/cloud-serverless/reference/sql/explain/#explain-analyze) to generate the report and [tracing](/influxdb/cloud-serverless/query-data/optimize-queries/#enable-trace-logging) for further debugging, if necessary.
To view runtime metrics, such as execution time for a plan and its operators, use [`EXPLAIN ANALYZE`](/influxdb/cloud-serverless/reference/sql/explain/#explain-analyze) to generate the report and [tracing](/influxdb/cloud-serverless/query-data/troubleshoot-and-optimize/optimize-queries/#enable-trace-logging) for further debugging, if necessary.

View File

@ -15,6 +15,7 @@ related:
- /influxdb/cloud-serverless/query-data/execute-queries/analyze-query-plan/
aliases:
- /influxdb/cloud-serverless/query-data/execute-queries/optimize-queries/
- /influxdb/cloud-serverless/query-data/optimize-queries/
---
Optimize SQL and InfluxQL queries to improve performance and reduce their memory and compute (CPU) requirements.

View File

@ -25,7 +25,7 @@ By learning how to generate and interpret reports for the query plan,
you can better understand how the query is executed and identify bottlenecks that affect the performance of your query.
For example, if the query plan reveals that your query reads a large number of Parquet files,
you can then take steps to [optimize your query](/influxdb/clustered/query-data/optimize-queries/), such as add filters to read less data or
you can then take steps to [optimize your query](/influxdb/clustered/query-data/troubleshoot-and-optimize/optimize-queries/), such as add filters to read less data or
configure your cluster to store fewer and larger files.
- [Use EXPLAIN keywords to view a query plan](#use-explain-keywords-to-view-a-query-plan)
@ -113,7 +113,7 @@ Plans are in _tree format_--each plan is an upside-down tree in which
execution and data flow from _leaf nodes_, the innermost steps in the plan, to outer _branch nodes_.
Whether reading a logical or physical plan, keep the following in mind:
- Start at the the _leaf nodes_ and read upward.
- Start at the _leaf nodes_ and read upward.
- At the top of the plan, the _root node_ represents the final, encompassing step.
In a [physical plan](/influxdb/clustered/reference/internals/query-plan/#physical-plan), each step is an [`ExecutionPlan` node](/influxdb/clustered/reference/internals/query-plan/#executionplan-nodes) that receives expressions for input data and output requirements, and computes a partition of data.
@ -770,4 +770,4 @@ Operator structure for aggregating, sorting, and final output.
- `SortPreservingMergeExec: [city@0 ASC NULLS LAST]`: Merges and sorts the four sorted streams for the final output.
In the preceding examples, the `EXPLAIN` report shows the query plan without executing the query.
To view runtime metrics, such as execution time for a plan and its operators, use [`EXPLAIN ANALYZE`](/influxdb/clustered/reference/sql/explain/#explain-analyze) to generate the report and use [tracing](/influxdb/clustered/query-data/optimize-queries/#enable-trace-logging) for further debugging, if necessary.
To view runtime metrics, such as execution time for a plan and its operators, use [`EXPLAIN ANALYZE`](/influxdb/clustered/reference/sql/explain/#explain-analyze) to generate the report and use [tracing](/influxdb/clustered/query-data/troubleshoot-and-optimize/optimize-queries/#enable-trace-logging) for further debugging, if necessary.

View File

@ -16,6 +16,7 @@ related:
aliases:
- /influxdb/clustered/query-data/execute-queries/optimize-queries/
- /influxdb/clustered/query-data/execute-queries/analyze-query-plan/
- /influxdb/clustered/query-data/optimize-queries/
---
Optimize SQL and InfluxQL queries to improve performance and reduce their memory and compute (CPU) requirements.

View File

@ -17,7 +17,7 @@ administrative tasks in an {{< product-name omit=" Clustered" >}} cluster.
- [Usage](#usage)
- [Commands](#commands)
- [Flags](#command-flags)
- [Global flags](#global-flags)
- [Download and install influxctl](#download-and-install-influxctl)
- [Configure connection profiles](#configure-connection-profiles)
- [Authentication](#authentication)
@ -25,14 +25,14 @@ administrative tasks in an {{< product-name omit=" Clustered" >}} cluster.
## Usage
```sh
influxctl [flags] [command]
influxctl [global-flags] [command]
```
## Commands
| Command | Description |
| :-------------------------------------------------------------------- | :------------------------------------- |
| [auth](/influxdb/clustered/reference/cli/influxctl/auth/) | Log in to or log out of InfluxDB v3 |
| [auth](/influxdb/clustered/reference/cli/influxctl/auth/) | Log in to or log out of InfluxDB v3 |
| [cluster](/influxdb/clustered/reference/cli/influxctl/cluster/) | List InfluxDB v3 cluster information |
| [database](/influxdb/clustered/reference/cli/influxctl/database/) | Manage InfluxDB v3 databases |
| [help](/influxdb/clustered/reference/cli/influxctl/help/) | Output `influxctl` help information |
@ -45,15 +45,16 @@ influxctl [flags] [command]
## Global flags
| Flag | | Description |
| :--- | :---------- | :--------------------------------------------------------- |
| | `--debug` | Enable debug logging |
| | `--account` | Override account ID value in configuration file |
| | `--cluster` | Override cluster ID value in configuration file |
| | `--config` | Path to configuration file to use |
| | `--profile` | Specify a connection profile to use (default is `default`) |
| | `--trace` | Enable more verbose debug logging |
| `-h` | `--help` | Show help |
| Flag | | Description |
| :--- | :---------- | :----------------------------------------------------------- |
| | `--debug` | Enable debug logging |
| | `--account` | Override account ID value in configuration file |
| | `--cluster` | Override cluster ID value in configuration file |
| | `--config` | Path to configuration file to use |
| | `--profile` | Specify a connection profile to use (default is `default`) |
| | `--timeout` | Specify a timeout duration for API calls (default is `1m0s`) |
| | `--trace` | Enable more verbose debug logging |
| `-h` | `--help` | Show help |
---
@ -354,7 +355,6 @@ If stored at a non-default location, include the `--config` flag with each
## OAuth2 client authorization settings
[profile.auth.oauth2]
client_id = "OAUTH_CLIENT_ID"
client_secret = ""
scopes = [""]
parameters = { audience = "" }
token_url = "OAUTH_TOKEN_URL"

View File

@ -12,11 +12,53 @@ weight: 202
canonical: /influxdb/cloud-dedicated/reference/release-notes/influxctl/
---
## v2.9.8 {date="2024-10-15"}
### Bug Fixes
- Continue revoking tokens on error.
- Reject unsupported input to `--template-timeformat`.
- Remove unused `client_secret` option from
[connection configuration profiles](/influxdb/clustered/reference/cli/influxctl/#configure-connection-profiles).
### Dependency Updates
- Update Go to v1.23.2.
- Update `github.com/jedib0t/go-pretty/v6` from 6.5.9 to 6.6.0.
- Update `github.com/urfave/cli/v2` from 2.27.4 to 2.27.5.
- Update `google.golang.org/grpc` from 1.66.0 to 1.67.1.
- Update `google.golang.org/protobuf` from 1.34.2 to 1.35.1.
---
## v2.9.7 {date="2024-09-11"}
### Features
- Add [global `--timeout` flag](/influxdb/clustered/reference/cli/influxctl/#global-flags).
- Improve timezone support.
### Bug Fixes
- Use passthrough resolver for gRPC.
### Dependency Updates
- Update Go to 1.23.1.
- Update `github.com/pelletier/go-toml/v2` from 2.2.2 to 2.2.3.
- Update `golang.org/x/mod` from 0.20.0 to 0.21.0.
- Update `golang.org/x/oauth2` from 0.22.0 to 0.23.0.
- Update `google.golang.org/grpc` from 1.65.0 to 1.66.0.
---
## v2.9.6 {date="2024-08-15"}
### Bug Fixes
- Update query subcommand to wait for EOF on stdin instead of the first newline.
- Update query to wait for EOF on stdin instead of the first newline.
---
## v2.9.5 {date="2024-08-13"}
@ -31,6 +73,8 @@ canonical: /influxdb/cloud-dedicated/reference/release-notes/influxctl/
- Update `golang.org/x/mod` from 0.19.0 to 0.20.0
- Update `golang.org/x/oauth2` from 0.21.0 to 0.22.0
---
## v2.9.4 {date="2024-07-25"}
### Bug Fixes
@ -42,12 +86,16 @@ canonical: /influxdb/cloud-dedicated/reference/release-notes/influxctl/
- Update `golang.org/x/mod` from 0.18.0 to 0.19.0
- Update `google.golang.org/grpc` from 1.64.0 to 1.65.0
---
## v2.9.3 {date="2024-06-26"}
### Bug Fixes
- Update query subcommand to safely handle null timestamp in response.
---
## v2.9.2 {date="2024-06-17"}
### Bug Fixes
@ -58,6 +106,8 @@ canonical: /influxdb/cloud-dedicated/reference/release-notes/influxctl/
- Update `google.golang.org/protobuf` from 1.34.1 to 1.34.2.
---
## v2.9.1 {date="2024-06-06"}
### Dependency Updates
@ -71,6 +121,8 @@ canonical: /influxdb/cloud-dedicated/reference/release-notes/influxctl/
- Update `google.golang.org/protobuf` from 1.34.0 to 1.34.1
- Update build dependencies.
---
## v2.9.0 {date="2024-05-06"}
### Features
@ -82,7 +134,7 @@ canonical: /influxdb/cloud-dedicated/reference/release-notes/influxctl/
- Update unimplemented error message with additional information.
### Dependecy Updates
### Dependency Updates
- Update `github.com/apache/arrow/go/v16` from 16.0.0-20240401180149-68241d8a86e9 to 16.0.0.
- Update `github.com/jedib0t/go-pretty/v6` from 6.5.8 to 6.5.9.
@ -197,7 +249,7 @@ associated with another InfluxDB cluster.
### Bug Fixes
- Update arrow to allow non-TLS connections.
- Update Arrow to allow non-TLS connections.
- Do not attempt to load cached tokens when an admin token file is provided.
- Print retention period up to days rather than very large hours.
- Fix indentation of help output.

View File

@ -55,7 +55,7 @@ influxdb_cloud_dedicated:
list_order: 3
latest: cloud-dedicated
link: "https://www.influxdata.com/contact-sales-form/"
latest_cli: 2.9.7
latest_cli: 2.9.8
placeholder_host: cluster-id.a.influxdb.io
influxdb_clustered: