Merge branch 'master' into docs/generalize-grafana-multinode

pull/6107/head
Jameelah Mercer 2025-06-09 06:15:32 -07:00 committed by GitHub
commit b91612f987
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
53 changed files with 1079 additions and 1507 deletions

1
.gitignore vendored
View File

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

View File

@ -5,13 +5,13 @@
* release notes pages. * release notes pages.
*/ */
// Use jQuery filter to get an array of all the *release* h2 elements // Get all h2 elements that are not checkpoint-releases
const releases = $('h2').filter( const releases = Array.from(document.querySelectorAll('h2')).filter(
(_i, el) => !el.id.match(/checkpoint-releases/) el => !el.id.match(/checkpoint-releases/)
); );
// Extract data about each release from the array of releases // Extract data about each release from the array of releases
releaseData = releases.map((_i, el) => ({ const releaseData = releases.map(el => ({
name: el.textContent, name: el.textContent,
id: el.id, id: el.id,
class: el.getAttribute('class'), class: el.getAttribute('class'),
@ -19,8 +19,8 @@ releaseData = releases.map((_i, el) => ({
})); }));
// Use release data to generate a list item for each release // Use release data to generate a list item for each release
getReleaseItem = (releaseData) => { function getReleaseItem(releaseData) {
var li = document.createElement("li"); const li = document.createElement("li");
if (releaseData.class !== null) { if (releaseData.class !== null) {
li.className = releaseData.class; li.className = releaseData.class;
} }
@ -29,9 +29,10 @@ getReleaseItem = (releaseData) => {
return li; return li;
} }
// Use jQuery each to build the release table of contents // Build the release table of contents
releaseData.each((_i, release) => { const releaseTocUl = document.querySelector('#release-toc ul');
$('#release-toc ul')[0].appendChild(getReleaseItem(release)); 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`. * number specified in the `show` attribute of `ul.release-list`.
* Once all the release items are visible, the "Show More" button is hidden. * Once all the release items are visible, the "Show More" button is hidden.
*/ */
$('#release-toc .show-more').click(function () { const showMoreBtn = document.querySelector('#release-toc .show-more');
const itemHeight = 1.885; // Item height in rem if (showMoreBtn) {
const releaseNum = releaseData.length; showMoreBtn.addEventListener('click', function () {
const maxHeight = releaseNum * itemHeight; const itemHeight = 1.885; // Item height in rem
const releaseIncrement = Number($('#release-list')[0].getAttribute('show')); const releaseNum = releaseData.length;
const currentHeight = Number( const maxHeight = releaseNum * itemHeight;
$('#release-list')[0].style.height.match(/\d+\.?\d+/)[0] const releaseList = document.getElementById('release-list');
); const releaseIncrement = Number(releaseList.getAttribute('show'));
const potentialHeight = currentHeight + releaseIncrement * itemHeight; const currentHeightMatch = releaseList.style.height.match(/\d+\.?\d+/);
const newHeight = potentialHeight > maxHeight ? maxHeight : potentialHeight; 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) { if (newHeight >= maxHeight) {
$('#release-toc .show-more').fadeOut(100); // 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 { .product {
padding: 0 1rem; padding: 0 1rem;
display: flex; display: flex;
flex: 1 1 50%; flex: 1 1 33%;
flex-direction: column; flex-direction: column;
justify-content: space-between; justify-content: space-between;
max-width: 33%; max-width: 33%;
@ -118,11 +118,10 @@
line-height: 1.5rem; line-height: 1.5rem;
color: rgba($article-text, .7); color: rgba($article-text, .7);
} }
}
&.new { h3[state] {
.product-info h3::after { &::after {
content: "New"; content: attr(state);
margin-left: .5rem; margin-left: .5rem;
font-size: 1rem; font-size: 1rem;
padding: .25em .5em .25em .4em; padding: .25em .5em .25em .4em;
@ -132,6 +131,8 @@
font-style: italic; font-style: italic;
vertical-align: middle; vertical-align: middle;
} }
}
} }
ul.product-links { ul.product-links {
@ -227,6 +228,30 @@
background: $article-bg; 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{ .category-head{
margin: 1rem 0 2rem; margin: 1rem 0 2rem;
&::after { &::after {
@ -234,6 +259,7 @@
display: block; display: block;
border-top: 1px solid $article-hr; border-top: 1px solid $article-hr;
margin-top: -1.15rem; margin-top: -1.15rem;
width: calc(100% - 2rem);
} }
} }
} }
@ -441,6 +467,16 @@
ul {margin-bottom: 0;} ul {margin-bottom: 0;}
} }
} }
.categories .category {
&.two-thirds {
width: 100%;
.product { max-width: 100%; }
}
&.one-third {
width: 100%;
.product { max-width: 100%; }
}
}
} }
#telegraf { #telegraf {
flex-direction: column; flex-direction: column;

View File

@ -96,4 +96,5 @@ blockquote {
"blocks/tip", "blocks/tip",
"blocks/important", "blocks/important",
"blocks/warning", "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) : 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 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). - 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. details.
- Add tagging support to Flux tests. - Add tagging support to Flux tests.
- Add new function [`experimental.catch()`](/flux/v0/stdlib/experimental/catch/). - 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 ### Bug fixes

View File

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

View File

@ -9,8 +9,8 @@ menu:
parent: Account management parent: Account management
name: Adjustable quotas and limits name: Adjustable quotas and limits
related: related:
- /flux/v0.x/stdlib/experimental/usage/from/ - /flux/v0/stdlib/experimental/usage/from/
- /flux/v0.x/stdlib/experimental/usage/limits/ - /flux/v0/stdlib/experimental/usage/limits/
- /influxdb/cloud/write-data/best-practices/resolve-high-cardinality/ - /influxdb/cloud/write-data/best-practices/resolve-high-cardinality/
alt_links: alt_links:
cloud-serverless: /influxdb3/cloud-serverless/admin/billing/limits/ 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). 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 ## API error responses

View File

@ -40,7 +40,7 @@ To replicate the state of an organization:
### Write data with Flux ### Write data with Flux
Perform a query to return all specified data. Perform a query to return all specified data.
Write results directly to a bucket in the new organization with the Flux 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 %}} {{% note %}}
If writes are prevented by rate limiting, If writes are prevented by rate limiting,

View File

@ -13,7 +13,7 @@ prepend: |
> [Use InfluxQL to query InfluxDB](/influxdb/cloud/query-data/influxql/). > [Use InfluxQL to query InfluxDB](/influxdb/cloud/query-data/influxql/).
> For information about manually converting InfluxQL queries to Flux, see: > 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/) > - [Query data with Flux](/influxdb/cloud/query-data/flux/)
> - [Migrate continuous queries to Flux tasks](/influxdb/cloud/upgrade/v1-to-cloud/migrate-cqs/) > - [Migrate continuous queries to Flux tasks](/influxdb/cloud/upgrade/v1-to-cloud/migrate-cqs/)
source: /shared/influxdb-v2/reference/cli/influx/transpile/_index.md 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 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 ## October 2021
@ -209,7 +209,7 @@ Refresh the look and feel of InfluxDB Cloud UI. The updated icons, fonts, and la
### Flux update ### Flux update
Upgrade to [Flux v0.139](/flux/v0.x/release-notes/). Upgrade to [Flux v0.139](/flux/v0/release-notes/).
### Telegraf configuration UI ### Telegraf configuration UI
@ -347,7 +347,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
## Features ## Features
- **InfluxDB OSS 2.0 alpha-17** - **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). - Alerts and Notifications to Slack (Free Plan), PagerDuty and HTTP (Usage-based Plan).
- Rate limiting on cardinality for Free Plan. - Rate limiting on cardinality for Free Plan.
- Billing notifications. - Billing notifications.
@ -359,7 +359,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
### Features ### Features
- **InfluxDB OSS 2.0 alpha-15** - **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. - Usage-based Plan.
- Adjusted Free Plan rate limits. - Adjusted Free Plan rate limits.
- Timezone selection in the user interface. - Timezone selection in the user interface.
@ -386,7 +386,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
### Features ### Features
- **InfluxDB OSS 2.0 alpha-9** - **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 ### Bug fixes
@ -403,7 +403,7 @@ Install and customize any [InfluxDB community template](https://github.com/influ
### Features ### Features
- **InfluxDB OSS 2.0 alpha-7** - **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 ### 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) : 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 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). - 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 #### 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. 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`. - If the key exists in the static record, `exists` returns `true`.

View File

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

View File

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

View File

@ -51,7 +51,7 @@ Use the following command to return the image Kubernetes uses to build your
InfluxDB cluster: InfluxDB cluster:
```sh ```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:`): 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 ### Identify the version to upgrade to
All available InfluxDB Clustered package versions are provided at All available InfluxDB Clustered package versions are provided in the
[oci.influxdata.com](https://oci.influxdata.com). [InfluxDB Clustered release notes](/influxdb3/clustered/reference/release-notes/clustered/).
Find the package version you want to upgrade to and copy the version number. 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 Some InfluxDB Clustered releases are _checkpoint releases_ that introduce a
breaking change to an InfluxDB component. breaking change to an InfluxDB component.
Checkpoint releases are only made when absolutely necessary and are clearly 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 **When upgrading, always upgrade to each checkpoint release first, before proceeding
to newer versions.** to newer versions.**

View File

@ -9,9 +9,10 @@ menu:
influxdb3_core: influxdb3_core:
name: InfluxDB 3 Core name: InfluxDB 3 Core
weight: 1 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

@ -13,7 +13,7 @@ related:
- /influxdb3/core/admin/query-system-data/ - /influxdb3/core/admin/query-system-data/
- /influxdb3/core/write-data/ - /influxdb3/core/write-data/
- /influxdb3/core/query-data/ - /influxdb3/core/query-data/
source: /shared/v3-core-get-started/_index.md source: /shared/influxdb3-get-started/_index.md
prepend: | prepend: |
> [!Note] > [!Note]
> InfluxDB 3 Core is purpose-built for real-time data monitoring and recent data. > 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 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

@ -9,9 +9,10 @@ menu:
influxdb3_enterprise: influxdb3_enterprise:
name: InfluxDB 3 Enterprise name: InfluxDB 3 Enterprise
weight: 1 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

@ -13,10 +13,10 @@ related:
- /influxdb3/enterprise/admin/query-system-data/ - /influxdb3/enterprise/admin/query-system-data/
- /influxdb3/enterprise/write-data/ - /influxdb3/enterprise/write-data/
- /influxdb3/enterprise/query-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 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

@ -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 agent.handler = h
# Anything printed to STDERR from a UDF process gets captured into the Kapacitor logs. # 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.start()
agent.wait() 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 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: guide:
```bash ```bash
@ -434,7 +434,7 @@ Add this snippet to your Kapacitor configuration file (typically located at `/et
[udf.functions] [udf.functions]
[udf.functions.tTest] [udf.functions.tTest]
# Run python # Run python
prog = "/usr/bin/python2" prog = "/usr/bin/python3"
# Pass args to python # Pass args to python
# -u for unbuffered STDIN and STDOUT # -u for unbuffered STDIN and STDOUT
# and the path to the script # and the path to the script
@ -468,8 +468,8 @@ correctly:
service kapacitor restart service kapacitor restart
``` ```
Check the logs (`/var/log/kapacitor/`) to make sure you see a 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 _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 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 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. 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 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 ### Generating test data
To simulate our printer for testing, we will write a simple Python 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). faster (and much cheaper than a 3D printer).
```python ```python
#!/usr/bin/python2 #!/usr/bin/env python
from numpy import random from numpy import random
from datetime import timedelta, datetime from datetime import timedelta, datetime
@ -672,7 +686,11 @@ fake data so that we can easily iterate on the task:
```sh ```sh
# Start the recording in the background # Start the recording in the background
kapacitor record stream -task print_temps -duration 24h -no-wait 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 rid=7bd3ced5-5e95-4a67-a0e1-f00860b1af47
# Run our python script to generate data # Run our python script to generate data
chmod +x ./printer_data.py chmod +x ./printer_data.py

View File

@ -9,6 +9,22 @@ aliases:
- /kapacitor/v1/about_the_project/releasenotes-changelog/ - /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"} ## v1.7.6 {date="2024-10-28"}
### Features ### Features
@ -105,7 +121,7 @@ aliases:
### Bug fixes ### Bug fixes
- Update the `Kafka` client to fix a bug regarding write latency. - 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 weight: 101
--- ---
## Problem ## 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 ## 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. 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 ```js
array.from( array.from(

View File

@ -9,9 +9,9 @@ weight: 105
--- ---
## Send data in JSON body with `http.post()` ## 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/). 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: 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 | | 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 | | 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). 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 ## 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 ```js
import "date" import "date"
@ -26,7 +26,7 @@ from(bucket: "example-bucket")
## Solution 2 ## 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 ```js
import "date" import "date"
@ -37,4 +37,4 @@ from(bucket: "example-bucket")
|> filter(fn: (r) => r["_field"] == "example-field") |> filter(fn: (r) => r["_field"] == "example-field")
|> filter(fn: (r) => date.hour(t: r["_time"]) > 9 and date.hour(t: r["_time"]) < 17) |> 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. Explicitly assign levels to your data based on thresholds.
### Solution Advantages ### 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 ### Solution Disadvantages
You have to explicitly define your thresholds, which potentially requires more code. You have to explicitly define your thresholds, which potentially requires more code.
@ -36,9 +36,9 @@ Create a task where you:
### Solution Explained ### Solution Explained
1. Import packages and define task options and secrets. Import the following packages: 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 Telegram package](/flux/v0/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 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.x/stdlib/influxdata/influxdb/monitor/): This package contains functions and tools for monitoring your data. - [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 ```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 | | 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 ```js
states 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 | | 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 ```js
unioned_states = 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 | 30.0 | ok | 2022-01-01T00:00:00Z |
| example-measurement | example-tag-value | example-field | 50.0 | crit | 2022-01-01T00:01: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 ```js
state_changes = state_changes =

View File

@ -1,7 +1,7 @@
--- ---
title: Flux Data Structure title: Flux Data Structure
description: > 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: menu:
resources: resources:
parent: Videos parent: Videos

View File

@ -1,7 +1,7 @@
--- ---
title: Flux Functions title: Flux Functions
description: > 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: menu:
resources: resources:
parent: Videos 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"} ## v2.10.0 {date="2025-04-04"}
### Features ### Features

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 ### What's in this guide
{{% show-in "enterprise" %}}
This guide covers Enterprise as well as InfluxDB 3 Core, including the following topics: 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) - [Install and startup](#install-and-startup)
- [Authentication and authorization](#authentication-and-authorization) - [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) - [Last values cache](#last-values-cache)
- [Distinct values cache](#distinct-values-cache) - [Distinct values cache](#distinct-values-cache)
- [Python plugins and the processing engine](#python-plugins-and-the-processing-engine) - [Python plugins and the processing engine](#python-plugins-and-the-processing-engine)
{{% show-in "enterprise" %}}
- [Multi-server setups](#multi-server-setup) - [Multi-server setups](#multi-server-setup)
{{% /show-in %}}
> [!Tip] > [!Tip]
> #### Find support for {{% product-name %}} > #### 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**. {{% product-name %}} runs on **Linux**, **macOS**, and **Windows**.
{{% show-in "enterprise" %}}
{{% tabs-wrapper %}} {{% tabs-wrapper %}}
{{% tabs %}} {{% tabs %}}
[Linux or macOS](#linux-or-macos) [Linux or macOS](#linux-or-macos)
@ -107,18 +86,67 @@ Pull the image:
docker pull influxdb:3-enterprise 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. {{% show-in "core" %}}
Explorer is currently in beta. Pull the image: {{% 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 ```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 --------------> <!--------------- END DOCKER -------------->
{{% /tab-content %}} {{% /tab-content %}}
{{% /tabs-wrapper %}} {{% /tabs-wrapper %}}
{{% /show-in %}}
_Build artifacts and images update with every merge into the {{% product-name %}} `main` branch._ _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 source ~/.zshrc
``` ```
#### Start InfluxDB #### Start InfluxDB
To start your InfluxDB instance, use the `influxdb3 serve` command and provide the following: To start your InfluxDB instance, use the `influxdb3 serve` command and provide the following:
- `--object-store`: Specifies the type of object store to use. - `--object-store`: Specifies the type of object store to use.
InfluxDB supports the following: local file system (`file`), `memory`, InfluxDB supports the following: local file system (`file`), `memory`,
S3 (and compatible services like Ceph or Minio) (`s3`), 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`. The default is `file`.
Depending on the object store type, you may need to provide additional options Depending on the object store type, you may need to provide additional options
for your object store configuration. 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. - `--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. - `--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. 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. > storage alone, eliminating the need for locally attached disks.
> {{% product-name %}} can also work with only local disk storage when needed. > {{% product-name %}} can also work with only local disk storage when needed.
{{% show-in "enterprise" %}}
> [!Note] > [!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. > 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 ##### Filesystem object store
@ -171,6 +207,7 @@ This is the default object store type.
Replace the following with your values: Replace the following with your values:
{{% show-in "enterprise" %}}
```bash ```bash
# Filesystem object store # Filesystem object store
# Provide the filesystem directory # Provide the filesystem directory
@ -180,17 +217,28 @@ influxdb3 serve \
--object-store file \ --object-store file \
--data-dir ~/.influxdb3 --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 - `--object-store file --data-dir /path/in/container`: Uses the mount for server storage
{{% show-in "enterprise" %}}
<!--pytest.mark.skip--> <!--pytest.mark.skip-->
```bash ```bash
# Filesystem object store with Docker # File system object store with Docker
# Create a mount # Create a mount
# Provide the mount path # Provide the mount path
docker run -it \ docker run -it \
@ -201,8 +249,21 @@ docker run -it \
--object-store file \ --object-store file \
--data-dir /path/in/container --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] > [!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. This is useful for production deployments that require high availability and durability.
Provide your bucket name and credentials to access the S3 object store. Provide your bucket name and credentials to access the S3 object store.
{{% show-in "enterprise" %}}
```bash ```bash
# S3 object store (default is the us-east-1 region) # S3 object store (default is the us-east-1 region)
# Specify the object store type and associated options # Specify the object store type and associated options
@ -227,6 +289,7 @@ influxdb3 serve \
--aws-secret-access-key AWS_SECRET_ACCESS_KEY --aws-secret-access-key AWS_SECRET_ACCESS_KEY
``` ```
```bash ```bash
# Minio or other open source object store # Minio or other open source object store
# (using the AWS S3 API with additional parameters) # (using the AWS S3 API with additional parameters)
@ -241,12 +304,40 @@ influxdb3 serve \
--aws-endpoint ENDPOINT \ --aws-endpoint ENDPOINT \
--aws-allow-http --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 #### Memory object store
Store data in RAM without persisting it on shutdown. Store data in RAM without persisting it on shutdown.
It's useful for rapid testing and development. It's useful for rapid testing and development.
{{% show-in "enterprise" %}}
```bash ```bash
# Memory object store # Memory object store
# Stores data in RAM; doesn't persist data # Stores data in RAM; doesn't persist data
@ -255,6 +346,16 @@ influxdb3 serve \
--cluster-id cluster01 \ --cluster-id cluster01 \
--object-store memory --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/influxdb3/serve/): For more information about server options, use the CLI help or view the [InfluxDB 3 CLI reference](/influxdb3/version/reference/cli/influxdb3/serve/):
@ -262,6 +363,16 @@ For more information about server options, use the CLI help or view the [InfluxD
influxdb3 serve --help 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 #### Licensing
When first starting a new instance, {{% product-name %}} prompts you to select a license type. When first starting a new instance, {{% product-name %}} prompts you to select a license type.
@ -273,6 +384,7 @@ InfluxDB 3 Enterprise licenses authorize the use of the InfluxDB 3 Enterprise so
- **Commercial**: Commercial license with full access to InfluxDB 3 Enterprise capabilities. - **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. 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 ### Authentication and authorization
@ -280,8 +392,6 @@ You can learn more on managing your InfluxDB 3 Enterprise license on the [Manage
With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests. With authentication enabled, you must provide a token with `influxdb3` CLI commands and HTTP API requests.
{{% product-name %}} uses token-based authentication and authorization which is enabled by default when you start the server.
{{% show-in "enterprise" %}} {{% show-in "enterprise" %}}
{{% product-name %}} supports the following types of tokens: {{% product-name %}} supports the following types of tokens:
@ -293,19 +403,24 @@ With authentication enabled, you must provide a token with `influxdb3` CLI comma
- A system token grants read access to system information endpoints and - A system token grants read access to system information endpoints and
metrics for the server metrics for the server
{{% /show-in %}} {{% /show-in %}}
{{% show-in "core" %}}
{{% product-name %}} supports _admin_ tokens, which grant access to all CLI actions and API endpoints.
{{% /show-in %}}
For more information about tokens and authorization, see [Manage tokens](/influxdb3/version/admin/tokens/). For more information about tokens and authorization, see [Manage tokens](/influxdb3/version/admin/tokens/).
> [!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 operator token #### Create an operator token
After you start the server, create your first admin token (the operator token): 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]
> **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-wrapper >}}
{{% code-tabs %}} {{% code-tabs %}}
@ -334,17 +449,16 @@ Replace {{% code-placeholder-key %}}`CONTAINER_NAME`{{% /code-placeholder-key %}
{{< /code-tabs-wrapper >}} {{< /code-tabs-wrapper >}}
The command returns a token string for authenticating CLI commands and API requests. 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.
> [!Important]
> **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.
#### Set your token for authentication #### Set your token for authentication
Use one of the following methods to authenticate requests. Use your operator token to authenticate server actions in {{% product-name %}},
In your commands, 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). such as creating additional tokens, performing administrative tasks, and writing and querying data.
Use one of the following methods to provide your token and authenticate `influxdb3` CLI commands.
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-wrapper >}}
{{% tabs %}} {{% tabs %}}
@ -375,7 +489,7 @@ influxdb3 show databases --token AUTH_TOKEN
{{% /tab-content %}} {{% /tab-content %}}
{{< /tabs-wrapper >}} {{< /tabs-wrapper >}}
For HTTP API requests, include your token in the `Authorization` header: For HTTP API requests, include your token in the `Authorization` header--for example:
{{% code-placeholders "AUTH_TOKEN" %}} {{% code-placeholders "AUTH_TOKEN" %}}
```bash ```bash
@ -384,11 +498,13 @@ curl "http://{{< influxdb/host >}}/api/v3/configure/database" \
``` ```
{{% /code-placeholders %}} {{% /code-placeholders %}}
#### Learn more about token management #### Learn more about tokens and permissions
- [Manage admin tokens](/influxdb3/version/admin/tokens/admin/) - Create, list, and delete admin tokens - [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 - [Manage resource tokens](/influxdb3/version/admin/tokens/resource/) - Create, list, and delete resource tokens
- [Token types and permissions](/influxdb3/version/admin/tokens/) - Understanding operator and named admin tokens {{% /show-in %}}
- [Authentication](/influxdb3/version/reference/internals/authentication/) - Understand authentication, authorizations, and permissions in {{% product-name %}}
### Data model ### Data model
@ -408,10 +524,11 @@ This tutorial covers many of the recommended tools.
| :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: | | :------------------------------------------------------------------------------------------------ | :----------------------: | :----------------------: | :----------------------: |
| **`influxdb3` CLI** {{< req text="\* " color="magenta" >}} | **{{< icon "check" >}}** | **{{< icon "check" >}}** | **{{< icon "check" >}}** | | **`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 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 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 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 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" >}}** | - | | [Telegraf](/telegraf/v1/) | - | **{{< icon "check" >}}** | - |
| [Chronograf](/chronograf/v1/) | - | - | - | | [Chronograf](/chronograf/v1/) | - | - | - |
| <span style="opacity:.5;">`influx` CLI</span> | - | - | - | | <span style="opacity:.5;">`influx` CLI</span> | - | - | - |
@ -431,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. 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. 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 #### Write data in line protocol syntax
{{% product-name %}} accepts data in [line protocol](/influxdb3/version/reference/syntax/line-protocol/) syntax. {{% product-name %}} accepts data in [line protocol](/influxdb3/version/reference/syntax/line-protocol/) syntax.
@ -471,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: 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. - {{% 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 %}}`AUTH_TOKEN`{{% /code-placeholder-key %}}: your {{% token-link "database" %}}{{% show-in "enterprise" %}} with permission to write to the specified database{{% /show-in %}}
- {{% 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 %}}
##### Write data via stdin ##### Write data via stdin
@ -697,7 +817,15 @@ influxdb3 create -h
### Query data ### 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] > [!Note]
> Flux, the language introduced in InfluxDB 2.0, is **not** supported in InfluxDB 3. > Flux, the language introduced in InfluxDB 2.0, is **not** supported in InfluxDB 3.
@ -882,30 +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. 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) ### Query using InfluxDB 3 Explorer (Beta)
You can use the InfluxDB 3 Explorer query interface by downloading the Docker image. You can use the InfluxDB 3 Explorer web-based interface to query and visualize data,
and administer your {{% product-name %}} instance.
```bash For more information, see how to [install InfluxDB 3 Explorer (Beta)](/influxdb3/explorer/install/) using Docker
docker pull quay.io/influxdb/influxdb3-explorer:latest and get started querying your data.
```
Run the interface using:
```bash
docker run -p 8086:80 -p 8087:8888 quay.io/influxdb/influxdb3-explorer:latest --mode=normal
```
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.
### Last values cache ### 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. {{% 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.
Last value caches import historical data when first created, and reload data on restart to ensure cache consistency and eliminate cold start delays.
You can use the `influxdb3` CLI to [create a last value cache](/influxdb3/version/reference/cli/influxdb3/create/last_cache/). 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" %}} {{% code-placeholders "DATABASE_NAME|AUTH_TOKEN|TABLE_NAME|CACHE_NAME" %}}
@ -991,7 +1106,6 @@ Replace the following placeholders with your values:
Similar to the [last values cache](#last-values-cache), the database can cache in RAM the distinct values for a single column in a table or a hierarchy of columns. Similar to the [last values cache](#last-values-cache), the database can cache in RAM the distinct values for a single column in a table or a hierarchy of columns.
This is useful for fast metadata lookups, which can return in under 30 milliseconds. This is useful for fast metadata lookups, which can return in under 30 milliseconds.
Many of the options are similar to the last value cache. Many of the options are similar to the last value cache.
Distinct values caches import historical data when first created, and reload data on restart to ensure cache consistency and eliminate cold start delays.
You can use the `influxdb3` CLI to [create a distinct values cache](/influxdb3/version/reference/cli/influxdb3/create/distinct_cache/). You can use the `influxdb3` CLI to [create a distinct values cache](/influxdb3/version/reference/cli/influxdb3/create/distinct_cache/).
@ -1035,7 +1149,7 @@ influxdb3 create distinct_cache \
#### Query a distinct values 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 ```bash
influxdb3 query \ influxdb3 query \
@ -1276,6 +1390,7 @@ influxdb3 enable trigger \
For more information, see [Python plugins and the Processing engine](/influxdb3/version/plugins/). For more information, see [Python plugins and the Processing engine](/influxdb3/version/plugins/).
{{% show-in "enterprise" %}}
### Multi-server setup ### Multi-server setup
{{% product-name %}} is built to support multi-node setups for high availability, read replicas, and flexible implementations depending on use case. {{% product-name %}} is built to support multi-node setups for high availability, read replicas, and flexible implementations depending on use case.
@ -1438,7 +1553,7 @@ For a robust and effective setup for managing time-series data, you can run inge
--mode ingest \ --mode ingest \
--object-store s3 \ --object-store s3 \
--bucket influxdb-3-enterprise-storage \ --bucket influxdb-3-enterprise-storage \
-- http-bind {{< influxdb/host >}} \ --http-bind {{< influxdb/host >}} \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \ --aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY> --aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
``` ```
@ -1500,7 +1615,7 @@ For a robust and effective setup for managing time-series data, you can run inge
--mode query \ --mode query \
--object-store s3 \ --object-store s3 \
--bucket influxdb-3-enterprise-storage \ --bucket influxdb-3-enterprise-storage \
-- http-bind localhost:8383 \ --http-bind localhost:8383 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \ --aws-access-key-id <AWS_ACCESS_KEY_ID> \
--aws-secret-access-key <AWS_SECRET_ACCESS_KEY> --aws-secret-access-key <AWS_SECRET_ACCESS_KEY>
``` ```
@ -1519,7 +1634,7 @@ For a robust and effective setup for managing time-series data, you can run inge
--mode query \ --mode query \
--object-store s3 \ --object-store s3 \
--bucket influxdb-3-enterprise-storage \ --bucket influxdb-3-enterprise-storage \
-- http-bind localhost:8484 \ --http-bind localhost:8484 \
--aws-access-key-id <AWS_ACCESS_KEY_ID> \ --aws-access-key-id <AWS_ACCESS_KEY_ID> \
<AWS_SECRET_ACCESS_KEY> <AWS_SECRET_ACCESS_KEY>
``` ```
@ -1595,3 +1710,4 @@ Replace the following placeholders with your values:
- {{% code-placeholder-key %}}`DATABASE_NAME`{{% /code-placeholder-key %}}: the name of the database to create the file index in - {{% 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 %}}`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

@ -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 %}}

File diff suppressed because it is too large Load Diff

View File

@ -11,7 +11,7 @@ menu:
weight: 60 weight: 60
--- ---
## v1.34.1 [2025-03-24] ## v1.34.1 {date="2025-03-24"}
### Bugfixes ### 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 - [#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 - [#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 ### 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 - [#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 - [#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 ### 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 - [#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 - [#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 ### 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 - [#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 - [#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 ### Important Changes

View File

@ -27,6 +27,20 @@ influxdb3_enterprise:
- How do I install and run InfluxDB 3 Enterprise? - How do I install and run InfluxDB 3 Enterprise?
- Help me write a plugin for the Python Processing engine? - Help me write a plugin for the Python Processing engine?
- How do I start a read replica node with InfluxDB 3 Enterprise? - 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: influxdb3_cloud_serverless:
name: InfluxDB Cloud Serverless name: InfluxDB Cloud Serverless
@ -50,7 +64,7 @@ influxdb3_cloud_dedicated:
list_order: 3 list_order: 3
latest: cloud-dedicated latest: cloud-dedicated
link: "https://www.influxdata.com/contact-sales-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 placeholder_host: cluster-id.a.influxdb.io
ai_sample_questions: ai_sample_questions:
- How do I migrate from InfluxDB v1 to InfluxDB Cloud Dedicated? - 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 is Cloud 2 different from Cloud Serverless?
- How do I manage auth tokens in InfluxDB Cloud 2? - 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: telegraf:
name: Telegraf name: Telegraf
namespace: telegraf namespace: telegraf
@ -144,7 +172,7 @@ kapacitor:
versions: [v1] versions: [v1]
latest: v1.7 latest: v1.7
latest_patches: latest_patches:
v1: 1.7.6 v1: 1.7.7
ai_sample_questions: ai_sample_questions:
- How do I configure Kapacitor for InfluxDB v1? - How do I configure Kapacitor for InfluxDB v1?
- How do I write a custom Kapacitor task? - How do I write a custom Kapacitor task?

View File

@ -39,64 +39,87 @@
<div id="influxdb3" class="product-group"> <div id="influxdb3" class="product-group">
<h2>InfluxDB 3</h2> <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> <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"> <div class="categories">
<h4>Self-managed</h4> <div class="category full">
</div> <div class="category-head">
<div class="products"> <h4>Self-managed</h4>
<div class="product new"> </div>
<div class="product-info"> <div class="products">
<h3><a href="/influxdb3/core/">InfluxDB 3 Core</a></h3> <div class="product">
<p>The open source recent data engine optimized for time series and event data.</p> <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> </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>
<div class="product new"> <div class="category two-thirds">
<div class="product-info"> <div class="category-head">
<h3><a href="/influxdb3/enterprise/">InfluxDB 3 Enterprise</a></h3> <h4>Fully-Managed</h4>
<p>The scalable data engine built for recent and historical time series and event data.</p> </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> </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>
<div class="product"> <div class="category one-third">
<div class="product-info"> <div class="category-head">
<h3><a href="/influxdb3/clustered/">InfluxDB Clustered</a></h3> <h4>Tools</h4>
<p>The Kubernetes-enabled, highly-available InfluxDB 3 cluster built for high write and query workloads on your own infrastructure.</p>
</div> </div>
<ul class="product-links"> <div class="products">
<li><a href="/influxdb3/clustered/get-started/">Get started with InfluxDB Clustered</a></li> <div class="product">
<li><a href="/influxdb3/clustered/">View documentation</a></li> <div class="product-info">
</ul> <h3 state="beta"><a href="/influxdb3/explorer/">InfluxDB 3 Explorer</a></h3>
</div> <p>A standalone UI designed for visualizing, querying, and managing data in InfluxDB 3 Core and Enterprise.</p>
</div> </div>
<div class="category-head"> <ul class="product-links">
<h4>Fully-Managed</h4> <li><a href="/influxdb3/explorer/get-started/">Get started with Explorer</a></li>
</div> <li><a href="/influxdb3/explorer/">View documentation</a></li>
<div class="products"> </ul>
<div class="product"> </div>
<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> </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> </div>
</div> </div>

View File

@ -5,6 +5,7 @@
{{ partial "article/supported-versions.html" . }} {{ partial "article/supported-versions.html" . }}
{{ partial "article/page-meta.html" . }} {{ partial "article/page-meta.html" . }}
</div> </div>
{{ partial "article/beta.html" . }}
{{ partial "article/stable-version.html" . }} {{ partial "article/stable-version.html" . }}
{{ partial "article/flux-experimental.html" . }} {{ partial "article/flux-experimental.html" . }}
{{ partial "article/flux-contrib.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 }} {{ if .File }}
{{ .Scratch.Set "pageGithubLink" (print "https://github.com/influxdata/docs-v2/edit/master/content/" .File.Path) }} {{ .Scratch.Set "pageGithubLink" (print "https://github.com/influxdata/docs-v2/edit/master/content/" .File.Path) }}
{{ if .Page.HasShortcode "duplicate-oss" }} {{ if .Params.Source }}
{{ .Scratch.Set "pageGithubLink" (replaceRE "/cloud/" "/v2/" (.Scratch.Get "pageGithubLink")) }}
{{ else if .Params.Source }}
{{ .Scratch.Set "pageGithubLink" (print "https://github.com/influxdata/docs-v2/edit/master/content" .Params.source) }} {{ .Scratch.Set "pageGithubLink" (print "https://github.com/influxdata/docs-v2/edit/master/content" .Params.source) }}
{{ end }} {{ end }}
{{ else }} {{ else }}
@ -53,7 +51,7 @@
To find support, use the following resources: To find support, use the following resources:
</p> </p>
<ul> <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="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> <li><a class="slack" href="https://influxdata.com/slack" target="_blank">InfluxDB Community Slack</a></li>
{{ else }} {{ else }}

View File

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

View File

@ -22,6 +22,8 @@
{{ $scratch.Set "siteTitle" "InfluxDB 3 Core Documentation" }} {{ $scratch.Set "siteTitle" "InfluxDB 3 Core Documentation" }}
{{ else if eq $currentVersion "enterprise"}} {{ else if eq $currentVersion "enterprise"}}
{{ $scratch.Set "siteTitle" "InfluxDB 3 Enterprise Documentation" }} {{ $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"}} {{ else if eq $currentVersion "cloud-serverless"}}
{{ $scratch.Set "siteTitle" "InfluxDB Cloud Serverless Documentation" }} {{ $scratch.Set "siteTitle" "InfluxDB Cloud Serverless Documentation" }}
{{ else if eq $currentVersion "cloud-dedicated"}} {{ 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") }} {{ $influxdbCloud := dict "influxdb/cloud" (slice $.Site.Data.products.influxdb_cloud.name "cloud") }}
{{ $influxdb3Core := dict "influxdb3/core" (slice $.Site.Data.products.influxdb3_core.name "core") }} {{ $influxdb3Core := dict "influxdb3/core" (slice $.Site.Data.products.influxdb3_core.name "core") }}
{{ $influxdb3Enterprise := dict "influxdb3/enterprise" (slice $.Site.Data.products.influxdb3_enterprise.name "enterprise") }} {{ $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") }} {{ $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") }} {{ $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") }} {{ $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") }} {{ $flux := dict "flux/v0" (slice "Flux" "flux") }}
{{ $enterpriseInfluxdb := dict "enterprise_influxdb/v1" (slice "InfluxDB Enterprise" "enterprise_v1") }} {{ $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" }} {{ define "productLink" }}
{{ $defaultAltProductPage := $.context.GetPage ((replaceRE .pageRoot .productPath $.context.Page.RelPermalink) | replaceRE `\/$` "") }} {{ $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 }} {{ $productAltLinkKey := index (index $.productInfo .productPath) 1 }}
{{ $isCurrentProduct := in $.context.RelPermalink .productPath }} {{ $isCurrentProduct := in $.context.RelPermalink .productPath }}
{{ $link := cond .useRootProductLink (print "/" .productPath "/") (cond (isset .altLinks $productAltLinkKey) (index .altLinks $productAltLinkKey) (cond $defaultAltProductPageExists $defaultAltProductPage.RelPermalink (print "/" .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 }} {{ $state := .state | default "" }}
<a href='{{ $link }}' {{ if $isCurrentProduct }}class="active"{{ end }}>{{ index (index $.productInfo .productPath) 0 }}{{ if $isNew }} <span class="state">New</span>{{ end }}</a> <a href='{{ $link }}' {{ if $isCurrentProduct }}class="active"{{ end }}>{{ index (index $.productInfo .productPath) 0 }}{{ if ne $state ""}} <span class="state">{{ $state }}</span>{{ end }}</a>
{{ end }} {{ end }}
{{ $templateDefaults := dict "context" . "productInfo" $productInfo "altLinks" $altLinks "pageRoot" $pageRoot "useRootProductLink" $useRootProductLink }} {{ $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="product-group">
<div class="group-title"><p>InfluxDB 3</p></div> <div class="group-title"><p>InfluxDB 3</p></div>
<ul class="item-list products" data-category="Self-managed"> <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/core" "state" "New") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/enterprise") $templateDefaults) }}</li> <li>{{ template "productLink" (merge (dict "productPath" "influxdb3/enterprise" "state" "New") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/clustered") $templateDefaults) }}</li> <li>{{ template "productLink" (merge (dict "productPath" "influxdb3/clustered") $templateDefaults) }}</li>
</ul> </ul>
<ul class="item-list products" data-category="Fully-Managed"> <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-serverless") $templateDefaults) }}</li>
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/cloud-dedicated") $templateDefaults) }}</li> <li>{{ template "productLink" (merge (dict "productPath" "influxdb3/cloud-dedicated") $templateDefaults) }}</li>
</ul> </ul>
<ul class="item-list products" data-category="Tools">
<li>{{ template "productLink" (merge (dict "productPath" "influxdb3/explorer" "state" "beta") $templateDefaults) }}</li>
</ul>
</div> </div>
<div class="product-group"> <div class="product-group">
<div class="group-title"><p>InfluxDB 2</p></div> <div class="group-title"><p>InfluxDB 2</p></div>

View File

@ -11,6 +11,8 @@
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_core -}} {{- $scratch.Set "productData" .Site.Data.products.influxdb3_core -}}
{{- else if eq $currentProduct "enterprise" -}} {{- else if eq $currentProduct "enterprise" -}}
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_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" -}} {{- else if eq $currentProduct "cloud-serverless" -}}
{{- $scratch.Set "productData" .Site.Data.products.influxdb3_cloud_serverless -}} {{- $scratch.Set "productData" .Site.Data.products.influxdb3_cloud_serverless -}}
{{- else if eq $currentProduct "cloud-dedicated" -}} {{- else if eq $currentProduct "cloud-dedicated" -}}

View File

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

View File

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

View File

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

View File

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

View File

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