Merge branch 'master' into 6021-add-schedule-plugin-test-docs

pr-6089
Jameelah Mercer 2025-06-09 06:22:27 -07:00 committed by GitHub
commit 0ee28e33a5
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
99 changed files with 1583 additions and 1885 deletions

1
.gitignore vendored
View File

@ -15,6 +15,7 @@ node_modules
!telegraf-build/templates
!telegraf-build/scripts
!telegraf-build/README.md
/cypress/downloads
/cypress/screenshots/*
/cypress/videos/*
test-results.xml

View File

@ -5,13 +5,13 @@
* release notes pages.
*/
// Use jQuery filter to get an array of all the *release* h2 elements
const releases = $('h2').filter(
(_i, el) => !el.id.match(/checkpoint-releases/)
// Get all h2 elements that are not checkpoint-releases
const releases = Array.from(document.querySelectorAll('h2')).filter(
el => !el.id.match(/checkpoint-releases/)
);
// Extract data about each release from the array of releases
releaseData = releases.map((_i, el) => ({
const releaseData = releases.map(el => ({
name: el.textContent,
id: el.id,
class: el.getAttribute('class'),
@ -19,8 +19,8 @@ releaseData = releases.map((_i, el) => ({
}));
// Use release data to generate a list item for each release
getReleaseItem = (releaseData) => {
var li = document.createElement("li");
function getReleaseItem(releaseData) {
const li = document.createElement("li");
if (releaseData.class !== null) {
li.className = releaseData.class;
}
@ -29,9 +29,10 @@ getReleaseItem = (releaseData) => {
return li;
}
// Use jQuery each to build the release table of contents
releaseData.each((_i, release) => {
$('#release-toc ul')[0].appendChild(getReleaseItem(release));
// Build the release table of contents
const releaseTocUl = document.querySelector('#release-toc ul');
releaseData.forEach(release => {
releaseTocUl.appendChild(getReleaseItem(release));
});
/*
@ -39,20 +40,30 @@ releaseData.each((_i, release) => {
* number specified in the `show` attribute of `ul.release-list`.
* Once all the release items are visible, the "Show More" button is hidden.
*/
$('#release-toc .show-more').click(function () {
const itemHeight = 1.885; // Item height in rem
const releaseNum = releaseData.length;
const maxHeight = releaseNum * itemHeight;
const releaseIncrement = Number($('#release-list')[0].getAttribute('show'));
const currentHeight = Number(
$('#release-list')[0].style.height.match(/\d+\.?\d+/)[0]
);
const potentialHeight = currentHeight + releaseIncrement * itemHeight;
const newHeight = potentialHeight > maxHeight ? maxHeight : potentialHeight;
const showMoreBtn = document.querySelector('#release-toc .show-more');
if (showMoreBtn) {
showMoreBtn.addEventListener('click', function () {
const itemHeight = 1.885; // Item height in rem
const releaseNum = releaseData.length;
const maxHeight = releaseNum * itemHeight;
const releaseList = document.getElementById('release-list');
const releaseIncrement = Number(releaseList.getAttribute('show'));
const currentHeightMatch = releaseList.style.height.match(/\d+\.?\d+/);
const currentHeight = currentHeightMatch
? Number(currentHeightMatch[0])
: 0;
const potentialHeight = currentHeight + releaseIncrement * itemHeight;
const newHeight = potentialHeight > maxHeight ? maxHeight : potentialHeight;
$('#release-list')[0].style.height = `${newHeight}rem`;
releaseList.style.height = `${newHeight}rem`;
if (newHeight >= maxHeight) {
$('#release-toc .show-more').fadeOut(100);
}
});
if (newHeight >= maxHeight) {
// Simple fade out
showMoreBtn.style.transition = 'opacity 0.1s';
showMoreBtn.style.opacity = 0;
setTimeout(() => {
showMoreBtn.style.display = 'none';
}, 100);
}
});
}

View File

@ -105,7 +105,7 @@
.product {
padding: 0 1rem;
display: flex;
flex: 1 1 50%;
flex: 1 1 33%;
flex-direction: column;
justify-content: space-between;
max-width: 33%;
@ -118,11 +118,10 @@
line-height: 1.5rem;
color: rgba($article-text, .7);
}
}
&.new {
.product-info h3::after {
content: "New";
h3[state] {
&::after {
content: attr(state);
margin-left: .5rem;
font-size: 1rem;
padding: .25em .5em .25em .4em;
@ -132,6 +131,8 @@
font-style: italic;
vertical-align: middle;
}
}
}
ul.product-links {
@ -227,6 +228,30 @@
background: $article-bg;
}
.categories {
display: flex;
flex-direction: row;
flex-wrap: wrap;
// margin: 0 -1rem;
width: calc(100% + 2rem);
.category {
&.full-width {
width: 100%;
}
&.two-thirds {
width: 66.66%;
.product { max-width: 50%; }
}
&.one-third {
width: 33.33%;
.product {
max-width: 100%;
}
}
}
}
.category-head{
margin: 1rem 0 2rem;
&::after {
@ -234,6 +259,7 @@
display: block;
border-top: 1px solid $article-hr;
margin-top: -1.15rem;
width: calc(100% - 2rem);
}
}
}
@ -441,6 +467,16 @@
ul {margin-bottom: 0;}
}
}
.categories .category {
&.two-thirds {
width: 100%;
.product { max-width: 100%; }
}
&.one-third {
width: 100%;
.product { max-width: 100%; }
}
}
}
#telegraf {
flex-direction: column;

View File

@ -96,4 +96,5 @@ blockquote {
"blocks/tip",
"blocks/important",
"blocks/warning",
"blocks/caution";
"blocks/caution",
"blocks/beta";

View File

@ -0,0 +1,105 @@
.block.beta {
@include gradient($grad-burningDusk);
padding: 4px;
border: none;
border-radius: 25px !important;
.beta-content {
background: $article-bg;
border-radius: 21px;
padding: calc(1.65rem - 4px) calc(2rem - 4px) calc(.1rem + 4px) calc(2rem - 4px);
h4 {
color: $article-heading;
}
p {margin-bottom: 1rem;}
.expand-wrapper {
border: none;
margin: .5rem 0 1.5rem;
}
.expand {
border: none;
padding: 0;
.expand-content p {
margin-left: 2rem;
}
ul {
margin-top: -1rem;
&.feedback-channels {
padding: 0;
margin: -1rem 0 1.5rem 2rem;
list-style: none;
a {
color: $article-heading;
font-weight: $medium;
position: relative;
&.discord:before {
content: url('/svgs/discord.svg');
display: inline-block;
height: 1.1rem;
width: 1.25rem;
vertical-align: top;
margin: 2px .65rem 0 0;
}
&.community:before {
content: "\e900";
color: $article-heading;
margin: 0 .65rem 0 0;
font-size: 1.2rem;
font-family: 'icomoon-v2';
vertical-align: middle;
}
&.slack:before {
content: url('/svgs/slack.svg');
display: inline-block;
height: 1.1rem;
width: 1.1rem;
vertical-align: text-top;
margin-right: .65rem;
}
&.reddit:before {
content: url('/svgs/reddit.svg');
display: inline-block;
height: 1.1rem;
width: 1.2rem;
vertical-align: top;
margin: 2px .65rem 0 0;
}
&::after {
content: "\e90a";
font-family: 'icomoon-v4';
font-weight: bold;
font-size: 1.3rem;
display: inline-block;
position: absolute;
@include gradient($grad-burningDusk);
background-clip: text;
-webkit-text-fill-color: transparent;
right: 0;
transform: translateX(.25rem);
opacity: 0;
transition: transform .2s, opacity .2s;
}
&:hover {
&::after {transform: translateX(1.5rem); opacity: 1;}
}
}
}
}
}
}
}

View File

@ -22,7 +22,7 @@ We recommend the following design guidelines for most use cases:
Your queries should guide what data you store in [tags](/enterprise_influxdb/v1/concepts/glossary/#tag) and what you store in [fields](/enterprise_influxdb/v1/concepts/glossary/#field) :
- Store commonly queried and grouping ([`group()`](/flux/v0.x/stdlib/universe/group) or [`GROUP BY`](/enterprise_influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
- Store commonly queried and grouping ([`group()`](/flux/v0/stdlib/universe/group) or [`GROUP BY`](/enterprise_influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
- Store data in fields if each data point contains a different value.
- Store numeric values as fields ([tag values](/enterprise_influxdb/v1/concepts/glossary/#tag-value) only support string values).

View File

@ -433,7 +433,7 @@ representative of the Flux SPEC.
details.
- Add tagging support to Flux tests.
- Add new function [`experimental.catch()`](/flux/v0/stdlib/experimental/catch/).
- Add new function [`testing.shouldError()`](/flux/v0.x/stdlib/testing/shoulderror/).
- Add new function [`testing.shouldError()`](/flux/v0/stdlib/testing/shoulderror/).
### Bug fixes

View File

@ -12,8 +12,8 @@ menu:
parent: Account management
name: View data usage
related:
- /flux/v0.x/stdlib/experimental/usage/from/
- /flux/v0.x/stdlib/experimental/usage/limits/
- /flux/v0/stdlib/experimental/usage/from/
- /flux/v0/stdlib/experimental/usage/limits/
alt_links:
cloud-serverless: /influxdb3/cloud-serverless/admin/billing/data-usage/
---

View File

@ -9,8 +9,8 @@ menu:
parent: Account management
name: Adjustable quotas and limits
related:
- /flux/v0.x/stdlib/experimental/usage/from/
- /flux/v0.x/stdlib/experimental/usage/limits/
- /flux/v0/stdlib/experimental/usage/from/
- /flux/v0/stdlib/experimental/usage/limits/
- /influxdb/cloud/write-data/best-practices/resolve-high-cardinality/
alt_links:
cloud-serverless: /influxdb3/cloud-serverless/admin/billing/limits/
@ -97,7 +97,7 @@ Combine delete predicate expressions (if possible) into a single request. Influx
The {{< product-name >}} UI displays a notification message when service quotas or limits are exceeded. The error messages correspond with the relevant [API error responses](#api-error-responses).
Errors can also be viewed in the [Usage page](/influxdb/cloud/account-management/data-usage/) under **Limit Events**, e.g. `event_type_limited_query`, `event_type_limited_write`,`event_type_limited_cardinality`, or `event_type_limited_delete_rate`.
Errors can also be viewed in the [Usage page](/influxdb/cloud/account-management/data-usage/) under **Limit Events**, for example: `event_type_limited_query`, `event_type_limited_write`,`event_type_limited_cardinality`, or `event_type_limited_delete_rate`.
## API error responses

View File

@ -40,7 +40,7 @@ To replicate the state of an organization:
### Write data with Flux
Perform a query to return all specified data.
Write results directly to a bucket in the new organization with the Flux
[`to()` function](/flux/v0.x/stdlib/influxdata/influxdb/to/).
[`to()` function](/flux/v0/stdlib/influxdata/influxdb/to/).
{{% note %}}
If writes are prevented by rate limiting,

View File

@ -25,7 +25,7 @@ types of demo data that let you explore and familiarize yourself with InfluxDB C
{{% note %}}
#### Free to use and read-only
- InfluxDB Cloud demo data buckets are **free to use** and are **_not_ subject to
[Free Plan rate limits](influxdb/cloud/account-management/limits/#free-plan-rate-limits) rate limits**.
[Free Plan rate limits](/influxdb/cloud/account-management/limits/#free-plan-rate-limits) rate limits**.
- Demo data buckets are **read-only**. You cannot write data into demo data buckets.
{{% /note %}}

View File

@ -13,7 +13,7 @@ prepend: |
> [Use InfluxQL to query InfluxDB](/influxdb/cloud/query-data/influxql/).
> For information about manually converting InfluxQL queries to Flux, see:
>
> - [Get started with Flux](/flux/v0.x/get-started/)
> - [Get started with Flux](/flux/v0/get-started/)
> - [Query data with Flux](/influxdb/cloud/query-data/flux/)
> - [Migrate continuous queries to Flux tasks](/influxdb/cloud/upgrade/v1-to-cloud/migrate-cqs/)
source: /shared/influxdb-v2/reference/cli/influx/transpile/_index.md

View File

@ -188,7 +188,7 @@ Now, you can add the following buckets with sample data to your notebooks:
### Add ability to share notebooks
Add ability to [share a notebook](/influxdb/cloud/tools/notebooks/manage-notebooks/#share-a-notebook) in the the InfluxDB Cloud notebook UI.
Add ability to [share a notebook](/influxdb/cloud/tools/notebooks/manage-notebooks/#share-a-notebook) in the InfluxDB Cloud notebook UI.
## October 2021
@ -209,7 +209,7 @@ Refresh the look and feel of InfluxDB Cloud UI. The updated icons, fonts, and la
### Flux update
Upgrade to [Flux v0.139](/flux/v0.x/release-notes/).
Upgrade to [Flux v0.139](/flux/v0/release-notes/).
### Telegraf configuration UI
@ -347,7 +347,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
## Features
- **InfluxDB OSS 2.0 alpha-17**
_See the [alpha-17 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha17) for details._
_See the [alpha-17 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha17) for details._
- Alerts and Notifications to Slack (Free Plan), PagerDuty and HTTP (Usage-based Plan).
- Rate limiting on cardinality for Free Plan.
- Billing notifications.
@ -359,7 +359,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
### Features
- **InfluxDB OSS 2.0 alpha-15**
_See the [alpha-9 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha15) for details._
_See the [alpha-9 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha15) for details._
- Usage-based Plan.
- Adjusted Free Plan rate limits.
- Timezone selection in the user interface.
@ -386,7 +386,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
### Features
- **InfluxDB OSS 2.0 alpha-9**
_See the [alpha-9 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha9) for details._
_See the [alpha-9 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha9) for details._
### Bug fixes
@ -403,7 +403,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
### Features
- **InfluxDB OSS 2.0 alpha-7**
_See the [alpha-7 release notes](/influxdb/v2%2E0/reference/release-notes/influxdb/#v200-alpha7) for details._
_See the [alpha-7 release notes](/influxdb/v2/reference/release-notes/influxdb/#v200-alpha7) for details._
### Bug fixes

View File

@ -22,7 +22,7 @@ We recommend the following design guidelines for most use cases:
Your queries should guide what data you store in [tags](/influxdb/v1/concepts/glossary/#tag) and what you store in [fields](/influxdb/v1/concepts/glossary/#field) :
- Store commonly queried and grouping ([`group()`](/flux/v0.x/stdlib/universe/group) or [`GROUP BY`](/influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
- Store commonly queried and grouping ([`group()`](/flux/v0/stdlib/universe/group) or [`GROUP BY`](/influxdb/v1/query_language/explore-data/#group-by-tags)) metadata in tags.
- Store data in fields if each data point contains a different value.
- Store numeric values as fields ([tag values](/influxdb/v1/concepts/glossary/#tag-value) only support string values).

View File

@ -83,7 +83,7 @@ customSumProduct = (tables=<-) => tables
#### Check if a statically defined record contains a key
When you use the [record literal syntax](/flux/v0.x/data-types/composite/record/#record-syntax)
When you use the [record literal syntax](/flux/v0/data-types/composite/record/#record-syntax)
to statically define a record, Flux knows the record type and what keys to expect.
- If the key exists in the static record, `exists` returns `true`.

View File

@ -52,7 +52,7 @@ never be removed by the retention enforcement service.
You can customize [table (measurement) limits](#table-limit) and
[table column limits](#column-limit) when you
[create](#create-a-database) or
[update a database](#update-a-database) in {{< product-name >}}.
[update a database](#update-a-database) in {{% product-name %}}.
### Table limit

View File

@ -39,7 +39,7 @@ Each Telegraf configuration must **have at least one input plugin and one output
Telegraf input plugins retrieve metrics from different sources.
Telegraf output plugins write those metrics to a destination.
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{< product-name >}}.
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{% product-name %}}.
```toml
# ...

View File

@ -115,7 +115,7 @@ For {{% product-name %}}, set this to an empty string (`""`).
The name of the {{% product-name %}} database to write data to.
> [!Note]
> ##### Write to InfluxDB v1.x and {{< product-name >}}
> ##### Write to InfluxDB v1.x and {{% product-name %}}
>
> If a Telegraf agent is already writing to an InfluxDB v1.x database,
> enabling the InfluxDB v2 output plugin will write data to both v1.x and your {{< product-name omit="Clustered" >}} cluster.

View File

@ -9,8 +9,8 @@ menu:
parent: Manage billing
name: View data usage
related:
- /flux/v0.x/stdlib/experimental/usage/from/
- /flux/v0.x/stdlib/experimental/usage/limits/
- /flux/v0/stdlib/experimental/usage/from/
- /flux/v0/stdlib/experimental/usage/limits/
alt_links:
cloud: /influxdb/cloud/account-management/data-usage/
aliases:

View File

@ -9,8 +9,8 @@ menu:
parent: Manage billing
name: Adjustable quotas and limits
related:
- /flux/v0.x/stdlib/experimental/usage/from/
- /flux/v0.x/stdlib/experimental/usage/limits/
- /flux/v0/stdlib/experimental/usage/from/
- /flux/v0/stdlib/experimental/usage/limits/
- /influxdb3/cloud-serverless/write-data/best-practices/
alt_links:
cloud: /influxdb/cloud/account-management/limits/

View File

@ -40,7 +40,7 @@ Each Telegraf configuration must **have at least one input plugin and one output
Telegraf input plugins retrieve metrics from different sources.
Telegraf output plugins write those metrics to a destination.
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{< product-name >}}.
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{% product-name %}}.
```toml
# ...

View File

@ -110,7 +110,7 @@ For {{% product-name %}}, set this to an empty string (`""`).
The name of the {{% product-name %}} bucket to write data to.
> [!Note]
> ##### Write to InfluxDB v1.x and {{< product-name >}}
> ##### Write to InfluxDB v1.x and {{% product-name %}}
>
> If a Telegraf agent is already writing to an InfluxDB v1.x database,
> enabling the InfluxDB v2 output plugin will write data to both v1.x and your {{< product-name >}} bucket.

View File

@ -52,7 +52,7 @@ never be removed by the retention enforcement service.
You can customize [table (measurement) limits](#table-limit) and
[table column limits](#column-limit) when you
[create](#create-a-database) or
[update a database](#update-a-database) in {{< product-name >}}.
[update a database](#update-a-database) in {{% product-name %}}.
### Table limit

View File

@ -51,7 +51,7 @@ Use the following command to return the image Kubernetes uses to build your
InfluxDB cluster:
```sh
kubectl get appinstances.kubecfg.dev influxdb -o jsonpath='{.spec.package.image}'
kubectl get appinstances.kubecfg.dev influxdb -n influxdb -o jsonpath='{.spec.package.image}'
```
The package version number is at the end of the returned string (after `influxdb:`):
@ -66,8 +66,8 @@ us-docker.pkg.dev/influxdb2-artifacts/clustered/influxdb:PACKAGE_VERSION
### Identify the version to upgrade to
All available InfluxDB Clustered package versions are provided at
[oci.influxdata.com](https://oci.influxdata.com).
All available InfluxDB Clustered package versions are provided in the
[InfluxDB Clustered release notes](/influxdb3/clustered/reference/release-notes/clustered/).
Find the package version you want to upgrade to and copy the version number.
@ -76,7 +76,7 @@ Find the package version you want to upgrade to and copy the version number.
Some InfluxDB Clustered releases are _checkpoint releases_ that introduce a
breaking change to an InfluxDB component.
Checkpoint releases are only made when absolutely necessary and are clearly
identified at [oci.influxdata.com](https://oci.influxdata.com).
identified in the [InfluxDB Clustered release notes](/influxdb3/clustered/reference/release-notes/clustered/).
**When upgrading, always upgrade to each checkpoint release first, before proceeding
to newer versions.**

View File

@ -39,7 +39,7 @@ Each Telegraf configuration must **have at least one input plugin and one output
Telegraf input plugins retrieve metrics from different sources.
Telegraf output plugins write those metrics to a destination.
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{< product-name >}}.
Use the [`outputs.influxdb_v2`](/telegraf/v1/plugins/#output-influxdb_v2) plugin to write metrics collected by Telegraf to {{% product-name %}}.
```toml
# ...

View File

@ -112,7 +112,7 @@ For {{% product-name %}}, set this to an empty string (`""`).
The name of the {{% product-name %}} database to write data to.
> [!Note]
> ##### Write to InfluxDB v1.x and {{< product-name >}}
> ##### Write to InfluxDB v1.x and {{% product-name %}}
>
> If a Telegraf agent is already writing to an InfluxDB v1.x database,
> enabling the InfluxDB v2 output plugin will write data to both v1.x and your {{< product-name omit="Clustered" >}} cluster.

View File

@ -9,9 +9,10 @@ menu:
influxdb3_core:
name: InfluxDB 3 Core
weight: 1
source: /shared/v3-core-get-started/_index.md
source: /shared/influxdb3/_index.md
---
<!--
The content of this page is at /shared/v3-core-get-started/_index.md
The content of this page is at
//SOURCE - content/shared/influxdb3/_index.md
-->

View File

@ -16,4 +16,5 @@ source: /shared/influxdb3-admin/distinct-value-cache/_index.md
---
<!-- The content for this page is located at
// SOURCE content/shared/influxdb3-admin/distinct-value-cache/_index.md -->
// SOURCE content/shared/influxdb3-admin/distinct-value-cache/_index.md
-->

View File

@ -17,4 +17,5 @@ source: /shared/influxdb3-admin/last-value-cache/_index.md
---
<!-- The content for this page is located at
// SOURCE content/shared/influxdb3-admin/last-value-cache/_index.md -->
// SOURCE content/shared/influxdb3-admin/last-value-cache/_index.md
-->

View File

@ -1,7 +1,7 @@
---
title: Manage tokens
description: >
Manage tokens to authenticate and authorize access to resources and data in an {{< product-name >}} instance.
Manage tokens to authenticate and authorize access to server actions, resources, and data in an {{< product-name >}} instance.
menu:
influxdb3_core:
parent: Administer InfluxDB
@ -11,4 +11,4 @@ source: /shared/influxdb3-admin/tokens/_index.md
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-admin/tokens/_index.md
-->>
-->

View File

@ -11,9 +11,9 @@ menu:
name: Admin tokens
weight: 101
influxdb3/core/tags: [tokens]
source: /shared/influxdb3-admin/tokens/_index.md
source: /shared/influxdb3-admin/tokens/admin/_index.md
---
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-admin/tokens/_index.md
// SOURCE content/shared/influxdb3-admin/tokens/admin/_index.md
-->

View File

@ -2,7 +2,7 @@
title: Create an admin token
description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/core/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/core/api/v3/)
or the HTTP API [`/api/v3/configure/token/admin`](/influxdb3/core/api/v3/#operation/PostCreateAdminToken) endpoint
to create an [admin token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server.
menu:

View File

@ -2,10 +2,9 @@
title: Regenerate an admin token
description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/core/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/core/api/v3/)
to regenerate an [admin token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server.
Regenerating an admin token deactivates the previous token.
or the HTTP API [`/api/v3/configure/token/admin/regenerate`](/influxdb3/core/api/v3/#operation/PostRegenerateAdminToken) endpoint
to regenerate an [operator token](/influxdb3/core/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
Regenerating an operator token deactivates the previous token.
menu:
influxdb3_core:
parent: Admin tokens
@ -14,8 +13,15 @@ list_code_example: |
##### CLI
```bash
influxdb3 create token --admin \
--token ADMIN_TOKEN \
--regenerate
OPERATOR_TOKEN
```
#### HTTP API
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header 'Authorization Bearer OPERATOR_TOKEN' \
--header 'Accept: application/json'
--header 'Content-Type: application/json'
```
source: /shared/influxdb3-admin/tokens/admin/regenerate.md
---

View File

@ -13,7 +13,7 @@ related:
- /influxdb3/core/admin/query-system-data/
- /influxdb3/core/write-data/
- /influxdb3/core/query-data/
source: /shared/v3-core-get-started/_index.md
source: /shared/influxdb3-get-started/_index.md
prepend: |
> [!Note]
> InfluxDB 3 Core is purpose-built for real-time data monitoring and recent data.
@ -26,5 +26,5 @@ prepend: |
<!--
The content of this page is at
// SOURCE content/shared/v3-core-get-started/_index.md
// SOURCE content/shared/influxdb3-get-started/_index.md
-->

View File

@ -12,7 +12,7 @@ alt_links:
- [System Requirements](#system-requirements)
- [Quick install](#quick-install)
- [Download {{< product-name >}} binaries](#download-influxdb-3-{{< product-key >}}-binaries)
- [Download {{% product-name %}} binaries](#download-influxdb-3-{{< product-key >}}-binaries)
- [Docker image](#docker-image)
## System Requirements
@ -79,7 +79,7 @@ source ~/.zshrc
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
## Download {{< product-name >}} binaries
## Download {{% product-name %}} binaries
{{< tabs-wrapper >}}
{{% tabs %}}

View File

@ -103,7 +103,7 @@ influxdb3 -h
influxdb3 --help
```
### Run the {{< product-name >}} server with extra verbose logging
### Run the {{% product-name %}} server with extra verbose logging
<!--pytest.mark.skip-->
@ -114,7 +114,7 @@ influxdb3 serve -v \
--node-id my-host-01
```
### Run {{< product-name >}} with debug logging using LOG_FILTER
### Run {{% product-name %}} with debug logging using LOG_FILTER
<!--pytest.mark.skip-->

View File

@ -5,11 +5,11 @@ description: >
menu:
influxdb3_core:
parent: influxdb3 create
name: influxdb3 create token
name: influxdb3 create token
weight: 400
source: /shared/influxdb3-cli/create/token.md
source: /shared/influxdb3-cli/create/token/_index.md
---
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-cli/create/token.md
// SOURCE content/shared/influxdb3-cli/create/token/_index.md
-->

View File

@ -0,0 +1,15 @@
---
title: influxdb3 create token admin
description: >
The `influxdb3 create token admin` command creates an operator token or named admin token with full administrative privileges for server actions.
menu:
influxdb3_core:
parent: influxdb3 create token
name: influxdb3 create token admin
weight: 400
source: /shared/influxdb3-cli/create/token/admin.md
---
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-cli/create/token/admin.md
-->

View File

@ -9,9 +9,10 @@ menu:
influxdb3_enterprise:
name: InfluxDB 3 Enterprise
weight: 1
source: /shared/v3-enterprise-get-started/_index.md
source: /shared/influxdb3/_index.md
---
<!--
The content of this page is at /shared/v3-enterprise-get-started/_index.md
The content of this page is at
//SOURCE - content/shared/influxdb3/_index.md
-->

View File

@ -153,7 +153,7 @@ existing license if it's still valid.
environment variable
7. If no license is found, the server won't start
#### Example: Start the {{< product-name >}} server with your license email:
#### Example: Start the {{% product-name %}} server with your license email:
{{< code-tabs-wrapper >}}
{{% code-tabs %}}
@ -187,7 +187,7 @@ influxdb3 serve \
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
#### Example: Start the {{< product-name >}} server with your license file:
#### Example: Start the {{% product-name %}} server with your license file:
{{< code-tabs-wrapper >}}
{{% code-tabs %}}

View File

@ -1,7 +1,7 @@
---
title: Manage tokens
description: >
Manage tokens to authenticate and authorize access to resources and data in an {{< product-name >}} instance.
Manage tokens to authenticate and authorize access to server actions, resources, and data in an {{< product-name >}} instance.
menu:
influxdb3_enterprise:
parent: Administer InfluxDB

View File

@ -2,8 +2,8 @@
title: Create an admin token
description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/enterprise/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/enterprise/api/v3/)
to create an [admin token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
or the HTTP API [`/api/v3/configure/token/admin`](/influxdb3/enterprise/api/v3/#operation/PostCreateAdminToken)
endpoint to create an operator or named [admin token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server.
menu:
influxdb3_enterprise:
@ -12,13 +12,15 @@ weight: 201
list_code_example: |
##### CLI
```bash
influxdb3 create token --admin
influxdb3 create token --admin --name TOKEN_NAME
```
#### HTTP API
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
--header 'Authorization Bearer ADMIN_TOKEN' \
--json '{
"name": "TOKEN_NAME"
}'
```
alt_links:
cloud-dedicated: /influxdb3/cloud-dedicated/admin/tokens/create-token/

View File

@ -1,10 +1,9 @@
---
title: Regenerate an admin token
title: Regenerate an operator admin token
description: >
Use the [`influxdb3 create token --admin` command](/influxdb3/enterprise/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/enterprise/api/v3/)
to regenerate an [admin token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants access to all actions on the server.
to regenerate an [operator token](/influxdb3/enterprise/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
Regenerating an admin token deactivates the previous token.
menu:
influxdb3_enterprise:
@ -14,9 +13,15 @@ list_code_example: |
##### CLI
```bash
influxdb3 create token --admin \
--token ADMIN_TOKEN \
--token OPERATOR_TOKEN \
--regenerate
```
#### HTTP API
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header 'Authorization Bearer OPERATOR_TOKEN'
```
source: /shared/influxdb3-admin/tokens/admin/regenerate.md
---

View File

@ -3,7 +3,7 @@ title: Manage resource tokens
seotitle: Manage resource tokens in {{< product-name >}}
description: >
Manage resource tokens in your {{< product-name >}} instance.
Resource tokens grant fine-grained permissions on resources, such as databases
Resource tokens grant permissions on specific resources, such as databases
and system information endpoints in your {{< product-name >}} instance.
Database resource tokens allow for actions like writing and querying data.
menu:
@ -15,13 +15,12 @@ influxdb3/enterprise/tags: [tokens]
---
Manage resource tokens in your {{< product-name >}} instance.
Resource tokens grant fine-grained permissions on resources, such as databases
and system information endpoints in your {{< product-name >}} instance.
- **Databases**: Database tokens allow for actions like writing and querying data.
Resource tokens provide scoped access to specific resources:
- **System resources**: System information tokens allow read access to server runtime statistics and health.
Access controls for system information API endpoints help prevent information leaks and attacks (such as DoS).
- **Database tokens**: provide access to specific databases for actions like writing and querying data
- **System tokens**: provide access to system-level resources, such as API endpoints for server runtime statistics and health.
Resource tokens are user-defined and available only in {{% product-name %}}.
{{< children depth="1" >}}

View File

@ -13,10 +13,10 @@ related:
- /influxdb3/enterprise/admin/query-system-data/
- /influxdb3/enterprise/write-data/
- /influxdb3/enterprise/query-data/
source: /shared/v3-enterprise-get-started/_index.md
source: /shared/influxdb3-get-started/_index.md
---
<!--
The content of this page is at
// SOURCE content/shared/v3-enterprise-get-started/_index.md
// SOURCE content/shared/influxdb3-get-started/_index.md
-->

View File

@ -12,7 +12,7 @@ alt_links:
- [System Requirements](#system-requirements)
- [Quick install](#quick-install)
- [Download {{< product-name >}} binaries](#download-influxdb-3-{{< product-key >}}-binaries)
- [Download {{% product-name %}} binaries](#download-influxdb-3-{{< product-key >}}-binaries)
- [Docker image](#docker-image)
## System Requirements
@ -79,7 +79,7 @@ source ~/.zshrc
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
## Download {{< product-name >}} binaries
## Download {{% product-name %}} binaries
{{< tabs-wrapper >}}
{{% tabs %}}

View File

@ -108,7 +108,7 @@ influxdb3 -h
influxdb3 --help
```
### Run the {{< product-name >}} server with extra verbose logging
### Run the {{% product-name %}} server with extra verbose logging
<!--pytest.mark.skip-->
@ -120,7 +120,7 @@ influxdb3 serve -v \
--cluster-id my-cluster-01
```
### Run {{< product-name >}} with debug logging using LOG_FILTER
### Run {{% product-name %}} with debug logging using LOG_FILTER
<!--pytest.mark.skip-->

View File

@ -1,16 +0,0 @@
---
title: influxdb3 create token
description: >
The `influxdb3 create token` command creates a new authentication token.
menu:
influxdb3_enterprise:
parent: influxdb3 create
name: influxdb3 create token
weight: 400
source: /shared/influxdb3-cli/create/token.md
---
<!--
The content of this file is at
// SOURCE content/shared/influxdb3-cli/create/token.md
-->

View File

@ -1,19 +1,16 @@
---
title: influxdb3 create token
description: >
The `influxdb3 create token` command creates an admin token or a resource (fine-grained
permissions) token for authenticating and authorizing actions in an {{% product-name %}} instance.
The `influxdb3 create token` command creates an admin token or a scoped resource token for authenticating and authorizing actions in an {{% product-name %}} instance.
menu:
influxdb3_enterprise:
parent: influxdb3
name: influxdb3 create token
weight: 300
aliases:
- /influxdb3/enterprise/reference/cli/influxdb3/create/token/admin/
source: /shared/influxdb3-cli/create/token.md
source: /shared/influxdb3-cli/create/token/_index.md
---
<!--
The content of this page is at
// SOURCE content/shared/influxdb3-cli/create/token.md
// SOURCE content/shared/influxdb3-cli/create/token/_index.md
-->

View File

@ -0,0 +1,15 @@
---
title: influxdb3 create token admin
description: >
The `influxdb3 create token admin` command creates an operator token or named admin token with full administrative privileges for server actions.
menu:
influxdb3_enterprise:
parent: influxdb3 create token
name: influxdb3 create token admin
weight: 400
source: /shared/influxdb3-cli/create/token/admin.md
---
<!-- The content for this page is at
// SOURCE content/shared/influxdb3-cli/create/token/admin.md
-->

View File

@ -14,5 +14,5 @@ source: /shared/influxdb3-internals-reference/authentication.md
---
<!-- The content for this page is at
// SOURCE /content/shared/influxdb3-internals-reference/authentication.md
// -->
// SOURCE content/shared/influxdb3-internals-reference/authentication.md
-->

View File

@ -0,0 +1,48 @@
---
title: InfluxDB 3 Explorer documentation
description: >
InfluxDB 3 Explorer is a standalone web-based interface for interacting with InfluxDB 3 Core and Enterprise. Visualize, query, and manage your time series data efficiently.
menu:
influxdb3_explorer:
name: InfluxDB 3 Explorer
weight: 1
---
InfluxDB 3 Explorer is the standalone web application designed for visualizing, querying, and managing your data stored in InfluxDB 3 Core and Enterprise.
Explorer provides an intuitive interface for interacting with your time series data, streamlining database operations and enhancing data insights.
> [!Important]
> #### InfluxDB 3 Core or Enterprise v3.1.0 or later required
>
> InfluxDB 3 Explorer is compatible with the following:
>
> - [InfluxDB 3 Core v3.1.0 or later](/influxdb3/core/install/)
> - [InfluxDB 3 Enterprise v3.1.0 or later](/influxdb3/enterprise/install/)
## Key features
Use InfluxDB 3 Explorer for:
- **Database and query management**: Create and manage InfluxDB 3 databases, admin and resource tokens, and configure new InfluxDB 3 Enterprise instances
- **Data visualization and analysis**: Query data with a built-in visualizer for enhanced data insights
- **Data ingestion**: Write new data and setup Telegraf configurations
## Quick start
Run the Docker image to start InfluxDB 3 Explorer:
```sh
# Pull the Docker image
docker pull quay.io/influxdb/influxdb3-explorer:latest
# Run the Docker container
docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
--publish 8889:8888 \
quay.io/influxdb/influxdb3-explorer:latest \
--mode=admin
```
<a class="btn" href="/influxdb3/explorer/install/">Install and run InfluxDB 3 Explorer</a>
<a class="btn" href="/influxdb3/explorer/get-started/">Get started with InfluxDB 3 Explorer</a>

View File

@ -0,0 +1,28 @@
---
title: About the InfluxDB 3 Explorer project
description: >
Learn about InfluxDB 3 Explorer, the user interface and query tool for InfluxDB 3.
menu:
influxdb3_explorer:
name: About Explorer
weight: 10
---
InfluxDB 3 Explorer is the user interface component of the InfluxDB 3 platform.
It provides visual management of databases and tokens and an easy way to querying
your time series data. Explorer is fully-featured for [InfluxDB 3 Core](/influxdb3/core/)
and [Enterprise](/influxdb3/enterprise/). In a future release it will also be able to
be used to query [InfluxDB Cloud Serverless](/influxdb3/cloud-serverless/),
[InfluxDB Cloud Dedicated](/influxdb3/cloud-dedicated/)
and [InfluxDB Clustered](/influxdb3/clustered/).
## Third Party Software
InfluxData products contain third party software, which means the copyrighted,
patented, or otherwise legally protected software of third parties that is
incorporated in InfluxData products.
Third party suppliers make no representation nor warranty with respect to such
third party software or any portion thereof. Third party suppliers assume no
liability for any claim that might arise with respect to such third party software,
nor for a customers use of or inability to use the third party software.

View File

@ -0,0 +1,14 @@
---
title: Get started using InfluxDB 3 Explorer
description: Follow steps to get started using InfluxDB 3 Explorer.
menu:
influxdb3_explorer:
name: Get started
weight: 3
---
Follow steps to get started using InfluxDB 3 Explorer.
{{< youtube "zW2Hi1Ki4Eo" >}}
<!-- {{< page-nav next="/explorer/v1/get-started/connect/" >}} -->

View File

@ -0,0 +1,12 @@
---
title: Connect to a server
description:
Use InfluxDB 3 Explorer to connect to an InfluxDB 3 server.
menu:
influxdb3_explorer:
parent: Get started
weight: 101
draft: true
---
Use InfluxDB 3 Explorer to connect to an InfluxDB 3 server.

View File

@ -0,0 +1,222 @@
---
title: Install and run InfluxDB 3 Explorer
description: >
Use [Docker](https://docker.com) to install and run **InfluxDB 3 Explorer**.
menu:
influxdb3_explorer:
name: Install Explorer
weight: 2
---
Use [Docker](https://docker.com) to install and run **InfluxDB 3 Explorer**.
<!-- BEGIN TOC -->
- [Run the InfluxDB 3 Explorer Docker container](#run-the-influxdb-3-explorer-docker-container)
- [Enable TLS/SSL (HTTPS)](#enable-tlsssl-https)
- [Pre-configure InfluxDB connection settings](#pre-configure-influxdb-connection-settings)
- [Run in query or admin mode](#run-in-query-or-admin-mode)
- [Run in query mode](#run-in-query-mode)
- [Run in admin mode](#run-in-admin-mode)
- [Environment Variables](#environment-variables)
- [Volume Reference](#volume-reference)
- [Exposed Ports](#exposed-ports)
- [Custom port mapping](#custom-port-mapping)
<!-- END TOC -->
## Run the InfluxDB 3 Explorer Docker container
1. **Install Docker**
If you haven't already, install [Docker](https://docs.docker.com/engine/) or
[Docker Desktop](https://docs.docker.com/desktop/).
2. **Pull the {{% product-name %}} Docker image**
```bash
docker pull quay.io/influxdb/influxdb3-explorer:latest
```
3. **Create local directories** _(optional)_
{{% product-name %}} can mount the following directories on your local
machine:
| Directory | Description | Permissions |
| :--------- | :------------------------------------------------------------------------------------------------ | :---------: |
| `./db` | Stores {{% product-name %}} application data | 700 |
| `./config` | Stores [pre-configured InfluxDB connection settings](#pre-configure-influxdb-connection-settings) | 755 |
| `./ssl` | Stores TLS/SSL certificates _(Required when [using TLS/SSL](#enable-tlsssl-https))_ | 755 |
> [!Important]
> If you don't create and mount a local `./db` directory, {{% product-name %}}
> stores application data in the container's file system.
> This data will be lost when the container is deleted.
To create these directories with the appropriate permissions, run the
following commands from your current working directory:
```bash
mkdir -m 700 ./db
mkdir -m 755 ./config
mkdir -m 755 ./ssl
```
4. **Run the {{% product-name %}} container**
Use the `docker run` command to start the {{% product-name %}} container.
Include the following:
- Port mappings:
- `8888` to `80` (or `443` if using TLS/SSL)
- `8889` to `8888`
- Mounted volumes:
- `$(pwd)/db:/db:rw`
- `$(pwd)/config:/app-root/config:ro`
- `$(pwd)/ssl:/etc/nginx/ssl:ro`
- Any of the available [environment variables](#environment-variables)
```bash
docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
--publish 8889:8888 \
--volume $(pwd)/config:/app-root/config:ro \
--volume $(pwd)/db:/db:rw \
--volume $(pwd)/ssl:/etc/nginx/ssl:ro \
quay.io/influxdb/influxdb3-explorer:latest \
--mode=admin
```
5. **Access the {{% product-name %}} user interface (UI) at <http://localhost:8888>**.
---
## Enable TLS/SSL (HTTPS)
To enable TLS/SSL, mount valid certificate and key files into the container:
1. **Place your TLS/SSL certificate files your local `./ssl` directory**
Required files:
- Certificate: `server.crt` or `fullchain.pem`
- Private key: `server.key`
2. **When running your container, mount the SSL directory and map port 443 to port 8888**
Include the following options when running your Docker container:
```sh
--volume $(pwd)/ssl:/etc/nginx/ssl:ro \
--publish 8888:443
```
The nginx web server automatically uses certificate files when they are present
in the mounted path.
---
## Pre-configure InfluxDB connection settings
You can predefine InfluxDB connection settings using a `config.json` file.
{{% code-placeholders "INFLUXDB3_HOST|INFLUXDB_DATABASE_NAME|INFLUXDB3_AUTH_TOKEN|INFLUXDB3_SERVER_NAME" %}}
1. **Create a `config.json` file in your local `./config` directory**
```json
{
"DEFAULT_INFLUX_SERVER": "INFLUXDB3_HOST",
"DEFAULT_INFLUX_DATABASE": "INFLUXDB_DATABASE_NAME",
"DEFAULT_API_TOKEN": "INFLUXDB3_AUTH_TOKEN",
"DEFAULT_SERVER_NAME": "INFLUXDB3_SERVER_NAME"
}
```
> [!Important]
> If connecting to an InfluxDB 3 Core or Enterprise instance running on
> localhost (outside of the container), use the internal Docker network to
> in your InfluxDB 3 host value--for example:
>
> ```txt
> http://host.docker.internal:8181
> ```
2. **Mount the configuration directory**
Include the following option when running your Docker container:
```sh
--volume $(pwd)/config:/app-root/config:ro
```
{{% /code-placeholders %}}
These settings will be used as defaults when the container starts.
---
## Run in query or admin mode
{{% product-name %}} has the following operational modes:
- **Query mode (default):** Read-only UI and query interface
- **Admin mode:** Full UI and API access for administrators
You can control the operational mode using the `--mode=` option in your
`docker run` command (after the image name).
### Run in query mode {note="(default)"}
```sh
docker run \
...
--mode=query
```
### Run in admin mode
```sh
docker run \
...
--mode=admin
```
If `--mode` is not set, the container defaults to query mode.
---
## Environment Variables
Use the following environment variables to customize {{% product-name %}} settings
in your container.
| Variable | Description | Default |
|----------------|--------------------------------------------------|----------------------|
| `DATABASE_URL` | Path to SQLite DB inside container | `/db/sqlite.db` |
---
## Volume Reference
| Container Path | Purpose | Host Example |
|----------------------|------------------------------|----------------------------|
| `/db` | SQLite DB storage | `./db` |
| `/app-root/config` | JSON config for defaults | `./config` |
| `/etc/nginx/ssl` | SSL certs for HTTPS | `./ssl` |
---
## Exposed Ports
| Port | Protocol | Purpose |
|------|----------|-------------------------|
| 80 | HTTP | Web access (unencrypted) |
| 443 | HTTPS | Web access (encrypted) |
### Custom port mapping
```sh
# Map ports to custom host values
--publish 8888:80 --publish 8443:443
```

View File

@ -407,15 +407,15 @@ if __name__ == '__main__':
agent.handler = h
# Anything printed to STDERR from a UDF process gets captured into the Kapacitor logs.
print >> sys.stderr, "Starting agent for TTestHandler"
print("Starting agent for TTestHandler", file=sys.stderr)
agent.start()
agent.wait()
print >> sys.stderr, "Agent finished"
print("Agent finished", file=sys.stderr)
```
That was a lot, but now we are ready to configure Kapacitor to run our
code. Create a scratch dir for working through the rest of this
code. Make sure that `scipy` is installed (`$ pip3 install scipy`). Create a scratch dir for working through the rest of this
guide:
```bash
@ -434,7 +434,7 @@ Add this snippet to your Kapacitor configuration file (typically located at `/et
[udf.functions]
[udf.functions.tTest]
# Run python
prog = "/usr/bin/python2"
prog = "/usr/bin/python3"
# Pass args to python
# -u for unbuffered STDIN and STDOUT
# and the path to the script
@ -468,8 +468,8 @@ correctly:
service kapacitor restart
```
Check the logs (`/var/log/kapacitor/`) to make sure you see a
*Listening for signals* line and that no errors occurred. If you
Check the logs (`/var/log/kapacitor/` or `journalctl -f -n 256 -u kapacitor.service`) to make sure you see a
_Listening for signals_ line and that no errors occurred. If you
don't see the line, it's because the UDF process is hung and not
responding. It should be killed after a timeout, so give it a moment
to stop properly. Once stopped, you can fix any errors and try again.
@ -544,6 +544,20 @@ the Kapacitor task:
kapacitor define print_temps -tick print_temps.tick
```
Ensure that the task is enabled:
```bash
kapacitor enable print_temps
```
And then list the tasks:
```bash
kapacitor list tasks
ID Type Status Executing Databases and Retention Policies
print_temps stream enabled true ["printer"."autogen"]
```
### Generating test data
To simulate our printer for testing, we will write a simple Python
@ -557,7 +571,7 @@ to use real data for testing our TICKscript and UDF, but this is
faster (and much cheaper than a 3D printer).
```python
#!/usr/bin/python2
#!/usr/bin/env python
from numpy import random
from datetime import timedelta, datetime
@ -672,7 +686,11 @@ fake data so that we can easily iterate on the task:
```sh
# Start the recording in the background
kapacitor record stream -task print_temps -duration 24h -no-wait
# Grab the ID from the output and store it in a var
# List recordings to find the ID
kapacitor list recordings
ID Type Status Size Date
7bd3ced5-5e95-4a67-a0e1-f00860b1af47 stream running 0 B 04 May 16 11:34 MDT
# Copy the ID and store it in a variable
rid=7bd3ced5-5e95-4a67-a0e1-f00860b1af47
# Run our python script to generate data
chmod +x ./printer_data.py

View File

@ -9,6 +9,22 @@ aliases:
- /kapacitor/v1/about_the_project/releasenotes-changelog/
---
## v1.7.7 {date="2025-05-27"}
> [!Warning]
> #### Python 2 UDFs deprecated
>
> Python 2-based UDFs are deprecated** as of Kapacitor 1.7.7 and will be removed in **Kapacitor 1.8.0**.
>
> In preparation for Kapacitor 1.8.0, update your User-Defined Functions (UDFs) to be Python 3-compatible.
> This required change aligns with modern security practices and ensures your custom functions will continue to work after upgrading.
### Dependency updates
- Upgrade Go to 1.22.12.
---
## v1.7.6 {date="2024-10-28"}
### Features
@ -105,7 +121,7 @@ aliases:
### Bug fixes
- Update the `Kafka` client to fix a bug regarding write latency.
- Update to [Flux v0.171.0](/flux/v0.x/release-notes/#v01710) to fix "interface {} is nil, not string" issue.
- Update to [Flux v0.171.0](/flux/v0/release-notes/#v01710) to fix "interface {} is nil, not string" issue.
---

View File

@ -8,7 +8,7 @@ menu:
weight: 101
---
## Problem
You may want to use the [`monitor` package](/flux/v0.x/stdlib/influxdata/influxdb/monitor/) and take advantage of functions like [monitor.stateChangesOnly()](/flux/v0.x/stdlib/influxdata/influxdb/monitor/statechangesonly/). However, `monitor.stateChangesOnly()` only allows you to monitor four states: "crit", "warn", "ok", and "info". What if you want to be able to assign and monitor state changes across custom states or more than four states?
You may want to use the [`monitor` package](/flux/v0/stdlib/influxdata/influxdb/monitor/) and take advantage of functions like [monitor.stateChangesOnly()](/flux/v0/stdlib/influxdata/influxdb/monitor/statechangesonly/). However, `monitor.stateChangesOnly()` only allows you to monitor four states: "crit", "warn", "ok", and "info". What if you want to be able to assign and monitor state changes across custom states or more than four states?
## Solution
Define your own custom `stateChangesOnly()` function. Use the function from the source code here and alter it to accommodate more than four levels. Here we account for six different levels instead of just four.
@ -42,7 +42,7 @@ stateChangesOnly = (tables=<-) => {
}
```
Construct some example data with [`array.from()`](/flux/v0.x/stdlib/array/from/) and map custom levels to it:
Construct some example data with [`array.from()`](/flux/v0/stdlib/array/from/) and map custom levels to it:
```js
array.from(

View File

@ -9,9 +9,9 @@ weight: 105
---
## Send data in JSON body with `http.post()`
Use the [reduce()](/flux/v0.x/stdlib/universe/reduce/) function to create a JSON object to include as the body with `http.post()`.
Use the [reduce()](/flux/v0/stdlib/universe/reduce/) function to create a JSON object to include as the body with `http.post()`.
1. Import both the [array](/flux/v0.x/stdlib/array/) package to query data and construct table(s), and the [http package](/flux/v0.x/stdlib/http/) to transfer JSON over http.
1. Import both the [array](/flux/v0/stdlib/array/) package to query data and construct table(s), and the [http package](/flux/v0/stdlib/http/) to transfer JSON over http.
2. Use `array.from()` to query data and construct a table. Or, use another method [to query data with Flux](/influxdb/v2/query-data/flux/).
3. Use the `reduce()` function to construct a JSON object, and then use `yield()` to store the output of reduce. This table looks like:
@ -19,7 +19,7 @@ Use the [reduce()](/flux/v0.x/stdlib/universe/reduce/) function to create a JSON
| :-------------------- | :----------------------------- |
| example-field:["3"4"1 | {example-tag-key:["bar"bar"bar |
4. Use the [map()](/flux/v0.x/stdlib/universe/map/) function to combine the two components together into a JSON object, and then use a second `yield()` function to store this object as `final JSON`. This table looks like:
4. Use the [map()](/flux/v0/stdlib/universe/map/) function to combine the two components together into a JSON object, and then use a second `yield()` function to store this object as `final JSON`. This table looks like:
| field | tag | final |
| :-------------------- | :----------------------------- | :------------------------------------------------------- |

View File

@ -12,7 +12,7 @@ weight: 102
You may want to select data from specific hours of the day. For example, you may only want data within normal business hours (9am - 5pm).
## Solution 1
Use [hourSelection()](/flux/v0.x/stdlib/universe/hourselection/) to filter data by a specific hour range in each day.
Use [hourSelection()](/flux/v0/stdlib/universe/hourselection/) to filter data by a specific hour range in each day.
```js
import "date"
@ -26,7 +26,7 @@ from(bucket: "example-bucket")
## Solution 2
Use [date.hour()](/flux/v0.x/stdlib/date/hour/) to evaluate hours in a `filter()` predicate.
Use [date.hour()](/flux/v0/stdlib/date/hour/) to evaluate hours in a `filter()` predicate.
```js
import "date"
@ -37,4 +37,4 @@ from(bucket: "example-bucket")
|> filter(fn: (r) => r["_field"] == "example-field")
|> filter(fn: (r) => date.hour(t: r["_time"]) > 9 and date.hour(t: r["_time"]) < 17)
This solution also applies if you to select data from certain seconds in a minute, minutes in an hour, days in the month, months in the year, etc. Use the [Flux `date` package](/flux/v0.x/stdlib/date/) to assign integer representations to your data and filter for your desired schedule.
This solution also applies if you to select data from certain seconds in a minute, minutes in an hour, days in the month, months in the year, etc. Use the [Flux `date` package](/flux/v0/stdlib/date/) to assign integer representations to your data and filter for your desired schedule.

View File

@ -17,7 +17,7 @@ It's common to use [InfluxDB tasks](/influxdb/cloud/process-data/) to evaluate a
Explicitly assign levels to your data based on thresholds.
### Solution Advantages
This is the easiest solution to understand if you have never written a task with the [`monitor` package](/flux/v0.x/stdlib/influxdata/influxdb/monitor/).
This is the easiest solution to understand if you have never written a task with the [`monitor` package](/flux/v0/stdlib/influxdata/influxdb/monitor/).
### Solution Disadvantages
You have to explicitly define your thresholds, which potentially requires more code.
@ -36,9 +36,9 @@ Create a task where you:
### Solution Explained
1. Import packages and define task options and secrets. Import the following packages:
- [Flux Telegram package](/flux/v0.x/stdlib/contrib/sranka/telegram/): This package
- [Flux InfluxDB secrets package](/flux/v0.x/stdlib/influxdata/influxdb/secrets/): This package contains the [secrets.get()](/flux/v0.x/stdlib/influxdata/influxdb/secrets/get/) function which allows you to retrieve secrets from the InfluxDB secret store. Learn how to [manage secrets](/influxdb/v2/admin/secrets/) in InfluxDB to use this package.
- [Flux InfluxDB monitoring package](https://docs.influxdata.com/flux/v0.x/stdlib/influxdata/influxdb/monitor/): This package contains functions and tools for monitoring your data.
- [Flux Telegram package](/flux/v0/stdlib/contrib/sranka/telegram/): This package
- [Flux InfluxDB secrets package](/flux/v0/stdlib/influxdata/influxdb/secrets/): This package contains the [secrets.get()](/flux/v0/stdlib/influxdata/influxdb/secrets/get/) function which allows you to retrieve secrets from the InfluxDB secret store. Learn how to [manage secrets](/influxdb/v2/admin/secrets/) in InfluxDB to use this package.
- [Flux InfluxDB monitoring package](https://docs.influxdata.com/flux/v0/stdlib/influxdata/influxdb/monitor/): This package contains functions and tools for monitoring your data.
```js
@ -88,7 +88,7 @@ Create a task where you:
| example-measurement | example-tag-value | example-field | 50.0 | crit | 2022-01-01T00:01:00Z |
4. Write “states” back to InfluxDB. You can write the data to a new measurement or to a new bucket. To write the data to a new measurement, use [`set()`](/flux/v0.x/stdlib/universe/set/) to update the value of the `_measurement` column in your “states” data.
4. Write “states” back to InfluxDB. You can write the data to a new measurement or to a new bucket. To write the data to a new measurement, use [`set()`](/flux/v0/stdlib/universe/set/) to update the value of the `_measurement` column in your “states” data.
```js
states
@ -115,7 +115,7 @@ Create a task where you:
| :------------------ | :---------------- | :------------ | -----: | :----- | :------------------- |
| example-measurement | example-tag-value | example-field | 55.0 | crit | 2021-12-31T23:59:00Z |
6. Union “states” and “last_state_previous_task”. Store this data in a variable “unioned_states”. Use [`sort()`](/flux/v0.x/stdlib/universe/sort/) to ensure rows are ordered by time.
6. Union “states” and “last_state_previous_task”. Store this data in a variable “unioned_states”. Use [`sort()`](/flux/v0/stdlib/universe/sort/) to ensure rows are ordered by time.
```js
unioned_states =
@ -131,7 +131,7 @@ Create a task where you:
| example-measurement | example-tag-value | example-field | 30.0 | ok | 2022-01-01T00:00:00Z |
| example-measurement | example-tag-value | example-field | 50.0 | crit | 2022-01-01T00:01:00Z |
7. Use [`monitor.stateChangesOnly()`](/flux/v0.x/stdlib/influxdata/influxdb/monitor/statechangesonly/) to return only rows where the state changed in “unioned_states”. Store this data in a variable, “state_changes”.
7. Use [`monitor.stateChangesOnly()`](/flux/v0/stdlib/influxdata/influxdb/monitor/statechangesonly/) to return only rows where the state changed in “unioned_states”. Store this data in a variable, “state_changes”.
```js
state_changes =

View File

@ -1,7 +1,7 @@
---
title: Flux Data Structure
description: >
[Flux](/flux/v0.x/) is the native data language for the InfluxDB platform. Here, Scott Anderson discusses the 'stream of tables' concept, and how that relates to Flux's data structure.
[Flux](/flux/v0/) is the native data language for the InfluxDB platform. Here, Scott Anderson discusses the 'stream of tables' concept, and how that relates to Flux's data structure.
menu:
resources:
parent: Videos

View File

@ -1,7 +1,7 @@
---
title: Flux Functions
description: >
Functions are the building blocks of the Flux scripting language. Here, Scott Anderson describes what [Flux functions](/flux/v0.x/stdlib/all-functions/) are, how they work, and how to use them.
Functions are the building blocks of the Flux scripting language. Here, Scott Anderson describes what [Flux functions](/flux/v0/stdlib/all-functions/) are, how they work, and how to use them.
menu:
resources:
parent: Videos

View File

@ -1,3 +1,22 @@
## v2.10.1 {date="2025-05-30"}
### Features
- Implement `clustered generate` subcommand.
- Support setting the management token an using environment variable.
- Support setting profile name using an environment variable.
### Dependency updates
- Update `github.com/apache/arrow-go/v18` from 18.2.0 to 18.3.0.
- Update `github.com/containerd/containerd` from 1.7.12 to 1.7.27.
- Update `github.com/go-git/go-git/v5` from 5.15.0 to 5.16.0.
- Update `golang.org/x/oauth2` from 0.29.0 to 0.30.0.
- Update `google.golang.org/grpc` from 1.71.1 to 1.72.1.
- Update `helm.sh/helm/v3` from 3.14.2 to 3.17.3.
---
## v2.10.0 {date="2025-04-04"}
### Features

View File

@ -4,7 +4,7 @@ values of one or more columns in a table, improving the performance of
queries that return distinct tag and field values.
The DVC is an in-memory cache that stores distinct values for specific columns
in a table. When you create an DVC, you can specify what columns' distinct
in a table. When you create a DVC, you can specify what columns' distinct
values to cache, the maximum number of distinct value combinations to cache, and
the maximum age of cached values. A DVC is associated with a table, which can
have multiple DVCs.
@ -68,11 +68,17 @@ similar to this:
DVCs are stored in memory; the larger the cache, the more memory your InfluxDB 3
node requires to maintain it. Consider the following:
- [Cache data loading](#cache-data-loading)
- [High cardinality limits](#high-cardinality-limits)
{{% show-in "core" %}}
- [Distinct Value Caches are flushed when the server stops](#distinct-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}
## Cache data loading
On cache creation, {{% product-name %}} loads historical data into the cache.
On restart, the server automatically reloads cache data.
### High cardinality limits
“Cardinality” refers to the number of unique key column combinations in your

View File

@ -95,12 +95,10 @@ Replace the following:
- {{% code-placeholder-key %}}`DVC_NAME`{{% /code-placeholder-key %}}:
a unique name for the DVC
> [!Note]
> #### Values are cached on write
>
> Values are cached on write. When you create a cache, it will not cache
> previously written points, only newly written points.
>
The cache imports the distinct values from the table and starts caching them.
> [!Important]
> #### DVC size and persistence
>
> The DVC is stored in memory, so it's important to consider the size and

View File

@ -81,11 +81,17 @@ similar to the following:
LVCs are stored in memory; the larger the cache, the more memory your InfluxDB 3 node requires to
maintain it. Consider the following:
- [Cache data loading](#cache-data-loading)
- [High cardinality key columns](#high-cardinality-key-columns)
- [Value count](#value-count)
{{% show-in "core" %}}
- [Last Value Caches are flushed when the server stops](#last-value-caches-are-flushed-when-the-server-stops)
{{% /show-in %}}lue-columns)
{{% /show-in %}}
## Cache data loading
On cache creation, {{% product-name %}} loads historical data into the cache.
On restart, the server automatically reloads cache data.
### High cardinality key columns

View File

@ -109,12 +109,9 @@ Replace the following:
- {{% code-placeholder-key %}}`LVC_NAME`{{% /code-placeholder-key %}}:
a unique name for the LVC
> [!Note]
> #### Values are cached on write
>
> Values are cached on write. When you create a cache, it will not cache
> previously written points, only newly written points.
>
The cache imports the distinct values from the table and starts caching them.
> [!Important]
> #### LVC size and persistence
>
> The LVC is stored in memory, so it's important to consider the size and persistence

View File

@ -1,66 +1,70 @@
Manage tokens to authenticate and authorize access to resources and data in your {{< product-name >}} instance.
Manage tokens to authenticate and authorize access to server actions, resources, and data in your {{< product-name >}} instance.
## Provide your token
Before running CLI commands or making HTTP API requests, you must provide a valid token to authenticate.
If you start the {{< product-name >}} server with authentication enabled (the default), future server actions (CLI commands and HTTP API requests) require a valid token for authorization.
The first admin token you create is the _operator_ token (named `_admin`), which has full administrative privileges.
You can use the operator token to authenticate your requests and manage additional authorization tokens.
The mechanism for providing your token depends on the client you use to interact with {{% product-name %}}--for example:
{{< tabs-wrapper >}}
{{% tabs %}}
[influxdb3 CLI](#influxdb3-cli-auth)
[cURL](#curl-auth)
{{% /tabs %}}
{{% tab-content %}}
When using the `influxdb3` CLI, you can use the `--token` option to provide your authorization token.
When using the `influxdb3` CLI, you can set the `INFLUXDB3_AUTH_TOKEN` environment variable to automatically provide your
authorization token to all `influxdb3` commands--for example:
{{% code-placeholders "YOUR_TOKEN" %}}
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash
# Export your token as an environment variable
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
# Run an influxdb3 command
influxdb3 query \
--database DATABASE_NAME \
"SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"
```
{{% /code-placeholders %}}
To specify a token in the command and override the environment variable, pass the `--token` option with your authorization token--for example:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash
# Include the --token option in your influxdb3 command
influxdb3 query \
--token YOUR_TOKEN \
--database example-db \
"SELECT * FROM 'example-table' WHERE time > now() - INTERVAL '10 minutes'"
--token YOUR_AUTH_TOKEN \
--database DATABASE_NAME \
"SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"
```
{{% /code-placeholders %}}
You can also set the `INFLUXDB3_AUTH_TOKEN` environment variable to automatically provide your
authorization token to all `influxdb3` commands.
{{% code-placeholders "YOUR_TOKEN" %}}
```bash
# Export your token as an environment variable
export INFLUXDB3_AUTH_TOKEN=YOUR_TOKEN
# Run an influxdb3 command without the --token option
influxdb3 query \
--database example-db \
"SELECT * FROM 'example-table' WHERE time > now() - INTERVAL '10 minutes'"
```
{{% /code-placeholders %}}
Replace `YOUR_TOKEN` with your authorization token.
{{% /tab-content %}}
{{% tab-content %}}
{{% code-placeholders "AUTH_TOKEN" %}}
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash
# Add your token to the HTTP Authorization header
curl "http://{{< influxdb/host >}}/api/v3/query_sql" \
--header "Authorization: Bearer AUTH_TOKEN" \
--data-urlencode "db=example-db" \
--data-urlencode "q=SELECT * FROM 'example-table' WHERE time > now() - INTERVAL '10 minutes'"
--header "Authorization: Bearer YOUR_AUTH_TOKEN" \
--data-urlencode "db=DATABASE_NAME" \
--data-urlencode "q=SELECT * FROM 'DATABASE_NAME' WHERE time > now() - INTERVAL '10 minutes'"
```
{{% /code-placeholders %}}
Replace `AUTH_TOKEN` with your actual InfluxDB 3 token.
{{% /tab-content %}}
{{< /tabs-wrapper >}}
Replace the following with your values:
- {{% code-placeholder-key %}}`YOUR_AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database you want to query
{{< children hlevel="h2" readmore=true hr=true >}}

View File

@ -1,2 +1,27 @@
<!-->
{{< children hlevel="h2" readmore=true hr=true >}}
<!--
-->
Manage {{< product-name omit="Clustered" >}} admin tokens to authorize server actions, `influxdb3` CLI commands, and HTTP API endpoints for your {{< product-name omit="Clustered" >}} instance.
Administrative (_admin_) tokens provide full system access and management capabilities for your {{< product-name omit="Clustered" >}} instance.
{{% show-in "core" %}}
Admin tokens can create, edit, and delete other admin tokens.
{{% /show-in %}}
{{% show-in "enterprise" %}}
Admin tokens can create, edit, and delete other admin tokens, as well as manage [resource tokens](/influxdb3/version/admin/tokens/resource/).
{{% /show-in %}}
{{% product-name omit="Clustered" %}} supports two types of admin tokens:
- **Operator token**: A system-generated administrative token with the name `_admin`.
- Cannot be edited or deleted
- Never expires
- Cannot be recreated if lost (future functionality)
- Can be regenerated using the CLI
- **Named admin token**: User-defined administrative tokens with full admin permissions.
- Can be created, edited, and deleted
- Support expiration dates
- Cannot modify or remove the operator token
An {{% product-name omit="Clustered" %}} instance can have one operator token and unlimited named admin tokens.
{{< children hlevel="h2" readmore=true hr=true >}}

View File

@ -1,18 +1,36 @@
Use the [`influxdb3 create token --admin` subcommand](/influxdb3/version/reference/cli/influxdb3/create/token/)
or the [HTTP API](/influxdb3/version/api/v3/)
to create an [admin token](/influxdb3/version/admin/tokens/admin/) for your {{< product-name omit="Clustered" >}} instance.
An admin token grants full access to all actions for your InfluxDB 3 instance.
with the `--name` option or the HTTP API [`/api/v3/configure/token/admin`](/influxdb3/version/api/v3/) endpoint
to create an admin token for your {{< product-name omit="Clustered" >}} instance.
An admin token grants full access to all actions for your InfluxDB 3 instance and can be referenced by its name.
{{% product-name omit="Clustered" %}} supports two types of admin tokens:
- **Operator token**: A system-generated administrative token with the name `_admin`.
- Cannot be edited or deleted
- Never expires
- Cannot be recreated if lost (future functionality)
- Can be regenerated using the CLI
- **Named admin token**: User-defined administrative tokens with full admin permissions.
- Can be created, edited, and deleted
- Support expiration dates
- Cannot modify or remove the operator token
An {{% product-name omit="Clustered" %}} instance can have one operator token and unlimited named admin tokens.
[Create an operator token](#create-an-operator-token)
[Create a named admin token](#create-a-named-admin-token)
> [!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**.
> Anyone with access to the admin token has full control over your {{< product-name >}} instance.
> If you lose the admin token string, you must regenerate the token.
> Anyone with access to the named admin token has full control over your {{< product-name >}} instance.
> If you lose the named admin token string, you must regenerate the token.
## Create an admin token
## Create an operator token
The first admin token your create for your {{% product-name %}}
instance is the operator token.
{{< tabs-wrapper >}}
{{% tabs %}}
@ -20,27 +38,71 @@ An admin token grants full access to all actions for your InfluxDB 3 instance.
[HTTP API](#use-the-http-api)
{{% /tabs %}}
{{% tab-content %}}
Use the `influxdb3 create token --admin` command:
Use the `influxdb3 create token --admin` command without a token name:
```bash
influxdb3 create token --admin
```
The output contains the token string in plain text.
To use the token as the default for later commands, and to persist the token
across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environment variable.
{{% /tab-content %}}
{{% tab-content %}}
Use the following endpoint to create an admin token:
Use the following endpoint to create an operator token:
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Accept: application/json' \
--header 'Content-Type: application/json'
```
{{% /tab-content %}}
{{< /tabs-wrapper >}}
The output contains the token string in plain text.
## Create a named admin token
{{< tabs-wrapper >}}
{{% tabs %}}
[CLI](#use-the-influxdb3-cli)
[HTTP API](#use-the-http-api)
{{% /tabs %}}
{{% tab-content %}}
Use the `influxdb3 create token --admin` command with a token name:
{{% code-placeholders "TOKEN_NAME|ADMIN_TOKEN" %}}
```bash
influxdb3 create token --admin --token ADMIN_TOKEN --name "TOKEN_NAME"
```
{{% /code-placeholders %}}
Replace the following with your values:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: your existing operator or named admin token
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: the name you want to assign to the new admin token
The output contains the token string in plain text.
{{% /tab-content %}}
{{% tab-content %}}
Use the following endpoint to create a named admin token:
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin" api-ref="/influxdb3/version/api/v3/#operation/PostCreateAdminToken" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin" \
--header 'Authorization Bearer ADMIN_TOKEN' \
--json '{
"name": "TOKEN_NAME"
}'
```
Replace the following with your values:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: your existing operator or named admin token
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: the name you want to assign to the new admin token
The response body contains the token string in plain text.
{{% /tab-content %}}
{{< /tabs-wrapper >}}
_To use the token as the default for later commands, and to persist the token
across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environment variable._

View File

@ -12,8 +12,7 @@ data and resources in your InfluxDB 3 instance.
> #### Required permissions
>
> Listing admin tokens requires a valid InfluxDB {{% token-link "admin" %}}{{% show-in "enterprise" %}} or a token with read access to the `_internal` system database{{% /show-in %}}.
> For more information about providing a token, see [provide your token](/influxdb3/version/admin/tokens/#provide-your-token).
> For more information, see how to [provide your token](/influxdb3/version/admin/tokens/#provide-your-token).
## List all tokens

View File

@ -1,54 +1,45 @@
Use the `influxdb3` CLI or the HTTP API to regenerate an admin token.
Use the `influxdb3` CLI or the HTTP API to regenerate the operator (`_admin`) token for your {{% product-name %}} instance.
Regenerate a token to rotate it as part of your security practices or if you suspect
the token has been compromised.
{{< show-in "enterprise" >}}
Regenerating an admin token deactivates the previous token,
Regenerating the operator token deactivates the previous token,
stores the SHA512 hash and metadata of the new token, and returns the new token string.
{{< /show-in >}}
{{< show-in "core" >}}
Regenerating the admin token deactivates the previous token, updates the `_admin` token
SHA512 hash and metadata, and returns the new token string.
{{< /show-in >}}
An admin token grants access to all actions on the server.
## Prerequisite
To regenerate a token, you need the current token string.
To regenerate an operator token, you need the current token string.
## Use the CLI or HTTP API to regenerate an admin token
## Use the CLI or HTTP API to regenerate the operator token
> [!Important]
> #### Securely store your token
>
> InfluxDB lets you view the token string only when you create the token.
> Store your token in a secure location, as you cannot retrieve it from the database later.
> InfluxDB 3 stores only the token's hash and metadata in the catalog.
> #### Regenerating the operator token
> Regenerating the operator token invalidates the previous token.
> Make sure to update any applications or scripts that use the operator token.
To regenerate the operator token, use the [`influxdb3 serve create token` command] with the `--admin` and `--regenerate` flags:
{{< tabs-wrapper >}}
{{% tabs %}}
[CLI](#cli-regenerate-admin-token)
[HTTP API](#http-api-regenerate-admin-token)
[CLI](#cli-regenerate)
[HTTP API](#http-api-regenerate)
{{% /tabs %}}
{{% tab-content %}}
<!---------------------------------BEGIN CLI----------------------------------->
Use the `--regenerate` flag with the
`influxdb3 create token --admin` subcommand--for example:
[`influxdb3 create token --admin`](/influxdb3/version/reference/cli/influxdb3/create/token/) subcommand--for example:
{{% code-placeholders "ADMIN_TOKEN" %}}
{{% code-placeholders "OPERATOR_TOKEN" %}}
```bash
influxdb3 create token --admin \
--token ADMIN_TOKEN \
--regenerate
OPERATOR_TOKEN
```
{{% /code-placeholders %}}
In your command,
replace {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}
with the current token string.
replace {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}}
with the current operator (`_admin`) token string.
The CLI asks for confirmation before regenerating the token.
The output contains the new token string and InfluxDB deactivates the previous token string.
<!----------------------------END CLI------------------------------------------>
{{% /tab-content %}}
@ -58,20 +49,31 @@ Use the following HTTP API endpoint:
{{% api-endpoint method="POST" endpoint="/api/v3/configure/token/admin/regenerate" api-ref="/influxdb3/version/api/v3/configure/token/admin/regenerate" %}}
In your request, send an `Authorization` header with your current admin token string
In your request, send an `Authorization` header with your current operator token string
--for example:
{{% code-placeholders "ADMIN_TOKEN" %}}
{{% code-placeholders "OPERATOR_TOKEN" %}}
```bash
curl -X POST "http://{{< influxdb/host >}}/api/v3/configure/token/admin/regenerate" \
--header "Authorization: Bearer ADMIN_TOKEN" \
--header "Authorization: Bearer OPERATOR_TOKEN" \
--header "Accept: application/json"
```
{{% /code-placeholders %}}
In your command, replace {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}} with the current token string.
In your command, replace {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}} with the current token string.
The output contains the new token string and InfluxDB deactivates the previous token string.
The response body contains the new operator token string in plain text, and InfluxDB deactivates the previous token string.
<!------------------------END HTTP API ---------------------------------------->
{{% /tab-content %}}
{{< /tabs-wrapper >}}
To use the token as the default for later commands, and to persist the token
across sessions, assign the token string to the `INFLUXDB3_AUTH_TOKEN` environment variable.
## Important considerations
- Regenerating the operator token invalidates the previous token.
- If you lose the operator token, there is no recovery mechanism.
- `--regenerate` only works for the operator token. You can't use the `--regenerate` flag with the `influxdb3 create token --admin` command to regenerate a named admin token.
- Ensure that you update any applications or scripts that use the operator token with the new token string.
- Always store your operator token securely and consider implementing proper secret management practices.

View File

@ -1,65 +0,0 @@
The `influxdb3 create token` command creates a new authentication token. This returns the raw token string. Use it to authenticate future CLI commands and API requests.
> [!Important]
> InfluxDB displays the raw token string only once. Be sure to copy and securely store it.
## Usage
<!--pytest.mark.skip-->
```bash
influxdb3 create token <SUBCOMMAND>
```
## Commands
| Command | Description |
| :----- | :----------- | :------------------------------ |
| `--admin` | Create an admin token for the {{< product-name >}} server. |
{{% show-in "enterprise" %}}| [`--permission`](/influxdb3/enterprise/reference/cli/influxdb3/create/token/permission/) | Create a resource token with fine-grained access permissions. |{{% /show-in %}}
## Options
| Option | | Description |
| :----- | :------- | :--------------------- |
| |`--admin`| Create an admin token |
| `-h` | `--help` | Print help information |
## Examples
### Create an admin token
<!--pytest.mark.skip-->
```bash
influxdb3 create token --admin
```
The output is the raw token string you can use to authenticate future CLI commands and API requests.
For CLI commands, use the `--token` option or the `INFLUXDB3_AUTH_TOKEN` environment variable to pass the token string.
### Use the token to create a database
{{% code-placeholders "YOUR_ADMIN_TOKEN|DATABASE_NAME" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create database \
--token ADMIN_TOKEN \
DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: Your InfluxDB admin token
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name for your new database
> [!Note]
> Set the token as an environment variable to simplify repeated CLI commands:
>
> ```bash
> export INFLUXDB3_AUTH_TOKEN=YOUR_ADMIN_TOKEN
> ```

View File

@ -0,0 +1,28 @@
The `influxdb3 create token` command creates a new authentication token. This returns the raw token string. Use it to authenticate future CLI commands and API requests.
> [!Important]
> InfluxDB displays the raw token string only once. Be sure to copy and securely store it.
## Usage
<!--pytest.mark.skip-->
```bash
influxdb3 create token <SUBCOMMAND>
```
## Commands
| Command | Description |
| :----- | :----------- | :------------------------------ |
| [`--admin`](/influxdb3/version/reference/cli/influxdb3/create/token/admin/) | Create an operator or named admin token for the {{< product-name >}} server. |
{{% show-in "enterprise" %}}| [`--permission`](/influxdb3/enterprise/reference/cli/influxdb3/create/token/permission/) | Create a resource token with fine-grained access permissions. |{{% /show-in %}}
## Options
| Option | | Description |
| :----- | :------- | :--------------------- |
| |`--admin`| Create an admin token |
| `-h` | `--help` | Print help information |

View File

@ -0,0 +1,85 @@
Create an operator token or named admin token.
## Usage
```
influxdb3 create token --admin [OPTIONS]
```
## Options
| Option | Description |
|:-------|:------------|
| `--regenerate` | Regenerates the operator token. Requires `--token` and the current operator token |
| `--name <NAME>` | Name of the token |
| `--expiry <EXPIRY>` | Expires in `duration`--for example, 10d for 10 days 1y for 1 year |
| `--host <host>` | The host URL of the running InfluxDB 3 server [env: `INFLUXDB3_HOST_URL=`] [default: `http://127.0.0.1:8181`] |
| `--token <token>` | An existing admin token for the InfluxDB 3 server |
| `--tls-ca <tls-ca>` | An optional arg to use a custom ca for useful for testing with self signed certs |
| `--format <FORMAT>` | Output format for token [possible values: `json`, `text`] |
| `-h`, `--help` | Print help information |
| `--help-all` | Print more detailed help information |
## Examples
### Create an operator token
The operator token is a special token that has full administrative privileges on the InfluxDB server and doesn't expire.
The first admin token you create becomes the operator token for the instance.
You can create an operator token using the `--admin` flag without any additional options.
<!--pytest.mark.skip-->
```bash
influxdb3 create token --admin
```
The output is the raw token string you can use to authenticate future CLI commands and API requests.
For CLI commands, use the `--token` option or the `INFLUXDB3_AUTH_TOKEN` environment variable to pass the token string.
### Use the operator token to create a named admin token
{{% code-placeholders "OPERATOR_TOKEN|TOKEN_NAME|EXPIRY" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create token \
--admin \
--token OPERATOR_TOKEN \
--name TOKEN_NAME \
--expiry DURATION
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`OPERATOR_TOKEN`{{% /code-placeholder-key %}}: Your operator token for the server
- {{% code-placeholder-key %}}`TOKEN_NAME`{{% /code-placeholder-key %}}: Name for your new admin token
- {{% code-placeholder-key %}}`DURATION`{{% /code-placeholder-key %}}: Duration for the token to remain valid, in [humantime](https://docs.rs/humantime/latest/humantime/fn.parse_duration.html) format (for example, `10d` for 10 days or `1y` for 1 year).
### Use the token to create a database
{{% code-placeholders "YOUR_ADMIN_TOKEN|DATABASE_NAME" %}}
<!--pytest.mark.skip-->
```bash
influxdb3 create database \
--token ADMIN_TOKEN \
DATABASE_NAME
```
{{% /code-placeholders %}}
Replace the following:
- {{% code-placeholder-key %}}`ADMIN_TOKEN`{{% /code-placeholder-key %}}: Your InfluxDB admin token
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: Name for your new database
> [!Note]
> #### Use CLI environment variables
> Set the token as an environment variable to simplify repeated CLI commands:
>
> ```bash
> export INFLUXDB3_AUTH_TOKEN=ADMIN_TOKEN
> ```

View File

@ -1,37 +1,13 @@
InfluxDB is a database built to collect, process, transform, and store event and time series data, and is ideal for use cases that require real-time ingest and fast query response times to build user interfaces, monitoring, and automation solutions.
Common use cases include:
- Monitoring sensor data
- Server monitoring
- Application performance monitoring
- Network monitoring
- Financial market and trading analytics
- Behavioral analytics
InfluxDB is optimized for scenarios where near real-time data monitoring is essential and queries need to return quickly to support user experiences such as dashboards and interactive user interfaces.
{{% product-name %}} is built on InfluxDB 3 Core, the InfluxDB 3 open source release.
Core's feature highlights include:
* Diskless architecture with object storage support (or local disk with no dependencies)
* Fast query response times (under 10ms for last-value queries, or 30ms for distinct metadata)
* Embedded Python VM for plugins and triggers
* Parquet file persistence
* Compatibility with InfluxDB 1.x and 2.x write APIs
The Enterprise version adds the following features to Core:
* Historical query capability and single series indexing
* High availability
* Read replicas
* Enhanced security (coming soon)
* Row-level delete support (coming soon)
* Integrated admin UI (coming soon)
### What's in this guide
{{% show-in "enterprise" %}}
This guide covers Enterprise as well as InfluxDB 3 Core, including the following topics:
{{% /show-in %}}
{{% show-in "core" %}}
This guide covers InfluxDB 3 Core (the open source release), including the following topics:
{{% /show-in %}}
- [Install and startup](#install-and-startup)
- [Authentication and authorization](#authentication-and-authorization)
@ -42,7 +18,9 @@ This guide covers Enterprise as well as InfluxDB 3 Core, including the following
- [Last values cache](#last-values-cache)
- [Distinct values cache](#distinct-values-cache)
- [Python plugins and the processing engine](#python-plugins-and-the-processing-engine)
{{% show-in "enterprise" %}}
- [Multi-server setups](#multi-server-setup)
{{% /show-in %}}
> [!Tip]
> #### Find support for {{% product-name %}}
@ -54,6 +32,7 @@ This guide covers Enterprise as well as InfluxDB 3 Core, including the following
{{% product-name %}} runs on **Linux**, **macOS**, and **Windows**.
{{% show-in "enterprise" %}}
{{% tabs-wrapper %}}
{{% tabs %}}
[Linux or macOS](#linux-or-macos)
@ -107,18 +86,67 @@ Pull the image:
docker pull influxdb:3-enterprise
```
##### InfluxDB 3 Explorer -- Query Interface (beta)
<!--------------- END DOCKER -------------->
{{% /tab-content %}}
{{% /tabs-wrapper %}}
{{% /show-in %}}
You can download the new InfluxDB 3 Explorer query interface using Docker.
Explorer is currently in beta. Pull the image:
{{% show-in "core" %}}
{{% tabs-wrapper %}}
{{% tabs %}}
[Linux or macOS](#linux-or-macos)
[Windows](#windows)
[Docker](#docker)
{{% /tabs %}}
{{% tab-content %}}
<!--------------- BEGIN LINUX AND MACOS -------------->
To get started quickly, download and run the install script--for example, using [curl](https://curl.se/download.html):
<!--pytest.mark.skip-->
```bash
docker pull quay.io/influxdb/influxdb3-explorer:latest
curl -O https://www.influxdata.com/d/install_influxdb3.sh \
&& sh install_influxdb3.sh
```
Or, download and install [build artifacts](/influxdb3/core/install/#download-influxdb-3-core-binaries):
- [Linux | AMD64 (x86_64) | GNU](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}_linux_amd64.tar.gz)
[sha256](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}_linux_amd64.tar.gz.sha256)
- [Linux | ARM64 (AArch64) | GNU](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}_linux_arm64.tar.gz)
[sha256](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}_linux_arm64.tar.gz.sha256)
- [macOS | Silicon (ARM64)](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}_darwin_arm64.tar.gz)
[sha256](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}_darwin_arm64.tar.gz.sha256)
> [!Note]
> macOS Intel builds are coming soon.
<!--------------- END LINUX AND MACOS -------------->
{{% /tab-content %}}
{{% tab-content %}}
<!--------------- BEGIN WINDOWS -------------->
Download and install the {{% product-name %}} [Windows (AMD64, x86_64) binary](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}-windows_amd64.zip)
[sha256](https://dl.influxdata.com/influxdb/releases/influxdb3-{{< product-key >}}-{{< latest-patch >}}-windows_amd64.zip.sha256)
<!--------------- END WINDOWS -------------->
{{% /tab-content %}}
{{% tab-content %}}
<!--------------- BEGIN DOCKER -------------->
The [`influxdb:3-core` image](https://hub.docker.com/_/influxdb/tags?tag=3-core&name=3-core)
is available for x86_64 (AMD64) and ARM64 architectures.
Pull the image:
<!--pytest.mark.skip-->
```bash
docker pull influxdb:3-core
```
<!--------------- END DOCKER -------------->
{{% /tab-content %}}
{{% /tabs-wrapper %}}
{{% /show-in %}}
_Build artifacts and images update with every merge into the {{% product-name %}} `main` branch._
@ -137,11 +165,11 @@ If your system doesn't locate `influxdb3`, then `source` the configuration file
source ~/.zshrc
```
#### Start InfluxDB
To start your InfluxDB instance, use the `influxdb3 serve` command and provide the following:
- `--object-store`: Specifies the type of object store to use.
InfluxDB supports the following: local file system (`file`), `memory`,
S3 (and compatible services like Ceph or Minio) (`s3`),
@ -149,8 +177,14 @@ To start your InfluxDB instance, use the `influxdb3 serve` command and provide t
The default is `file`.
Depending on the object store type, you may need to provide additional options
for your object store configuration.
{{% show-in "enterprise" %}}
- `--node-id`: A string identifier that distinguishes individual server instances within the cluster. This forms the final part of the storage path: `<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>`. In a multi-node setup, this ID is used to reference specific nodes.
- `--cluster-id`: A string identifier that determines part of the storage path hierarchy. All nodes within the same cluster share this identifier. The storage path follows the pattern `<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>`. In a multi-node setup, this ID is used to reference the entire cluster.
{{% /show-in %}}
{{% show-in "core" %}}
- `--node-id`: A string identifier that distinguishes individual server instances.
This forms the final part of the storage path: `<CONFIGURED_PATH>/<NODE_ID>`.
{{% /show-in %}}
The following examples show how to start {{% product-name %}} with different object store configurations.
@ -161,8 +195,10 @@ The following examples show how to start {{% product-name %}} with different obj
> storage alone, eliminating the need for locally attached disks.
> {{% product-name %}} can also work with only local disk storage when needed.
{{% show-in "enterprise" %}}
> [!Note]
> The combined path structure `<CONFIGURED_PATH>/<CLUSTER_ID>/<NODE_ID>` ensures proper organization of data in your object store, allowing for clean separation between clusters and individual nodes.
{{% /show-in %}}
##### Filesystem object store
@ -171,6 +207,7 @@ This is the default object store type.
Replace the following with your values:
{{% show-in "enterprise" %}}
```bash
# Filesystem object store
# Provide the filesystem directory
@ -180,17 +217,28 @@ influxdb3 serve \
--object-store file \
--data-dir ~/.influxdb3
```
{{% /show-in %}}
{{% show-in "core" %}}
```bash
# File system object store
# Provide the file system directory
influxdb3 serve \
--node-id host01 \
--object-store file \
--data-dir ~/.influxdb3
```
{{% /show-in %}}
To run the [Docker image](/influxdb3/version/install/#docker-image) and persist data to the filesystem, mount a volume for the object store-for example, pass the following options:
To run the [Docker image](/influxdb3/version/install/#docker-image) and persist data to the file system, mount a volume for the object store-for example, pass the following options:
- `-v /path/on/host:/path/in/container`: Mounts a directory from your filesystem to the container
- `-v /path/on/host:/path/in/container`: Mounts a directory from your file system to the container
- `--object-store file --data-dir /path/in/container`: Uses the mount for server storage
{{% show-in "enterprise" %}}
<!--pytest.mark.skip-->
```bash
# Filesystem object store with Docker
# File system object store with Docker
# Create a mount
# Provide the mount path
docker run -it \
@ -201,8 +249,21 @@ docker run -it \
--object-store file \
--data-dir /path/in/container
```
{{% /show-in %}}
{{% show-in "core" %}}
<!--pytest.mark.skip-->
```bash
# File system object store with Docker
# Create a mount
# Provide the mount path
docker run -it \
-v /path/on/host:/path/in/container \
influxdb:3-core influxdb3 serve \
--node-id my_host \
--object-store file \
--data-dir /path/in/container
```
{{% /show-in %}}
> [!Note]
>
@ -215,6 +276,7 @@ Store data in an S3-compatible object store.
This is useful for production deployments that require high availability and durability.
Provide your bucket name and credentials to access the S3 object store.
{{% show-in "enterprise" %}}
```bash
# S3 object store (default is the us-east-1 region)
# Specify the object store type and associated options
@ -227,6 +289,7 @@ influxdb3 serve \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY
```
```bash
# Minio or other open source object store
# (using the AWS S3 API with additional parameters)
@ -241,12 +304,40 @@ influxdb3 serve \
--aws-endpoint ENDPOINT \
--aws-allow-http
```
{{% /show-in %}}
{{% show-in "core" %}}
```bash
# S3 object store (default is the us-east-1 region)
# Specify the object store type and associated options
influxdb3 serve \
--node-id host01 \
--object-store s3 \
--bucket OBJECT_STORE_BUCKET \
--aws-access-key AWS_ACCESS_KEY_ID \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY
```
```bash
# Minio or other open source object store
# (using the AWS S3 API with additional parameters)
# Specify the object store type and associated options
influxdb3 serve \
--node-id host01 \
--object-store s3 \
--bucket OBJECT_STORE_BUCKET \
--aws-access-key-id AWS_ACCESS_KEY_ID \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY \
--aws-endpoint ENDPOINT \
--aws-allow-http
```
{{% /show-in %}}
#### Memory object store
Store data in RAM without persisting it on shutdown.
It's useful for rapid testing and development.
{{% show-in "enterprise" %}}
```bash
# Memory object store
# Stores data in RAM; doesn't persist data
@ -255,13 +346,33 @@ influxdb3 serve \
--cluster-id cluster01 \
--object-store memory
```
{{% /show-in %}}
{{% show-in "core" %}}
```bash
# Memory object store
# Stores data in RAM; doesn't persist data
influxdb3 serve \
--node-id host01 \
--object-store memory
```
{{% /show-in %}}
For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/serve/):
For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/serve/):
```bash
influxdb3 serve --help
```
> [!Tip]
> #### Run the InfluxDB 3 Explorer query interface (beta)
>
> InfluxDB 3 Explorer (currently in beta) is the web-based query and
> administrative interface for InfluxDB 3.
> It provides visual management of databases and tokens and an easy way to query your time series data.
>
> For more information, see the [InfluxDB 3 Explorer documentation](/influxdb3/explorer/).
{{% show-in "enterprise" %}}
#### Licensing
When first starting a new instance, {{% product-name %}} prompts you to select a license type.
@ -273,45 +384,45 @@ InfluxDB 3 Enterprise licenses authorize the use of the InfluxDB 3 Enterprise so
- **Commercial**: Commercial license with full access to InfluxDB 3 Enterprise capabilities.
You can learn more on managing your InfluxDB 3 Enterprise license on the [Manage your license](https://docs.influxdata.com/influxdb3/enterprise/admin/license/)page.
{{% /show-in %}}
### Authentication and authorization
After you have [started the server](#start-influxdb), you can create and manage tokens using the `influxdb3` CLI or the HTTP API.
{{% product-name %}} uses token-based authentication and authorization which is enabled by default when you start the server.
{{% product-name %}} uses token-based authentication and authorization, which is enabled by default when you start the server.
With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests.
{{% show-in "enterprise" %}}
{{% product-name %}} supports the following types of tokens:
- **admin token**: Grants access to all CLI actions and API endpoints. A server can have one admin token.
- **resource tokens**: Fine-grained permissions tokens that grant read and write access to specific resources (databases and system information endpoints) on the server.
- **resource tokens**: Tokens that grant read and write access to specific resources (databases and system information endpoints) on the server.
- A database token grants access to write and query data in a
database
- A system token grants read access to system information endpoints and
metrics for the server
{{% /show-in %}}
{{% show-in "core" %}}
{{% product-name %}} supports _admin_ tokens, which grant access to all CLI actions and API endpoints.
{{% /show-in %}}
InfluxDB 3 supports the `*` resource name wildcard to grant permissions to all
resources of a specific type.
You can create multiple resource tokens for different resources.
For more information about tokens and authorization, see [Manage tokens](/influxdb3/version/admin/tokens/).
When you create a token, InfluxDB 3 returns a token string in plain text
that you use to authenticate CLI commands and API requests.
#### Create an operator token
To have the `influxdb3` CLI use your admin token automatically, assign it to the
`INFLUXDB3_AUTH_TOKEN` environment variable.
After you start the server, create your first admin token.
The first admin token you create is the _operator_ token for the server.
Use the `influxdb3` CLI or the HTTP API to create your operator token.
> [!Important]
> #### Securely store your token
>
> InfluxDB lets you view the token string only when you create the token.
> Store your token in a secure location, as you cannot retrieve it from the database later.
> InfluxDB 3 stores only the token's hash and metadata in the catalog.
#### Create an admin token
To create an admin token, use the `influxdb3 create token --admin` subcommand--for example:
> **Store your token securely**
>
> InfluxDB displays the token string only when you create it.
> Store your token securely—you cannot retrieve it from the database later.
{{< code-tabs-wrapper >}}
{{% code-tabs %}}
[CLI](#)
[Docker](#)
@ -319,8 +430,7 @@ To create an admin token, use the `influxdb3 create token --admin` subcommand--f
{{% code-tab-content %}}
```bash
influxdb3 create token --admin \
--host http://INFLUXDB_HOST
influxdb3 create token --admin
```
{{% /code-tab-content %}}
@ -336,146 +446,65 @@ docker exec -it CONTAINER_NAME influxdb3 create token --admin
Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}} with the name of your running Docker container.
{{% /code-tab-content %}}
{{< /code-tabs-wrapper >}}
The command returns a token string that you can use to authenticate CLI commands and API requests.
Store your token in a secure location, as you cannot retrieve it from the database later.
The command returns a token string for authenticating CLI commands and API requests.
Store your token securely—you cannot retrieve it from the database later.
For more information about tokens, see how to [Manage admin tokens](/influxdb3/version/admin/tokens/admin/).
#### Set your token for authentication
After you have created an admin token, you can use it to create database tokens and system tokens.
Use your operator token to authenticate server actions in {{% product-name %}},
such as creating additional tokens, performing administrative tasks, and writing and querying data.
#### Create a database token
Use one of the following methods to provide your token and authenticate `influxdb3` CLI commands.
To create a database token, use the `influxdb3 create token` subcommand and pass the following:
- `--permission`: Create a token with fine-grained permissions
- `--name`: A unique name for the token
- _Options_, for example:
- `--expiry` option with the token expiration time as a [duration](/influxdb3/enterprise/reference/glossary/#duration).
If an expiration isn't set, the token does not expire until revoked.
- `--token` option with the admin token to use for authentication
- Token permissions as a string literal in the `RESOURCE_TYPE:RESOURCE_NAMES:ACTIONS` format--for example:
- `"db:mydb:read,write"`
- `db:`: The `db` resource type, which specifies the token is for a database
- `mydb`: The name of the database to grant permissions to. This part supports the `*` wildcard, which grants permissions to all databases.
- `read,write`: A comma-separated list of permissions to grant to the token.
The following example shows how to create a database token that expires in 90 days and has read and write permissions for all databases on the server:
{{% code-placeholders "ADMIN_TOKEN" %}}
```bash
influxdb3 create token \
--permission \
--expiry 90d \
--token ADMIN_TOKEN \
--host http://{{< influxdb/host >}} \
--name "rw all databases" \
"db:*:read,write"
```
{{% /code-placeholders %}}
In your command, replace {{% code-placeholder-key %}} `ADMIN_TOKEN`{{% /code-placeholder-key %}} with the admin token you created earlier.
#### Create a system token
A _system token_ grants read access to system information and metrics for the server, including the following HTTP API endpoints:
- `/health`
- `/metrics`
- `/ping`
To create a system token, use the `influxdb3 create token` subcommand and pass the following:
- `--permission`: Create a token with fine-grained permissions
- `--name`: A unique name for the token
- _Options_, for example:
- `--expiry` option with the token expiration time as a [duration](/influxdb3/enterprise/reference/glossary/#duration).
If an expiration isn't set, the token does not expire until revoked.
- `--token` option with the admin token to use for authentication
- `--host` option with the server host
- Token permissions as a string literal in the `RESOURCE_TYPE:RESOURCE_NAMES:ACTIONS` format--for example:
- `"system:health:read"` or `"system:*:read"`
- `system:`: The `system` resource type, which specifies the token is for a database.
- `health`: The list of system resources (endpoints) to grant permissions to.
This part supports the `*` wildcard, which grants permissions to all endpoints.
- `read`: The list of permissions to grant. _Only `read` is supported for system resources._
The following example shows how to create a system token that expires in 1 year and has read permissions for all system endpoints on the server:
{{% code-placeholders "ADMIN_TOKEN" %}}
```bash
influxdb3 create token \
--permission \
--expiry 1y \
--token ADMIN_TOKEN \
--host http://{{< influxdb/host >}} \
--name "all system endpoints" \
"system:*:read"
```
{{% /code-placeholders %}}
In your command, replace {{% code-placeholder-key %}} `ADMIN_TOKEN`{{% /code-placeholder-key %}} with the admin token you created earlier.
For more information, see how to [Manage resource tokens](/influxdb3/version/admin/tokens/resource/).
#### Use tokens to authorize CLI commands and API requests
#### Use tokens to authorize CLI commands and API requests
With authentication enabled (the default), {{% product-name %}} requires a
token for all `influxdb3` CLI commands and HTTP API requests.
In the following examples, replace {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}} with your {{% token-link "admin" %}} string.
In your command, replace {{% code-placeholder-key %}}`YOUR_AUTH_TOKEN`{{% /code-placeholder-key %}} with your token string (for example, the [operator token](#create-an-operator-token) from the previous step).
{{< tabs-wrapper >}}
{{% tabs %}}
[CLI](#cli-use-a-token)
[HTTP API](#api-use-a-token)
[Environment variable (recommended)](#)
[Command option](#)
{{% /tabs %}}
{{% tab-content %}}
For `influxdb3` to use your token automatically, assign it your
token to the `INFLUXDB3_AUTH_TOKEN` environment variable:
{{% code-placeholders "AUTH_TOKEN" %}}
Set the `INFLUXDB3_AUTH_TOKEN` environment variable to have the CLI use your token automatically:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash
# Set the environment variable for future CLI commands
export INFLUXDB3_AUTH_TOKEN=AUTH_TOKEN
export INFLUXDB3_AUTH_TOKEN=YOUR_AUTH_TOKEN
```
{{% /code-placeholders %}}
Or to authenticate a single `influxdb3` CLI command and override `$INFLUXDB3_AUTH_TOKEN`, include the `--token` option:
{{% /tab-content %}}
{{% tab-content %}}
{{% code-placeholders "AUTH_TOKEN" %}}
Include the `--token` option with CLI commands:
{{% code-placeholders "YOUR_AUTH_TOKEN" %}}
```bash
# Use the --token option for a single command
influxdb3 show databases --token AUTH_TOKEN
```
{{% /code-placeholders %}}
{{% /tab-content %}}
{{% tab-content %}}
To authenticate HTTP API requests, include `Bearer <TOKEN>` in the `Authorization` header value:
{{< /tabs-wrapper >}}
For HTTP API requests, include your token in the `Authorization` header--for example:
{{% code-placeholders "AUTH_TOKEN" %}}
```bash
# Include the token in the Authorization HTTP request header
curl "http://{{< influxdb/host >}}/api/v3/configure/database" \
--header "Authorization: Bearer AUTH_TOKEN"
```
{{% /code-placeholders %}}
{{% code-placeholders "SYSTEM_TOKEN" %}}
```bash
curl "http://{{< influxdb/host >}}/health" \
--header "Authorization: Bearer SYSTEM_TOKEN"
```
{{% /code-placeholders %}}
#### Learn more about tokens and permissions
Replace {{% code-placeholder-key %}}`SYSTEM_TOKEN`{{% /code-placeholder-key %}} with the system token string that grants access to system endpoints (`/health`, `/metrics`)
{{% /tab-content %}}
{{< /tabs-wrapper >}}
- [Manage admin tokens](/influxdb3/version/admin/tokens/admin/) - Understand and manage operator and named admin tokens
{{% show-in "enterprise" %}}
- [Manage resource tokens](/influxdb3/version/admin/tokens/resource/) - Create, list, and delete resource tokens
{{% /show-in %}}
- [Authentication](/influxdb3/version/reference/internals/authentication/) - Understand authentication, authorizations, and permissions in {{% product-name %}}
### Data model
@ -493,17 +522,18 @@ This tutorial covers many of the recommended tools.
| Tool | Administration | Write | Query |
| :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: |
| [Chronograf](/chronograf/v1/) | - | - | **{{< icon "check" >}}** |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - |
| [`influxdb3` CLI](#influxdb3-cli){{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">`influxctl` CLI</span> | - | - | - |
| [InfluxDB HTTP API](#influxdb-http-api){{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| <span style="opacity:.5;">InfluxDB user interface</span> | - | - | - |
| **`influxdb3` CLI** {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| **InfluxDB HTTP API** {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| **InfluxDB 3 Explorer** {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | - | **{{< icon "check" >}}** |
| [InfluxDB 3 client libraries](/influxdb3/version/reference/client-libraries/v3/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB v2 client libraries](/influxdb3/version/reference/client-libraries/v2/) | - | **{{< icon "check" >}}** | - |
| [InfluxDB v1 client libraries](/influxdb3/version/reference/client-libraries/v1/) | - | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB 3 Processing engine](#python-plugins-and-the-processing-engine){{< req text="\* " color="magenta" >}} | | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [InfluxDB 3 processing engine](#python-plugins-and-the-processing-engine){{< req text="\* " color="magenta" >}} | | **{{< icon "check" >}}** | **{{< icon "check" >}}** |
| [Telegraf](/telegraf/v1/) | - | **{{< icon "check" >}}** | - |
| [Chronograf](/chronograf/v1/) | - | - | - |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - |
| <span style="opacity:.5;">`influxctl` CLI</span> | - | - | - |
| <span style="opacity:.5;">InfluxDB v2.x user interface</span> | - | - | - |
| **Third-party tools** | | | |
| Flight SQL clients | - | - | **{{< icon "check" >}}** |
| [Grafana](/influxdb3/version/visualize-data/grafana/) | - | - | **{{< icon "check" >}}** |
@ -518,6 +548,15 @@ InfluxDB is a schema-on-write database. You can start writing data and InfluxDB
After a schema is created, InfluxDB validates future write requests against it before accepting the data.
Subsequent requests can add new fields on-the-fly, but can't add new tags.
{{% show-in "core" %}}
> [!Note]
> #### Core is optimized for recent data
>
> {{% product-name %}} is optimized for recent data but accepts writes from any time period.
> The system persists data to Parquet files for historical analysis with [InfluxDB 3 Enterprise](/influxdb3/enterprise/get-started/) or third-party tools.
> For extended historical queries and optimized data organization, consider using [InfluxDB 3 Enterprise](/influxdb3/enterprise/get-started/).
{{% /show-in %}}
#### Write data in line protocol syntax
{{% product-name %}} accepts data in [line protocol](/influxdb3/version/reference/syntax/line-protocol/) syntax.
@ -558,14 +597,8 @@ Use the `influxdb3 write` command to write data to a database.
In the code samples, replace the following placeholders with your values:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: The name of the [database](/influxdb3/version/admin/databases/) to write to.
{{% show-in "core" %}}
- {{% code-placeholder-key %}}`TOKEN`{{% /code-placeholder-key %}}: A [token](/influxdb3/version/admin/tokens/) for your {{% product-name %}} server.
{{% /show-in %}}
{{% show-in "enterprise" %}}
- {{% code-placeholder-key %}}`TOKEN`{{% /code-placeholder-key %}}: A [token](/influxdb3/version/admin/tokens/)
with permission to write to the specified database.
{{% /show-in %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the [database](/influxdb3/version/admin/databases/) to write to.
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "database" %}}{{% show-in "enterprise" %}} with permission to write to the specified database{{% /show-in %}}
##### Write data via stdin
@ -776,7 +809,7 @@ Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: the {{% token-link "admin" %}} for your {{% product-name %}} server
To learn more about a subcommand, use the `-h, --help` flag or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/create/):
To learn more about a subcommand, use the `-h, --help` flag or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/create):
```bash
influxdb3 create -h
@ -784,7 +817,15 @@ influxdb3 create -h
### Query data
InfluxDB 3 now supports native SQL for querying, in addition to InfluxQL, an SQL-like language customized for time series queries.
InfluxDB 3 supports native SQL for querying, in addition to InfluxQL, an
SQL-like language customized for time series queries.
{{% show-in "core" %}}
{{< product-name >}} limits
query time ranges to 72 hours (both recent and historical) to ensure query performance.
For more information about the 72-hour limitation, see the
[update on InfluxDB 3 Cores 72-hour limitation](https://www.influxdata.com/blog/influxdb3-open-source-public-alpha-jan-27/).
{{% /show-in %}}
> [!Note]
> Flux, the language introduced in InfluxDB 2.0, is **not** supported in InfluxDB 3.
@ -969,29 +1010,17 @@ print(table.group_by('cpu').aggregate([('time_system', 'mean')]))
For more information about the Python client library, see the [`influxdb3-python` repository](https://github.com/InfluxCommunity/influxdb3-python) in GitHub.
### Query using InfluxDB 3 Explorer (Beta)
You can use the InfluxDB 3 Explorer query interface by downloading the Docker image.
```bash
docker pull quay.io/influxdb/influxdb3-explorer:latest
```
Run the interface using:
```bash
docker run --name influxdb3-explorer -p 8086:8888 quay.io/influxdb/influxdb3-explorer:latest
```
With the default settings above, you can access the UI at http://localhost:8086.
Set your expected database connection details on the Settings page.
From there, you can query data, browser your database schema, and do basic
visualization of your time series data.
You can use the InfluxDB 3 Explorer web-based interface to query and visualize data,
and administer your {{% product-name %}} instance.
For more information, see how to [install InfluxDB 3 Explorer (Beta)](/influxdb3/explorer/install/) using Docker
and get started querying your data.
### Last values cache
{{% product-name %}} supports a **last-n values cache** which stores the last N values in a series or column hierarchy in memory. This gives the database the ability to answer these kinds of queries in under 10 milliseconds.
You can use the `influxdb3` CLI to [create a last value cache](/influxdb3/version/reference/cli/influxdb3/create/last_cache/).
{{% code-placeholders "DATABASE_NAME|AUTH_TOKEN|TABLE_NAME|CACHE_NAME" %}}
@ -1037,7 +1066,7 @@ _You can create a last values cache per time series, but be mindful of high card
#### Query a last values cache
To query data from the LVC, use the [`last_cache()`](influxdb3/version/reference/sql/functions/cache/#last_cache) function in your query--for example:
To query data from the LVC, use the [`last_cache()`](/influxdb3/version/reference/sql/functions/cache/#last_cache) function in your query--for example:
```bash
influxdb3 query \
@ -1120,7 +1149,7 @@ influxdb3 create distinct_cache \
#### Query a distinct values cache
To use the distinct values cache, call it using the `distinct_cache()` function in your query--for example:
To query data from the distinct values cache, use the [`distinct_cache()`](/influxdb3/version/reference/sql/functions/cache/#distinct_cache) function in your query--for example:
```bash
influxdb3 query \
@ -1267,7 +1296,7 @@ To test a plugin, do the following:
1. Create a _plugin directory_--for example, `/path/to/.influxdb/plugins`
2. [Start the InfluxDB server](#start-influxdb) and include the `--plugin-dir <PATH>` option.
3. Save the [example plugin code](#example-python-plugin-for-wal-flush) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
3. Save the [example plugin code](#example-python-plugin-for-wal-rows) to a plugin file inside of the plugin directory. If you haven't yet written data to the table in the example, comment out the lines where it queries.
4. To run the test, enter the following command with the following options:
- `--lp` or `--file`: The line protocol to test
@ -1361,6 +1390,7 @@ influxdb3 enable trigger \
For more information, see [Python plugins and the Processing engine](/influxdb3/version/plugins/).
{{% show-in "enterprise" %}}
### Multi-server setup
{{% product-name %}} is built to support multi-node setups for high availability, read replicas, and flexible implementations depending on use case.
@ -1523,7 +1553,7 @@ For a robust and effective setup for managing time-series data, you can run inge
--mode ingest \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
-- http-bind {{< influxdb/host >}} \
--http-bind {{< influxdb/host >}} \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
@ -1585,7 +1615,7 @@ For a robust and effective setup for managing time-series data, you can run inge
--mode query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
-- http-bind localhost:8383 \
--http-bind localhost:8383 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
```
@ -1604,7 +1634,7 @@ For a robust and effective setup for managing time-series data, you can run inge
--mode query \
--object-store s3 \
--bucket influxdb-3-enterprise-storage \
-- http-bind localhost:8484 \
--http-bind localhost:8484 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \
<AWS_SECRET_ACCESS_KEY>
```
@ -1679,4 +1709,5 @@ Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "admin" %}}
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create the file index in
- {{% code-placeholder-key %}}`TABLE_NAME`{{% /code-placeholder-key %}}: the name of the table to create the file index in
- {{% code-placeholder-key %}}`COLUMNS`{{% /code-placeholder-key %}}: a comma-separated list of columns to index on, for example, `host,application`
- {{% code-placeholder-key %}}`COLUMNS`{{% /code-placeholder-key %}}: a comma-separated list of columns to index on, for example, `host,application`
{{% /show-in %}}

View File

@ -1,7 +1,7 @@
<!--
-->
{{% product-name %}} uses an Attribute-Based Access Control (ABAC) model to
manage permissions.
manage permissions and supports multiple token types for different authentication scenarios.
{{% show-in "enterprise" %}}
This model allows for fine-grained control over access to resources and actions
@ -39,5 +39,10 @@ The ABAC model includes the following components:
{{% /show-in %}}
- **Resource**: The objects that can be accessed or manipulated.
Resources have attributes such as identifier and name.
In {{% product-name %}}, resources include databases and system information endpoints.
Resources have attributes such as identifier and name.
{{% show-in "enterprise" %}}
- Database tokens provide access to specific databases for actions like writing and querying data.
- System tokens provide access to system-level resources, such as API endpoints for server runtime statistics and health.
Access controls for system information API endpoints help prevent information leaks and attacks (such as DoS).
{{% /show-in %}}

View File

@ -0,0 +1,45 @@
<!-- Allow leading shortcode -->
{{% product-name %}} is a database built to collect, process, transform, and store event and time series data, and is ideal for use cases that require real-time ingest and fast query response times to build user interfaces, monitoring, and automation solutions.
Common use cases include:
- Monitoring sensor data
- Server monitoring
- Application performance monitoring
- Network monitoring
- Financial market and trading analytics
- Behavioral analytics
InfluxDB is optimized for scenarios where near real-time data monitoring is essential and queries need to return quickly to support user experiences such as dashboards and interactive user interfaces.
{{% show-in "enterprise" %}}
{{% product-name %}} is built on InfluxDB 3 Core, the InfluxDB 3 open source release.
{{% /show-in %}}
{{% show-in "core" %}}
{{% product-name %}} is the InfluxDB 3 open source release.
{{% /show-in %}}
Core's feature highlights include:
- Diskless architecture with object storage support (or local disk with no dependencies)
- Fast query response times (under 10ms for last-value queries, or 30ms for distinct metadata)
- Embedded Python VM for plugins and triggers
- Parquet file persistence
- Compatibility with InfluxDB 1.x and 2.x write APIs
{{% show-in "core" %}}
[Get started with Core](/influxdb3/version/get-started/)
{{% /show-in %}}
The Enterprise version adds the following features to Core:
- Historical query capability and single series indexing
- High availability
- Read replicas
- Enhanced security (coming soon)
- Row-level delete support (coming soon)
- Integrated admin UI (coming soon)
{{% show-in "core" %}}
For more information, see how to [get started with Enterprise](/influxdb3/enterprise/get-started/).
{{% /show-in %}}

View File

@ -5,6 +5,53 @@
> All updates to Core are automatically included in Enterprise.
> The Enterprise sections below only list updates exclusive to Enterprise.
## v3.1.0 {date="2025-05-29"}
**Core**: revision 482dd8aac580c04f37e8713a8fffae89ae8bc264
**Enterprise**: revision 2cb23cf32b67f9f0d0803e31b356813a1a151b00
### Core
#### Token and Security Updates
- Named admin tokens can now be created, with configurable expirations
- `health`, `ping`, and `metrics` endpoints can now be opted out of authorization
- `Basic $TOKEN` is now supported for all APIs
- Additional info available when creating a new token
- Additional info available when starting InfuxDB using `--without-auth`
#### Additional Updates
- New catalog metrics available for count operations
- New object store metrics available for transfer latencies and transfer sizes
- New query duration metrics available for Last Value caches
- `/ping` API now contains versioning headers
- Other performance improvements
#### Fixes
- New tags are now backfilled with NULL instead of empty strings
- Bitcode deserialization error fixed
- Series key metadata not persisting to Parquet is now fixed
- Other general fixes and corrections
### Enterprise
#### Token and Security Updates
- Resource tokens now use resource names in `show tokens`
- Tokens can now be granted `CREATE` permission for creating databases
#### Additional Updates
- Last value caches populate on creation and reload on restart
- Distinct value caches populate on creation and reload on restart
- Other performance improvements
- Replaces remaining "INFLUXDB_IOX" Dockerfile environment variables with the following:
- `ENV INFLUXDB3_OBJECT_STORE=file`
- `ENV INFLUXDB3_DB_DIR=/var/lib/influxdb3`
#### Fixes
- Improvements and fixes for license validations
- False positive fixed for catalog error on shutdown
- UX improvements for error and onboarding messages
- Other general fixes and corrections
## v3.0.3 {date="2025-05-16"}
**Core**: revision 384c457ef5f0d5ca4981b22855e411d8cac2688e

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ menu:
weight: 60
---
## v1.34.1 [2025-03-24]
## v1.34.1 {date="2025-03-24"}
### Bugfixes
@ -40,7 +40,7 @@ menu:
- [#16653](https://github.com/influxdata/telegraf/pull/16653) `deps` Bump k8s.io/api from 0.32.1 to 0.32.3
- [#16659](https://github.com/influxdata/telegraf/pull/16659) `deps` Bump tj-actions/changed-files from v45 to v46.0.1
## v1.34.0 [2025-03-10]
## v1.34.0 {date="2025-03-10"}
### New Plugins
@ -94,7 +94,7 @@ menu:
- [#16575](https://github.com/influxdata/telegraf/pull/16575) `deps` Bump github.com/tidwall/wal from 1.1.7 to 1.1.8
- [#16578](https://github.com/influxdata/telegraf/pull/16578) `deps` Bump super-linter/super-linter from 7.2.1 to 7.3.0
## v1.33.3 [2025-02-25]
## v1.33.3 {date="2025-02-25"}
### Important Changes
@ -128,7 +128,7 @@ menu:
- [#16504](https://github.com/influxdata/telegraf/pull/16504) `deps` Bump golang.org/x/net from 0.34.0 to 0.35.0
- [#16512](https://github.com/influxdata/telegraf/pull/16512) `deps` Bump golangci-lint from v1.63.4 to v1.64.5
## v1.33.2 [2025-02-10]
## v1.33.2 {date="2025-02-10"}
### Important Changes
@ -177,7 +177,7 @@ menu:
- [#16482](https://github.com/influxdata/telegraf/pull/16482) `deps` Update Apache arrow from 0.0-20240716144821-cf5d7c7ec3cf to 18.1.0
- [#16423](https://github.com/influxdata/telegraf/pull/16423) `deps` Update ClickHouse SQL driver from 1.5.4 to to 2.30.1
## v1.33.1 [2025-01-10]
## v1.33.1 {date="2025-01-10"}
### Important Changes

Binary file not shown.

View File

@ -6,7 +6,7 @@ influxdb3_core:
versions: [core]
list_order: 2
latest: core
latest_patch: 3.0.3
latest_patch: 3.1.0
placeholder_host: localhost:8181
ai_sample_questions:
- How do I install and run InfluxDB 3 Core?
@ -21,12 +21,26 @@ influxdb3_enterprise:
versions: [enterprise]
list_order: 2
latest: enterprise
latest_patch: 3.0.3
latest_patch: 3.1.0
placeholder_host: localhost:8181
ai_sample_questions:
- How do I install and run InfluxDB 3 Enterprise?
- Help me write a plugin for the Python Processing engine?
- How do I start a read replica node with InfluxDB 3 Enterprise?
influxdb3_explorer:
name: InfluxDB 3 Explorer
altname: Explorer
namespace: influxdb3_explorer
menu_category: tools
list_order: 1
latest: explorer
latest_patch: 1.0.0
placeholder_host: localhost:8888
ai_sample_questions:
- How do I query data using InfluxDB 3 Explorer?
- How do I use InfluxDB 3 Explorer to visualize data?
- How do I install InfluxDB 3 Explorer?
influxdb3_cloud_serverless:
name: InfluxDB Cloud Serverless
@ -50,7 +64,7 @@ influxdb3_cloud_dedicated:
list_order: 3
latest: cloud-dedicated
link: "https://www.influxdata.com/contact-sales-cloud-dedicated/"
latest_cli: 2.10.0
latest_cli: 2.10.1
placeholder_host: cluster-id.a.influxdb.io
ai_sample_questions:
- How do I migrate from InfluxDB v1 to InfluxDB Cloud Dedicated?
@ -108,6 +122,20 @@ influxdb_cloud:
- How is Cloud 2 different from Cloud Serverless?
- How do I manage auth tokens in InfluxDB Cloud 2?
explorer:
name: InfluxDB 3 Explorer
namespace: explorer
menu_category: other
list_order: 4
versions: [v1]
latest: v1.0
latest_patches:
v1: 1.0.0
ai_sample_questions:
- How do I use InfluxDB 3 Explorer to visualize data?
- How do I create a dashboard in InfluxDB 3 Explorer?
- How do I query data using InfluxDB 3 Explorer?
telegraf:
name: Telegraf
namespace: telegraf
@ -144,7 +172,7 @@ kapacitor:
versions: [v1]
latest: v1.7
latest_patches:
v1: 1.7.6
v1: 1.7.7
ai_sample_questions:
- How do I configure Kapacitor for InfluxDB v1?
- How do I write a custom Kapacitor task?

View File

@ -39,64 +39,87 @@
<div id="influxdb3" class="product-group">
<h2>InfluxDB 3</h2>
<p>The modern time series data engine built for high-speed, high-cardinality data, from the edge to the cloud.</p>
<div class="category-head">
<h4>Self-managed</h4>
</div>
<div class="products">
<div class="product new">
<div class="product-info">
<h3><a href="/influxdb3/core/">InfluxDB 3 Core</a></h3>
<p>The open source recent data engine optimized for time series and event data.</p>
<div class="categories">
<div class="category full">
<div class="category-head">
<h4>Self-managed</h4>
</div>
<div class="products">
<div class="product">
<div class="product-info">
<h3 state="New"><a href="/influxdb3/core/">InfluxDB 3 Core</a></h3>
<p>The open source recent data engine optimized for time series and event data.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/core/get-started/">Get started with InfluxDB 3 Core</a></li>
<li><a href="/influxdb3/core/">View documentation</a></li>
</ul>
</div>
<div class="product" >
<div class="product-info">
<h3 state="New"><a href="/influxdb3/enterprise/">InfluxDB 3 Enterprise</a></h3>
<p>The scalable data engine built for recent and historical time series and event data.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/enterprise/get-started/">Get started with InfluxDB 3 Enterprise</a></li>
<li><a href="/influxdb3/enterprise/">View documentation</a></li>
</ul>
</div>
<div class="product">
<div class="product-info">
<h3><a href="/influxdb3/clustered/">InfluxDB Clustered</a></h3>
<p>The Kubernetes-enabled, highly-available InfluxDB 3 cluster built for high write and query workloads on your own infrastructure.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/clustered/get-started/">Get started with InfluxDB Clustered</a></li>
<li><a href="/influxdb3/clustered/">View documentation</a></li>
</ul>
</div>
</div>
<ul class="product-links">
<li><a href="/influxdb3/core/get-started/">Get started with InfluxDB 3 Core</a></li>
<li><a href="/influxdb3/core/">View documentation</a></li>
</ul>
</div>
<div class="product new">
<div class="product-info">
<h3><a href="/influxdb3/enterprise/">InfluxDB 3 Enterprise</a></h3>
<p>The scalable data engine built for recent and historical time series and event data.</p>
<div class="category two-thirds">
<div class="category-head">
<h4>Fully-Managed</h4>
</div>
<div class="products">
<div class="product">
<div class="product-info">
<h3><a href="/influxdb3/cloud-serverless/">InfluxDB Cloud Serverless</a></h3>
<p>The fully-managed, multi-tenant InfluxDB 3 service deployed in the cloud.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/cloud-serverless/get-started/">Get started with Cloud Serverless</a></li>
<li><a href="/influxdb3/cloud-serverless/">View documentation</a></li>
</ul>
</div>
<div class="product">
<div class="product-info">
<h3><a href="/influxdb3/cloud-dedicated/">InfluxDB Cloud Dedicated</a></h3>
<p>The fully-managed InfluxDB 3 cluster dedicated to your workload and deployed in the cloud.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/cloud-dedicated/get-started/">Get started with Cloud Dedicated</a></li>
<li><a href="/influxdb3/cloud-dedicated/">View documentation</a></li>
</ul>
</div>
</div>
<ul class="product-links">
<li><a href="/influxdb3/enterprise/get-started/">Get started with InfluxDB 3 Enterprise</a></li>
<li><a href="/influxdb3/enterprise/">View documentation</a></li>
</ul>
</div>
<div class="product">
<div class="product-info">
<h3><a href="/influxdb3/clustered/">InfluxDB Clustered</a></h3>
<p>The Kubernetes-enabled, highly-available InfluxDB 3 cluster built for high write and query workloads on your own infrastructure.</p>
<div class="category one-third">
<div class="category-head">
<h4>Tools</h4>
</div>
<ul class="product-links">
<li><a href="/influxdb3/clustered/get-started/">Get started with InfluxDB Clustered</a></li>
<li><a href="/influxdb3/clustered/">View documentation</a></li>
</ul>
</div>
</div>
<div class="category-head">
<h4>Fully-Managed</h4>
</div>
<div class="products">
<div class="product">
<div class="product-info">
<h3><a href="/influxdb3/cloud-serverless/">InfluxDB Cloud Serverless</a></h3>
<p>The fully-managed, multi-tenant InfluxDB 3 service deployed in the cloud.</p>
<div class="products">
<div class="product">
<div class="product-info">
<h3 state="beta"><a href="/influxdb3/explorer/">InfluxDB 3 Explorer</a></h3>
<p>A standalone UI designed for visualizing, querying, and managing data in InfluxDB 3 Core and Enterprise.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/explorer/get-started/">Get started with Explorer</a></li>
<li><a href="/influxdb3/explorer/">View documentation</a></li>
</ul>
</div>
</div>
<ul class="product-links">
<li><a href="/influxdb3/cloud-serverless/get-started/">Get started with Cloud Serverless</a></li>
<li><a href="/influxdb3/cloud-serverless/">View documentation</a></li>
</ul>
</div>
<div class="product">
<div class="product-info">
<h3><a href="/influxdb3/cloud-dedicated/">InfluxDB Cloud Dedicated</a></h3>
<p>The fully-managed InfluxDB 3 cluster dedicated to your workload and deployed in the cloud.</p>
</div>
<ul class="product-links">
<li><a href="/influxdb3/cloud-dedicated/get-started/">Get started with Cloud Dedicated</a></li>
<li><a href="/influxdb3/cloud-dedicated/">View documentation</a></li>
</ul>
</div>
</div>
</div>

View File

@ -5,6 +5,7 @@
{{ partial "article/supported-versions.html" . }}
{{ partial "article/page-meta.html" . }}
</div>
{{ partial "article/beta.html" . }}
{{ partial "article/stable-version.html" . }}
{{ partial "article/flux-experimental.html" . }}
{{ partial "article/flux-contrib.html" . }}

View File

@ -0,0 +1,39 @@
<!-- This partial is no longer used but may be repurposed later for other InfluxDB products -->
{{ $productPathData := split .RelPermalink "/" }}
{{ $product := index $productPathData 1 }}
{{ $version := index $productPathData 2 }}
{{ $productKey := cond (eq $product "influxdb3") (print "influxdb3_" (replaceRE "-" "_" $version)) $product }}
{{ $productData := index $.Site.Data.products $productKey }}
{{ $displayName := $productData.name }}
{{ $earlyAccessList := slice "influxdb3/explorer" }}
{{ if in $earlyAccessList (print $product "/" $version )}}
<div class="block beta">
<div class="beta-content">
<h4 id="public-beta">{{ $displayName }} is in Public Beta</h4>
<p>
{{ $displayName }} is in public beta and available for testing and feedback,
but is <strong>not meant for production use yet</strong>.
Both the product and this documentation are works in progress.
We welcome and encourage your input about your experience with the beta and
invite you to <strong>join our public channels</strong> for updates and to
share feedback.
</p>
<div class="expand-wrapper">
<div class="expand" id="beta-feedback-channels">
<p class="expand-label">
<span class="expand-toggle"></span><span>Join our public channels</span>
</p>
<div class="expand-content" style="display: none;" >
<ul class="feedback-channels">
<li><a href="https://discord.gg/9zaNCW2PRT" target="_blank" class="discord">InfluxDB Discord Server <em style="opacity:.5">(Preferred)</em></a></li>
<li><a href="https://community.influxdata.com" target="_blank" class="community">InfluxData Community</a></li>
<li><a href="https://influxdata.com/slack" target="_blank" class="slack">InfluxDB Community Slack</a></li>
<li><a href="https://reddit.com/r/influxdb" target="_blank" class="reddit">InfluxDB Subreddit</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
{{ end }}

View File

@ -8,9 +8,7 @@
{{ if .File }}
{{ .Scratch.Set "pageGithubLink" (print "https://github.com/influxdata/docs-v2/edit/master/content/" .File.Path) }}
{{ if .Page.HasShortcode "duplicate-oss" }}
{{ .Scratch.Set "pageGithubLink" (replaceRE "/cloud/" "/v2/" (.Scratch.Get "pageGithubLink")) }}
{{ else if .Params.Source }}
{{ if .Params.Source }}
{{ .Scratch.Set "pageGithubLink" (print "https://github.com/influxdata/docs-v2/edit/master/content" .Params.source) }}
{{ end }}
{{ else }}
@ -53,7 +51,7 @@
To find support, use the following resources:
</p>
<ul>
{{ if and (eq $product "influxdb3") (or (eq $version "core") (eq $version "enterprise")) }}
{{ if and (eq $product "influxdb3") (or (eq $version "core") (eq $version "enterprise") (eq $version "explorer")) }}
<li><a class="discord" href="https://discord.gg/9zaNCW2PRT" target="_blank"><strong>InfluxDB Discord Server</strong> <em style="opacity:.5">(Preferred)</em></a></li>
<li><a class="slack" href="https://influxdata.com/slack" target="_blank">InfluxDB Community Slack</a></li>
{{ else }}

View File

@ -5,7 +5,7 @@
{{ $fluxSupported := slice "influxdb" "enterprise_influxdb" }}
{{ $influxdbFluxSupport := slice "v1" "v2" "cloud" }}
{{ $includeFlux := and (in $fluxSupported $product) (in $influxdbFluxSupport $version) }}
{{ $includeResources := not (in (slice "cloud-serverless" "cloud-dedicated" "clustered" "core" "enterprise") $version) }}
{{ $includeResources := not (in (slice "cloud-serverless" "cloud-dedicated" "clustered" "core" "enterprise" "explorer") $version) }}
<script src="https://cdn.jsdelivr.net/npm/docsearch.js@2/dist/cdn/docsearch.min.js"></script>
<script>
@ -27,6 +27,8 @@ docsearch({
return 'Core';
} else if (version === 'enterprise') {
return 'Enterprise';
} else if (version === 'explorer') {
return 'Explorer';
} else if (version === 'cloud-serverless') {
return 'Cloud Serverless';
} else if (version === 'cloud-dedicated') {

View File

@ -22,6 +22,8 @@
{{ $scratch.Set "siteTitle" "InfluxDB 3 Core Documentation" }}
{{ else if eq $currentVersion "enterprise"}}
{{ $scratch.Set "siteTitle" "InfluxDB 3 Enterprise Documentation" }}
{{ else if eq $currentVersion "explorer"}}
{{ $scratch.Set "siteTitle" "InfluxDB 3 Explorer Documentation" }}
{{ else if eq $currentVersion "cloud-serverless"}}
{{ $scratch.Set "siteTitle" "InfluxDB Cloud Serverless Documentation" }}
{{ else if eq $currentVersion "cloud-dedicated"}}

View File

@ -18,6 +18,7 @@ Identify products by their product path. Dictionary schema:
{{ $influxdbCloud := dict "influxdb/cloud" (slice $.Site.Data.products.influxdb_cloud.name "cloud") }}
{{ $influxdb3Core := dict "influxdb3/core" (slice $.Site.Data.products.influxdb3_core.name "core") }}
{{ $influxdb3Enterprise := dict "influxdb3/enterprise" (slice $.Site.Data.products.influxdb3_enterprise.name "enterprise") }}
{{ $influxdb3Explorer := dict "influxdb3/explorer" (slice $.Site.Data.products.influxdb3_explorer.name "explorer") }}
{{ $influxdb3CloudServerless := dict "influxdb3/cloud-serverless" (slice $.Site.Data.products.influxdb3_cloud_serverless.name "cloud-serverless") }}
{{ $influxdb3CloudDedicated := dict "influxdb3/cloud-dedicated" (slice $.Site.Data.products.influxdb3_cloud_dedicated.name "cloud-dedicated") }}
{{ $influxdb3Clustered := dict "influxdb3/clustered" (slice $.Site.Data.products.influxdb3_clustered.name "clustered") }}
@ -27,7 +28,7 @@ Identify products by their product path. Dictionary schema:
{{ $flux := dict "flux/v0" (slice "Flux" "flux") }}
{{ $enterpriseInfluxdb := dict "enterprise_influxdb/v1" (slice "InfluxDB Enterprise" "enterprise_v1") }}
{{ $productInfo := merge $influxdbOSSv1 $influxdbOSSv2 $influxdbCloud $influxdb3Core $influxdb3Enterprise $influxdb3CloudServerless $influxdb3CloudDedicated $influxdb3Clustered $telegraf $chronograf $kapacitor $flux $enterpriseInfluxdb }}
{{ $productInfo := merge $influxdbOSSv1 $influxdbOSSv2 $influxdbCloud $influxdb3Core $influxdb3Enterprise $influxdb3CloudServerless $influxdb3CloudDedicated $influxdb3Clustered $telegraf $chronograf $kapacitor $influxdb3Explorer $flux $enterpriseInfluxdb }}
{{ define "productLink" }}
{{ $defaultAltProductPage := $.context.GetPage ((replaceRE .pageRoot .productPath $.context.Page.RelPermalink) | replaceRE `\/$` "") }}
@ -36,8 +37,8 @@ Identify products by their product path. Dictionary schema:
{{ $productAltLinkKey := index (index $.productInfo .productPath) 1 }}
{{ $isCurrentProduct := in $.context.RelPermalink .productPath }}
{{ $link := cond .useRootProductLink (print "/" .productPath "/") (cond (isset .altLinks $productAltLinkKey) (index .altLinks $productAltLinkKey) (cond $defaultAltProductPageExists $defaultAltProductPage.RelPermalink (print "/" .productPath "/"))) }}
{{ $isNew := in (slice "influxdb3/core" "influxdb3/enterprise") .productPath }}
<a href='{{ $link }}' {{ if $isCurrentProduct }}class="active"{{ end }}>{{ index (index $.productInfo .productPath) 0 }}{{ if $isNew }} <span class="state">New</span>{{ end }}</a>
{{ $state := .state | default "" }}
<a href='{{ $link }}' {{ if $isCurrentProduct }}class="active"{{ end }}>{{ index (index $.productInfo .productPath) 0 }}{{ if ne $state ""}} <span class="state">{{ $state }}</span>{{ end }}</a>
{{ end }}
{{ $templateDefaults := dict "context" . "productInfo" $productInfo "altLinks" $altLinks "pageRoot" $pageRoot "useRootProductLink" $useRootProductLink }}
@ -50,14 +51,17 @@ Identify products by their product path. Dictionary schema:
<div class="product-group">
<div class="group-title"><p>InfluxDB 3</p></div>
<ul class="item-list products" data-category="Self-managed">
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/core") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/enterprise") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/core" "state" "New") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/enterprise" "state" "New") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/clustered") $templateDefaults) }}</li>
</ul>
<ul class="item-list products" data-category="Fully-Managed">
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/cloud-serverless") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/cloud-dedicated") $templateDefaults) }}</li>
</ul>
<ul class="item-list products" data-category="Tools">
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/explorer" "state" "beta") $templateDefaults) }}</li>
</ul>
</div>
<div class="product-group">
<div class="group-title"><p>InfluxDB 2</p></div>

View File

@ -11,6 +11,8 @@
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_core -}}
{{- else if eq $currentProduct "enterprise" -}}
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_enterprise -}}
{{- else if eq $currentProduct "explorer" -}}
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_explorer -}}
{{- else if eq $currentProduct "cloud-serverless" -}}
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_cloud_serverless -}}
{{- else if eq $currentProduct "cloud-dedicated" -}}

View File

@ -79,8 +79,8 @@ pre-push:
tags: test,links
glob: 'content/**/*.{md,html}'
run: |
echo "Running link checker for: {staged_files}"
yarn test:links {staged_files}
echo "Running link checker for: {push_files}"
yarn test:links {push_files}
exit $?
# Manage Docker containers
@ -100,13 +100,13 @@ pre-push:
tags: test,codeblocks,v2
env:
SERVICE: cloud-pytest
run: yarn test:codeblocks:cloud '{staged_files}'
run: yarn test:codeblocks:cloud '{push_files}'
cloud-dedicated-pytest:
tags: test,codeblocks,v3
glob: content/influxdb/cloud-dedicated/**/*.md
run: |
yarn test:codeblocks:cloud-dedicated '{staged_files}' &&
yarn test:codeblocks:cloud-dedicated '{push_files}' &&
./test/scripts/monitor-tests.sh stop cloud-dedicated-pytest
cloud-serverless-pytest:
@ -114,13 +114,13 @@ pre-push:
glob: content/influxdb/cloud-serverless/**/*.md
env:
SERVICE: cloud-serverless-pytest
run: yarn test:codeblocks:cloud-serverless '{staged_files}'
run: yarn test:codeblocks:cloud-serverless '{push_files}'
clustered-pytest:
tags: test,codeblocks,v3
glob: content/influxdb/clustered/**/*.md
run: |
yarn test:codeblocks:clustered '{staged_files}' &&
yarn test:codeblocks:clustered '{push_files}' &&
./test/scripts/monitor-tests.sh stop clustered-pytest
telegraf-pytest:
@ -128,11 +128,11 @@ pre-push:
glob: content/telegraf/**/*.md
env:
SERVICE: telegraf-pytest
run: yarn test:codeblocks:telegraf '{staged_files}'
run: yarn test:codeblocks:telegraf '{push_files}'
v2-pytest:
tags: test,codeblocks,v2
glob: content/influxdb/v2/**/*.md
env:
SERVICE: v2-pytest
run: yarn test:codeblocks:v2 '{staged_files}'
run: yarn test:codeblocks:v2 '{push_files}'

View File

@ -6,10 +6,14 @@ menu:
name: {{.Name}}
identifier: aggregator-{{.ID}}
tags: [{{.Name}}, "aggregator-plugins", "configuration"{{range .Tags}}, "{{.}}"{{end}}]
{{if .Introduced}}introduced: "{{.Introduced}}"{{end}}
{{if .Deprecated}}deprecated: "{{.Deprecated}}"{{end}}
{{if .Removal}}removal: "{{.Removal}}"{{end}}
{{if .OS}}os_support: "{{.OS}}"{{end}}
introduced: "{{.Introduced}}"
{{- with .Deprecated}}
deprecated: {{.}}
{{- end}}
{{- with .Removal}}
removal: {{.}}
{{- end}}
os_support: "{{.OSTags | join ", "}}"
related:
- /telegraf/v1/configure_plugins/
- {{.URL}}, {{.Name}} Plugin Source

View File

@ -6,10 +6,14 @@ menu:
name: {{.Name}}
identifier: input-{{.ID}}
tags: [{{.Name}}, "input-plugins", "configuration"{{range .Tags}}, "{{.}}"{{end}}]
{{if .Introduced}}introduced: "{{.Introduced}}"{{end}}
{{if .Deprecated}}deprecated: "{{.Deprecated}}"{{end}}
{{if .Removal}}removal: "{{.Removal}}"{{end}}
{{if .OS}}os_support: "{{.OS}}"{{end}}
introduced: "{{.Introduced}}"
{{- with .Deprecated}}
deprecated: {{.}}
{{- end}}
{{- with .Removal}}
removal: {{.}}
{{- end}}
os_support: "{{.OSTags | join ", "}}"
related:
- /telegraf/v1/configure_plugins/
- {{.URL}}, {{.Name}} Plugin Source

View File

@ -6,10 +6,14 @@ menu:
name: {{.Name}}
identifier: output-{{.ID}}
tags: [{{.Name}}, "output-plugins", "configuration"{{range .Tags}}, "{{.}}"{{end}}]
{{if .Introduced}}introduced: "{{.Introduced}}"{{end}}
{{if .Deprecated}}deprecated: "{{.Deprecated}}"{{end}}
{{if .Removal}}removal: "{{.Removal}}"{{end}}
{{if .OS}}os_support: "{{.OS}}"{{end}}
introduced: "{{.Introduced}}"
{{- with .Deprecated}}
deprecated: {{.}}
{{- end}}
{{- with .Removal}}
removal: {{.}}
{{- end}}
os_support: "{{.OSTags | join ", "}}"
related:
- /telegraf/v1/configure_plugins/
- {{.URL}}, {{.Name}} Plugin Source

View File

@ -9,7 +9,5 @@
{{- with .Removal }}
removal: {{ . }}
{{- end }}
{{ with .OS }}
os_support: {{ . }}
{{- end }}
os_support: [{{ .OSTags | join ", " }}]
tags: [{{ .Tags | join ", " }}]

View File

@ -6,10 +6,14 @@ menu:
name: {{.Name}}
identifier: processor-{{.ID}}
tags: [{{.Name}}, "processor-plugins", "configuration"{{range .Tags}}, "{{.}}"{{end}}]
{{if .Introduced}}introduced: "{{.Introduced}}"{{end}}
{{if .Deprecated}}deprecated: "{{.Deprecated}}"{{end}}
{{if .Removal}}removal: "{{.Removal}}"{{end}}
{{if .OS}}os_support: "{{.OS}}"{{end}}
introduced: "{{.Introduced}}"
{{- with .Deprecated}}
deprecated: {{.}}
{{- end}}
{{- with .Removal}}
removal: {{.}}
{{- end}}
os_support: "{{.OSTags | join ", "}}"
related:
- /telegraf/v1/configure_plugins/
- {{.URL}}, {{.Name}} Plugin Source