Merge branch 'master' into influxdb-pr22998-docs

pull/3729/head
kelseiv 2022-04-29 09:53:22 -07:00 committed by GitHub
commit 408f9fdbab
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1410 changed files with 82361 additions and 11526 deletions

View File

@ -6,6 +6,7 @@ labels: ''
assignees: '' assignees: ''
--- ---
**ETA:** _Provide an estimated completion date for the feature (if available)_
**PR:** _Provide PR URL(s) for this feature (if available)_ **PR:** _Provide PR URL(s) for this feature (if available)_
_Describe the new feature here._ _Describe the new feature here._

View File

@ -1,43 +1,85 @@
## Generate InfluxDB API docs # How to generate InfluxDB API docs
InfluxDB uses [Redoc](https://github.com/Redocly/redoc/),
InfluxData uses [Redoc](https://github.com/Redocly/redoc/),
[redoc-cli](https://github.com/Redocly/redoc/blob/master/cli/README.md), [redoc-cli](https://github.com/Redocly/redoc/blob/master/cli/README.md),
and Redocly's [OpenApi CLI](https://redoc.ly/docs/cli/) to generate and Redocly's [OpenApi CLI](https://redoc.ly/docs/cli/) to generate
API documentation from the InfluxDB openapi contracts. API documentation from the [InfluxDB OpenAPI (aka Swagger) contracts](https://github.com/influxdata/openapi).
To minimize repo size, the generated API documentation HTML is gitignored, therefore To minimize the size of the `docs-v2` repository, the generated API documentation HTML is gitignored, therefore
not committed directly to the docs repo. not committed to the docs repo.
The InfluxDB docs deployment process uses swagger files in the `api-docs` directory The InfluxDB docs deployment process uses OpenAPI specification files in the `api-docs` directory
to generate version-specific API documentation. to generate version-specific (Cloud, OSS v2.1, OSS v2.0, etc.) API documentation.
### Versioned swagger files ## How we version OpenAPI contracts
The structure versions swagger files using the following pattern:
``` The `api-docs` directory structure versions OpenAPI files using the following pattern:
```md
api-docs/ api-docs/
├── v2.0/ ├── v2.0/
│ └── ref.yml │ └── ref.yml
│ └── swaggerV1Compat.yml
├── v2.1/ ├── v2.1/
│ └── ref.yml │ └── ref.yml
│ └── swaggerV1Compat.yml
├── v2.2/ ├── v2.2/
│ └── ref.yml │ └── ref.yml
│ └── swaggerV1Compat.yml
└── etc... └── etc...
``` ```
### Configure OpenAPI CLI linting and bundling ### InfluxDB Cloud version
`.redoc.yaml` sets linting and bundling options for `openapi` CLI.
`./openapi/plugins` contains custom OpenAPI CLI plugins composed of *rules* (for linting) and *decorators* (for bundle customization).
### Custom content Because InfluxDB Cloud releases are frequent, we make no effort to version the
`./openapi/content` contains custom OAS (OpenAPI Spec) content in YAML files. The content structure and Markdown must be valid OAS. Cloud API spec. We regenerate API reference docs from `influxdata/openapi`
**master** as features are released.
`./openapi/plugins` use `./openapi/plugins/decorators` to apply the content to the contracts. ### InfluxDB OSS version
`.yml` files in `./openapi/content/` set content for sections (nodes) in the contract. To update the content for those nodes, you only need to update the YAML files.
To add new YAML files for other nodes in the openapi contracts, configure the new content YAML file in `./openapi/content/content.js`. Then, write a decorator module for the node and configure the decorator in the plugin, e.g. `./openapi/plugins/docs-plugin.js`. See the [complete list of OAS v3.0 nodes](https://github.com/Redocly/openapi-cli/blob/master/packages/core/src/types/oas3.ts#L529). Given that
`influxdata/openapi` **master** may contain OSS spec changes not implemented
in the current OSS release, we (Docs team) maintain a release branch, `influxdata/openapi`
**docs-release/influxdb-oss**, used to generate OSS reference docs.
`openapi` CLI requires that modules use CommonJS `require` syntax for imports. To update this branch to a new OSS release, (re)base on the commit or tag for the [latest release of InfluxDB OSS](#how-to-find-the-api-spec-used-by-an-influxdb-oss-version).
```sh
git checkout docs-release/influxdb-oss
git rebase -i influxdb-oss-v2.2.0
git push -f origin docs-release/influxdb-oss
```
To update this branch with documentation changes between OSS releases, cherry-pick your documentation commits into the release branch.
```sh
git checkout docs-release/influxdb-oss
git cherry-pick <commit hashes>
git push -f origin docs-release/influxdb-oss
```
### How to find the API spec used by an InfluxDB OSS version
`influxdata/openapi` does not version the InfluxData API.
To find the `influxdata/openapi` commit SHA used in a specific version of InfluxDB OSS,
see `/scripts/fetch-swagger.sh` in `influxdata/influxdb`--for example,
for the `influxdata/openapi` commit used in OSS v2.2.0, see https://github.com/influxdata/influxdb/blob/v2.2.0/scripts/fetch-swagger.sh#L13=.
For convenience, we tag `influxdata/influxdb` (OSS) release points in `influxdata/openapi` as
`influxdb-oss-v[OSS_VERSION]`. See <https://github.com/influxdata/openapi/tags>.
## How to fetch and process influxdata/openapi contracts
Update the contracts in `api-docs` to the latest from `influxdata/openapi`.
```sh
# In your terminal, go to the `docs-v2/api-docs` directory:
cd api-docs
# Fetch the contracts and run @redocly/openapi-cli to customize and bundle them.
sh getswagger.sh oss; sh getswagger.sh cloud
```
## How to generate API docs locally
### Generate API docs locally
Because the API documentation HTML is gitignored, you must manually generate it Because the API documentation HTML is gitignored, you must manually generate it
to view the API docs locally. to view the API docs locally.
@ -50,11 +92,71 @@ npx --version
If `npx` returns errors, [download](https://nodejs.org/en/) and run a recent version of the Node.js installer for your OS. If `npx` returns errors, [download](https://nodejs.org/en/) and run a recent version of the Node.js installer for your OS.
In your terminal, from the root of the docs repo, run:
```sh ```sh
# In your terminal, go to the `docs-v2/api-docs` directory:
cd api-docs cd api-docs
# Generate the API docs # Generate the API docs with Redocly
sh generate-api-docs.sh sh generate-api-docs.sh
``` ```
## How to use custom OpenAPI spec processing
Generally, you should manage API content in `influxdata/openapi`.
In some cases, however, you may want custom processing (e.g. collecting all Tags)
or additional content (e.g. describing the reference documentation)
specifically for the docs.
When you run `getswagger.sh`, it executes `@redocly/openapi-cli` and the plugins listed in `.redocly.yaml`.
[`./openapi/plugins`](./openapi/plugins) use
[`./openapi/plugins/decorators`](./openapi/plugins/decorators) to apply custom
processing to OpenAPI specs.
`.yml` files in [`./openapi/content`](./openapi/content) set content for sections (nodes) in the contract.
To update the content for those nodes, you only need to update the YAML files.
To add new YAML files for other nodes in the contracts,
configure the new content YAML file in [`./openapi/content/content.js`](./openapi/content/content.js).
The content structure and Markdown must be valid OAS.
Then, you'll need to write or update a decorator module for the node and configure the decorator in the plugin,
e.g. [`./openapi/plugins/docs-plugin.js`](`./openapi/plugins/docs-plugin.js).
See the [complete list of OAS v3.0 nodes](https://github.com/Redocly/openapi-cli/blob/master/packages/core/src/types/oas3.ts#L529).
`@redocly/openapi-cli` requires that modules use CommonJS `require` syntax for imports.
### How to add tag content or describe a group of paths
In API reference docs, we use OpenAPI `tags` elements for navigation and the
`x-traitTag` vendor extension to define custom content.
| Example | OpenAPI field | |
|:-------------------------------------------------------------------------------------------------------|-------------------------------------------------------|--------------------------------------------|
| [Add supplementary documentation](https://docs.influxdata.com/influxdb/cloud/api/#tag/Quick-start) | `tags: [ { name: 'Quick start', x-traitTag: true } ]` | [Source](https://github.com/influxdata/openapi/master/src/cloud/tags.yml) |
| [Group and describe related paths](https://docs.influxdata.com/influxdb/cloud/api/#tag/Authorizations) | `tags: [ { name: 'Buckets', description: '...' } ]` | [Source](https://github.com/influxdata/openapi/master/src/cloud/tags-groups.yml)) |
## How to test your spec or API reference changes
You can use `getswagger.sh` to fetch contracts from any URL.
For example, if you've made changes to spec files and generated new contracts in your local `openapi` repo, run `getswagger.sh` to fetch and process them.
To fetch contracts from your own `openapi` repo, pass the
`-b` `base_url` option and the full path to your `openapi` directory.
```sh
# Use the file:/// protocol to pass your openapi directory.
sh getswagger.sh oss -b file:///Users/me/github/openapi
```
After you fetch them, run the linter or generate HTML to test your changes before you commit them to `influxdata/openapi`.
By default, `getswagger.sh` doesn't run the linter when bundling
the specs.
Manually run the [linter rules](https://redoc.ly/docs/cli/resources/built-in-rules/) to get a report of errors and warnings.
```sh
npx @redocly/openapi-cli lint v2.1/ref.yml
```
### Configure OpenAPI CLI linting and bundling
The `.redoc.yaml` configuration file sets options for the `@redocly/openapi-cli` [`lint`](https://redoc.ly/docs/cli/commands/lint/) and [`bundle`](https://redoc.ly/docs/cli/commands/bundle/) commands.
`./openapi/plugins` contains custom InfluxData Docs plugins composed of *rules* (for validating and linting) and *decorators* (for customizing). For more configuration options, see `@redocly/openapi-cli` [configuration file documentation](https://redoc.ly/docs/cli/configuration/configuration-file/).

File diff suppressed because it is too large Load Diff

View File

@ -36,7 +36,7 @@ paths:
type: string type: string
required: true required: true
description: >- description: >-
Bucket to write to. If none exists, a bucket will be created with a Bucket to write to. If none exists, InfluxDB creates a bucket with a
default 3-day retention policy. default 3-day retention policy.
- in: query - in: query
name: rp name: rp
@ -486,8 +486,8 @@ tags:
<!-- ReDoc-Inject: <security-definitions> --> <!-- ReDoc-Inject: <security-definitions> -->
x-traitTag: true x-traitTag: true
- Query - name: Query
- Write - name: Write
x-tagGroups: x-tagGroups:
- name: Overview - name: Overview
tags: tags:

View File

@ -46,17 +46,12 @@ weight: 304
# npm_config_yes=true npx overrides the prompt # npm_config_yes=true npx overrides the prompt
# and (vs. npx --yes) is compatible with npm@6 and npm@7. # and (vs. npx --yes) is compatible with npm@6 and npm@7.
openapiCLI="@redocly/openapi-cli"
redocCLI="redoc-cli@0.12.3" redocCLI="redoc-cli@0.12.3"
npm --version npx --version
# Use Redoc's openapi-cli to regenerate the spec with custom decorations.
INFLUXDB_VERSION=$version npm_config_yes=true npx $openapiCLI bundle $version/ref.yml \
--config=./.redocly.yaml \
-o $version/ref.yml
# Use Redoc to generate the v2 API html # Use Redoc to generate the v2 API html
echo "Bundling ${version}/ref.yml"
npm_config_yes=true npx $redocCLI bundle $version/ref.yml \ npm_config_yes=true npx $redocCLI bundle $version/ref.yml \
-t template.hbs \ -t template.hbs \
--title="InfluxDB $titleVersion API documentation" \ --title="InfluxDB $titleVersion API documentation" \
@ -67,12 +62,8 @@ weight: 304
--templateOptions.version="$version" \ --templateOptions.version="$version" \
--templateOptions.titleVersion="$titleVersion" \ --templateOptions.titleVersion="$titleVersion" \
# Use Redoc's openapi-cli to regenerate the v1-compat spec with custom decorations.
INFLUXDB_API_VERSION=v1compat INFLUXDB_VERSION=$version npm_config_yes=true npx $openapiCLI bundle $version/swaggerV1Compat.yml \
--config=./.redocly.yaml \
-o $version/swaggerV1Compat.yml
# Use Redoc to generate the v1 compatibility API html # Use Redoc to generate the v1 compatibility API html
echo "Bundling ${version}/swaggerV1Compat.yml"
npm_config_yes=true npx $redocCLI bundle $version/swaggerV1Compat.yml \ npm_config_yes=true npx $redocCLI bundle $version/swaggerV1Compat.yml \
-t template.hbs \ -t template.hbs \
--title="InfluxDB $titleVersion v1 compatibility API documentation" \ --title="InfluxDB $titleVersion v1 compatibility API documentation" \

View File

@ -11,12 +11,14 @@
# - a base URL using the -b flag. # - a base URL using the -b flag.
# The baseURL specifies where to retrieve the openapi files from. # The baseURL specifies where to retrieve the openapi files from.
# The default baseUrl is the master branch of the influxdata/openapi repo. # The default baseUrl is the master branch of the influxdata/openapi repo.
# The default baseUrl for OSS is the tag for the latest InfluxDB release.
# When a new OSS version is released, update baseUrlOSS to with the tag (/influxdb-oss-[SEMANTIC_VERSION]).
# For local development, pass your openapi directory using the file:/// protocol. # For local development, pass your openapi directory using the file:/// protocol.
# #
# Syntax: # Syntax:
# sh ./getswagger.sh <context> # sh ./getswagger.sh <context>
# sh ./getswagger.sh <context> -b <baseUrl> # sh ./getswagger.sh <context> -b <baseUrl>
# sh .getswagger.sh -c <context> -o <version> -b <baseUrl> # sh ./getswagger.sh -c <context> -o <version> -b <baseUrl>
# #
# Examples: # Examples:
# sh ./getswagger.sh cloud # sh ./getswagger.sh cloud
@ -25,6 +27,7 @@
versionDirs=($(ls -d */)) versionDirs=($(ls -d */))
latestOSS=${versionDirs[${#versionDirs[@]}-1]} latestOSS=${versionDirs[${#versionDirs[@]}-1]}
baseUrl="https://raw.githubusercontent.com/influxdata/openapi/master" baseUrl="https://raw.githubusercontent.com/influxdata/openapi/master"
baseUrlOSS="https://raw.githubusercontent.com/influxdata/openapi/docs-release/influxdb-oss"
ossVersion=${latestOSS%/} ossVersion=${latestOSS%/}
verbose="" verbose=""
context="" context=""
@ -63,6 +66,7 @@ case "$subcommand" in
;; ;;
b) b)
baseUrl=$OPTARG baseUrl=$OPTARG
baseUrlOSS=$OPTARG
;; ;;
o) o)
ossVersion=$OPTARG ossVersion=$OPTARG
@ -87,20 +91,43 @@ function showArgs {
echo "ossVersion: $ossVersion"; echo "ossVersion: $ossVersion";
} }
function postProcess() {
# Use npx to install and run the specified version of openapi-cli.
# npm_config_yes=true npx overrides the prompt
# and (vs. npx --yes) is compatible with npm@6 and npm@7.
specPath=$1
version="$2"
apiVersion="$3"
openapiCLI="@redocly/openapi-cli"
npx --version
# Use Redoc's openapi-cli to regenerate the spec with custom decorations.
INFLUXDB_API_VERSION=$apiVersion \
INFLUXDB_VERSION=$version \
npm_config_yes=true \
npx $openapiCLI bundle $specPath \
--config=./.redocly.yaml \
-o $specPath
}
function updateCloud { function updateCloud {
echo "Updating Cloud openapi..."
curl ${verbose} ${baseUrl}/contracts/ref/cloud.yml -s -o cloud/ref.yml curl ${verbose} ${baseUrl}/contracts/ref/cloud.yml -s -o cloud/ref.yml
postProcess $_ cloud
} }
function updateOSS { function updateOSS {
echo "Updating OSS ${ossVersion} openapi..." mkdir -p ${ossVersion} && curl ${verbose} ${baseUrlOSS}/contracts/ref/oss.yml -s -o $_/ref.yml
mkdir -p ${ossVersion} && curl ${verbose} ${baseUrl}/contracts/ref/oss.yml -s -o $_/ref.yml postProcess $_ $ossVersion
} }
function updateV1Compat { function updateV1Compat {
echo "Updating Cloud and ${ossVersion} v1 compatibility openapi..."
curl ${verbose} ${baseUrl}/contracts/swaggerV1Compat.yml -s -o cloud/swaggerV1Compat.yml curl ${verbose} ${baseUrl}/contracts/swaggerV1Compat.yml -s -o cloud/swaggerV1Compat.yml
postProcess $_ cloud v1compat
mkdir -p ${ossVersion} && cp cloud/swaggerV1Compat.yml $_/swaggerV1Compat.yml mkdir -p ${ossVersion} && cp cloud/swaggerV1Compat.yml $_/swaggerV1Compat.yml
postProcess $_ $ossVersion v1compat
} }
if [ ! -z ${verbose} ]; if [ ! -z ${verbose} ];

View File

@ -1,56 +0,0 @@
TokenAuthentication:
type: http
scheme: token
bearerFormat: InfluxDB Token String
description: |
### Token authentication scheme
InfluxDB API tokens ensure secure interaction between users and data. A token belongs to an organization and identifies InfluxDB permissions within the organization.
Include your API token in an `Authorization: Token YOUR_API_TOKEN` HTTP header with each request.
### Example
`curl https://us-east-1-1.aws.cloud2.influxdata.com/
--header "Authorization: Token YOUR_API_TOKEN"`
For more information and examples, see the following:
- [Use tokens in API requests](https://docs.influxdata.com/influxdb/cloud/api-guide/api_intro/#authentication).
- [Manage API tokens](https://docs.influxdata.com/influxdb/cloud/security/tokens).
- [`/authorizations`](#tag/Authorizations) endpoint.
BasicAuthentication:
type: http
scheme: basic
description: |
### Basic authentication scheme
Use HTTP Basic Auth with clients that support the InfluxDB 1.x convention of username and password (that don't support the `Authorization: Token` scheme):
- **username**: InfluxDB Cloud username
- **password**: InfluxDB Cloud API token
### Example
`curl --get "https://europe-west1-1.gcp.cloud2.influxdata.com/query"
--user "YOUR_USERNAME":"YOUR_TOKEN_OR_PASSWORD"`
For more information and examples, see how to [authenticate with a username and password scheme](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/).
QuerystringAuthentication:
type: apiKey
in: query
name: u=&p=
description: |
### Querystring authentication scheme
Use InfluxDB 1.x API parameters to provide credentials through the query string.
Username and password schemes require the following credentials:
- **username**: InfluxDB Cloud username
- **password**: InfluxDB Cloud API token
### Example
`curl --get "https://europe-west1-1.gcp.cloud2.influxdata.com/query"
--data-urlencode "u=YOUR_USERNAME"
--data-urlencode "p=YOUR_TOKEN_OR_PASSWORD"`
For more information and examples, see how to [authenticate with a username and password scheme](https://docs.influxdata.com/influxdb/cloud/reference/api/influxdb-1x/).

View File

@ -1,26 +0,0 @@
- name: Overview
tags:
- Quick start
- Authentication
- Response codes
- name: Data I/O endpoints
tags:
- Write
- Query
- name: Resource endpoints
tags:
- Buckets
- Dashboards
- Tasks
- Resources
- name: Security and access endpoints
tags:
- Authorizations
- Organizations
- Users
- name: System information endpoints
tags:
- Ping
- Routes
- name: All endpoints
tags: []

View File

@ -1,55 +0,0 @@
- name: Authentication
description: |
Use one of the following schemes to authenticate to the InfluxDB API:
- [Token authentication](#section/Authentication/TokenAuthentication)
- [Basic authentication](#section/Authentication/BasicAuthentication)
- [Querystring authentication](#section/Authentication/QuerystringAuthentication)
<!-- ReDoc-Inject: <security-definitions> -->
x-traitTag: true
- name: Invokable Scripts
description: |
Manage and execute scripts as API endpoints in InfluxDB.
An API Invokable Script assigns your custom Flux script to a new InfluxDB API endpoint for your organization.
Invokable scripts let you execute your script as an HTTP request to the endpoint.
Invokable scripts accept parameters. Add parameter references in your script as `params.myparameter`.
When you `invoke` your script, you send parameters as key-value pairs in the `params` object.
Then, InfluxDB executes your script with the key-value pairs as arguments, and returns the result.
For more information and examples, see [Invoke custom scripts](https://docs.influxdata.com/influxdb/cloud/api-guide/api-invokable-scripts).
- name: Quick start
x-traitTag: true
description: |
See the [**API Quick Start**](https://docs.influxdata.com/influxdb/cloud/api-guide/api_intro/) to get up and running authenticating with tokens, writing to buckets, and querying data.
[**InfluxDB API client libraries**](https://docs.influxdata.com/influxdb/cloud/api-guide/client-libraries/) are available for popular languages and ready to import into your application.
- name: Response codes
x-traitTag: true
description: |
The InfluxDB API uses standard HTTP status codes for success and failure responses.
The response body may include additional details. For details about a specific operation's response, see **Responses** and **Response Samples** for that operation.
API operations may return the following HTTP status codes:
| &nbsp;Code&nbsp; | Status | Description |
|:-----------:|:------------------------ |:--------------------- |
| `200` | Success | |
| `204` | No content | For a `POST` request, `204` indicates that InfluxDB accepted the request and request data is valid. Asynchronous operations, such as `write`, might not have completed yet. |
| `400` | Bad request | `Authorization` header is missing or malformed or the API token does not have permission for the operation. |
| `401` | Unauthorized | May indicate one of the following: <li>`Authorization: Token` header is missing or malformed</li><li>API token value is missing from the header</li><li>API token does not have permission. For more information about token types and permissions, see [Manage API tokens](https://docs.influxdata.com/influxdb/cloud/security/tokens/)</li> |
| `404` | Not found | Requested resource was not found. `message` in the response body provides details about the requested resource. |
| `413` | Request entity too large | Request payload exceeds the size limit. |
| `422` | Unprocessible entity | Request data is invalid. `code` and `message` in the response body provide details about the problem. |
| `429` | Too many requests | API token is temporarily over the request quota. The `Retry-After` header describes when to try the request again. |
| `500` | Internal server error | |
| `503` | Service unavailable | Server is temporarily unavailable to process the request. The `Retry-After` header describes when to try the request again. |
- name: Query
description: |
Retrieve data, analyze queries, and get query suggestions.
- name: Write
description: |
Write time series data to buckets.
- name: Authorizations
description: |
Create and manage API tokens. An **authorization** associates a list of permissions to an **organization** and provides a token for API access. To assign a token to a specific user, scope the authorization to the user ID.

View File

@ -2,18 +2,20 @@ const path = require('path');
const { toJSON } = require('../plugins/helpers/content-helper'); const { toJSON } = require('../plugins/helpers/content-helper');
function getVersion(filename) { function getVersion(filename) {
return path.join(__dirname, process.env.INFLUXDB_VERSION, (process.env.INFLUXDB_API_VERSION || ''), filename); return path.join(__dirname, process.env.INFLUXDB_VERSION,
(process.env.INFLUXDB_API_VERSION || ''),
filename);
} }
const info = toJSON(getVersion('info.yml')); const info = () => toJSON(getVersion('info.yml'));
const securitySchemes = toJSON(getVersion('security-schemes.yml')); const securitySchemes = () => toJSON(getVersion('security-schemes.yml'));
const servers = toJSON(path.join(__dirname, 'servers.yml')); const servers = () => toJSON(path.join(__dirname, 'servers.yml'));
const tags = toJSON(getVersion('tags.yml')); const tags = () => toJSON(getVersion('tags.yml'));
const tagGroups = toJSON(getVersion('tag-groups.yml')); const tagGroups = () => toJSON(getVersion('tag-groups.yml'));
module.exports = { module.exports = {
info, info,
@ -22,4 +24,3 @@ module.exports = {
tagGroups, tagGroups,
tags, tags,
} }

View File

@ -1,3 +1,4 @@
title: InfluxDB OSS API Service title: InfluxDB OSS API Service
version: 2.0.0
description: | description: |
The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.

View File

@ -1,58 +0,0 @@
TokenAuthentication:
type: http
scheme: token
bearerFormat: InfluxDB Token String
description: |
### Token authentication scheme
InfluxDB API tokens ensure secure interaction between users and data. A token belongs to an organization and identifies InfluxDB permissions within the organization.
Include your API token in an `Authorization: Token YOUR_API_TOKEN` HTTP header with each request.
### Example
`curl http://localhost:8086/ping
--header "Authorization: Token YOUR_API_TOKEN"`
For more information and examples, see the following:
- [Use tokens in API requests](https://docs.influxdata.com/influxdb/v2.0/api-guide/api_intro/#authentication).
- [Manage API tokens](https://docs.influxdata.com/influxdb/v2.0/security/tokens).
- [`/authorizations`](#tag/Authorizations) endpoint.
BasicAuthentication:
type: http
scheme: basic
description: |
### Basic authentication scheme
Use HTTP Basic Auth with clients that support the InfluxDB 1.x convention of username and password (that don't support the `Authorization: Token` scheme).
Username and password schemes require the following credentials:
- **username**: 1.x username (this is separate from the UI login username)
- **password**: 1.x password or InfluxDB API token
### Example
`curl --get "http://localhost:8086/query"
--user "YOUR_1.x_USERNAME":"YOUR_TOKEN_OR_PASSWORD"`
For more information and examples, see how to [authenticate with a username and password scheme](https://docs.influxdata.com/influxdb/v2.0/reference/api/influxdb-1x/)
QuerystringAuthentication:
type: apiKey
in: query
name: u=&p=
description: |
### Querystring authentication scheme
Use InfluxDB 1.x API parameters to provide credentials through the query string.
Username and password schemes require the following credentials:
- **username**: 1.x username (this is separate from the UI login username)
- **password**: 1.x password or InfluxDB API token
### Example
`curl --get "http://localhost:8086/query"
--data-urlencode "u=YOUR_1.x_USERNAME"
--data-urlencode "p=YOUR_TOKEN_OR_PASSWORD"`
For more information and examples, see how to [authenticate with a username and password scheme](https://docs.influxdata.com/influxdb/v2.0/reference/api/influxdb-1x/)

View File

@ -1,28 +0,0 @@
- name: Overview
tags:
- Quick start
- Authentication
- Response codes
- name: Data I/O endpoints
tags:
- Write
- Query
- name: Resource endpoints
tags:
- Buckets
- Dashboards
- Tasks
- Resources
- name: Security and access endpoints
tags:
- Authorizations
- Organizations
- Users
- name: System information endpoints
tags:
- Health
- Ping
- Ready
- Routes
- name: All endpoints
tags: []

View File

@ -1,43 +0,0 @@
- name: Authentication
description: |
Use one of the following schemes to authenticate to the InfluxDB API:
- [Token authentication](#section/Authentication/TokenAuthentication)
- [Basic authentication](#section/Authentication/BasicAuthentication)
- [Querystring authentication](#section/Authentication/QuerystringAuthentication)
<!-- ReDoc-Inject: <security-definitions> -->
x-traitTag: true
- name: Quick start
x-traitTag: true
description: |
See the [**API Quick Start**](https://docs.influxdata.com/influxdb/v2.0/api-guide/api_intro/) to get up and running authenticating with tokens, writing to buckets, and querying data.
[**InfluxDB API client libraries**](https://docs.influxdata.com/influxdb/v2.0/api-guide/client-libraries/) are available for popular languages and ready to import into your application.
- name: Response codes
x-traitTag: true
description: |
The InfluxDB API uses standard HTTP status codes for success and failure responses.
The response body may include additional details. For details about a specific operation's response, see **Responses** and **Response Samples** for that operation.
API operations may return the following HTTP status codes:
| &nbsp;Code&nbsp; | Status | Description |
|:-----------:|:------------------------ |:--------------------- |
| `200` | Success | |
| `204` | No content | For a `POST` request, `204` indicates that InfluxDB accepted the request and request data is valid. Asynchronous operations, such as `write`, might not have completed yet. |
| `400` | Bad request | `Authorization` header is missing or malformed or the API token does not have permission for the operation. |
| `401` | Unauthorized | May indicate one of the following: <li>`Authorization: Token` header is missing or malformed</li><li>API token value is missing from the header</li><li>API token does not have permission. For more information about token types and permissions, see [Manage API tokens](https://docs.influxdata.com/influxdb/v2.0/security/tokens/)</li> |
| `404` | Not found | Requested resource was not found. `message` in the response body provides details about the requested resource. |
| `413` | Request entity too large | Request payload exceeds the size limit. |
| `422` | Unprocessible entity | Request data is invalid. `code` and `message` in the response body provide details about the problem. |
| `429` | Too many requests | API token is temporarily over the request quota. The `Retry-After` header describes when to try the request again. |
| `500` | Internal server error | |
| `503` | Service unavailable | Server is temporarily unavailable to process the request. The `Retry-After` header describes when to try the request again. |
- name: Query
description: |
Retrieve data, analyze queries, and get query suggestions.
- name: Write
description: |
Write time series data to buckets.
- name: Authorizations
description: |
Create and manage API tokens. An **authorization** associates a list of permissions to an **organization** and provides a token for API access. To assign a token to a specific user, scope the authorization to the user ID.

View File

@ -1,3 +1,4 @@
title: InfluxDB OSS API Service title: InfluxDB OSS API Service
version: 2.0.0
description: | description: |
The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.

View File

@ -1,58 +0,0 @@
TokenAuthentication:
type: http
scheme: token
bearerFormat: InfluxDB Token String
description: |
### Token authentication scheme
InfluxDB API tokens ensure secure interaction between users and data. A token belongs to an organization and identifies InfluxDB permissions within the organization.
Include your API token in an `Authentication: Token YOUR_API_TOKEN` HTTP header with each request.
### Example
`curl http://localhost:8086/ping
--header "Authentication: Token YOUR_API_TOKEN"`
For more information and examples, see the following:
- [Use tokens in API requests](https://docs.influxdata.com/influxdb/v2.1/api-guide/api_intro/#authentication).
- [Manage API tokens](https://docs.influxdata.com/influxdb/v2.1/security/tokens).
- [`/authorizations`](#tag/Authorizations) endpoint.
BasicAuthentication:
type: http
scheme: basic
description: |
### Basic authentication scheme
Use HTTP Basic Auth with clients that support the InfluxDB 1.x convention of username and password (that don't support the `Authorization: Token` scheme).
Username and password schemes require the following credentials:
- **username**: 1.x username (this is separate from the UI login username)
- **password**: 1.x password or InfluxDB API token
### Example
`curl --get "http://localhost:8086/query"
--user "YOUR_1.x_USERNAME":"YOUR_TOKEN_OR_PASSWORD"`
For more information and examples, see how to [authenticate with a username and password scheme](https://docs.influxdata.com/influxdb/v2.1/reference/api/influxdb-1x/)
QuerystringAuthentication:
type: apiKey
in: query
name: u=&p=
description: |
### Querystring authentication scheme
Use InfluxDB 1.x API parameters to provide credentials through the query string.
Username and password schemes require the following credentials:
- **username**: 1.x username (this is separate from the UI login username)
- **password**: 1.x password or InfluxDB API token
### Example
`curl --get "http://localhost:8086/query"
--data-urlencode "u=YOUR_1.x_USERNAME"
--data-urlencode "p=YOUR_TOKEN_OR_PASSWORD"`
For more information and examples, see how to [authenticate with a username and password scheme](https://docs.influxdata.com/influxdb/v2.1/reference/api/influxdb-1x/)

View File

@ -1,28 +0,0 @@
- name: Overview
tags:
- Quick start
- Authentication
- Response codes
- name: Data I/O endpoints
tags:
- Write
- Query
- name: Resource endpoints
tags:
- Buckets
- Dashboards
- Tasks
- Resources
- name: Security and access endpoints
tags:
- Authorizations
- Organizations
- Users
- name: System information endpoints
tags:
- Health
- Ping
- Ready
- Routes
- name: All endpoints
tags: []

View File

@ -1,43 +0,0 @@
- name: Authentication
description: |
Use one of the following schemes to authenticate to the InfluxDB API:
- [Token authentication](#section/Authentication/TokenAuthentication)
- [Basic authentication](#section/Authentication/BasicAuthentication)
- [Querystring authentication](#section/Authentication/QuerystringAuthentication)
<!-- ReDoc-Inject: <security-definitions> -->
x-traitTag: true
- name: Quick start
x-traitTag: true
description: |
See the [**API Quick Start**](https://docs.influxdata.com/influxdb/v2.1/api-guide/api_intro/) to get up and running authenticating with tokens, writing to buckets, and querying data.
[**InfluxDB API client libraries**](https://docs.influxdata.com/influxdb/v2.1/api-guide/client-libraries/) are available for popular languages and ready to import into your application.
- name: Response codes
x-traitTag: true
description: |
The InfluxDB API uses standard HTTP status codes for success and failure responses.
The response body may include additional details. For details about a specific operation's response, see **Responses** and **Response Samples** for that operation.
API operations may return the following HTTP status codes:
| &nbsp;Code&nbsp; | Status | Description |
|:-----------:|:------------------------ |:--------------------- |
| `200` | Success | |
| `204` | No content | For a `POST` request, `204` indicates that InfluxDB accepted the request and request data is valid. Asynchronous operations, such as `write`, might not have completed yet. |
| `400` | Bad request | `Authorization` header is missing or malformed or the API token does not have permission for the operation. |
| `401` | Unauthorized | May indicate one of the following: <li>`Authorization: Token` header is missing or malformed</li><li>API token value is missing from the header</li><li>API token does not have permission. For more information about token types and permissions, see [Manage API tokens](https://docs.influxdata.com/influxdb/v2.1/security/tokens/)</li> |
| `404` | Not found | Requested resource was not found. `message` in the response body provides details about the requested resource. |
| `413` | Request entity too large | Request payload exceeds the size limit. |
| `422` | Unprocessible entity | Request data is invalid. `code` and `message` in the response body provide details about the problem. |
| `429` | Too many requests | API token is temporarily over the request quota. The `Retry-After` header describes when to try the request again. |
| `500` | Internal server error | |
| `503` | Service unavailable | Server is temporarily unavailable to process the request. The `Retry-After` header describes when to try the request again. |
- name: Query
description: |
Retrieve data, analyze queries, and get query suggestions.
- name: Write
description: |
Write time series data to buckets.
- name: Authorizations
description: |
Create and manage API tokens. An **authorization** associates a list of permissions to an **organization** and provides a token for API access. To assign a token to a specific user, scope the authorization to the user ID.

View File

@ -0,0 +1,4 @@
title: InfluxDB OSS API Service
version: 2.0.0
description: |
The InfluxDB v2 API provides a programmatic interface for all interactions with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.

View File

@ -0,0 +1 @@
title: InfluxDB OSS v1 compatibility API documentation

View File

@ -0,0 +1,9 @@
- name: Overview
tags:
- Authentication
- name: Data I/O endpoints
tags:
- Write
- Query
- name: All endpoints
tags: []

View File

@ -0,0 +1,18 @@
module.exports = StripVersionPrefix;
/** @type {import('@redocly/openapi-cli').OasDecorator} */
function StripVersionPrefix() {
return {
PathMap: {
leave(paths, ctx) {
Object.keys(paths).forEach(function(p) {
if(p.length > 1 && p.endsWith('/')) {
const props = JSON.stringify(paths[p]);
paths[p.slice(0, -1)] = JSON.parse(props);
delete paths[p];
}
});
}
}
}
}

View File

@ -6,6 +6,7 @@ function StripVersionPrefix() {
PathMap: { PathMap: {
leave(paths, ctx) { leave(paths, ctx) {
const nonversioned = [ const nonversioned = [
'/debug',
'/health', '/health',
'/legacy/authorizations', '/legacy/authorizations',
'/legacy/authorizations/{authID}', '/legacy/authorizations/{authID}',

View File

@ -1,37 +1,41 @@
module.exports = ReplaceShortcodes; module.exports = ReplaceShortcodes;
function replaceDocsUrl(node) { function replaceDocsUrl(field) {
const shortcode = /\{\{\% INFLUXDB_DOCS_URL \%\}\}/g; if(!field) { return }
const shortcode = '{{% INFLUXDB_DOCS_URL %}}';
let replacement = `/influxdb/${process.env.INFLUXDB_VERSION}`; let replacement = `/influxdb/${process.env.INFLUXDB_VERSION}`;
let description = node.description?.replace(shortcode, replacement); let replaced = field.replaceAll(shortcode, replacement);
const fullUrl = /https:\/\/docs\.influxdata\.com\/influxdb\//g; const fullUrl = 'https://docs.influxdata.com/influxdb/';
replacement = "/influxdb/"; replacement = "/influxdb/";
return description?.replace(fullUrl, replacement); return replaced.replaceAll(fullUrl, replacement);
} }
/** @type {import('@redocly/openapi-cli').OasDecorator} */ /** @type {import('@redocly/openapi-cli').OasDecorator} */
function docsUrl() { function docsUrl() {
return { return {
Info: { DefinitionRoot: {
leave(info, ctx) { Info: {
info.description = replaceDocsUrl(info); leave(info, ctx) {
} info.description = replaceDocsUrl(info.description);
}, },
PathItem: { },
leave(pathItem, ctx) { PathItem: {
pathItem.description = replaceDocsUrl(pathItem); leave(pathItem, ctx) {
} pathItem.description = replaceDocsUrl(pathItem.description);
}, }
Tag: { },
leave(tag, ctx) { Tag: {
tag.description = replaceDocsUrl(tag); leave(tag, ctx) {
} tag.description = replaceDocsUrl(tag.description);
}, }
SecurityScheme: { },
leave(scheme, ctx) { SecurityScheme: {
scheme.description = replaceDocsUrl(scheme); leave(scheme, ctx) {
scheme.description = replaceDocsUrl(scheme.description);
}
} }
} }
} }
} }

View File

@ -1,18 +0,0 @@
module.exports = SetSecuritySchemes;
/** @type {import('@redocly/openapi-cli').OasDecorator} */
function SetSecuritySchemes(options) {
return {
Components: {
leave(comps, ctx) {
if(options.data) {
comps.securitySchemes = comps.securitySchemes || {};
Object.keys(options.data).forEach(
function(scheme) {
comps.securitySchemes[scheme] = options.data[scheme];
})
}
}
}
}
}

View File

@ -0,0 +1,21 @@
module.exports = DeleteServers;
/** @type {import('@redocly/openapi-cli').OasDecorator} */
/**
* Returns an object with keys in [node type, any, ref].
* The key instructs openapi when to invoke the key's Visitor object.
* Object key "Server" is an OAS 3.0 node type.
*/
function DeleteServers() {
return {
Operation: {
leave(op) {
/** Delete servers with empty url. **/
if(Array.isArray(op.servers)) {
op.servers = op.servers.filter(server => server.url);
}
}
}
}
};

View File

@ -1,17 +1,20 @@
module.exports = SetServers; module.exports = SetServers;
const { servers } = require('../../../content/content')
/** @type {import('@redocly/openapi-cli').OasDecorator} */ /** @type {import('@redocly/openapi-cli').OasDecorator} */
/** /**
* Returns an object with keys in [node type, any, ref]. * Returns an object with keys in [node type, any, ref].
* The key instructs openapi when to invoke the key's Visitor object. * The key instructs openapi when to invoke the key's Visitor object.
* Object key "Server" is an OAS 3.0 node type. * Object key "Server" is an OAS 3.0 node type.
*/ */
function SetServers(options) { function SetServers() {
const data = servers();
return { return {
DefinitionRoot: { DefinitionRoot: {
leave(root) { leave(root) {
root.servers = options.data; root.servers = data;
} }
}, },
} }

View File

@ -1,16 +1,24 @@
module.exports = SetInfo; module.exports = SetInfo;
const { info } = require('../../content/content')
/** @type {import('@redocly/openapi-cli').OasDecorator} */ /** @type {import('@redocly/openapi-cli').OasDecorator} */
function SetInfo(options) { function SetInfo() {
const data = info();
return { return {
Info: { Info: {
leave(info, ctx) { leave(info, ctx) {
if(options.data) { if(data) {
if(options.data.hasOwnProperty('title')) { if(data.hasOwnProperty('title')) {
info.title = options.data.title; info.title = data.title;
} }
if(options.data.hasOwnProperty('description')) { if(data.hasOwnProperty('version')) {
info.description = options.data.description;
info.version = data.version;
}
if(data.hasOwnProperty('description')) {
info.description = data.description;
} }
} }
} }

View File

@ -1,43 +1,60 @@
module.exports = SetTagGroups; module.exports = SetTagGroups;
const { tagGroups } = require('../../../content/content')
const { collect, getName, sortName } = require('../../helpers/content-helper.js') const { collect, getName, sortName } = require('../../helpers/content-helper.js')
/** /**
* Returns an object that defines handler functions for: * Returns an object that defines handler functions for:
* - Operation nodes * - Operation nodes
* - DefinitionRoot (the root openapi) node * - DefinitionRoot (the root openapi) node
* The order of the two functions is significant. * The order of the two functions is significant.
* The Operation handler collects tags from the * The Operation handler collects tags from the
* operation ('get', 'post', etc.) in every path. * operation ('get', 'post', etc.) in every path.
* The DefinitionRoot handler, executed when * The DefinitionRoot handler, executed when
* the parser is leaving the root node, * the parser is leaving the root node,
* sets `x-tagGroups` to the provided `data` * adds custom `tagGroups` content to `x-tagGroups`
* and sets the value of `All Endpoints` to the collected tags. * and sets the value of `All Endpoints` to the collected tags.
*/ */
/** @type {import('@redocly/openapi-cli').OasDecorator} */ /** @type {import('@redocly/openapi-cli').OasDecorator} */
function SetTagGroups(options) { function SetTagGroups() {
let data = tagGroups();
if(!Array.isArray(data)) {
data = [];
}
let tags = []; let tags = [];
/** Collect tags for each operation and convert string tags to object tags. **/
return { return {
Operation: {
leave(op, ctx, parents) {
tags = collect(tags, op.tags);
}
},
DefinitionRoot: { DefinitionRoot: {
Operation: {
leave(op) {
let opTags = op.tags?.map(
function(t) {
return typeof t === 'string' ? { name: t } : t;
}
) || [];
tags = collect(tags, opTags);
}
},
leave(root) { leave(root) {
root.tags = root.tags || []; root.tags = root.tags || [];
root.tags = collect(root.tags, tags) root.tags = collect(root.tags, tags)
.sort((a, b) => sortName(a, b)); .sort((a, b) => sortName(a, b));
if(!options.data) { return; } endpointTags = root.tags
.filter(t => !t['x-traitTag'])
.map(t => getName(t));
endpointTags = root.tags if(Array.isArray(root['x-tagGroups'])) {
.filter(t => !t['x-traitTag']) root['x-tagGroups'].concat(data);
.map(t => getName(t)); } else {
root['x-tagGroups'] = options.data root['x-tagGroups'] = data;
.map(function(grp) { }
grp.tags = grp.name === 'All endpoints' ? endpointTags : grp.tags;
return grp; root['x-tagGroups'].map(
}); function(grp) {
grp.tags = grp.name === 'All endpoints' ? endpointTags : grp.tags;
return grp;
});
} }
} }
} }

View File

@ -1,21 +1,24 @@
module.exports = SetTags; module.exports = SetTags;
const { tags } = require('../../../content/content')
/** /**
* Returns an object that defines handler functions for: * Returns an object that defines handler functions for:
* - DefinitionRoot (the root openapi) node * - DefinitionRoot (the root openapi) node
* The DefinitionRoot handler, executed when * The DefinitionRoot handler, executed when
* the parser is leaving the root node, * the parser is leaving the root node,
* sets the root `tags` list to the provided `data`. * sets the root `tags` list to the provided `data`.
*/ */
/** @type {import('@redocly/openapi-cli').OasDecorator} */ /** @type {import('@redocly/openapi-cli').OasDecorator} */
function SetTags(options) { function SetTags() {
let tags = []; const data = tags();
return { return {
DefinitionRoot: { DefinitionRoot: {
leave(root) { /** Set tags from custom tags when visitor enters root. */
if(options.data) { enter(root) {
root.tags = options.data; if(data) {
} root.tags = data;
}
} }
} }
} }

View File

@ -3,12 +3,11 @@ const ValidateServersUrl = require('./rules/validate-servers-url');
const RemovePrivatePaths = require('./decorators/paths/remove-private-paths'); const RemovePrivatePaths = require('./decorators/paths/remove-private-paths');
const ReplaceShortcodes = require('./decorators/replace-shortcodes'); const ReplaceShortcodes = require('./decorators/replace-shortcodes');
const SetInfo = require('./decorators/set-info'); const SetInfo = require('./decorators/set-info');
const DeleteServers = require('./decorators/servers/delete-servers');
const SetServers = require('./decorators/servers/set-servers'); const SetServers = require('./decorators/servers/set-servers');
const SetSecuritySchemes = require('./decorators/security/set-security-schemes');
const SetTags = require('./decorators/tags/set-tags');
const SetTagGroups = require('./decorators/tags/set-tag-groups'); const SetTagGroups = require('./decorators/tags/set-tag-groups');
const StripVersionPrefix = require('./decorators/paths/strip-version-prefix'); const StripVersionPrefix = require('./decorators/paths/strip-version-prefix');
const {info, securitySchemes, servers, tags, tagGroups } = require('../content/content') const StripTrailingSlash = require('./decorators/paths/strip-trailing-slash');
const id = 'docs'; const id = 'docs';
@ -23,15 +22,14 @@ const rules = {
/** @type {import('@redocly/openapi-cli').CustomRulesConfig} */ /** @type {import('@redocly/openapi-cli').CustomRulesConfig} */
const decorators = { const decorators = {
oas3: { oas3: {
'set-servers': () => SetServers({data: servers}), 'set-servers': SetServers,
'delete-servers': DeleteServers,
'remove-private-paths': RemovePrivatePaths, 'remove-private-paths': RemovePrivatePaths,
'replace-docs-url-shortcode': ReplaceShortcodes().docsUrl,
'strip-version-prefix': StripVersionPrefix, 'strip-version-prefix': StripVersionPrefix,
'set-info': () => SetInfo({data: info}), 'strip-trailing-slash': StripTrailingSlash,
'set-security': () => SetSecurity({data: security}), 'set-info': SetInfo,
'set-security-schemes': () => SetSecuritySchemes({data: securitySchemes}), 'set-tag-groups': SetTagGroups,
'set-tags': () => SetTags({data: tags}), 'replace-docs-url-shortcode': ReplaceShortcodes().docsUrl,
'set-tag-groups': () => SetTagGroups({data: tagGroups}),
} }
}; };
@ -40,16 +38,18 @@ module.exports = {
configs: { configs: {
all: { all: {
rules: { rules: {
'no-server-trailing-slash': 'off', 'no-server-trailing-slash': 'off',
'docs/validate-servers-url': 'error', 'docs/validate-servers-url': 'error',
}, },
decorators: { decorators: {
'docs/set-servers': 'error', 'docs/set-servers': 'error',
'docs/remove-private-paths': 'error', 'docs/delete-servers': 'error',
'docs/replace-docs-url-shortcode': 'error', 'docs/remove-private-paths': 'error',
'docs/strip-version-prefix': 'error', 'docs/strip-version-prefix': 'error',
'docs/set-info': 'error', 'docs/strip-trailing-slash': 'error',
'docs/set-tag-groups': 'error', 'docs/set-info': 'error',
'docs/set-tag-groups': 'error',
'docs/replace-docs-url-shortcode': 'error',
}, },
}, },
}, },

View File

@ -3188,7 +3188,7 @@ components:
Ready: Ready:
properties: properties:
started: started:
example: 2019-03-13T10:09:33.891196-04:00 example: '2019-03-13T10:09:33.891196-04:00'
format: date-time format: date-time
type: string type: string
status: status:

View File

@ -2,8 +2,8 @@ components:
parameters: parameters:
After: After:
description: > description: >
The last resource ID from which to seek from (but not including). This Resource ID to seek from. Results are not inclusive of this ID. Use
is to be used instead of `offset`. `after` instead of `offset`.
in: query in: query
name: after name: after
required: false required: false
@ -125,24 +125,22 @@ components:
readOnly: true readOnly: true
type: object type: object
org: org:
description: Name of the org token is scoped to. description: Name of the organization that the token is scoped to.
readOnly: true readOnly: true
type: string type: string
orgID: orgID:
description: ID of org that authorization is scoped to. description: ID of the organization that the authorization is scoped to.
type: string type: string
permissions: permissions:
description: >- description: >-
List of permissions for an auth. An auth must have at least one List of permissions for an authorization. An authorization must
Permission. have at least one permission.
items: items:
$ref: '#/components/schemas/Permission' $ref: '#/components/schemas/Permission'
minItems: 1 minItems: 1
type: array type: array
token: token:
description: >- description: Token used to authenticate API requests.
Passed via the Authorization Header and Token Authentication
type.
readOnly: true readOnly: true
type: string type: string
updatedAt: updatedAt:
@ -150,11 +148,11 @@ components:
readOnly: true readOnly: true
type: string type: string
user: user:
description: Name of user that created and owns the token. description: Name of the user that created and owns the token.
readOnly: true readOnly: true
type: string type: string
userID: userID:
description: ID of user that created and owns the token. description: ID of the user that created and owns the token.
readOnly: true readOnly: true
type: string type: string
type: object type: object
@ -191,8 +189,8 @@ components:
status: status:
default: active default: active
description: >- description: >-
If inactive the token is inactive and requests using the token will Status of the token. If `inactive`, requests using the token will be
be rejected. rejected.
enum: enum:
- active - active
- inactive - inactive
@ -219,10 +217,10 @@ components:
- 'y' - 'y'
type: object type: object
Axis: Axis:
description: The description of a particular axis for a visualization. description: Axis used in a visualization.
properties: properties:
base: base:
description: Base represents the radix for formatting axis values. description: Radix for formatting axis values.
enum: enum:
- '' - ''
- '2' - '2'
@ -230,23 +228,23 @@ components:
type: string type: string
bounds: bounds:
description: >- description: >-
The extents of an axis in the form [lower, upper]. Clients determine The extents of the axis in the form [lower, upper]. Clients
whether bounds are to be inclusive or exclusive of their limits determine whether bounds are inclusive or exclusive of their limits.
items: items:
type: string type: string
maxItems: 2 maxItems: 2
minItems: 0 minItems: 0
type: array type: array
label: label:
description: Label is a description of this Axis description: Description of the axis.
type: string type: string
prefix: prefix:
description: Prefix represents a label prefix for formatting axis values. description: Label prefix for formatting axis values.
type: string type: string
scale: scale:
$ref: '#/components/schemas/AxisScale' $ref: '#/components/schemas/AxisScale'
suffix: suffix:
description: Suffix represents a label suffix for formatting axis values. description: Label suffix for formatting axis values.
type: string type: string
type: object type: object
AxisScale: AxisScale:
@ -413,22 +411,22 @@ components:
properties: properties:
labels: labels:
$ref: '#/components/schemas/Link' $ref: '#/components/schemas/Link'
description: URL to retrieve labels for this bucket description: URL to retrieve labels for this bucket.
members: members:
$ref: '#/components/schemas/Link' $ref: '#/components/schemas/Link'
description: URL to retrieve members that can read this bucket description: URL to retrieve members that can read this bucket.
org: org:
$ref: '#/components/schemas/Link' $ref: '#/components/schemas/Link'
description: URL to retrieve parent organization for this bucket description: URL to retrieve parent organization for this bucket.
owners: owners:
$ref: '#/components/schemas/Link' $ref: '#/components/schemas/Link'
description: URL to retrieve owners that can read and write to this bucket. description: URL to retrieve owners that can read and write to this bucket.
self: self:
$ref: '#/components/schemas/Link' $ref: '#/components/schemas/Link'
description: URL for this bucket description: URL for this bucket.
write: write:
$ref: '#/components/schemas/Link' $ref: '#/components/schemas/Link'
description: URL to write line protocol for this bucket description: URL to write line protocol to this bucket.
readOnly: true readOnly: true
type: object type: object
name: name:
@ -662,10 +660,12 @@ components:
readOnly: true readOnly: true
type: string type: string
latestCompleted: latestCompleted:
description: Timestamp of latest scheduled, completed run, RFC3339. description: >-
Timestamp (in RFC3339 date/time
format](https://datatracker.ietf.org/doc/html/rfc3339)) of the
latest scheduled and completed run.
format: date-time format: date-time
readOnly: true readOnly: true
type: string
links: links:
example: example:
labels: /api/v2/checks/1/labels labels: /api/v2/checks/1/labels
@ -821,6 +821,11 @@ components:
type: type:
$ref: '#/components/schemas/NodeType' $ref: '#/components/schemas/NodeType'
type: object type: object
Config:
properties:
config:
type: object
type: object
ConstantVariableProperties: ConstantVariableProperties:
properties: properties:
type: type:
@ -879,24 +884,24 @@ components:
DBRP: DBRP:
properties: properties:
bucketID: bucketID:
description: the bucket ID used as target for the translation. description: ID of the bucket used as the target for the translation.
type: string type: string
database: database:
description: InfluxDB v1 database description: InfluxDB v1 database
type: string type: string
default: default:
description: >- description: >-
Specify if this mapping represents the default retention policy for Mapping represents the default retention policy for the database
the database specificed. specified.
type: boolean type: boolean
id: id:
description: the mapping identifier description: ID of the DBRP mapping.
readOnly: true readOnly: true
type: string type: string
links: links:
$ref: '#/components/schemas/Links' $ref: '#/components/schemas/Links'
orgID: orgID:
description: the organization ID that owns this mapping. description: ID of the organization that owns this mapping.
type: string type: string
retention_policy: retention_policy:
description: InfluxDB v1 retention policy description: InfluxDB v1 retention policy
@ -912,21 +917,21 @@ components:
DBRPCreate: DBRPCreate:
properties: properties:
bucketID: bucketID:
description: the bucket ID used as target for the translation. description: ID of the bucket used as the target for the translation.
type: string type: string
database: database:
description: InfluxDB v1 database description: InfluxDB v1 database
type: string type: string
default: default:
description: >- description: >-
Specify if this mapping represents the default retention policy for Mapping represents the default retention policy for the database
the database specificed. specified.
type: boolean type: boolean
org: org:
description: the organization that owns this mapping. description: Name of the organization that owns this mapping.
type: string type: string
orgID: orgID:
description: the organization ID that owns this mapping. description: ID of the organization that owns this mapping.
type: string type: string
retention_policy: retention_policy:
description: InfluxDB v1 retention policy description: InfluxDB v1 retention policy
@ -1292,23 +1297,22 @@ components:
type: string type: string
err: err:
description: >- description: >-
err is a stack of errors that occurred during processing of the Stack of errors that occurred during processing of the request.
request. Useful for debugging. Useful for debugging.
readOnly: true readOnly: true
type: string type: string
message: message:
description: message is a human-readable message. description: Human-readable message.
readOnly: true readOnly: true
type: string type: string
op: op:
description: >- description: >-
op describes the logical code operation during error. Useful for Describes the logical code operation when the error occurred. Useful
debugging. for debugging.
readOnly: true readOnly: true
type: string type: string
required: required:
- code - code
- message
Expression: Expression:
oneOf: oneOf:
- $ref: '#/components/schemas/ArrayExpression' - $ref: '#/components/schemas/ArrayExpression'
@ -2275,30 +2279,27 @@ components:
type: string type: string
err: err:
description: >- description: >-
Err is a stack of errors that occurred during processing of the Stack of errors that occurred during processing of the request.
request. Useful for debugging. Useful for debugging.
readOnly: true readOnly: true
type: string type: string
line: line:
description: First line within sent body containing malformed data description: First line in the request body that contains malformed data.
format: int32 format: int32
readOnly: true readOnly: true
type: integer type: integer
message: message:
description: Message is a human-readable message. description: Human-readable message.
readOnly: true readOnly: true
type: string type: string
op: op:
description: >- description: >-
Op describes the logical code operation during error. Useful for Describes the logical code operation when the error occurred. Useful
debugging. for debugging.
readOnly: true readOnly: true
type: string type: string
required: required:
- code - code
- message
- op
- err
LineProtocolLengthError: LineProtocolLengthError:
properties: properties:
code: code:
@ -2308,7 +2309,7 @@ components:
readOnly: true readOnly: true
type: string type: string
message: message:
description: Message is a human-readable message. description: Human-readable message.
readOnly: true readOnly: true
type: string type: string
required: required:
@ -2682,7 +2683,10 @@ components:
readOnly: true readOnly: true
type: string type: string
latestCompleted: latestCompleted:
description: Timestamp of latest scheduled, completed run, RFC3339. description: >-
Timestamp (in RFC3339 date/time
format](https://datatracker.ietf.org/doc/html/rfc3339)) of the
latest scheduled and completed run.
format: date-time format: date-time
readOnly: true readOnly: true
type: string type: string
@ -3195,7 +3199,7 @@ components:
Ready: Ready:
properties: properties:
started: started:
example: 2019-03-13T10:09:33.891196-04:00 example: '2019-03-13T10:09:33.891196-04:00'
format: date-time format: date-time
type: string type: string
status: status:
@ -3216,6 +3220,82 @@ components:
value: value:
type: string type: string
type: object type: object
RemoteConnection:
properties:
allowInsecureTLS:
default: false
type: boolean
description:
type: string
id:
type: string
name:
type: string
orgID:
type: string
remoteOrgID:
type: string
remoteURL:
format: uri
type: string
required:
- id
- name
- orgID
- remoteURL
- remoteOrgID
- allowInsecureTLS
type: object
RemoteConnectionCreationRequest:
properties:
allowInsecureTLS:
default: false
type: boolean
description:
type: string
name:
type: string
orgID:
type: string
remoteAPIToken:
type: string
remoteOrgID:
type: string
remoteURL:
format: uri
type: string
required:
- name
- orgID
- remoteURL
- remoteAPIToken
- remoteOrgID
- allowInsecureTLS
type: object
RemoteConnectionUpdateRequest:
properties:
allowInsecureTLS:
default: false
type: boolean
description:
type: string
name:
type: string
remoteAPIToken:
type: string
remoteOrgID:
type: string
remoteURL:
format: uri
type: string
type: object
RemoteConnections:
properties:
remotes:
items:
$ref: '#/components/schemas/RemoteConnection'
type: array
type: object
RenamableField: RenamableField:
description: Describes a field that can be renamed and made visible or invisible. description: Describes a field that can be renamed and made visible or invisible.
properties: properties:
@ -3230,6 +3310,98 @@ components:
description: Indicates whether this field should be visible on the table. description: Indicates whether this field should be visible on the table.
type: boolean type: boolean
type: object type: object
Replication:
properties:
currentQueueSizeBytes:
format: int64
type: integer
description:
type: string
dropNonRetryableData:
type: boolean
id:
type: string
latestErrorMessage:
type: string
latestResponseCode:
type: integer
localBucketID:
type: string
maxQueueSizeBytes:
format: int64
type: integer
name:
type: string
orgID:
type: string
remoteBucketID:
type: string
remoteID:
type: string
required:
- id
- name
- remoteID
- orgID
- localBucketID
- remoteBucketID
- maxQueueSizeBytes
- currentQueueSizeBytes
type: object
ReplicationCreationRequest:
properties:
description:
type: string
dropNonRetryableData:
default: false
type: boolean
localBucketID:
type: string
maxQueueSizeBytes:
default: 67108860
format: int64
minimum: 33554430
type: integer
name:
type: string
orgID:
type: string
remoteBucketID:
type: string
remoteID:
type: string
required:
- name
- orgID
- remoteID
- localBucketID
- remoteBucketID
- maxQueueSizeBytes
type: object
ReplicationUpdateRequest:
properties:
description:
type: string
dropNonRetryableData:
type: boolean
maxQueueSizeBytes:
format: int64
minimum: 33554430
type: integer
name:
type: string
remoteBucketID:
type: string
remoteID:
type: string
type: object
Replications:
properties:
replications:
items:
$ref: '#/components/schemas/Replication'
type: array
type: object
Resource: Resource:
properties: properties:
id: id:
@ -4257,8 +4429,8 @@ components:
properties: properties:
authorizationID: authorizationID:
description: >- description: >-
The ID of the authorization used when this task communicates with ID of the authorization used when the task communicates with the
the query engine. query engine.
type: string type: string
createdAt: createdAt:
format: date-time format: date-time
@ -4266,17 +4438,27 @@ components:
type: string type: string
cron: cron:
description: >- description: >-
A task repetition schedule in the form '* * * * * *'; parsed from [Cron expression](https://en.wikipedia.org/wiki/Cron#Overview) that
Flux. defines the schedule on which the task runs. Cron scheduling is
based on system time.
Value is a [Cron
expression](https://en.wikipedia.org/wiki/Cron#Overview).
type: string type: string
description: description:
description: An optional description of the task. description: Description of the task.
type: string type: string
every: every:
description: A simple task repetition schedule; parsed from Flux. description: >-
Interval at which the task runs. `every` also determines when the
task first runs, depending on the specified time.
Value is a [duration
literal](https://docs.influxdata.com/flux/v0.x/spec/lexical-elements/#duration-literals)).
format: duration
type: string type: string
flux: flux:
description: The Flux script to run for this task. description: Flux script to run for this task.
type: string type: string
id: id:
readOnly: true readOnly: true
@ -4294,7 +4476,11 @@ components:
readOnly: true readOnly: true
type: string type: string
latestCompleted: latestCompleted:
description: Timestamp of latest scheduled, completed run, RFC3339. description: >-
Timestamp of the latest scheduled and completed run.
Value is a timestamp in [RFC3339 date/time
format](https://docs.influxdata.com/flux/v0.x/data-types/basic/time/#time-syntax).
format: date-time format: date-time
readOnly: true readOnly: true
type: string type: string
@ -4322,29 +4508,31 @@ components:
readOnly: true readOnly: true
type: object type: object
name: name:
description: The name of the task. description: Name of the task.
type: string type: string
offset: offset:
description: >- description: >-
Duration to delay after the schedule, before executing the task; [Duration](https://docs.influxdata.com/flux/v0.x/spec/lexical-elements/#duration-literals)
parsed from flux, if set to zero it will remove this option and use to delay execution of the task after the scheduled time has elapsed.
0 as the default. `0` removes the offset.
The value is a [duration
literal](https://docs.influxdata.com/flux/v0.x/spec/lexical-elements/#duration-literals).
format: duration
type: string type: string
org: org:
description: The name of the organization that owns this Task. description: Name of the organization that owns the task.
type: string type: string
orgID: orgID:
description: The ID of the organization that owns this Task. description: ID of the organization that owns the task.
type: string type: string
ownerID: ownerID:
description: The ID of the user who owns this Task. description: ID of the user who owns this Task.
type: string type: string
status: status:
$ref: '#/components/schemas/TaskStatusType' $ref: '#/components/schemas/TaskStatusType'
type: type:
description: >- description: Type of the task, useful for filtering a task list.
The type of task, this can be used for filtering tasks on list
actions.
type: string type: string
updatedAt: updatedAt:
format: date-time format: date-time
@ -5907,7 +6095,7 @@ info:
with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint. with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.
openapi: 3.0.0 openapi: 3.0.0
paths: paths:
/api/v2/: /api/v2:
get: get:
operationId: GetRoutes operationId: GetRoutes
parameters: parameters:
@ -8372,13 +8560,14 @@ paths:
application/json: application/json:
schema: schema:
$ref: '#/components/schemas/Token' $ref: '#/components/schemas/Token'
description: A temp token for Mapbox description: Temporary token for Mapbox.
'401': '401':
$ref: '#/components/responses/ServerError' $ref: '#/components/responses/ServerError'
'500': '500':
$ref: '#/components/responses/ServerError' $ref: '#/components/responses/ServerError'
default: default:
$ref: '#/components/responses/ServerError' $ref: '#/components/responses/ServerError'
summary: Get a mapbox token
/api/v2/me: /api/v2/me:
get: get:
operationId: GetMe operationId: GetMe
@ -8462,7 +8651,8 @@ paths:
externalDocs: externalDocs:
description: Prometheus exposition formats description: Prometheus exposition formats
url: https://prometheus.io/docs/instrumenting/exposition_formats url: https://prometheus.io/docs/instrumenting/exposition_formats
type: Prometheus text-based exposition format: Prometheus text-based exposition
type: string
description: > description: >
Payload body contains metrics about the InfluxDB instance. Payload body contains metrics about the InfluxDB instance.
@ -9885,6 +10075,308 @@ paths:
summary: Get the readiness of an instance at startup summary: Get the readiness of an instance at startup
tags: tags:
- Ready - Ready
/api/v2/remotes:
get:
operationId: GetRemoteConnections
parameters:
- $ref: '#/components/parameters/TraceSpan'
- description: The organization ID.
in: query
name: orgID
required: true
schema:
type: string
- in: query
name: name
schema:
type: string
- in: query
name: remoteURL
schema:
format: uri
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteConnections'
description: List of remote connections
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: List all remote connections
tags:
- RemoteConnections
post:
operationId: PostRemoteConnection
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteConnectionCreationRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteConnection'
description: Remote connection saved
'400':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Register a new remote connection
tags:
- RemoteConnections
/api/v2/remotes/{remoteID}:
delete:
operationId: DeleteRemoteConnectionByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: remoteID
required: true
schema:
type: string
responses:
'204':
description: Remote connection info deleted.
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Delete a remote connection
tags:
- RemoteConnections
get:
operationId: GetRemoteConnectionByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: remoteID
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteConnection'
description: Remote connection
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Retrieve a remote connection
tags:
- RemoteConnections
patch:
operationId: PatchRemoteConnectionByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: remoteID
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteConnectionUpdateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/RemoteConnection'
description: Updated information saved
'400':
$ref: '#/components/responses/ServerError'
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Update a remote connection
tags:
- RemoteConnections
/api/v2/replications:
get:
operationId: GetReplications
parameters:
- $ref: '#/components/parameters/TraceSpan'
- description: The organization ID.
in: query
name: orgID
required: true
schema:
type: string
- in: query
name: name
schema:
type: string
- in: query
name: remoteID
schema:
type: string
- in: query
name: localBucketID
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Replications'
description: List of replications
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: List all replications
tags:
- Replications
post:
operationId: PostReplication
parameters:
- $ref: '#/components/parameters/TraceSpan'
- description: If true, validate the replication, but don't save it.
in: query
name: validate
schema:
default: false
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReplicationCreationRequest'
required: true
responses:
'201':
content:
application/json:
schema:
$ref: '#/components/schemas/Replication'
description: Replication saved
'204':
description: Replication validated, but not saved
'400':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Register a new replication
tags:
- Replications
/api/v2/replications/{replicationID}:
delete:
operationId: DeleteReplicationByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: replicationID
required: true
schema:
type: string
responses:
'204':
description: Replication deleted.
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Delete a replication
tags:
- Replications
get:
operationId: GetReplicationByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: replicationID
required: true
schema:
type: string
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Replication'
description: Replication
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Retrieve a replication
tags:
- Replications
patch:
operationId: PatchReplicationByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: replicationID
required: true
schema:
type: string
- description: If true, validate the updated information, but don't save it.
in: query
name: validate
schema:
default: false
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/ReplicationUpdateRequest'
required: true
responses:
'200':
content:
application/json:
schema:
$ref: '#/components/schemas/Replication'
description: Updated information saved
'204':
description: Updated replication validated, but not saved
'400':
$ref: '#/components/responses/ServerError'
'404':
$ref: '#/components/responses/ServerError'
default:
$ref: '#/components/responses/ServerError'
summary: Update a replication
tags:
- Replications
/api/v2/replications/{replicationID}/validate:
post:
operationId: PostValidateReplicationByID
parameters:
- $ref: '#/components/parameters/TraceSpan'
- in: path
name: replicationID
required: true
schema:
type: string
responses:
'204':
description: Replication is valid
'400':
$ref: '#/components/responses/ServerError'
description: Replication failed validation
default:
$ref: '#/components/responses/ServerError'
summary: Validate a replication
tags:
- Replications
/api/v2/resources: /api/v2/resources:
get: get:
operationId: GetResources operationId: GetResources
@ -12287,6 +12779,22 @@ paths:
summary of the run. The summary contains newly created resources. summary of the run. The summary contains newly created resources.
The diff compares the initial state to the state after the package The diff compares the initial state to the state after the package
applied. This corresponds to `"dryRun": true`. applied. This corresponds to `"dryRun": true`.
'422':
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/TemplateSummary'
- properties:
code:
type: string
message:
type: string
required:
- message
- code
type: object
description: Template failed validation
default: default:
content: content:
application/json: application/json:
@ -13044,6 +13552,7 @@ tags:
- Buckets - Buckets
- Cells - Cells
- Checks - Checks
- Config
- Dashboards - Dashboards
- DBRPs - DBRPs
- Delete - Delete
@ -13070,6 +13579,8 @@ tags:
name: Quick start name: Quick start
x-traitTag: true x-traitTag: true
- Ready - Ready
- RemoteConnections
- Replications
- Resources - Resources
- description: > - description: >
The InfluxDB API uses standard HTTP status codes for success and failure The InfluxDB API uses standard HTTP status codes for success and failure
@ -13168,6 +13679,7 @@ x-tagGroups:
- name: System information endpoints - name: System information endpoints
tags: tags:
- Health - Health
- Metrics
- Ping - Ping
- Ready - Ready
- Routes - Routes
@ -13191,6 +13703,8 @@ x-tagGroups:
- Ping - Ping
- Query - Query
- Ready - Ready
- RemoteConnections
- Replications
- Resources - Resources
- Restore - Restore
- Routes - Routes

View File

@ -3,7 +3,7 @@ info:
title: InfluxDB OSS v1 compatibility API documentation title: InfluxDB OSS v1 compatibility API documentation
version: 0.1.0 version: 0.1.0
description: | description: |
The InfluxDB 1.x compatibility /write and /query endpoints work with The InfluxDB 1.x compatibility `/write` and `/query` endpoints work with
InfluxDB 1.x client libraries and third-party integrations like Grafana InfluxDB 1.x client libraries and third-party integrations like Grafana
and others. and others.

14788
api-docs/v2.2/ref.yml Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,502 @@
openapi: 3.0.0
info:
title: InfluxDB OSS v1 compatibility API documentation
version: 0.1.0
description: |
The InfluxDB 1.x compatibility `/write` and `/query` endpoints work with
InfluxDB 1.x client libraries and third-party integrations like Grafana
and others.
If you want to use the latest InfluxDB `/api/v2` API instead,
see the [InfluxDB v2 API documentation](/influxdb/cloud/api/).
servers:
- url: /
paths:
/write:
post:
operationId: PostWriteV1
tags:
- Write
summary: Write time series data into InfluxDB in a V1-compatible format
requestBody:
description: Line protocol body
required: true
content:
text/plain:
schema:
type: string
parameters:
- $ref: '#/components/parameters/TraceSpan'
- $ref: '#/components/parameters/AuthUserV1'
- $ref: '#/components/parameters/AuthPassV1'
- in: query
name: db
schema:
type: string
required: true
description: >-
Bucket to write to. If none exists, InfluxDB creates a bucket with a
default 3-day retention policy.
- in: query
name: rp
schema:
type: string
description: Retention policy name.
- in: query
name: precision
schema:
type: string
description: Write precision.
- in: header
name: Content-Encoding
description: >-
When present, its value indicates to the database that compression
is applied to the line protocol body.
schema:
type: string
description: >-
Specifies that the line protocol in the body is encoded with gzip
or not encoded with identity.
default: identity
enum:
- gzip
- identity
responses:
'204':
description: >-
Write data is correctly formatted and accepted for writing to the
bucket.
'400':
description: >-
Line protocol poorly formed and no points were written. Response
can be used to determine the first malformed line in the body
line-protocol. All data in body was rejected and not written.
content:
application/json:
schema:
$ref: '#/components/schemas/LineProtocolError'
'401':
description: >-
Token does not have sufficient permissions to write to this
organization and bucket or the organization and bucket do not exist.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'403':
description: No token was sent and they are required.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'413':
description: >-
Write has been rejected because the payload is too large. Error
message returns max size supported. All data in body was rejected
and not written.
content:
application/json:
schema:
$ref: '#/components/schemas/LineProtocolLengthError'
'429':
description: >-
Token is temporarily over quota. The Retry-After header describes
when to try the write again.
headers:
Retry-After:
description: >-
A non-negative decimal integer indicating the seconds to delay
after the response is received.
schema:
type: integer
format: int32
'503':
description: >-
Server is temporarily unavailable to accept writes. The Retry-After
header describes when to try the write again.
headers:
Retry-After:
description: >-
A non-negative decimal integer indicating the seconds to delay
after the response is received.
schema:
type: integer
format: int32
default:
description: Internal server error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/query:
post:
operationId: PostQueryV1
tags:
- Query
summary: Query InfluxDB in a V1 compatible format
requestBody:
description: InfluxQL query to execute.
content:
text/plain:
schema:
type: string
parameters:
- $ref: '#/components/parameters/TraceSpan'
- $ref: '#/components/parameters/AuthUserV1'
- $ref: '#/components/parameters/AuthPassV1'
- in: header
name: Accept
schema:
type: string
description: >-
Specifies how query results should be encoded in the response.
**Note:** With `application/csv`, query results include epoch
timestamps instead of RFC3339 timestamps.
default: application/json
enum:
- application/json
- application/csv
- text/csv
- application/x-msgpack
- in: header
name: Accept-Encoding
description: >-
The Accept-Encoding request HTTP header advertises which content
encoding, usually a compression algorithm, the client is able to
understand.
schema:
type: string
description: >-
Specifies that the query response in the body should be encoded
with gzip or not encoded with identity.
default: identity
enum:
- gzip
- identity
- in: header
name: Content-Type
schema:
type: string
enum:
- application/vnd.influxql
- in: query
name: db
schema:
type: string
required: true
description: Bucket to query.
- in: query
name: rp
schema:
type: string
description: Retention policy name.
- in: query
name: q
description: Defines the influxql query to run.
schema:
type: string
responses:
'200':
description: Query results
headers:
Content-Encoding:
description: >-
The Content-Encoding entity header is used to compress the
media-type. When present, its value indicates which encodings
were applied to the entity-body
schema:
type: string
description: >-
Specifies that the response in the body is encoded with gzip
or not encoded with identity.
default: identity
enum:
- gzip
- identity
Trace-Id:
description: >-
The Trace-Id header reports the request's trace ID, if one was
generated.
schema:
type: string
description: Specifies the request's trace ID.
content:
application/csv:
schema:
$ref: '#/components/schemas/InfluxQLCSVResponse'
text/csv:
schema:
$ref: '#/components/schemas/InfluxQLCSVResponse'
application/json:
schema:
$ref: '#/components/schemas/InfluxQLResponse'
application/x-msgpack:
schema:
type: string
format: binary
'429':
description: >-
Token is temporarily over quota. The Retry-After header describes
when to try the read again.
headers:
Retry-After:
description: >-
A non-negative decimal integer indicating the seconds to delay
after the response is received.
schema:
type: integer
format: int32
default:
description: Error processing query
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
components:
parameters:
TraceSpan:
in: header
name: Zap-Trace-Span
description: OpenTracing span context
example:
trace_id: '1'
span_id: '1'
baggage:
key: value
required: false
schema:
type: string
AuthUserV1:
in: query
name: u
required: false
schema:
type: string
description: Username.
AuthPassV1:
in: query
name: p
required: false
schema:
type: string
description: User token.
schemas:
InfluxQLResponse:
properties:
results:
type: array
items:
type: object
properties:
statement_id:
type: integer
series:
type: array
items:
type: object
properties:
name:
type: string
columns:
type: array
items:
type: integer
values:
type: array
items:
type: array
items: {}
InfluxQLCSVResponse:
type: string
example: >
name,tags,time,test_field,test_tag
test_measurement,,1603740794286107366,1,tag_value
test_measurement,,1603740870053205649,2,tag_value
test_measurement,,1603741221085428881,3,tag_value
Error:
properties:
code:
description: Code is the machine-readable error code.
readOnly: true
type: string
enum:
- internal error
- not found
- conflict
- invalid
- unprocessable entity
- empty value
- unavailable
- forbidden
- too many requests
- unauthorized
- method not allowed
message:
readOnly: true
description: Message is a human-readable message.
type: string
required:
- code
- message
LineProtocolError:
properties:
code:
description: Code is the machine-readable error code.
readOnly: true
type: string
enum:
- internal error
- not found
- conflict
- invalid
- empty value
- unavailable
message:
readOnly: true
description: Message is a human-readable message.
type: string
op:
readOnly: true
description: >-
Op describes the logical code operation during error. Useful for
debugging.
type: string
err:
readOnly: true
description: >-
Err is a stack of errors that occurred during processing of the
request. Useful for debugging.
type: string
line:
readOnly: true
description: First line within sent body containing malformed data
type: integer
format: int32
required:
- code
- message
- op
- err
LineProtocolLengthError:
properties:
code:
description: Code is the machine-readable error code.
readOnly: true
type: string
enum:
- invalid
message:
readOnly: true
description: Message is a human-readable message.
type: string
maxLength:
readOnly: true
description: Max length in bytes for a body of line-protocol.
type: integer
format: int32
required:
- code
- message
- maxLength
securitySchemes:
TokenAuthentication:
type: apiKey
name: Authorization
in: header
description: >
Use the [Token
authentication](#section/Authentication/TokenAuthentication)
scheme to authenticate to the InfluxDB API.
In your API requests, send an `Authorization` header.
For the header value, provide the word `Token` followed by a space and
an InfluxDB API token.
The word `Token` is case-sensitive.
### Syntax
`Authorization: Token YOUR_INFLUX_TOKEN`
For examples and more information, see the following:
- [`/authorizations`](#tag/Authorizations) endpoint.
- [Authorize API requests](/influxdb/cloud/api-guide/api_intro/#authentication).
- [Manage API tokens](/influxdb/cloud/security/tokens/).
BasicAuthentication:
type: http
scheme: basic
description: >
Use the HTTP [Basic
authentication](#section/Authentication/BasicAuthentication)
scheme with clients that support the InfluxDB 1.x convention of username
and password (that don't support the `Authorization: Token` scheme):
For examples and more information, see how to [authenticate with a
username and password](/influxdb/cloud/reference/api/influxdb-1x/).
QuerystringAuthentication:
type: apiKey
in: query
name: u=&p=
description: >
Use the [Querystring
authentication](#section/Authentication/QuerystringAuthentication)
scheme with InfluxDB 1.x API parameters to provide credentials through
the query string.
For examples and more information, see how to [authenticate with a
username and password](/influxdb/cloud/reference/api/influxdb-1x/).
security:
- TokenAuthentication: []
- BasicAuthentication: []
- QuerystringAuthentication: []
tags:
- name: Authentication
description: >
The InfluxDB 1.x API requires authentication for all requests.
InfluxDB Cloud uses InfluxDB API tokens to authenticate requests.
For more information, see the following:
- [Token authentication](#section/Authentication/TokenAuthentication)
- [Basic authentication](#section/Authentication/BasicAuthentication)
- [Querystring
authentication](#section/Authentication/QuerystringAuthentication)
<!-- ReDoc-Inject: <security-definitions> -->
x-traitTag: true
- name: Query
- name: Write
x-tagGroups:
- name: Overview
tags:
- Authentication
- name: Data I/O endpoints
tags:
- Write
- Query
- name: All endpoints
tags:
- Query
- Write

View File

@ -17,7 +17,8 @@ var elementWhiteList = [
".truncate-toggle", ".truncate-toggle",
".children-links a", ".children-links a",
".list-links a", ".list-links a",
"a.url-trigger" "a.url-trigger",
"a.fullscreen-close"
] ]
function scrollToAnchor(target) { function scrollToAnchor(target) {
@ -28,6 +29,15 @@ function scrollToAnchor(target) {
}, 400, 'swing', function () { }, 400, 'swing', function () {
window.location.hash = target; window.location.hash = target;
}); });
// Unique accordion functionality
// If the target is an accordion element, open the accordion after scrolling
if ($target.hasClass('expand')) {
if ($(target + ' .expand-label .expand-toggle').hasClass('open')) {}
else {
$(target + '> .expand-label').trigger('click');
};
};
} }
} }
@ -85,7 +95,7 @@ tabbedContent('.tabs-wrapper', '.tabs p a', '.tab-content');
// Retrieve the user's programming language (client library) preference. // Retrieve the user's programming language (client library) preference.
function getApiLibPreference() { function getApiLibPreference() {
return Cookies.get('influx-docs-api-lib'); return Cookies.get('influx-docs-api-lib') || '';
} }
function getTabQueryParam() { function getTabQueryParam() {
@ -139,13 +149,36 @@ $(".truncate-toggle").click(function(e) {
$(this).closest('.truncate').toggleClass('closed'); $(this).closest('.truncate').toggleClass('closed');
}) })
////////////////////////////// Expand Accordians /////////////////////////////// ////////////////////////////// Expand Accordions ///////////////////////////////
$('.expand-label').click(function() { $('.expand-label').click(function() {
$(this).children('.expand-toggle').toggleClass('open') $(this).children('.expand-toggle').toggleClass('open')
$(this).next('.expand-content').slideToggle(200) $(this).next('.expand-content').slideToggle(200)
}) })
// Expand accordions on load based on URL anchor
function openAccordionByHash() {
var anchor = window.location.hash;
function expandElement() {
if ($(anchor).parents('.expand').length > 0) {
return $(anchor).closest('.expand').children('.expand-label');
} else if ($(anchor).hasClass('expand')){
return $(anchor).children('.expand-label');
}
};
if (expandElement() != null) {
if (expandElement().children('.expand-toggle').hasClass('open')) {}
else {
expandElement().children('.expand-toggle').trigger('click');
};
};
};
// Open accordions by hash on page load.
openAccordionByHash()
////////////////////////// Inject tooltips on load ////////////////////////////// ////////////////////////// Inject tooltips on load //////////////////////////////
$('.tooltip').each( function(){ $('.tooltip').each( function(){

View File

@ -0,0 +1,48 @@
var codeBlockSelector = ".article--content pre";
var codeBlocks = $(codeBlockSelector);
// Check if codeblock content requires scrolling (overflow)
function hasOverflow(element) {
if (element.offsetHeight < element.scrollHeight || element.offsetWidth < element.scrollWidth) {
return true
} else {
return false
}
}
// Wrap codeblocks that overflow with a new 'codeblock' div
$(codeBlocks).each(function() {
if (hasOverflow( $(this)[0] )) {
$(this).wrap("<div class='codeblock'></div>");
} else {}
});
// Append a clickable fullscreen toggle button to all codeblock divs
$('.codeblock').append("<a class='fullscreen-toggle'><span class='cf-icon expand-new'></span></a>");
/*
On click, open the fullscreen code modal and append a clone of the selected codeblock.
Disable scrolling on the body.
Disable user selection on everything but the fullscreen codeblock.
*/
$('.fullscreen-toggle').click(function() {
var code = $(this).prev('pre').clone();
$('#fullscreen-code-placeholder').replaceWith(code[0]);
$('body').css('overflow', 'hidden');
$('body > div:not(.fullscreen-code)').css('user-select', 'none');
$('.fullscreen-code').fadeIn();
})
/*
On click, close the fullscreen code block.
Reenable scrolling on the body.
Reenable user selection on everything.
Close the modal and replace the code block with the placeholder element.
*/
$('.fullscreen-close').click(function() {
$('body').css('overflow', 'auto');
$('body > div:not(.fullscreen-code)').css('user-select', '');
$('.fullscreen-code').fadeOut();
$('.fullscreen-code pre').replaceWith('<div id="fullscreen-code-placeholder"></div>')
});

View File

@ -0,0 +1,22 @@
$('.exp-btn').click(function() {
var targetBtnElement = $(this).parent()
$('.exp-btn > p', targetBtnElement).fadeOut(100);
setTimeout(function() {
$('.exp-btn-links', targetBtnElement).fadeIn(200)
$('.exp-btn', targetBtnElement).addClass('open');
$('.close-btn', targetBtnElement).fadeIn(200);
}, 100);
})
$('.close-btn').click(function() {
var targetBtnElement = $(this).parent().parent()
$('.exp-btn-links', targetBtnElement).fadeOut(100)
$('.exp-btn', targetBtnElement).removeClass('open');
$(this).fadeOut(100);
setTimeout(function() {
$('p', targetBtnElement).fadeIn(100);
}, 100);
})
/////////////////////////////// EXPANDING BUTTONS //////////////////////////////

View File

@ -139,21 +139,21 @@ function updateUrls(prevUrls, newUrls) {
oss: {} oss: {}
} }
Object.keys(prevUrls).forEach(function(k) { Object.keys(prevUrls).forEach(function(k) {
try { try {
prevUrlsParsed[k] = new URL(prevUrls[k]) prevUrlsParsed[k] = new URL(prevUrls[k])
} catch { } catch {
prevUrlsParsed[k] = { host: prevUrls[k] } prevUrlsParsed[k] = { host: prevUrls[k] }
} }
}) })
Object.keys(newUrls).forEach(function(k) { Object.keys(newUrls).forEach(function(k) {
try { try {
newUrlsParsed[k] = new URL(newUrls[k]) newUrlsParsed[k] = new URL(newUrls[k])
} catch { } catch {
newUrlsParsed[k] = { host: newUrls[k] } newUrlsParsed[k] = { host: newUrls[k] }
} }
}) })
/** /**
* Match and replace <prev> host with <new> host * Match and replace <prev> host with <new> host
@ -175,37 +175,43 @@ function updateUrls(prevUrls, newUrls) {
replacements.forEach(function (o) { replacements.forEach(function (o) {
if (o.replace.origin != o.with.origin) { if (o.replace.origin != o.with.origin) {
var fuzzyOrigin = new RegExp(o.replace.origin + "(:[0-9]+)?", "g");
$(elementSelector).each(function() { $(elementSelector).each(function() {
$(this).html( $(this).html(
$(this).html().replace(RegExp(o.replace.origin, "g"), function(match){ $(this).html().replace(fuzzyOrigin, function(m){
return o.with.origin || match; return o.with.origin || m;
}) })
); );
}) })
} }
}); });
function replaceWholename(startStr, endStr, replacement) {
var startsWithSeparator = new RegExp('[/.]');
var endsWithSeparator = new RegExp('[-.:]');
if(!startsWithSeparator.test(startStr) && !endsWithSeparator.test(endStr)) {
var newHost = startStr + replacement + endStr
return startStr + replacement + endStr;
}
}
replacements replacements
.map(function(o) { .map(function(o) {
return {replace: o.replace.host, with: o.with.host} return {replace: o.replace.host, with: o.with.host}
}) })
.forEach(function (o) { .forEach(function (o) {
if (o.replace != o.with) { if (o.replace != o.with) {
var fuzzyHost = new RegExp("(.?)" + o.replace + "(.?)", "g");
$(elementSelector).each(function() { $(elementSelector).each(function() {
/** $(this).html(
* Hostname pattern $(this).html().replace(fuzzyHost, function(m, p1, p2) {
* 1. Lookbehind (?<!) matches if o.replace is not preceded by :[/.]. var r = replaceWholename(p1, p2, o.with) || m;
* 2. Match 1 or no slashes following the hostname. return r
* 3. Negative lookahead (?!) matches if not followed by word char, dash, or dot. })
*/ );
var hostnameOnly = new RegExp("(?<![/.])" + o.replace + "\/?(?![/w/-/.])", "g") })
$(this).html( }
$(this).html().replace(hostnameOnly, function(match) { });
return o.with.host || o.with;
})
);
})
}
})
} }
// Append the URL selector button to each codeblock with an InfluxDB Cloud or OSS URL // Append the URL selector button to each codeblock with an InfluxDB Cloud or OSS URL
@ -276,6 +282,29 @@ $("#modal-close, .modal-overlay, .url-trigger").click(function(e) {
toggleModal() toggleModal()
}) })
// Add checked to fake-radio if cluster is selected on page load
if ($("ul.clusters label input").is(":checked")) {
var group = $("ul.clusters label input:checked").parent().parent().parent().siblings();
$(".fake-radio", group).addClass("checked");
};
// Select first cluster when region is clicked
$("p.region").click(function () {
if (!$(".fake-radio", this).hasClass("checked")) {
$(".fake-radio", this).addClass("checked");
$("+ ul.clusters li:first label", this).trigger("click");
};
});
// Remove checked class from fake-radio when another region is selected
$(".region-group").click(function () {
if (!$(".fake-radio", this).hasClass("checked")) {
$(".fake-radio", !this).removeClass("checked");
$(".fake-radio", this).addClass("checked");
}
})
// Update URLs and URL preference when selected/clicked in the modal // Update URLs and URL preference when selected/clicked in the modal
$('input[name="influxdb-cloud-url"]').change(function() { $('input[name="influxdb-cloud-url"]').change(function() {
var newUrl = $(this).val() var newUrl = $(this).val()
@ -325,17 +354,25 @@ showPreference()
// Validate custom URLs // Validate custom URLs
function validateUrl(url) { function validateUrl(url) {
var validProtocol = /^http(s?)/ try {
var invalidDomain =/[A-Z\s\!\@\#\$\%\^\&\*\(\)\_\+\=\[\]\{\}\\\|\;\'\"\,\<\>\/\?]/ new URL(url);
var protocol = url.match(/http(s?):\/\//) ? url.match(/http(s?):\/\//)[0] : "";
var domain = url.replace(protocol, "")
if (validProtocol.test(protocol) == false) {
return {valid: false, error: "Invalid protocol, use http[s]"}
} else if (domain.length == 0 || invalidDomain.test(domain) == true) {
return {valid: false, error: "Invalid domain"}
} else {
return {valid: true, error: ""} return {valid: true, error: ""}
} catch(e) {
var validProtocol = /^http(s?)/
var protocol = url.match(/http(s?):\/\//) ? url.match(/http(s?):\/\//)[0] : "";
var domain = url.replace(protocol, "")
/** validDomain = (Named host | IPv6 host | IPvFuture host)(:Port)? **/
var validDomain = new RegExp(`([a-z0-9\-._~%]+`
+ `|\[[a-f0-9:.]+\]`
+ `|\[v[a-f0-9][a-z0-9\-._~%!$&'()*+,;=:]+\])`
+ `(:[0-9]+)?`);
if (validProtocol.test(protocol) == false) {
return {valid: false, error: "Invalid protocol, use http[s]"}
} else if (validDomain.test(domain) == false) {
return {valid: false, error: "Invalid domain"}
} else if (e) {
return {valid: false, error: "Invalid URL"}
}
} }
} }
@ -396,17 +433,28 @@ $('#custom-url-field').blur(function() {
applyCustomUrl() applyCustomUrl()
}) })
/** Delay execution of a function `fn` for a number of milliseconds `ms`
* e.g., delay a validation handler to avoid annoying the user.
*/
function delay(fn, ms) {
let timer = 0
return function(...args) {
clearTimeout(timer)
timer = setTimeout(fn.bind(this, ...args), ms || 0)
}
}
function handleUrlValidation() {
let url = $('#custom-url-field').val()
let urlValidation = validateUrl(url)
if (urlValidation.valid) {
hideValidationMessage()
} else {
showValidationMessage(urlValidation)
}
}
// When in erred state, revalidate custom URL on keyup // When in erred state, revalidate custom URL on keyup
$(document).on("keyup", ".error #custom-url-field", function() { $(document).on("keyup", "#custom-url-field", delay(handleUrlValidation, 500));
console.log("keyed up")
let url = $('#custom-url-field').val()
let urlValidation = validateUrl(url)
if (urlValidation.valid) {
hideValidationMessage()
} else {
showValidationMessage(urlValidation)
}
})
// Populate the custom InfluxDB URL field on page load // Populate the custom InfluxDB URL field on page load
if ( Cookies.get('influxdb_custom_url') != undefined ) { if ( Cookies.get('influxdb_custom_url') != undefined ) {

View File

@ -1,10 +1,10 @@
// Fade content wrapper when focusing on search input // Fade content wrapper when focusing on search input
$('#algolia-search-input').focus(function() { $('#algolia-search-input').focus(function() {
$('.content-wrapper, .group-wrapper').fadeTo(300, .35); $('.content-wrapper').fadeTo(300, .35);
}) })
// Hide search dropdown when leaving search input // Hide search dropdown when leaving search input
$('#algolia-search-input').blur(function() { $('#algolia-search-input').blur(function() {
$('.content-wrapper, .group-wrapper').fadeTo(200, 1); $('.content-wrapper').fadeTo(200, 1);
$('.ds-dropdown-menu').hide(); $('.ds-dropdown-menu').hide();
}) })

View File

@ -1,6 +1,11 @@
.algolia-autocomplete { .algolia-autocomplete {
width: 100%; width: 100%;
/* Search input field */
#algolia-search-input {
background: $sidebar-search-bg !important;
}
/* Main dropdown wrapper */ /* Main dropdown wrapper */
.ds-dropdown-menu { .ds-dropdown-menu {
width: 74vw; width: 74vw;

View File

@ -1,5 +1,5 @@
@import "tools/color-palette"; @import "tools/color-palette";
@import "tools/icomoon-v2"; @import "tools/fonts";
// Fonts // Fonts
$rubik: 'Rubik', sans-serif; $rubik: 'Rubik', sans-serif;
@ -103,7 +103,7 @@ $bold: 700;
} }
#redoc { #redoc {
h1,h2,h3,h4,h5,h6 { h1,h2,h3 {
font-weight: $medium !important; font-weight: $medium !important;
} }
} }

View File

@ -5,7 +5,9 @@
} }
.article--content{ .article--content{
max-width: 820px; max-width: 850px;
font-size: 1.1rem;
h1,h2,h3,h4,h5,h6 { h1,h2,h3,h4,h5,h6 {
color: $article-heading; color: $article-heading;
a { a {
@ -24,24 +26,24 @@
} }
h1 { h1 {
font-weight: normal; font-weight: normal;
font-size: 2.65rem; font-size: 2.75rem;
margin: .4em 0 .2em; margin: .4em 0 .2em;
} }
h2 { h2 {
font-size: 2rem; font-size: 2.1rem;
margin: -.25rem 0 .5rem; margin: -.25rem 0 .5rem;
padding-top: 1.75rem; padding-top: 1.75rem;
font-weight: $medium; font-weight: $medium;
color: $article-heading-alt; color: $article-heading-alt;
} }
h3 { h3 {
font-size: 1.65rem; font-size: 1.75rem;
font-weight: $medium; font-weight: $medium;
margin: -1rem 0 .5rem; margin: -1rem 0 .5rem;
padding-top: 1.75rem; padding-top: 1.75rem;
} }
h4 { h4 {
font-size: 1.25rem; font-size: 1.35rem;
font-style: italic; font-style: italic;
font-weight: $medium; font-weight: $medium;
margin: -1.25rem 0 .5rem; margin: -1.25rem 0 .5rem;
@ -49,12 +51,12 @@
color: $article-heading-alt; color: $article-heading-alt;
} }
h5 { h5 {
font-size: 1rem; font-size: 1.1rem;
margin: -1.25rem 0 .25rem; margin: -1.25rem 0 .25rem;
padding-top: 1.75rem; padding-top: 1.75rem;
} }
h6 { h6 {
font-size: 1rem; font-size: 1.1rem;
font-style: italic; font-style: italic;
margin: -1.25rem 0 .25rem; margin: -1.25rem 0 .25rem;
padding-top: 1.75rem; padding-top: 1.75rem;
@ -62,7 +64,7 @@
p,li { p,li {
color: $article-text; color: $article-text;
line-height: 1.7rem; line-height: 1.8rem;
} }
p { p {
@ -187,8 +189,8 @@
.nowrap { white-space: nowrap } .nowrap { white-space: nowrap }
.all-caps { .all-caps {
text-transform: uppercase; text-transform: uppercase;
font-size: .95rem; font-size: 1.05rem;
letter-spacing: .07em; letter-spacing: .1em;
font-weight: $medium !important; font-weight: $medium !important;
} }

View File

@ -0,0 +1,40 @@
////////////////////////// Fullscreen codeblock styles /////////////////////////
.fullscreen-code {
display: none;
z-index: 1000;
position: fixed;
top: 0;
left: 0;
height: 100vh;
width: 100vw;
padding: 2rem;
background: $article-code-bg;
overflow: scroll !important;
.fullscreen-close {
position: fixed;
padding: .1rem;
right: .75rem;
top: .5rem;
display: block;
color: $article-code;
font-size: 2rem;
text-decoration: none;
background: $article-code-bg;
border-radius: $radius;
span {
opacity: 0.5;
transition: opacity 0.2s;
}
&:hover span {opacity: 1};
}
pre {
display: block;
line-height: 1.75rem;
@import "article/code-api-methods";
}
}

View File

@ -1,21 +1,11 @@
$rubik: 'Rubik', sans-serif;
$code: 'IBM Plex Mono', monospace;;
// Font weights
$medium: 500;
$bold: 700;
html { html {
height: 100%; height: 100%;
} }
body { body {
min-height: 100%; min-height: 100%;
font-family: 'Rubik', sans-serif; font-family: $proxima;
background: $body-bg; background: $body-bg;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
} }
* { * {

View File

@ -1,120 +1,67 @@
////////////////////////////// HOMEPAGE VARIABLES //////////////////////////////
$home-body-width: 1300px;
//////////////////////////////// HOMEPAGE STYLES /////////////////////////////// //////////////////////////////// HOMEPAGE STYLES ///////////////////////////////
body.home {
background-image: url('/img/hero-bg-light-1-diamond.png');
background-size: 65%;
background-repeat: no-repeat;
}
.home { .home {
display: flex; color: $article-bold;
flex-direction: column;
align-items: flex-start;
.section { .section{
display: flex;
width: 100%; width: 100%;
padding: 0rem 3rem; margin: 0 auto;
flex-grow: 1; padding: 2rem 2rem 0;
max-width: $home-body-width;
.row{ display: block;
flex-direction: row;
}
.half { width: 50%; }
.third { width: 33.33%; }
.quarter { width: 25%; }
.two-thirds { width: 66.67%; }
.three-quarters { width: 75%; }
}
///////////////////////////// HERO SECTION STYLES ////////////////////////////
.hero {
position: relative; position: relative;
padding-top: 3.5rem;
padding-bottom: 4.5rem;
@include gradient($grad-WarpSpeed)
color: $g20-white;
z-index: 0;
// overflow: hidden;
h2 {
margin: 1.25rem 0 .5rem;
font-weight: 300;
font-size: 3rem;
}
p {
font-size: 1.1rem;
line-height: 1.85rem;
}
#hero-img {
position: absolute;
max-width: 50%;
max-height: 135%;
bottom: -25%;
right: 0;
}
.actions {
display: flex;
margin: 1.25rem 0 .75rem 0;
}
a.btn {
position: relative;
display: inline-block;
flex: 1 0;
margin: 0 .5rem .5rem 0;
padding: 1.25rem 2.25rem;
color: $article-btn-text !important;
border-radius: $radius;
font-weight: $medium;
font-size: 1.1rem;
text-decoration: none;
text-align: center;
z-index: 1;
@include gradient($home-btn-gradient);
&:after {
content: "";
position: absolute;
display: block;
top: 0;
right: 0;
width: 100%;
height: 100%;
border-radius: $radius;
@include gradient($home-btn-gradient-hover, 270deg);
opacity: 0;
transition: opacity .2s;
z-index: -1;
}
&:hover {
cursor: pointer;
&:after {
opacity: 1;
}
}
}
} }
//////////////////////////// SEARCH SECTION STYLES /////////////////////////// //////////////////////////// SEARCH SECTION STYLES ///////////////////////////
.search { .search {
padding-top: 2rem;
padding-bottom: 2.25rem;
.sidebar--search { .sidebar--search {
max-width: 55%;
font-size: 1.1rem; font-size: 1.1rem;
input { input {
padding: .75em 2.35rem .75rem 1rem padding: .75em 2.35rem .75rem 1rem;
border-radius: 6px;
position: relative;
box-shadow: none;
&::placeholder {color: rgba($sidebar-search-text, .65);}
} }
&:after { &:after {
font-size: 2rem; font-size: 2rem;
top: .35rem; top: .45rem;
right: .45rem; right: .45rem;
} }
.algolia-autocomplete {
position: relative;
&:after {
content: "";
position: absolute;
display: block;
border-radius: 6px;
top: 0;
left: 0;
box-shadow: 2px 2px 6px $sidebar-search-shadow;
height: 100%;
width: 100%;
mix-blend-mode: multiply;
z-index: -1;
}
}
.algolia-autocomplete.algolia-autocomplete-left, .algolia-autocomplete.algolia-autocomplete-right { .algolia-autocomplete.algolia-autocomplete-left, .algolia-autocomplete.algolia-autocomplete-right {
.ds-dropdown-menu { .ds-dropdown-menu {
top: auto !important; top: auto !important;
left: 0 !important; left: 0 !important;
@ -122,7 +69,7 @@
&:after { &:after {
content: ""; content: "";
box-shadow: 2px 2px 10px $sidebar-search-shadow; box-shadow: 2px 2px 6px $sidebar-search-shadow;
height: 100%; height: 100%;
width: 100%; width: 100%;
mix-blend-mode: multiply; mix-blend-mode: multiply;
@ -132,283 +79,547 @@
} }
} }
/////////////////////////////// PRODUCT CARDS //////////////////////////////// ///////////////////////////////// SPAN STYLES ////////////////////////////////
.group-wrapper { span {
display: flex; &.magenta {color: $br-new-magenta;}
flex-grow: 1; &.orange {color: $r-dreamsicle;}
width: 100%; &.blue {color: $b-pool;}
border-radius: $radius;
background-color: $sidebar-search-bg;
box-shadow: 2px 2px 10px $sidebar-search-shadow;
overflow: hidden;
color: $article-text;
h2 {
margin-top: .5rem;
font-weight: $medium;
color: $article-heading-alt;
a {color: inherit; &:hover{color: inherit;}}
}
p {
line-height: 1.45rem;
max-width: 700px;
}
a {
color: $article-link;
text-decoration: none;
font-weight: $medium;
&:hover{ color: $article-link-hover; }
}
} }
.card { ///////////////////////////// EXPANDABLE BUTTONS /////////////////////////////
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 1.25rem 1.5rem .75rem;
flex: 1 0;
.card-content p { margin-bottom: 0; } .exp-btn-wrapper {
position: relative;
display: block;
span.version { .exp-btn {
font-size: 1.15rem; background: $br-dark-blue;
opacity: .65; border-radius: 6px;
} color: $br-teal;
} padding: 1.5rem 2rem;
font-weight: $medium;
#flux, #resources {
padding-bottom: 2.5rem;
.card .card-content {
h2 {margin-bottom: .5rem;}
p {margin: 0 0 1rem;}
}
.card.cta-btns {
flex-direction: row;
margin-bottom: .75rem;
justify-content: flex-end;
align-items: center; align-items: center;
a.btn { min-width: 340px;
position: relative; min-height: 70px;
display: inline-block; cursor: pointer;
transition: color .2s, background .2s, padding .2s;
&:hover, &.open {
background: $br-teal;
color: $br-dark-blue;
}
p {
margin: 0 !important;
text-align: center; text-align: center;
margin: .5rem .5rem .5rem 0; }
padding: .75rem 1.5rem; & > * {width: 100%;}
color: $article-btn-text !important;
border-radius: $radius;
font-size: .95rem;
z-index: 1;
@include gradient($article-btn-gradient);
&:after { &.open {
content: ""; padding: 0;
position: absolute; li a {padding: 1rem 2rem;}
display: block; }
top: 0; }
right: 0;
width: 100%; .exp-btn-links {
height: 100%; border-radius: 6px;
border-radius: $radius; color: $br-dark-blue;
@include gradient($article-btn-gradient-hover); margin: 0;
opacity: 0; padding: 0;
transition: opacity .2s; list-style: none;
z-index: -1; width: 100%;
height: 100%;
display: none;
li {
background: $br-teal;
&:first-child {
border-radius: 6px 6px 0 0;
border-bottom: 1px solid rgba($br-dark-blue, .5);
} }
&:last-child {
border-radius: 0 0 6px 6px;
border-bottom: none;
}
a {
display: block;
padding: 0rem 2rem;
color: $br-dark-blue;
text-decoration: none;
text-align: center;
transition: padding .2s;
}
}
}
.close-btn {
position: absolute;
top: 38%;
right: -32px;
color: rgba($br-teal, .6);
font-size: 1.5rem;
display: none;
cursor: pointer;
transition: color .2s;
&:hover {
opacity: 1;
color: $br-teal;
}
}
}
&:hover { //////////////////////////////// PRODUCT CARDS ///////////////////////////////
cursor: pointer;
.product-cards {
display: flex;
flex-direction: row;
.card {
padding: 3rem;
background: $sidebar-search-bg;
border-radius: 30px;
box-shadow: 1px 1px 7px $sidebar-search-shadow;
flex: 1 1 0;
display: flex;
flex-direction: column;
&:first-child {margin-right: 1rem}
&:last-child {margin-left: 1rem}
h3 {
margin: 0 0 1.5rem;
line-height: 1.1em;
font-size: 2.75rem;
}
p {
margin-bottom: 2rem;
};
.card-links {
margin-top: auto;
a {
position: relative;
display: block;
color: $article-text;
font-weight: $medium;
text-decoration: none;
margin-bottom: .3rem;
&:after { &:after {
opacity: 1; content: "";
display: block;
margin-top: .15rem;
border-top: 2px solid $br-new-magenta;
width: 0;
transition: width .2s;
}
&:hover{
color: $br-new-magenta;
&:after {width: 30%}
} }
} }
} }
} }
} }
#tick-cards { ///////////////////////// GENERAL BLUE SECTION STYLES ////////////////////////
.section.blue {
h2, h3, h4 {
color: $br-teal;
}
.padding-wrapper {
width: 100%;
max-width: $home-body-width;
color: $g20-white;
background: $br-dark-blue;
background-size: cover;
border-radius: 30px;
}
&.flush-left .padding-wrapper {
padding: 2rem;
background-image: url('/svgs/home-bg-circle-right.svg')}
&.flush-right .padding-wrapper {
padding: 2rem;
background-image: url('/svgs/home-bg-circle-left.svg');
}
}
////////////////////////////// INFLUXDB SECTION //////////////////////////////
#influxdb {
padding-top: .5rem;
display: flex; display: flex;
flex-wrap: wrap;
position: relative;
color: $g20-white;
@include gradient($home-tick-bg-gradient, 45deg)
h2 { color: $article-heading-alt; } .actions {
display: flex;
justify-content: center;
align-items: center;
max-width: 50%;
padding: 0 3rem 3rem;
flex: 1 1 0;
}
a { h2 {
display: inline-block; margin: 0;
position: relative; font-size: 3.5rem;
&:after{ line-height: 1.1em;
content: ""; & + p {
margin-top: .15rem; font-size: 1.2rem;
width: 0; margin: .5rem 0 2rem;
display: block;
height: 2px;
@include gradient($grad-whiteFade)
transition: width .2s;
}
&:hover{
&:after { width: 100%; }
} }
} }
.card { h3 {
margin: 0;
color: $g20-white;
font-size: 2.25rem;
& + p {margin: .5rem 0;}
}
.hero-img {
background-image: url('/img/wind-turbine.jpg');
background-size: cover;
margin: -.5rem .75rem 0 1rem;
z-index: -1;
min-height: 600px;
border-radius: 0 0 30px 30px;
flex: 1 1 0;
}
}
#influxdb-btn {
.exp-btn {
@include gradient($grad-burningDusk, 270deg);
color: $g20-white;
position: relative; position: relative;
z-index: 1; z-index: 1;
color: $article-text;
transition: color .2s;
&:after { &:after {
content: ""; content: "";
position: absolute; top: 0;
display: block;
bottom: 0;
left: 0; left: 0;
position: absolute;
width: 100%; width: 100%;
height: 100%; height: 100%;
opacity: 0; @include gradient($grad-coolDusk);
border-radius: 6px;
z-index: -1; z-index: -1;
transition: opacity .4s; opacity: 0;
transition: opacity .2s;
} }
&.telegraf:after {@include gradient($telegraf-home-card-gradient);} &:hover, &.open {
&.influxdb:after {@include gradient($default-home-card-gradient);} &:after {opacity: 1;}
&.chronograf:after {@include gradient($chronograf-home-card-gradient);}
&.kapacitor:after {@include gradient($kapacitor-home-card-gradient);}
&:hover {
color: $g20-white;
h2, a {color: $g20-white;}
&:after { opacity: 1; }
} }
&.open {
padding: 0;
li a {padding: 1rem 2rem;}
}
}
.exp-btn-links {
color: $g20-white;
li {
@include gradient($grad-coolDusk);
&:first-child {
border-bottom: 1px solid rgba($body-bg, .5);
a:after {border-radius: 6px 6px 0 0;}
}
&:last-child a:after {border-radius: 0 0 6px 6px;}
a {
color: $g20-white;
position: relative;
z-index: 1;
&:after {
content: "";
top: 0;
left: 0;
position: absolute;
width: 100%;
height: 100%;
@include gradient($grad-burningDusk, 270deg);
border-radius: 6px;
z-index: -1;
opacity: 0;
transition: opacity .2s;
}
&:hover:after {opacity: 1}
}
}
}
.close-btn {
color: rgba($br-new-magenta, .6);
&:hover {color: $br-new-magenta;}
} }
} }
#enterprise { ///////////////////////////////// API SECTION ////////////////////////////////
padding-top: 2.5rem;
padding-bottom: 2.5rem;
}
//////////////////////////// HOMEPAGE MEDIA QUERIES //////////////////////////// #api-guides {
.padding-wrapper {
display: flex;
justify-content: space-between;
align-items: center;
padding: 3.5rem;
@include media(large) { .text {margin-right: 2rem;}
overflow-x: hidden;
.hero #hero-img{ h3 {
max-height: 130%; margin: 0;
max-width: 70%; font-size: 1.8rem;
right: -20%; }
bottom: -30%;
p {
margin: .5rem 0;
line-height: 1.5rem;
}
} }
} }
@media (max-width: 1020px) { ///////////////////////////////// LEARN ITEMS ////////////////////////////////
#tick-stack #tick-cards .card { width: 50%; flex: none;}
.section { #learn-more {
.quarter { width: 33.33%; } margin-bottom: 2rem;
.three-quarters { width: 66.64%; }
h4 {
font-size: 1.8rem;
margin: 1rem 0 2rem;
} }
#flux .card.flux-btns {
.learn-items {
display: flex;
flex-direction: row;
justify-content: flex-start;
.item {
max-width: 25%;
flex: 1 1 0;
display: flex;
flex-direction: column;
margin: 0 .75rem;
.icon {
svg {max-height: 60px; max-width: 60px}
.c1 {fill: $home-icon-c1;}
.c2 {fill: $home-icon-c2;}
.magenta {fill: $br-new-magenta;}
}
h5 {
font-size: 1.4rem;
margin: 1rem 0 0;
}
p {
margin: .5rem 0 1.5rem;
line-height: 1.7rem;
}
a {
position: relative;
color: $br-new-magenta;
font-weight: $medium;
text-decoration: none;
&:after {
content: "";
display: block;
margin-top: .25rem;
border-top: 2px solid $br-new-magenta;
width: 0;
transition: width .2s;
}
&:hover:after {width: 30%}
}
& > *:last-child {margin-top: auto}
}
}
}
////////////////////////////// TICK STACK STYLES /////////////////////////////
#tick {
padding-bottom: 0;
.padding-wrapper {
display: flex;
flex-direction: row;
align-items: center;
padding: 2rem 3rem;
h4 {
margin: 0;
font-size: 1.5rem;
& > a {color: inherit; text-decoration: none;}
& + p {margin: .5rem 0;}
}
h5 {
margin: 0 0 .5rem;
text-transform: uppercase;
letter-spacing: .06rem;
// font-weight: $medium;
}
.tick-title {
padding-right: 3rem;
}
.tick-links {
border-left: 1px solid rgba($br-teal, .3);
padding-left: 3rem;
display: flex;
ul {
padding: 0;
margin-right: 4rem;
list-style: none;
&:last-child {margin-right: 0;}
li a {
color: $g20-white;
line-height: 1.6rem;
text-decoration: none;
&:hover {color: $br-teal;}
span {
font-size: .75em;
opacity: .5;
}
}
}
}
}
}
#copyright {
width: 100vw;
max-width: $home-body-width;
padding: 1rem 3rem;
color: rgba($article-text, .5);
p {
margin: 0;
text-align: right;
font-size: .9rem;
}
}
/////////////////////////// HOMEPAGE MEDIA QUERIES ///////////////////////////
@media (max-width: 900px) {
#tick .padding-wrapper{
flex-direction: column; flex-direction: column;
align-items: flex-end; align-items: flex-start;
} padding-top: 3rem;
}
@media (max-width: 920px) { .tick-links {
.section { padding-left: 0;
padding-left: 1.5rem; border: none;
padding-right: 1.5rem; }
&.hero { padding-top: 2rem; padding-bottom: 3rem;}
&.search,
&#enterprise, &#flux { padding-top: 1.5rem; padding-bottom: 1.5rem; }
}
.hero {
#hero-img{ display: none; }
.half { width: 100%; }
}
.search {
.sidebar--search { max-width: 100%; }
} }
} }
@include media(medium) { @include media(medium) {
.search .algolia-autocomplete.algolia-autocomplete-right, .algolia-autocomplete.algolia-autocomplete-right { #influxdb {
.ds-dropdown-menu { .actions {
max-width: 100%;
padding-top: 3rem;
text-align: center;
}
.hero-img {display: none}
}
#api-guides {
.padding-wrapper{
flex-direction: column;
align-items: flex-start;
padding: 3rem;
}
.exp-btn-wrapper {width: 100%;}
.exp-btn {
margin-top: 2rem;
width: 100%; width: 100%;
background: $br-teal;
color: $br-dark-blue;
} }
} }
.product-cards {
flex-direction: column;
.card {
margin-bottom: 2rem;
&:first-child {margin-right: 0;}
&:last-child {margin-left: 0;}
}
}
#learn-more {
margin-bottom: 0;
h4 {margin-top: 0;}
.learn-items {
flex-wrap: wrap;
.item {
max-width: 45%;
flex: 1 1 50%;
margin-bottom: 2rem;
}
}
}
} }
@include media(small) { @include media(small) {
.section { .section {padding: 1rem 1rem 0;}
.search.section {padding-top: .25rem;}
.exp-btn-wrapper .exp-btn {min-width: revert;}
.product-cards .card {
padding: 2rem;
margin-bottom: 1rem;
.quarter, .three-quarters { width: 100%; } h3 {font-size: 2rem;}
&.hero {
order: 2;
padding-top: 1.5rem;
padding-bottom: 2rem;
h2 { font-size: 2rem; margin-top: .5rem; }
p { font-size: 1rem; line-height: 1.5rem; }
.actions { flex-direction: column; }
}
&.search {
order: 1;
padding: 0 1rem .5rem;
width: 100%;
.sidebar--search {
max-width: 100%;
font-size: 1rem;
input {
padding: .5em 2.15rem .5rem .75rem
}
&:after {
top: .15rem;
right: .25rem;
font-size: 1.75rem;
}
.algolia-autocomplete.algolia-autocomplete-right, .algolia-autocomplete.algolia-autocomplete-right {
.ds-dropdown-menu {
width: 100vw;
left: -1rem !important;
right: inherit;
}
}
}
}
&#flux, &#resources {
order: 3; padding-left: 0; padding-right: 0;
.card.cta-btns {
padding-top: 0;
a.btn {
display: block;
width: 100%;
margin: 0 0 .5rem;
}
}
}
&#tick-stack {
order: 4;
padding-left: 0;
padding-right: 0;
#tick-cards {
flex-direction: column;
.card {
width: 100%;
border-top: 1px solid rgba($article-text, .15);
}
}
}
&#enterprise { order: 5; padding-left: 0; padding-right: 0; }
} }
.group-wrapper {flex-direction: column;} #influxdb {
.row { .actions {padding: 2rem;}
flex-direction: column; h2 {font-size: 2.65rem;}
} }
#api-guides {
.padding-wrapper {
padding: 2rem;
h3 {font-size: 1.6rem;}
p {font-size: 1.1rem;}
}
}
#learn-more {
h4 {margin-left: 1rem;}
.learn-items {
flex-direction: column;
.item {max-width: 100%;}
}
}
#tick .padding-wrapper {padding: 2rem;}
} }
@media (max-width: 480px) {
#tick .padding-wrapper .tick-links {flex-direction: column;}
}
} }

View File

@ -311,6 +311,7 @@
display: inline-block; display: inline-block;
margin: 0; margin: 0;
padding: 0; padding: 0;
font-family: $rubik;
font-weight: 500; font-weight: 500;
font-size: 1.15rem; font-size: 1.15rem;
min-width: 225px; min-width: 225px;

View File

@ -13,15 +13,16 @@
display: block; display: block;
font-family: 'icomoon-v2'; font-family: 'icomoon-v2';
position: absolute; position: absolute;
top: .15rem; top: .25rem;
right: .25rem; right: .25rem;
color: $article-text; color: $article-text;
font-size: 1.75rem; font-size: 1.8rem;
} }
input { input {
font-family: $rubik; font-family: $proxima;
font-weight: $medium; font-weight: $medium;
font-size: 1.1rem;
background: $sidebar-search-bg; background: $sidebar-search-bg;
border-radius: $radius; border-radius: $radius;
border: 1px solid $sidebar-search-bg; border: 1px solid $sidebar-search-bg;
@ -38,9 +39,8 @@
border-radius: $radius; border-radius: $radius;
} }
&::placeholder { &::placeholder {
color: rgba($sidebar-search-text, .45); color: rgba($sidebar-search-text, .35);
font-weight: normal; font-weight: normal;
font-style: italic;
} }
} }
} }
@ -117,7 +117,7 @@
ul { ul {
list-style: none; list-style: none;
padding-left: 2rem; padding-left: 2.3rem;
border-left: 2px solid $nav-border; border-left: 2px solid $nav-border;
} }
@ -171,7 +171,7 @@
.nav-category > a { .nav-category > a {
color: $nav-category; color: $nav-category;
font-size: 1.1rem; font-size: 1.2rem;
&:hover { &:hover {
color: $nav-category-hover; color: $nav-category-hover;
} }
@ -192,11 +192,11 @@
} }
.children-toggle { .children-toggle {
width: 1rem; width: 1.12rem;
height: 1rem; height: 1.12rem;
position: absolute; position: absolute;
top: .05rem; top: .1rem;
left: -1.4rem; left: -1.6rem;
display: block; display: block;
background: $nav-border; background: $nav-border;
border-radius: 50%; border-radius: 50%;
@ -210,15 +210,15 @@
} }
&:before { &:before {
top: 4px; top: 4px;
left: 7px; left: 8px;
height: 8px; height: 10px;
width: 2px; width: 2px;
} }
&:after { &:after {
top: 7px; top: 8px;
left: 4px; left: 4px;
height: 2px; height: 2px;
width: 8px; width: 10px;
} }
&:hover { &:hover {
@ -239,10 +239,9 @@
h4 { h4 {
margin: 2rem 0 0 -1rem; margin: 2rem 0 0 -1rem;
color: rgba($article-heading-alt, .5); color: rgba($article-heading-alt, .5);
font-style: italic;
font-weight: 700; font-weight: 700;
text-transform: uppercase; text-transform: uppercase;
font-size: .85rem; font-size: .95rem;
letter-spacing: .08rem; letter-spacing: .08rem;
&.platform, &.flux { &.platform, &.flux {

View File

@ -8,7 +8,7 @@
.influx-home { .influx-home {
font-family: 'icomoon-v2'; font-family: 'icomoon-v2';
font-size: 1.9rem; font-size: 1.4rem;
color: $topnav-link; color: $topnav-link;
text-decoration: none; text-decoration: none;
vertical-align: middle; vertical-align: middle;
@ -16,7 +16,7 @@
color: $topnav-link-hover; color: $topnav-link-hover;
} }
.icon-influx-logotype { .icon-influx-logotype {
margin-left: .15rem; margin-left: .6rem;
} }
} }
@ -28,7 +28,6 @@
.docs-home { .docs-home {
display: inline-block; display: inline-block;
vertical-align: text-top; vertical-align: text-top;
font-style: italic;
font-weight: $medium; font-weight: $medium;
font-size: 1.1rem; font-size: 1.1rem;
color: $topnav-link; color: $topnav-link;
@ -39,6 +38,8 @@
} }
.topnav-left { .topnav-left {
margin-right: .15rem;
padding: .25rem .15rem;
z-index: 1; z-index: 1;
} }
@ -65,6 +66,7 @@
@include gradient($default-dropdown-gradient); @include gradient($default-dropdown-gradient);
background-attachment: local !important; background-attachment: local !important;
font-weight: $medium; font-weight: $medium;
font-size: 1.05rem;
border-radius: $radius; border-radius: $radius;
overflow: hidden; overflow: hidden;
cursor: pointer; cursor: pointer;
@ -103,10 +105,11 @@
li { li {
&:before { &:before {
display: inline-block; display: inline-block;
font-size: .8rem; font-size: .85rem;
color: $g2-kevlar; color: $g2-kevlar;
font-style: italic; text-transform: uppercase;
font-weight: bold; font-weight: bold;
letter-spacing: .04rem;
opacity: .65; opacity: .65;
mix-blend-mode: multiply; mix-blend-mode: multiply;
} }

View File

@ -131,6 +131,45 @@
margin: .5rem .5rem .5rem 0; margin: .5rem .5rem .5rem 0;
padding: 0; padding: 0;
list-style: none; list-style: none;
&.clusters {
padding-left: 1.75rem;
}
}
p.region {
.fake-radio {
position: relative;
display: inline-block;
height: 1.15em;
width: 1.15em;
margin: 0 0.3rem 0 0.1rem;
border-radius: $radius;
border: 1.5px solid transparent;
background: rgba($article-text, 0.05);
border: 1.5px solid rgba($article-text, 0.2);
vertical-align: text-top;
cursor: pointer;
&:after {
content: "";
position: absolute;
display: block;
height: .5rem;
width: .5rem;
top: .23rem;
left: .23rem;
border-radius: 50%;
background: rgba($article-text, .3);
opacity: 0;
transition: opacity .2s;
}
&.checked:after {
opacity: 1;
}
}
} }
} }
} }

View File

@ -7,7 +7,7 @@ blockquote,
border-width: 0 0 0 4px; border-width: 0 0 0 4px;
border-style: solid; border-style: solid;
border-radius: 0 $radius $radius 0; border-radius: 0 $radius $radius 0;
font-size: .95rem; font-size: 1.05rem;
ul,ol { ul,ol {
&:last-child { margin-bottom: 1.85rem; } &:last-child { margin-bottom: 1.85rem; }

View File

@ -7,7 +7,7 @@ a.btn {
padding: 0.85rem 1.5rem; padding: 0.85rem 1.5rem;
color: $article-btn-text !important; color: $article-btn-text !important;
border-radius: $radius; border-radius: $radius;
font-size: .95rem; font-size: 1.05rem;
z-index: 1; z-index: 1;
@include gradient($article-btn-gradient); @include gradient($article-btn-gradient);

View File

@ -1,19 +1,14 @@
.caption { .caption {
margin: -2rem 0 2rem; margin: -2rem 0 2rem;
padding-left: .25rem; padding-left: .25rem;
font-size: .85rem; font-size: .95rem;
font-style: italic; font-style: italic;
opacity: .8; opacity: .8;
color: $article-text;
p { line-height: 1.25rem; } p { line-height: 1.25rem; }
} }
.code-tabs-wrapper, .code-tab-content {
& + .caption {
margin-top: -2.75rem;
}
}
p { p {
& + .caption { & + .caption {
padding: 0; padding: 0;

View File

@ -0,0 +1,14 @@
.api {
margin-right: .35rem;
padding: .15rem .5rem .25rem;
border-radius: $radius;
color: $g20-white;
font-weight: bold;
font-size: 1rem;
&.get { background: $gr-viridian; }
&.post { background: $b-ocean; }
&.patch { background: $y-topaz; }
&.delete { background: $r-ruby; }
&.put {background: $br-pulsar; }
}

View File

@ -12,7 +12,7 @@ p,li,table {
border-radius: $radius; border-radius: $radius;
color: $article-code; color: $article-code;
white-space: nowrap; white-space: nowrap;
font-size: .95rem; font-size: 1rem;
font-style: normal; font-style: normal;
} }
} }
@ -66,25 +66,33 @@ pre {
overflow-y: hidden; overflow-y: hidden;
code { code {
padding: 0; padding: 0;
font-size: .95rem; font-size: 1rem;
line-height: 1.5rem; line-height: 1.7rem;
white-space: pre; white-space: pre;
} }
@import "code-api-methods";
} }
pre .api { ///////////////////////// Codeblocks fullscreen toggle /////////////////////////
margin-right: .35rem;
padding: .15rem .5rem .25rem; .codeblock {
border-radius: $radius; position: relative;
color: $g20-white;
font-weight: bold; .fullscreen-toggle {
font-size: .9rem; cursor: pointer;
position: absolute;
top: .5rem;
right: .5rem;
line-height: 0;
font-size: 1.15rem;
color: $article-code;
opacity: .5;
transition: opacity .2s;
&:hover {opacity: 1}
}
&.get { background: $gr-viridian; }
&.post { background: $b-ocean; }
&.patch { background: $y-topaz; }
&.delete { background: $r-ruby; }
&.put {background: $br-pulsar; }
} }
//////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////

View File

@ -31,8 +31,8 @@
&.community:before { &.community:before {
content: "\e900"; content: "\e900";
color: $article-heading-alt; color: $article-heading-alt;
margin: 0 .25rem 0 -.25rem; margin: 0 .5rem 0 -.25rem;
font-size: 1.65rem; font-size: 1.2rem;
font-family: 'icomoon-v2'; font-family: 'icomoon-v2';
vertical-align: middle; vertical-align: middle;
} }
@ -55,7 +55,7 @@
a { a {
display: block; display: block;
padding-left: 1rem; padding-left: 1rem;
font-size: .85rem; font-size: .95rem;
&.btn { &.btn {
color: $article-text !important; color: $article-text !important;
@ -75,12 +75,11 @@
&.edit:before { &.edit:before {
content: "\e92f"; content: "\e92f";
font-size: .75rem; font-size: .85rem;
vertical-align: top;
} }
&.issue:before { &.issue:before {
content: "\e934"; content: "\e934";
font-size: .95rem; font-size: 1rem;
} }
} }
} }

View File

@ -43,7 +43,7 @@
} }
///////////////////////////////// Shard diagram //////////////////////////////// ///////////////////////////////// Shard diagram ////////////////////////////////
#shard-diagram { #shard-diagram, #data-retention {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
max-width: 550px; max-width: 550px;
@ -71,6 +71,26 @@
border-left: 1px solid $article-text; border-left: 1px solid $article-text;
} }
} }
.one-quarter {width: 25%; height: .75rem;}
.three-quarters {width: 75%; height: .75rem;}
.border-left {border-left: 1px solid $article-text;}
.retention-label {
position: relative;
&:before {
content: "";
display: inline-block;
width: .65rem;
margin-right: .5rem;
border-top: 1px solid $article-text;
vertical-align: middle;
}
}
.deleted-label {
color: $r-ruby;
text-align: center;
font-size: .9rem;
}
} }
.shard-groups { .shard-groups {
display: flex; display: flex;
@ -96,9 +116,14 @@
padding: .65rem 1rem; padding: .65rem 1rem;
color: #fff; color: #fff;
border-radius: .25rem; border-radius: .25rem;
@include gradient($article-table-header, 90deg) @include gradient($article-table-header, 90deg);
background-attachment: fixed; background-attachment: fixed;
} }
&.deleted {
opacity: .3;
.shard {@include gradient($grad-red-dark)}
}
} }
} }
} }

View File

@ -12,7 +12,7 @@
flex-grow: 1; flex-grow: 1;
margin: 2px; margin: 2px;
position: relative; position: relative;
font-size: 0.875rem; font-size: 1rem;
font-weight: $medium; font-weight: $medium;
padding: .65rem 1.25rem; padding: .65rem 1.25rem;
display: inline-block; display: inline-block;
@ -72,7 +72,7 @@
margin: 0; margin: 0;
border-radius: $radius $radius 0 0; border-radius: $radius $radius 0 0;
display: inline-block; display: inline-block;
font-size: 0.875rem; font-size: 1rem;
background: $article-bg; background: $article-bg;
color: rgba($article-tab-code-text, .5); color: rgba($article-tab-code-text, .5);
&:hover { &:hover {
@ -97,7 +97,7 @@
margin: .75rem 0 3rem; margin: .75rem 0 3rem;
width: 100%; width: 100%;
& > :not(table, .fs-diagram) { & > :not(table, .fs-diagram, img) {
width: 100%; width: 100%;
margin-left: 0; margin-left: 0;
} }

View File

@ -31,8 +31,9 @@ table {
} }
td { td {
font-size: .95rem; font-size: 1.05rem;
line-height: 1.5em; line-height: 1.5em;
code {font-size: .95rem;}
} }
tr{ tr{
@ -49,6 +50,15 @@ table {
} }
img { margin-bottom: 0; } img { margin-bottom: 0; }
&.cloud-urls {
a { white-space: nowrap; }
p {
margin: 0 0 .5rem 0;
&:last-child { margin-bottom: 0 }
}
.cluster-name { font-weight: $medium; color: $article-bold; }
}
} }
table + table { table + table {
@ -64,5 +74,5 @@ table + table {
p.table-group-key { p.table-group-key {
margin: 1rem 0 -.75rem; margin: 1rem 0 -.75rem;
font-weight: $medium; font-weight: $medium;
font-size: .87rem; font-size: .95rem;
} }

View File

@ -8,11 +8,11 @@
.tag { .tag {
background: $body-bg; background: $body-bg;
margin: .12rem 0; margin: .12rem 0;
padding: .35rem .6rem; padding: .4rem .65rem;
font-style: italic; font-style: italic;
font-weight: $medium; font-weight: $medium;
color: rgba($article-text, .75) !important; color: rgba($article-text, .75) !important;
font-size: .8rem; font-size: .9rem;
border-radius: 1rem; border-radius: 1rem;
&:after { &:after {

View File

@ -13,7 +13,7 @@
padding: 0 .65em 0 .75em; padding: 0 .65em 0 .75em;
color: $article-heading; color: $article-heading;
background: rgba($article-heading, .07); background: rgba($article-heading, .07);
font-size: .9rem; font-size: .95rem;
font-weight: $medium; font-weight: $medium;
border-radius: 1em; border-radius: 1em;
display: inline-block; display: inline-block;

View File

@ -1,8 +1,7 @@
// InfluxData Docs Default Theme (Light) // InfluxData Docs Default Theme (Light)
// Import Tools // Import Tools
@import "tools/icomoon-v2", @import "tools/fonts",
"tools/icon",
"tools/media-queries.scss", "tools/media-queries.scss",
"tools/mixins.scss", "tools/mixins.scss",
"tools/tooltips", "tools/tooltips",
@ -27,7 +26,8 @@
"layouts/url-selector", "layouts/url-selector",
"layouts/feature-callouts", "layouts/feature-callouts",
"layouts/v1-overrides", "layouts/v1-overrides",
"layouts/notifications"; "layouts/notifications",
"layouts/fullscreen-code";
// Import Product-specifc color schemes // Import Product-specifc color schemes
@import "product-overrides/telegraf", @import "product-overrides/telegraf",

View File

@ -25,7 +25,7 @@ $theme-switch-dark: none;
// Search // Search
$sidebar-search-bg: $grey15; $sidebar-search-bg: $grey15;
$sidebar-search-shadow: rgba($g0-obsidian, .05); $sidebar-search-shadow: rgba($g0-obsidian, .5);
$sidebar-search-highlight: $b-pool; $sidebar-search-highlight: $b-pool;
$sidebar-search-text: $g20-white; $sidebar-search-text: $g20-white;
@ -179,10 +179,8 @@ $landing-btn-grad: $grad-blue;
$landing-btn-grad-hover: $grad-blue-light; $landing-btn-grad-hover: $grad-blue-light;
// Home page colors // Home page colors
$home-btn-gradient: $grad-NineteenEightyFour; $home-icon-c1: $g20-white;
$home-btn-gradient-hover: $grad-PastelGothic; $home-icon-c2: $body-bg;
$home-tick-bg-gradient: $grad-cool-grey-abyss;
$default-home-card-gradient: $grad-Miyazakisky;
// Tooltip colors // Tooltip colors
$tooltip-color: $br-chartreuse; $tooltip-color: $br-chartreuse;

View File

@ -18,7 +18,7 @@ $body-bg: #f3f4fb !default;
$radius: 2px !default; $radius: 2px !default;
// TopNav Colors // TopNav Colors
$topnav-link: $g8-storm !default; $topnav-link: #020a47 !default;
$topnav-link-hover: $b-dodger !default; $topnav-link-hover: $b-dodger !default;
$default-dropdown-gradient: $grad-PastelGothic !default; $default-dropdown-gradient: $grad-PastelGothic !default;
$theme-switch-light: none !default; $theme-switch-light: none !default;
@ -28,7 +28,7 @@ $theme-switch-dark: inline-block !default;
$sidebar-search-bg: $g20-white !default; $sidebar-search-bg: $g20-white !default;
$sidebar-search-shadow: #cfd1e5 !default; $sidebar-search-shadow: #cfd1e5 !default;
$sidebar-search-highlight: $b-pool !default; $sidebar-search-highlight: $b-pool !default;
$sidebar-search-text: $g8-storm !default; $sidebar-search-text: $g6-smoke !default;
// Left Navigation // Left Navigation
$nav-category: $b-dodger !default; $nav-category: $b-dodger !default;
@ -50,8 +50,8 @@ $product-enterprise: $br-pulsar !default;
$article-bg: $g20-white !default; $article-bg: $g20-white !default;
$article-heading: $br-pulsar !default; $article-heading: $br-pulsar !default;
$article-heading-alt: $g5-pepper !default; $article-heading-alt: $g5-pepper !default;
$article-text: $g6-smoke !default; $article-text: $br-dark-blue !default;
$article-bold: $g6-smoke !default; $article-bold: $br-dark-blue !default;
$article-link: $b-pool !default; $article-link: $b-pool !default;
$article-link-hover: $br-magenta !default; $article-link-hover: $br-magenta !default;
$article-shadow: #cfd1e5 !default; $article-shadow: #cfd1e5 !default;
@ -179,10 +179,8 @@ $landing-btn-grad: $grad-blue !default;
$landing-btn-grad-hover: $grad-blue-light !default; $landing-btn-grad-hover: $grad-blue-light !default;
// Home page colors // Home page colors
$home-btn-gradient: $grad-NineteenEightyFour !default; $home-icon-c1: $br-dark-blue !default;
$home-btn-gradient-hover: $grad-PastelGothic !default; $home-icon-c2: $g20-white !default;
$home-tick-bg-gradient: $grad-grey-mist !default;
$default-home-card-gradient: $grad-PastelGothic !default;
// Tooltip colors // Tooltip colors
$tooltip-color: $p-amethyst !default; $tooltip-color: $p-amethyst !default;

View File

@ -1,5 +1,11 @@
// Influx Color Palette // Influx Color Palette
// Brand Colors 2022
$br-dark-blue: #020a47;
$br-new-magenta: #d30971;
$br-new-purple: #9b2aff;
$br-teal: #5ee4e4;
// Brand Colors // Brand Colors
$br-chartreuse: #D6F622; $br-chartreuse: #D6F622;
$br-deeppurple: #13002D; $br-deeppurple: #13002D;
@ -165,4 +171,10 @@ $grey85: #D5D5DD;
$grey95: #F1F1F3; $grey95: #F1F1F3;
$white: #FFFFFF; $white: #FFFFFF;
$grad-cool-grey-abyss: $grey10, $grey15; $grad-cool-grey-abyss: $grey10, $grey15;
////////////////////////////// NEW BRAND GRADIENTS /////////////////////////////
$grad-burningDusk: $br-new-magenta, $br-new-purple;
$grad-coolDusk: #771cc7, #b2025b;
$grad-tealDream: $b-pool, $br-teal;
$grad-tealDeepSleep: $b-ocean, #0ab8b8;

View File

@ -0,0 +1,38 @@
$rubik: 'Rubik', sans-serif;
$proxima: 'Proxima Nova', sans-serif;
$code: 'IBM Plex Mono', monospace;;
// Font weights
$medium: 500;
$bold: 700;
// Global font size and rendering
body {
font-size: 18px;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
@font-face {
font-family: "Proxima Nova";
src: url("fonts/proxima-nova.otf") format("opentype");
font-weight: 300;
}
@font-face {
font-family: 'Proxima Nova';
src: url('fonts/proxima-nova-medium.otf') format('opentype');
font-weight: 400;
}
@font-face {
font-family: 'Proxima Nova';
src: url('fonts/proxima-nova-semibold.otf') format('opentype');
font-weight: 500 600;
}
@font-face {
font-family: 'Proxima Nova';
src: url('fonts/proxima-nova-bold.otf') format('opentype');
font-weight: 700;
}
@import "tools/icon-fonts/icomoon-v2";
@import "tools/icon-fonts/icon";

View File

@ -25,6 +25,7 @@ hrefTargetBlank = true
smartDashes = false smartDashes = false
[taxonomies] [taxonomies]
"influxdb/v2.2/tag" = "influxdb/v2.1/tags"
"influxdb/v2.1/tag" = "influxdb/v2.1/tags" "influxdb/v2.1/tag" = "influxdb/v2.1/tags"
"influxdb/v2.0/tag" = "influxdb/v2.0/tags" "influxdb/v2.0/tag" = "influxdb/v2.0/tags"
"influxdb/cloud/tag" = "influxdb/cloud/tags" "influxdb/cloud/tag" = "influxdb/cloud/tags"

View File

@ -21,6 +21,7 @@ hrefTargetBlank = true
smartDashes = false smartDashes = false
[taxonomies] [taxonomies]
"influxdb/v2.2/tag" = "influxdb/v2.1/tags"
"influxdb/v2.1/tag" = "influxdb/v2.1/tags" "influxdb/v2.1/tag" = "influxdb/v2.1/tags"
"influxdb/v2.0/tag" = "influxdb/v2.0/tags" "influxdb/v2.0/tag" = "influxdb/v2.0/tags"
"influxdb/cloud/tag" = "influxdb/cloud/tags" "influxdb/cloud/tag" = "influxdb/cloud/tags"

View File

@ -5,7 +5,8 @@ menu:
chronograf_1_6: chronograf_1_6:
weight: 30 weight: 30
parent: About the project parent: About the project
url: https://www.influxdata.com/legal/cla/ params:
url: https://www.influxdata.com/legal/cla/
--- ---
Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site. Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site.

View File

@ -5,7 +5,8 @@ menu:
name: Contributing name: Contributing
weight: 20 weight: 20
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md params:
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md
--- ---
See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project. See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project.

View File

@ -5,7 +5,8 @@ menu:
Name: Open source license Name: Open source license
weight: 40 weight: 40
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/LICENSE params:
url: https://github.com/influxdata/chronograf/blob/master/LICENSE
--- ---
The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project. The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project.

View File

@ -5,7 +5,8 @@ menu:
chronograf_1_7: chronograf_1_7:
weight: 30 weight: 30
parent: About the project parent: About the project
url: https://www.influxdata.com/legal/cla/ params:
url: https://www.influxdata.com/legal/cla/
--- ---
Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site. Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site.

View File

@ -5,7 +5,8 @@ menu:
name: Contribute name: Contribute
weight: 20 weight: 20
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md params:
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md
--- ---
See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project. See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project.

View File

@ -5,7 +5,8 @@ menu:
Name: Open source license Name: Open source license
weight: 40 weight: 40
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/LICENSE params:
url: https://github.com/influxdata/chronograf/blob/master/LICENSE
--- ---
The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project. The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project.

View File

@ -30,12 +30,12 @@ The Docker dashboard displays the following information:
### Plugins ### Plugins
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#docker) - [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk) - [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
## Kubernetes Node ## Kubernetes Node
The Kubernetes Node dashboard displays the following information: The Kubernetes Node dashboard displays the following information:
@ -53,7 +53,7 @@ The Kubernetes Node dashboard displays the following information:
- K8s - Kubelet Memory Bytes - K8s - Kubelet Memory Bytes
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Kubernetes Overview ## Kubernetes Overview
The Kubernetes Node dashboard displays the following information: The Kubernetes Node dashboard displays the following information:
@ -72,7 +72,7 @@ The Kubernetes Node dashboard displays the following information:
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Kubernetes Pod ## Kubernetes Pod
The Kubernetes Pod dashboard displays the following information: The Kubernetes Pod dashboard displays the following information:
@ -87,7 +87,7 @@ The Kubernetes Pod dashboard displays the following information:
- K8s - Pod TX Bytes/Second - K8s - Pod TX Bytes/Second
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Riak ## Riak
The Riak dashboard displays the following information: The Riak dashboard displays the following information:
@ -101,7 +101,7 @@ The Riak dashboard displays the following information:
- Riak - Read Repairs/Minute - Riak - Read Repairs/Minute
### Plugins ### Plugins
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#riak) - [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
## Consul ## Consul
The Consul dashboard displays the following information: The Consul dashboard displays the following information:
@ -110,7 +110,7 @@ The Consul dashboard displays the following information:
- Consul - Number of Warning Health Checks - Consul - Number of Warning Health Checks
### Plugins ### Plugins
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul) - [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
## Consul Telemetry ## Consul Telemetry
The Consul Telemetry dashboard displays the following information: The Consul Telemetry dashboard displays the following information:
@ -125,7 +125,7 @@ The Consul Telemetry dashboard displays the following information:
- Consul - Number of Serf Events - Consul - Number of Serf Events
### Plugins ### Plugins
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul) [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
## Mesos ## Mesos
@ -140,7 +140,7 @@ The Mesos dashboard displays the following information:
- Mesos Master Uptime - Mesos Master Uptime
### Plugins ### Plugins
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#mesos) - [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
## RabbitMQ ## RabbitMQ
The RabbitMQ dashboard displays the following information: The RabbitMQ dashboard displays the following information:
@ -151,7 +151,7 @@ The RabbitMQ dashboard displays the following information:
### Plugins ### Plugins
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq) - [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
## System ## System
@ -170,14 +170,14 @@ The System dashboard displays the following information:
### Plugins ### Plugins
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk) - [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#processes) - [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
- [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#swap) - [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#input-swap)
@ -198,7 +198,7 @@ The VMware vSphere Overview dashboard gives an overview of your VMware vSphere C
- VM CPU % Ready for :clustername: - VM CPU % Ready for :clustername:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vmware-vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vmware-vsphere)
## Apache ## Apache
The Apache dashboard displays the following information: The Apache dashboard displays the following information:
@ -221,12 +221,12 @@ The Apache dashboard displays the following information:
### Plugins ### Plugins
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#apache) - [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#logparser) - [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#input-logparser)
## ElasticSearch ## ElasticSearch
The ElasticSearch dashboard displays the following information: The ElasticSearch dashboard displays the following information:
@ -243,7 +243,7 @@ The ElasticSearch dashboard displays the following information:
- ElasticSearch - JVM Heap Usage - ElasticSearch - JVM Heap Usage
### Plugins ### Plugins
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch) - [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
## InfluxDB ## InfluxDB
@ -272,12 +272,12 @@ The InfluxDB dashboard displays the following information:
### Plugins ### Plugins
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#influxdb) - [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
@ -299,7 +299,7 @@ The Memcached dashboard displays the following information:
- Memcached - Evictions/10 Seconds - Memcached - Evictions/10 Seconds
### Plugins ### Plugins
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#memcached) - [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
## NSQ ## NSQ
@ -315,7 +315,7 @@ The NSQ dashboard displays the following information:
- NSQ - Topic Egress - NSQ - Topic Egress
### Plugins ### Plugins
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#nsq) - [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
## PostgreSQL ## PostgreSQL
The PostgreSQL dashboard displays the following information: The PostgreSQL dashboard displays the following information:
@ -340,11 +340,11 @@ The PostgreSQL dashboard displays the following information:
### Plugins ### Plugins
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#postgresql) - [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
## HAProxy ## HAProxy
@ -367,7 +367,7 @@ The HAProxy dashboard displays the following information:
- HAProxy - Backend Error Responses/Second - HAProxy - Backend Error Responses/Second
### Plugins ### Plugins
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#haproxy) - [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
## NGINX ## NGINX
@ -379,7 +379,7 @@ The NGINX dashboard displays the following information:
- NGINX - Active Client State - NGINX - Active Client State
### Plugins ### Plugins
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#nginx) - [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
## Redis ## Redis
The Redis dashboard displays the following information: The Redis dashboard displays the following information:
@ -390,7 +390,7 @@ The Redis dashboard displays the following information:
- Redis - Memory - Redis - Memory
### Plugins ### Plugins
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#redis) - [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
## VMware vSphere VMs ## VMware vSphere VMs
@ -406,7 +406,7 @@ The VMWare vSphere VMs dashboard gives an overview of your VMware vSphere virtua
- Total Disk Latency for :vmname: - Total Disk Latency for :vmname:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
## VMware vSphere Hosts ## VMware vSphere Hosts
@ -422,7 +422,7 @@ The VMWare vSphere Hosts dashboard displays the following information:
- Total Disk Latency for :esxhostname: - Total Disk Latency for :esxhostname:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
## PHPfpm ## PHPfpm
The PHPfpm dashboard displays the following information: The PHPfpm dashboard displays the following information:
@ -433,7 +433,7 @@ The PHPfpm dashboard displays the following information:
- PHPfpm - Max Children Reached - PHPfpm - Max Children Reached
### Plugins ### Plugins
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#nginx) - [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
## Win System ## Win System
The Win System dashboard displays the following information: The Win System dashboard displays the following information:
@ -445,7 +445,7 @@ The Win System dashboard displays the following information:
- System - Load - System - Load
### Plugins ### Plugins
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#windows-services) - [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-services)
## MySQL ## MySQL
@ -472,9 +472,9 @@ The MySQL dashboard displays the following information:
- InnoDB Data - InnoDB Data
### Plugins ### Plugins
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#mysql) - [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
## Ping ## Ping
The Ping dashboard displays the following information: The Ping dashboard displays the following information:
@ -483,4 +483,4 @@ The Ping dashboard displays the following information:
- Ping - Response Times (ms) - Ping - Response Times (ms)
### Plugins ### Plugins
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#ping) - [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)

View File

@ -65,7 +65,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## apache ## apache
**Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#apache) **Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
`apache.json` `apache.json`
@ -75,7 +75,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## consul ## consul
**Required Telegraf plugin:** [Consul input plugin](/{{< latest "telegraf" >}}/plugins/#consul) **Required Telegraf plugin:** [Consul input plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
`consul_http.json` `consul_http.json`
@ -95,7 +95,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## docker ## docker
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#docker) **Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
`docker.json` `docker.json`
@ -115,7 +115,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## elasticsearch ## elasticsearch
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch) **Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
`elasticsearch.json` `elasticsearch.json`
@ -132,7 +132,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## haproxy ## haproxy
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#haproxy) **Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
`haproxy.json` `haproxy.json`
@ -154,7 +154,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## iis ## iis
**Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#win_perf_counters) **Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#input-win_perf_counters)
`win_websvc.json` `win_websvc.json`
@ -162,7 +162,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## influxdb ## influxdb
**Required Telegraf plugin:** [InfluxDB input plugin](/{{< latest "telegraf" >}}/plugins/#influxdb) **Required Telegraf plugin:** [InfluxDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
`influxdb_database.json` `influxdb_database.json`
@ -207,7 +207,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## Memcached (`memcached`) ## Memcached (`memcached`)
**Required Telegraf plugin:** [Memcached input plugin](/{{< latest "telegraf" >}}/plugins/#memcached) **Required Telegraf plugin:** [Memcached input plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
`memcached.json` `memcached.json`
@ -227,7 +227,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## mesos ## mesos
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#mesos) **Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
`mesos.json` `mesos.json`
@ -242,7 +242,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## mongodb ## mongodb
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#mongodb) **Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-mongodb)
`mongodb.json` `mongodb.json`
@ -254,7 +254,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## mysql ## mysql
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#mysql) **Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
`mysql.json` `mysql.json`
@ -265,7 +265,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## nginx ## nginx
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#nginx) **Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
`nginx.json` `nginx.json`
@ -276,7 +276,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## nsq ## nsq
**Required Telegraf plugin:** [NSQ input plugin](/{{< latest "telegraf" >}}/plugins/#nsq) **Required Telegraf plugin:** [NSQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
`nsq_channel.json` `nsq_channel.json`
@ -297,7 +297,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## phpfpm ## phpfpm
**Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#phpfpm) **Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#input-phpfpm)
`phpfpm.json` `phpfpm.json`
@ -309,7 +309,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## ping ## ping
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#ping) **Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
`ping.json` `ping.json`
@ -318,7 +318,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## postgresql ## postgresql
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#postgresql) **Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
`postgresql.json` `postgresql.json`
@ -329,7 +329,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## rabbitmq ## rabbitmq
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq) **Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
`rabbitmq.json` `rabbitmq.json`
@ -340,7 +340,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## redis ## redis
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#redis) **Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
`redis.json` `redis.json`
@ -352,7 +352,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## riak ## riak
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#riak) **Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
`riak.json` `riak.json`
@ -371,7 +371,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### cpu ### cpu
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#cpu) **Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
`cpu.json` `cpu.json`
@ -381,13 +381,13 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
`disk.json` `disk.json`
**Required Telegraf plugin:** [Disk input plugin](/{{< latest "telegraf" >}}/plugins/#disk) **Required Telegraf plugin:** [Disk input plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
* "System - Disk used %" * "System - Disk used %"
### diskio ### diskio
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#diskio) **Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
`diskio.json` `diskio.json`
@ -396,7 +396,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### mem ### mem
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#mem) **Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
`mem.json` `mem.json`
@ -404,7 +404,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### net ### net
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#net) **Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
`net.json` `net.json`
@ -413,7 +413,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### netstat ### netstat
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#netstat) **Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-netstat)
`netstat.json` `netstat.json`
@ -422,7 +422,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### processes ### processes
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#processes) **Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
`processes.json` `processes.json`
@ -430,7 +430,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### procstat ### procstat
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat) **Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
`procstat.json` `procstat.json`
@ -439,7 +439,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
### system ### system
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat) **Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
`load.json` `load.json`
@ -447,7 +447,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## varnish ## varnish
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#varnish) **Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#input-varnish)
`varnish.json` `varnish.json`
@ -456,7 +456,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
## win_system ## win_system
**Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#win_perf_counters) **Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#input-win_perf_counters)
`win_cpu.json` `win_cpu.json`

View File

@ -6,7 +6,8 @@ menu:
chronograf_1_8: chronograf_1_8:
weight: 30 weight: 30
parent: About the project parent: About the project
url: https://www.influxdata.com/legal/cla/ params:
url: https://www.influxdata.com/legal/cla/
--- ---
Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site. Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site.

View File

@ -6,7 +6,8 @@ menu:
name: Contribute name: Contribute
weight: 20 weight: 20
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md params:
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md
--- ---
See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project. See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project.

View File

@ -6,7 +6,8 @@ menu:
Name: Open source license Name: Open source license
weight: 40 weight: 40
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/LICENSE params:
url: https://github.com/influxdata/chronograf/blob/master/LICENSE
--- ---
The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project. The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project.

View File

@ -30,12 +30,12 @@ The Docker dashboard displays the following information:
### Plugins ### Plugins
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#docker) - [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk) - [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
## Kubernetes Node ## Kubernetes Node
The Kubernetes Node dashboard displays the following information: The Kubernetes Node dashboard displays the following information:
@ -53,7 +53,7 @@ The Kubernetes Node dashboard displays the following information:
- K8s - Kubelet Memory Bytes - K8s - Kubelet Memory Bytes
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Kubernetes Overview ## Kubernetes Overview
The Kubernetes Node dashboard displays the following information: The Kubernetes Node dashboard displays the following information:
@ -72,7 +72,7 @@ The Kubernetes Node dashboard displays the following information:
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Kubernetes Pod ## Kubernetes Pod
The Kubernetes Pod dashboard displays the following information: The Kubernetes Pod dashboard displays the following information:
@ -87,7 +87,7 @@ The Kubernetes Pod dashboard displays the following information:
- K8s - Pod TX Bytes/Second - K8s - Pod TX Bytes/Second
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Riak ## Riak
The Riak dashboard displays the following information: The Riak dashboard displays the following information:
@ -101,7 +101,7 @@ The Riak dashboard displays the following information:
- Riak - Read Repairs/Minute - Riak - Read Repairs/Minute
### Plugins ### Plugins
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#riak) - [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
## Consul ## Consul
The Consul dashboard displays the following information: The Consul dashboard displays the following information:
@ -110,7 +110,7 @@ The Consul dashboard displays the following information:
- Consul - Number of Warning Health Checks - Consul - Number of Warning Health Checks
### Plugins ### Plugins
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul) - [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
## Consul Telemetry ## Consul Telemetry
The Consul Telemetry dashboard displays the following information: The Consul Telemetry dashboard displays the following information:
@ -125,7 +125,7 @@ The Consul Telemetry dashboard displays the following information:
- Consul - Number of Serf Events - Consul - Number of Serf Events
### Plugins ### Plugins
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul) [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
## Mesos ## Mesos
@ -140,7 +140,7 @@ The Mesos dashboard displays the following information:
- Mesos Master Uptime - Mesos Master Uptime
### Plugins ### Plugins
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#mesos) - [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
## RabbitMQ ## RabbitMQ
The RabbitMQ dashboard displays the following information: The RabbitMQ dashboard displays the following information:
@ -151,7 +151,7 @@ The RabbitMQ dashboard displays the following information:
### Plugins ### Plugins
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq) - [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
## System ## System
@ -170,14 +170,14 @@ The System dashboard displays the following information:
### Plugins ### Plugins
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk) - [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#processes) - [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
- [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#swap) - [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#input-swap)
@ -198,7 +198,7 @@ The VMware vSphere Overview dashboard gives an overview of your VMware vSphere C
- VM CPU % Ready for :clustername: - VM CPU % Ready for :clustername:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vmware-vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vmware-vsphere)
## Apache ## Apache
The Apache dashboard displays the following information: The Apache dashboard displays the following information:
@ -221,12 +221,12 @@ The Apache dashboard displays the following information:
### Plugins ### Plugins
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#apache) - [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#logparser) - [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#input-logparser)
## ElasticSearch ## ElasticSearch
The ElasticSearch dashboard displays the following information: The ElasticSearch dashboard displays the following information:
@ -243,7 +243,7 @@ The ElasticSearch dashboard displays the following information:
- ElasticSearch - JVM Heap Usage - ElasticSearch - JVM Heap Usage
### Plugins ### Plugins
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch) - [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
## InfluxDB ## InfluxDB
@ -272,12 +272,12 @@ The InfluxDB dashboard displays the following information:
### Plugins ### Plugins
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#influxdb) - [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
@ -299,7 +299,7 @@ The Memcached dashboard displays the following information:
- Memcached - Evictions/10 Seconds - Memcached - Evictions/10 Seconds
### Plugins ### Plugins
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#memcached) - [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
## NSQ ## NSQ
@ -315,7 +315,7 @@ The NSQ dashboard displays the following information:
- NSQ - Topic Egress - NSQ - Topic Egress
### Plugins ### Plugins
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#nsq) - [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
## PostgreSQL ## PostgreSQL
The PostgreSQL dashboard displays the following information: The PostgreSQL dashboard displays the following information:
@ -340,11 +340,11 @@ The PostgreSQL dashboard displays the following information:
### Plugins ### Plugins
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#postgresql) - [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
## HAProxy ## HAProxy
@ -367,7 +367,7 @@ The HAProxy dashboard displays the following information:
- HAProxy - Backend Error Responses/Second - HAProxy - Backend Error Responses/Second
### Plugins ### Plugins
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#haproxy) - [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
## NGINX ## NGINX
@ -379,7 +379,7 @@ The NGINX dashboard displays the following information:
- NGINX - Active Client State - NGINX - Active Client State
### Plugins ### Plugins
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#nginx) - [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
## Redis ## Redis
The Redis dashboard displays the following information: The Redis dashboard displays the following information:
@ -390,7 +390,7 @@ The Redis dashboard displays the following information:
- Redis - Memory - Redis - Memory
### Plugins ### Plugins
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#redis) - [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
## VMware vSphere VMs ## VMware vSphere VMs
@ -406,7 +406,7 @@ The VMWare vSphere VMs dashboard gives an overview of your VMware vSphere virtua
- Total Disk Latency for :vmname: - Total Disk Latency for :vmname:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
## VMware vSphere Hosts ## VMware vSphere Hosts
@ -422,7 +422,7 @@ The VMWare vSphere Hosts dashboard displays the following information:
- Total Disk Latency for :esxhostname: - Total Disk Latency for :esxhostname:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
## PHPfpm ## PHPfpm
The PHPfpm dashboard displays the following information: The PHPfpm dashboard displays the following information:
@ -433,7 +433,7 @@ The PHPfpm dashboard displays the following information:
- PHPfpm - Max Children Reached - PHPfpm - Max Children Reached
### Plugins ### Plugins
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#nginx) - [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
## Win System ## Win System
The Win System dashboard displays the following information: The Win System dashboard displays the following information:
@ -445,7 +445,7 @@ The Win System dashboard displays the following information:
- System - Load - System - Load
### Plugins ### Plugins
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#windows-services) - [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-services)
## MySQL ## MySQL
@ -472,9 +472,9 @@ The MySQL dashboard displays the following information:
- InnoDB Data - InnoDB Data
### Plugins ### Plugins
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#mysql) - [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
## Ping ## Ping
The Ping dashboard displays the following information: The Ping dashboard displays the following information:
@ -483,4 +483,4 @@ The Ping dashboard displays the following information:
- Ping - Response Times (ms) - Ping - Response Times (ms)
### Plugins ### Plugins
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#ping) - [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)

View File

@ -69,7 +69,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## apache ## apache
**Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#apache-http-server) **Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
`apache.json` `apache.json`
@ -79,7 +79,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## consul ## consul
**Required Telegraf plugin:** [Consul input plugin](/{{< latest "telegraf" >}}/plugins/#consul) **Required Telegraf plugin:** [Consul input plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
`consul_http.json` `consul_http.json`
@ -99,7 +99,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## docker ## docker
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#docker) **Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
`docker.json` `docker.json`
@ -119,7 +119,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## elasticsearch ## elasticsearch
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch) **Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
`elasticsearch.json` `elasticsearch.json`
@ -136,7 +136,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## haproxy ## haproxy
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#haproxy) **Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
`haproxy.json` `haproxy.json`
@ -158,7 +158,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## iis ## iis
**Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#windows-performance-counters) **Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-performance-counters)
`win_websvc.json` `win_websvc.json`
@ -166,7 +166,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## influxdb ## influxdb
**Required Telegraf plugin:** [InfluxDB input plugin](/{{< latest "telegraf" >}}/plugins/#influxdb) **Required Telegraf plugin:** [InfluxDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
`influxdb_database.json` `influxdb_database.json`
@ -211,7 +211,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## Memcached (`memcached`) ## Memcached (`memcached`)
**Required Telegraf plugin:** [Memcached input plugin](/{{< latest "telegraf" >}}/plugins/#memcached) **Required Telegraf plugin:** [Memcached input plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
`memcached.json` `memcached.json`
@ -231,7 +231,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## mesos ## mesos
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#mesos) **Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
`mesos.json` `mesos.json`
@ -246,7 +246,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## mongodb ## mongodb
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#mongodb) **Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-mongodb)
`mongodb.json` `mongodb.json`
@ -258,7 +258,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## mysql ## mysql
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#mysql) **Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
`mysql.json` `mysql.json`
@ -269,7 +269,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## nginx ## nginx
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#nginx) **Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
`nginx.json` `nginx.json`
@ -280,7 +280,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## nsq ## nsq
**Required Telegraf plugin:** [NSQ input plugin](/{{< latest "telegraf" >}}/plugins/#nsq) **Required Telegraf plugin:** [NSQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
`nsq_channel.json` `nsq_channel.json`
@ -301,7 +301,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## phpfpm ## phpfpm
**Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#php-fpm) **Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#input-php-fpm)
`phpfpm.json` `phpfpm.json`
@ -313,7 +313,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## ping ## ping
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#ping) **Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
`ping.json` `ping.json`
@ -322,7 +322,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## postgresql ## postgresql
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#postgresql) **Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
`postgresql.json` `postgresql.json`
@ -333,7 +333,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## rabbitmq ## rabbitmq
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq) **Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
`rabbitmq.json` `rabbitmq.json`
@ -344,7 +344,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## redis ## redis
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#redis) **Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
`redis.json` `redis.json`
@ -356,7 +356,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## riak ## riak
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#riak) **Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
`riak.json` `riak.json`
@ -375,7 +375,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### cpu ### cpu
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#cpu) **Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
`cpu.json` `cpu.json`
@ -385,13 +385,13 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
`disk.json` `disk.json`
**Required Telegraf plugin:** [Disk input plugin](/{{< latest "telegraf" >}}/plugins/#disk) **Required Telegraf plugin:** [Disk input plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
* "System - Disk used %" * "System - Disk used %"
### diskio ### diskio
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#diskio) **Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
`diskio.json` `diskio.json`
@ -400,7 +400,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### mem ### mem
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#mem) **Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
`mem.json` `mem.json`
@ -408,7 +408,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### net ### net
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#net) **Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
`net.json` `net.json`
@ -417,7 +417,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### netstat ### netstat
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#netstat) **Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-netstat)
`netstat.json` `netstat.json`
@ -426,7 +426,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### processes ### processes
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#processes) **Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
`processes.json` `processes.json`
@ -434,7 +434,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### procstat ### procstat
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat) **Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
`procstat.json` `procstat.json`
@ -443,7 +443,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### system ### system
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat) **Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
`load.json` `load.json`
@ -451,7 +451,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## varnish ## varnish
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#varnish) **Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#input-varnish)
`varnish.json` `varnish.json`
@ -460,7 +460,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## win_system ## win_system
**Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#windows-performance-counters) **Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-performance-counters)
`win_cpu.json` `win_cpu.json`

View File

@ -6,7 +6,8 @@ menu:
chronograf_1_9: chronograf_1_9:
weight: 30 weight: 30
parent: About the project parent: About the project
url: https://www.influxdata.com/legal/cla/ params:
url: https://www.influxdata.com/legal/cla/
--- ---
Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site. Before you can contribute to the Chronograf project, you need to submit the [InfluxData Contributor License Agreement (CLA)](https://www.influxdata.com/legal/cla/) available on the InfluxData main site.

View File

@ -6,7 +6,8 @@ menu:
name: Contribute name: Contribute
weight: 20 weight: 20
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md params:
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md
--- ---
See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project. See [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) in the Chronograf GitHub project to learn how you can contribute to the Chronograf project.

View File

@ -6,7 +6,8 @@ menu:
Name: Open source license Name: Open source license
weight: 40 weight: 40
parent: About the project parent: About the project
url: https://github.com/influxdata/chronograf/blob/master/LICENSE params:
url: https://github.com/influxdata/chronograf/blob/master/LICENSE
--- ---
The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project. The [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE) is available in the Chronograf GitHub project.

View File

@ -8,6 +8,68 @@ menu:
parent: About the project parent: About the project
--- ---
## v1.9.4 [2022-03-28]
### Features
This release renames the Flux `Query Builder` to the Flux `Script Builder` (and adds improvements), and improves on Kapacitor integration.
#### Flux Builder improvements
- Rename the Flux `Query Builder` to the Flux `Script Builder`, and add new functionality including:
- Ability to load truncated tags and keys into the Flux Script Builder when connected to InfluxDB Cloud.
- Script Builder tag keys and tag values depend on a selected time range.
- Make aggregation function selection optional.
- Autocomplete builtin v object in Flux editor.
- Add a warning before overriding the existing Flux Editor script.
#### Kapacitor integration improvements
Improved pagination and performance of the UI when you have large numbers of TICKscripts and Flux tasks.
- Move Flux Tasks to a separate page under Alerting menu.
- Add `TICKscripts Page` under Alerting menu.
- Optimize Alert Rules API.
- Open `Alert Rule Builder` from the TICKscripts page.
- Remove `Manage Tasks` page, add `Alert Rules` page.
- Add alert rule options to not send alert on state recovery and send regardless of state change.
### Bug fixes
- Respect `BASE_PATH` when serving API docs.
- Propagate InfluxQL errors to UI.
- Rename Flux Query to Flux Script.
- Repair time zone selector on Host page.
- Report correct Chronograf version.
- Show failure reason on Queries page.
- Reorder Alerting side menu.
## v1.9.3 [2022-02-02]
{{% note %}} **NOTE:** We did not release version 1.9.2 due to a bug that impacted communication between the browsers main thread and background workers. This bug has been fixed in the 1.9.3 release.
{{% /note %}}
### Features
- Add ability to rename TICKscripts.
- Add the following enhancements to the `InfluxDB Admin - Queries` tab:
- `CSV download` button.
- Rename `Running` column to `Duration`.
- Add `Status` column. When hovering over the `Duration` column, status shows `Kill` confirmation button.
- Modify the `CSV` export to include the `Status` column.
- Upgrade to use new `google.golang protobuf` library.
### Bug Fixes
- Ability to log the InfluxDB instance URL when a ping fails, making connection issues easier to identify.
- Repair enforcement of one organization between multiple tabs.
- Configure HTTP proxy from environment variables in HTTP clients. Improvements were made to:
- Token command within `chronoctl`
- OAuth client
- Kapacitor client
- Flux client
#### Security
- Upgrade `github.com/microcosm-cc/bluemonday` to resolve CVE-2021-42576.
## v1.9.1 [2021-10-08] ## v1.9.1 [2021-10-08]
### Features ### Features

View File

@ -30,12 +30,12 @@ The Docker dashboard displays the following information:
### Plugins ### Plugins
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#docker) - [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk) - [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
## Kubernetes Node ## Kubernetes Node
The Kubernetes Node dashboard displays the following information: The Kubernetes Node dashboard displays the following information:
@ -53,7 +53,7 @@ The Kubernetes Node dashboard displays the following information:
- K8s - Kubelet Memory Bytes - K8s - Kubelet Memory Bytes
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Kubernetes Overview ## Kubernetes Overview
The Kubernetes Node dashboard displays the following information: The Kubernetes Node dashboard displays the following information:
@ -72,7 +72,7 @@ The Kubernetes Node dashboard displays the following information:
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Kubernetes Pod ## Kubernetes Pod
The Kubernetes Pod dashboard displays the following information: The Kubernetes Pod dashboard displays the following information:
@ -87,7 +87,7 @@ The Kubernetes Pod dashboard displays the following information:
- K8s - Pod TX Bytes/Second - K8s - Pod TX Bytes/Second
### Plugins ### Plugins
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes) - [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
## Riak ## Riak
The Riak dashboard displays the following information: The Riak dashboard displays the following information:
@ -101,7 +101,7 @@ The Riak dashboard displays the following information:
- Riak - Read Repairs/Minute - Riak - Read Repairs/Minute
### Plugins ### Plugins
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#riak) - [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
## Consul ## Consul
The Consul dashboard displays the following information: The Consul dashboard displays the following information:
@ -110,7 +110,7 @@ The Consul dashboard displays the following information:
- Consul - Number of Warning Health Checks - Consul - Number of Warning Health Checks
### Plugins ### Plugins
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul) - [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
## Consul Telemetry ## Consul Telemetry
The Consul Telemetry dashboard displays the following information: The Consul Telemetry dashboard displays the following information:
@ -125,7 +125,7 @@ The Consul Telemetry dashboard displays the following information:
- Consul - Number of Serf Events - Consul - Number of Serf Events
### Plugins ### Plugins
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul) [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
## Mesos ## Mesos
@ -140,7 +140,7 @@ The Mesos dashboard displays the following information:
- Mesos Master Uptime - Mesos Master Uptime
### Plugins ### Plugins
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#mesos) - [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
## RabbitMQ ## RabbitMQ
The RabbitMQ dashboard displays the following information: The RabbitMQ dashboard displays the following information:
@ -151,7 +151,7 @@ The RabbitMQ dashboard displays the following information:
### Plugins ### Plugins
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq) - [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
## System ## System
@ -170,14 +170,14 @@ The System dashboard displays the following information:
### Plugins ### Plugins
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk) - [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#processes) - [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
- [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#swap) - [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#input-swap)
@ -198,7 +198,7 @@ The VMware vSphere Overview dashboard gives an overview of your VMware vSphere C
- VM CPU % Ready for :clustername: - VM CPU % Ready for :clustername:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vmware-vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vmware-vsphere)
## Apache ## Apache
The Apache dashboard displays the following information: The Apache dashboard displays the following information:
@ -221,12 +221,12 @@ The Apache dashboard displays the following information:
### Plugins ### Plugins
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#apache) - [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#logparser) - [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#input-logparser)
## ElasticSearch ## ElasticSearch
The ElasticSearch dashboard displays the following information: The ElasticSearch dashboard displays the following information:
@ -243,7 +243,7 @@ The ElasticSearch dashboard displays the following information:
- ElasticSearch - JVM Heap Usage - ElasticSearch - JVM Heap Usage
### Plugins ### Plugins
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch) - [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
## InfluxDB ## InfluxDB
@ -272,12 +272,12 @@ The InfluxDB dashboard displays the following information:
### Plugins ### Plugins
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#influxdb) - [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net) - [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
@ -299,7 +299,7 @@ The Memcached dashboard displays the following information:
- Memcached - Evictions/10 Seconds - Memcached - Evictions/10 Seconds
### Plugins ### Plugins
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#memcached) - [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
## NSQ ## NSQ
@ -315,7 +315,7 @@ The NSQ dashboard displays the following information:
- NSQ - Topic Egress - NSQ - Topic Egress
### Plugins ### Plugins
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#nsq) - [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
## PostgreSQL ## PostgreSQL
The PostgreSQL dashboard displays the following information: The PostgreSQL dashboard displays the following information:
@ -340,11 +340,11 @@ The PostgreSQL dashboard displays the following information:
### Plugins ### Plugins
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#postgresql) - [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu) - [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio) - [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
## HAProxy ## HAProxy
@ -367,7 +367,7 @@ The HAProxy dashboard displays the following information:
- HAProxy - Backend Error Responses/Second - HAProxy - Backend Error Responses/Second
### Plugins ### Plugins
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#haproxy) - [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
## NGINX ## NGINX
@ -379,7 +379,7 @@ The NGINX dashboard displays the following information:
- NGINX - Active Client State - NGINX - Active Client State
### Plugins ### Plugins
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#nginx) - [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
## Redis ## Redis
The Redis dashboard displays the following information: The Redis dashboard displays the following information:
@ -390,7 +390,7 @@ The Redis dashboard displays the following information:
- Redis - Memory - Redis - Memory
### Plugins ### Plugins
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#redis) - [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
## VMware vSphere VMs ## VMware vSphere VMs
@ -406,7 +406,7 @@ The VMWare vSphere VMs dashboard gives an overview of your VMware vSphere virtua
- Total Disk Latency for :vmname: - Total Disk Latency for :vmname:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
## VMware vSphere Hosts ## VMware vSphere Hosts
@ -422,7 +422,7 @@ The VMWare vSphere Hosts dashboard displays the following information:
- Total Disk Latency for :esxhostname: - Total Disk Latency for :esxhostname:
### Plugins ### Plugins
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere) - [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
## PHPfpm ## PHPfpm
The PHPfpm dashboard displays the following information: The PHPfpm dashboard displays the following information:
@ -433,7 +433,7 @@ The PHPfpm dashboard displays the following information:
- PHPfpm - Max Children Reached - PHPfpm - Max Children Reached
### Plugins ### Plugins
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#nginx) - [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
## Win System ## Win System
The Win System dashboard displays the following information: The Win System dashboard displays the following information:
@ -445,7 +445,7 @@ The Win System dashboard displays the following information:
- System - Load - System - Load
### Plugins ### Plugins
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#windows-services) - [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-services)
## MySQL ## MySQL
@ -472,9 +472,9 @@ The MySQL dashboard displays the following information:
- InnoDB Data - InnoDB Data
### Plugins ### Plugins
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#mysql) - [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system) - [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem) - [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
## Ping ## Ping
The Ping dashboard displays the following information: The Ping dashboard displays the following information:
@ -483,4 +483,4 @@ The Ping dashboard displays the following information:
- Ping - Response Times (ms) - Ping - Response Times (ms)
### Plugins ### Plugins
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#ping) - [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)

View File

@ -7,7 +7,10 @@ menu:
weight: 100 weight: 100
parent: Guides parent: Guides
related: related:
- /{{< latest "kapacitor" >}}/introduction/getting-started/
- /{{< latest "kapacitor" >}}/working/kapa-and-chrono/
- /{{< latest "kapacitor" >}}/working/flux/ - /{{< latest "kapacitor" >}}/working/flux/
--- ---
Chronograf provides a user interface for [Kapacitor](/{{< latest "kapacitor" >}}/), Chronograf provides a user interface for [Kapacitor](/{{< latest "kapacitor" >}}/),
@ -41,6 +44,7 @@ In the Databases tab:
_See [supported duration units](/{{< latest "influxdb" "v1" >}}/query_language/spec/#duration-units)._ _See [supported duration units](/{{< latest "influxdb" "v1" >}}/query_language/spec/#duration-units)._
4. Click **Save**. 4. Click **Save**.
If you set the retention policy's duration to one hour (`1h`), InfluxDB If you set the retention policy's duration to one hour (`1h`), InfluxDB
automatically deletes any alerts that occurred before the past hour. automatically deletes any alerts that occurred before the past hour.
@ -51,29 +55,33 @@ automatically deletes any alerts that occurred before the past hour.
### Manage Kapacitor TICKscripts ### Manage Kapacitor TICKscripts
Chronograf lets you manage Kapacitor TICKscript tasks created in Kapacitor or in Chronograf lets you view and manage all Kapacitor TICKscripts for a selected Kapacitor subscription using the **TICKscripts** page.
Chronograf when [creating a Chronograf alert rule](/chronograf/v1.9/guides/create-alert-rules/).
To manage Kapacitor TICKscript tasks in Chronograf, click 1. To manage Kapacitor TICKscripts in Chronograf, click
**{{< icon "alert" "v2">}} Alerts** in the left navigation bar. **{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select **TICKscripts**.
On this page, you can: Do one or more of the following:
- View Kapacitor TICKscript tasks. - View Kapacitor TICKscript tasks. You can view up to 100 TICKscripts at a time. If you have more than 100 TICKscripts, the list will be paginated at the bottom of the page. You can also filter your TICKscripts by name.
- View TICKscript task activity. - View TICKscript task type.
- Create new TICKscript tasks. - Enable and disable TICKscript tasks.
- Update TICKscript tasks. - Create new TICKscript tasks.
- Enable and disable TICKscript tasks. - Update TICKscript tasks.
- Delete TICKscript tasks. - Rename a TICKscript. Note, renaming a TICKscript updates the `var name` variable within the TICKscript.
- Delete TICKscript tasks.
- Create alerts using the Alert Rule Builder. See [Configure Chronograf alert rules](/chronograf/v1.9/guides/create-alert-rules/#configure-chronograf-alert-rules).
2. Click **Exit** when finished.
### Manage Kapacitor Flux tasks ### Manage Kapacitor Flux tasks
**Kapacitor 1.6+** supports Flux tasks. **Kapacitor 1.6+** supports Flux tasks.
Chronograf lets you view and manage [Kapacitor Flux tasks](/{{< latest "kapacitor" >}}/working/flux/). Chronograf lets you view and manage Flux tasks for a selected Kapacitor subscription using the **Flux Tasks** page.
To manage Kapacitor Flux tasks in Chronograf, click To manage Kapacitor Flux tasks in Chronograf, click
**{{< icon "alert" "v2">}} Alerts** in the left navigation bar. **{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select the **Flux Tasks** option. Do one or more of the following:
On this page, you can:
- View Kapacitor Flux tasks. - View and filter Kapacitor Flux tasks by name.
- View Kapacitor Flux task activity. - View Kapacitor Flux task activity.
- Enable and disable Kapacitor Flux tasks. - Enable and disable Kapacitor Flux tasks.
- Delete Kapacitor Flux tasks. - Delete Kapacitor Flux tasks.
For more information on Flux tasks and Kapacitor see [Use Flux tasks with Kapacitor](/{{< latest "kapacitor" >}}/working/flux/).

View File

@ -22,141 +22,74 @@ Common alerting use cases that can be managed using Chronograf include:
* Deadman switches. * Deadman switches.
Complex alerts and other tasks can be defined directly in Kapacitor as TICKscripts, but can be viewed and managed within Chronograf. Complex alerts and other tasks can be defined directly in Kapacitor as TICKscripts, but can be viewed and managed within Chronograf.
To learn about managing Kapacitor TICKscripts in Chronograf, see [Manage Kapacitor TICKscripts](/{{< latest "chronograf" >}}/guides/advanced-kapacitor/#manage-kapacitor-tickscripts).
This guide walks through creating a Chronograf alert rule that sends an alert message to an existing [Slack](https://slack.com/) channel whenever your idle CPU usage crosses the 80% threshold.
## Requirements ## Requirements
[Getting started with Chronograf](/chronograf/v1.9/introduction/getting-started/) offers step-by-step instructions for each of the following requirements: [Get started with Chronograf](/{{< latest "chronograf" >}}/introduction/getting-started/) offers step-by-step instructions for each of the following requirements:
* Downloaded and install the entire TICKstack (Telegraf, InfluxDB, Chronograf, and Kapacitor). * Download and install the entire TICKstack (Telegraf, InfluxDB, Chronograf, and Kapacitor).
* Configure Telegraf to collect data using the InfluxDB [system statistics](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/system) input plugin and write data to your InfluxDB instance. * [Create a Kapacitor connection in Chronograf](/{{< latest "chronograf" >}}/introduction/installation/#connect-chronograf-to-kapacitor).
* [Create a Kapacitor connection in Chronograf](/chronograf/v1.9/introduction/installation/#connect-chronograf-to-kapacitor).
* Slack is available and configured as an event handler in Chronograf. See [Configuring Chronograf alert endpoints](/chronograf/v1.9/guides/configuring-alert-endpoints/) for detailed configuration instructions.
## Configure Chronograf alert rules ## Manage Chronograf alert rules
Navigate to the **Manage Tasks** page under **Alerting** in the left navigation, then click **+ Build Alert Rule** in the top right corner. Chronograf lets you create and manage Kapacitor alert rules. To manage alert rules:
![Navigate to Manage Tasks](/img/chronograf/1-6-alerts-manage-tasks-nav.png) 1. Click on **{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select **Alert Rules**.
2. Do one of the following:
- [Create an alert rule](#create-an-alert-rule)
- [View alert history](#view-alert-history)
- [Enable and disable alert rules](#enable-and-disable-alert-rules)
- [Delete alert rules](#delete-alert-rules)
The **Manage Tasks** page is used to create and edit your Chronograf alert rules. To create and manage alert rules in Chronograf, click on
The steps below guide you through the process of creating a Chronograf alert rule. **{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select **Alert Rules**.
Do one of the following:
![Empty Rule Configuration](/img/chronograf/1-6-alerts-rule-builder.png) - View alert rules.
- Enable and disable alert rules.
- Delete alert rules.
- Create new alert rules using the **Alert Rule Builder**.
### Step 1: Name the alert rule ## Create an alert rule
Under **Name this Alert Rule** provide a name for the alert. From the **Alert Rules** page in Chronograf:
For this example, use "Idle CPU Usage" as your alert name.
### Step 2: Select the alert type 1. Click **+ Build Alert Rule**.
Choose from three alert types under the **Alert Types** section of the Rule Configuration page: 1. Name the alert rule.
_**Threshold**_ 2. Choose the alert type:
Alert if data crosses a boundary. - `Threshold` - alert if data crosses a boundary.
- `Relative` - alert if data changes relative to data in a different time range.
- `Deadman` - alert if InfluxDB receives no relevant data for a specified time duration.
_**Relative**_ 3. Select the time series data to use in the alert rule.
Alert if data changes relative to data in a different time range. - Navigate through databases, measurements, tags, and fields to select all relevant data.
_**Deadman**_ 4. Define the rule conditions. Condition options are determined by the alert type.
Alert if InfluxDB receives no relevant data for a specified time duration.
For this example, select the **Threshold** alert type. 5. Select and configure the alert handler.
- The alert handler determines where the system sends the alert (the event handler).
- Chronograf supports several event handlers and each handler has unique configurable options.
- Multiple alert handlers can be added to send alerts to multiple endpoints.
### Step 3: Select the time series data 6. Configure the alert message.
- The alert message is the text that accompanies an alert.
- Alert messages are templates that have access to alert data.
- Available templates appear below the message text field.
- As you type your alert message, clicking the data templates will insert them at the end of whatever text has been entered.
Choose the time series data you want the Chronograf alert rule to use. 7. Click **Save Rule**.
Navigate through databases, measurements, fields, and tags to select the relevant data.
In this example, select the `telegraf` [database](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#database), the `autogen` [retention policy](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#retention-policy-rp), the `cpu` [measurement](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#measurement), and the `usage_idle` [field](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#field). ## View alert history
![Select your data](/img/chronograf/1-6-alerts-time-series.png) Chronograf lets you view your alert history on the **Alert History** page.
### Step 4: Define the rule condition To view a history of your alerts, click on
**{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select **Alert History**.
Do one of the following:
Define the threshold condition. - View a history of all triggered alerts.
Condition options are determined by the [alert type](#step-2-select-the-alert-type). - Filter alert history by type.
For this example, the alert conditions are if `usage_idle` is less than `80`. - View alert history for a specified time range.
![Create a condition](/img/chronograf/1-6-alerts-conditions.png)
The graph shows a preview of the relevant data and the threshold number.
By default, the graph shows data from the past 15 minutes.
Adjusting the graph's time range is helpful when determining a reasonable threshold number based on your data.
{{% note %}}
We set the threshold number to `80` for demonstration purposes.
Setting the threshold for idle CPU usage to a high number ensures that we'll be able to see the alert in action.
In practice, you'd set the threshold number to better match the patterns in your data and your alerting needs.
{{% /note %}}
### Step 5: Select and configure the alert handler
The **Alert Handler** section determines where the system sends the alert (the event handler)
Chronograf supports several event handlers.
Each handler has unique configurable options.
For this example, choose the **slack** alert handler and enter the desired options.
![Select the alert handler](/img/chronograf/1-6-alerts-configure-handlers.png)
{{% note %}}
Multiple alert handlers can be added to send alerts to multiple endpoints.
{{% /note %}}
### Step 6: Configure the alert message
The alert message is the text that accompanies an alert.
Alert messages are templates that have access to alert data.
Available data templates appear below the message text field.
As you type your alert message, clicking the data templates will insert them at end of whatever text has been entered.
In this example, use the alert message, `Your idle CPU usage is {{.Level}} at {{ index .Fields "value" }}.`.
![Specify event handler and alert message](/img/chronograf/1-6-alerts-message.png)
*View the Kapacitor documentation for more information about [message template data](/{{< latest "kapacitor" >}}/nodes/alert_node/#message).*
### Step 7: Save the alert rule
Click **Save Rule** in the top right corner and navigate to the **Manage Tasks** page to see your rule.
Notice that you can easily enable and disable the rule by toggling the checkbox in the **Enabled** column.
![See the alert rule](/img/chronograf/1-6-alerts-view-rules.png)
Next, move on to the section below to experience your alert rule in action.
## View alerts in practice
### Step 1: Create some load on your system
The purpose of this step is to generate enough load on your system to trigger an alert.
More specifically, your idle CPU usage must dip below `80%`.
On the machine that's running Telegraf, enter the following command in the terminal to start some `while` loops:
```
while true; do i=0; done
```
Let it run for a few seconds or minutes before terminating it.
On most systems, kill the script by using `Ctrl+C`.
### Step 2: View the alerts
Go to the Slack channel that you specified in the previous section.
In this example, it's the `#chronocats` channel.
Assuming the first step was successful, `#ohnos` should reveal at least two alert messages:
* The first alert message indicates that your idle CPU usage was `CRITICAL`, meaning it dipped below `80%`.
* The second alert message indicates that your idle CPU usage returned to an `OK` level of `80%` or above.
![See the alerts](/img/chronograf/1-6-alerts-slack-notifications.png)
You can also see alerts on the **Alert History** page available under **Alerting** in the left navigation.
![Chronograf alert history](/img/chronograf/1-6-alerts-history.png)
That's it! You've successfully used Chronograf to configure an alert rule to monitor your idle CPU usage and send notifications to Slack.

View File

@ -48,33 +48,20 @@ For more information, see [InfluxQL support](/influxdb/cloud/query-data/influxql
Flux is InfluxData's new functional data scripting language designed for querying, analyzing, and acting on time series data. To learn more about Flux, see [Getting started with Flux](/{{< latest "influxdb" "v2" >}}/query-data/get-started). Flux is InfluxData's new functional data scripting language designed for querying, analyzing, and acting on time series data. To learn more about Flux, see [Getting started with Flux](/{{< latest "influxdb" "v2" >}}/query-data/get-started).
1. Open the Data Explorer and click **Add a Query**. 1. Open the Data Explorer by clicking **Explore** in the left navigation bar.
2. To the right of the source dropdown above the graph placeholder, select **Flux** as the source type. 2. Select **Flux** as the source type.
The **Schema**, **Functions**, and **Script** panes appear. 3. Click **Script Builder**.
3. Use the **Schema** pane to explore your available data. Click the **+** sign next to a bucket name to expand its content. 4. The **Schema**, **Script**, and **Flux Functions** panes appear.
4. Use the **Functions** pane to view details about the available Flux functions. - Use the **Schema** pane to explore your available data. Click the **{{< icon "plus" >}}** sign next to a bucket name to expand its content.
5. Use the **Script** pane to enter your Flux query. - Use the **Script** pane to enter and view your Flux script.
- Use the **Flux Functions** pane to view details about the available Flux functions.
5. To get started building a new script, click **Script Builder**. Using the Flux script builder, you can select a bucket, measurements and tags, fields and an aggregate function. Click **{{< icon "plus" >}} Load More** to expand any truncated lists. You can also choose a variety of time ranges on your schema data.
6. When you are finished creating your script, click **Submit**.
7. Click **Script Editor** to view and edit your query.
8. If you make changes to the script using the **Script Builder**, you will receive a message when clicking **Submit** warning you
that submitting changes will override the script in the Flux editor, and that the script cannot be recovered.
* To get started with your query, click the **Script Wizard**. In the wizard, you can select a bucket, measurement, fields and an aggregate. ## Visualize your query
<img src="/img/chronograf/1-7-flux-script-wizard.png" style="width:100%; max-width:400px; margin:2em 0; display:block;">
For example, if you make the above selections, the wizard inserts the following script:
```js
from(bucket: "telegraf/autogen")
|> range(start: dashboardTime)
|> filter(fn: (r) => r._measurement == "cpu" and (r._field == "usage_system"))
|> window(every: autoInterval)
|> toFloat()
|> percentile(percentile: 0.95)
|> group(except: ["_time", "_start", "_stop", "_value"])
```
* Alternatively, you can enter your entire script manually.
6. Click **Run Script** in the top bar of the **Script** pane. You can then preview your graph in the above pane.
## Visualize your query
Select the **Visualization** tab at the top of the **Data Explorer**. For details about all of the available visualization options, see [Visualization types in Chronograf](/chronograf/v1.9/guides/visualization-types/). Select the **Visualization** tab at the top of the **Data Explorer**. For details about all of the available visualization options, see [Visualization types in Chronograf](/chronograf/v1.9/guides/visualization-types/).

View File

@ -71,7 +71,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## apache ## apache
**Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#apache-http-server) **Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
`apache.json` `apache.json`
@ -81,7 +81,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## consul ## consul
**Required Telegraf plugin:** [Consul input plugin](/{{< latest "telegraf" >}}/plugins/#consul) **Required Telegraf plugin:** [Consul input plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
`consul_http.json` `consul_http.json`
@ -101,7 +101,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## docker ## docker
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#docker) **Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
`docker.json` `docker.json`
@ -121,7 +121,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## elasticsearch ## elasticsearch
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch) **Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
`elasticsearch.json` `elasticsearch.json`
@ -138,7 +138,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## haproxy ## haproxy
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#haproxy) **Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
`haproxy.json` `haproxy.json`
@ -160,7 +160,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## iis ## iis
**Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#windows-performance-counters) **Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-performance-counters)
`win_websvc.json` `win_websvc.json`
@ -168,7 +168,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## influxdb ## influxdb
**Required Telegraf plugin:** [InfluxDB input plugin](/{{< latest "telegraf" >}}/plugins/#influxdb) **Required Telegraf plugin:** [InfluxDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
`influxdb_database.json` `influxdb_database.json`
@ -213,7 +213,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## Memcached (`memcached`) ## Memcached (`memcached`)
**Required Telegraf plugin:** [Memcached input plugin](/{{< latest "telegraf" >}}/plugins/#memcached) **Required Telegraf plugin:** [Memcached input plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
`memcached.json` `memcached.json`
@ -233,7 +233,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## mesos ## mesos
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#mesos) **Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
`mesos.json` `mesos.json`
@ -248,7 +248,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## mongodb ## mongodb
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#mongodb) **Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-mongodb)
`mongodb.json` `mongodb.json`
@ -260,7 +260,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## mysql ## mysql
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#mysql) **Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
`mysql.json` `mysql.json`
@ -271,7 +271,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## nginx ## nginx
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#nginx) **Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
`nginx.json` `nginx.json`
@ -282,7 +282,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## nsq ## nsq
**Required Telegraf plugin:** [NSQ input plugin](/{{< latest "telegraf" >}}/plugins/#nsq) **Required Telegraf plugin:** [NSQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
`nsq_channel.json` `nsq_channel.json`
@ -303,7 +303,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## phpfpm ## phpfpm
**Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#php-fpm) **Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#input-php-fpm)
`phpfpm.json` `phpfpm.json`
@ -315,7 +315,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## ping ## ping
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#ping) **Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
`ping.json` `ping.json`
@ -324,7 +324,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## postgresql ## postgresql
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#postgresql) **Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
`postgresql.json` `postgresql.json`
@ -335,7 +335,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## rabbitmq ## rabbitmq
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq) **Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
`rabbitmq.json` `rabbitmq.json`
@ -346,7 +346,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## redis ## redis
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#redis) **Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
`redis.json` `redis.json`
@ -358,7 +358,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## riak ## riak
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#riak) **Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
`riak.json` `riak.json`
@ -377,7 +377,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### cpu ### cpu
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#cpu) **Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
`cpu.json` `cpu.json`
@ -387,13 +387,13 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
`disk.json` `disk.json`
**Required Telegraf plugin:** [Disk input plugin](/{{< latest "telegraf" >}}/plugins/#disk) **Required Telegraf plugin:** [Disk input plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
* "System - Disk used %" * "System - Disk used %"
### diskio ### diskio
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#diskio) **Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
`diskio.json` `diskio.json`
@ -402,7 +402,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### mem ### mem
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#mem) **Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
`mem.json` `mem.json`
@ -410,7 +410,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### net ### net
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#net) **Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
`net.json` `net.json`
@ -419,7 +419,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### netstat ### netstat
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#netstat) **Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-netstat)
`netstat.json` `netstat.json`
@ -428,7 +428,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### processes ### processes
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#processes) **Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
`processes.json` `processes.json`
@ -436,7 +436,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### procstat ### procstat
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat) **Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
`procstat.json` `procstat.json`
@ -445,7 +445,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
### system ### system
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat) **Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
`load.json` `load.json`
@ -453,7 +453,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## varnish ## varnish
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#varnish) **Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#input-varnish)
`varnish.json` `varnish.json`
@ -462,7 +462,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
## win_system ## win_system
**Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#windows-performance-counters) **Required Telegraf plugin:** [Windows Performance Counters input plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-performance-counters)
`win_cpu.json` `win_cpu.json`

View File

@ -380,31 +380,35 @@ Use the InfluxDB `influx_inspect export` and `influx -import` commands to create
### Export data ### Export data
Use the [`influx_inspect export` command](/{{< latest "influxdb" "v1" >}}/tools/influx_inspect#export) to export data in line protocol format from your InfluxDB Enterprise cluster. Options include: Use the [`influx_inspect export` command](/influxdb/v1.7/tools/influx_inspect#export) to export data in line protocol format from your InfluxDB Enterprise cluster. Options include:
- Exporting all, or specific, databases - Exporting all, or specific, databases
- Filtering with starting and ending timestamps - Filtering with starting and ending timestamps
- Using gzip compression for smaller files and faster exports - Using gzip compression for smaller files and faster exports
For details on optional settings and usage, see [`influx_inspect export` command](/{{< latest "influxdb" "v1" >}}/tools/influx_inspect#export). For details on optional settings and usage, see [`influx_inspect export` command](/influxdb/v1.7/tools/influx_inspect#export).
In the following example, the database is exported filtered to include only one day and compressed for optimal speed and file size. In the following example, the database is exported filtered to include only one day and compressed for optimal speed and file size.
```bash ```bash
influx_inspect export -database myDB -compress -start 2019-05-19T00:00:00.000Z -end 2019-05-19T23:59:59.999Z influx_inspect export \
-database myDB \
-compress \
-start 2019-05-19T00:00:00.000Z \
-end 2019-05-19T23:59:59.999Z
``` ```
### Import data ### Import data
After exporting the data in line protocol format, you can import the data using the [`influx -import` CLI command](/{{< latest "influxdb" "v1" >}}/tools/shell/#import). After exporting the data in line protocol format, you can import the data using the [`influx -import` CLI command](/influxdb/v1.7/tools/shell/#import).
In the following example, the compressed data file is imported into the specified database. In the following example, the compressed data file is imported into the specified database.
```bash ```bash
influx -import -database myDB -compress influx -import -database myDB -compressed
``` ```
For details on using the `influx -import` command, see [Import data from a file with -import](/{{< latest "influxdb" "v1" >}}/tools/shell/#import-data-from-a-file-with-import). For details on using the `influx -import` command, see [Import data from a file with -import](/influxdb/v1.7/tools/shell/#import-data-from-a-file-with-import).
## Take AWS snapshots as backup ## Take AWS snapshots as backup

View File

@ -27,7 +27,7 @@ Depending on the volume of data to be protected and your application requirement
- [Backup and restore utilities](#backup-and-restore-utilities) — For most applications - [Backup and restore utilities](#backup-and-restore-utilities) — For most applications
- [Exporting and importing data](#exporting-and-importing-data) — For large datasets - [Exporting and importing data](#exporting-and-importing-data) — For large datasets
> **Note:** Use the [`backup` and `restore` utilities (InfluxDB OSS 1.5 and later)](/{{< latest "influxdb" "v1" >}}/administration/backup_and_restore/) to: > **Note:** Use the [`backup` and `restore` utilities (InfluxDB OSS 1.5 and later)](/influxdb/v1.8/administration/backup_and_restore/) to:
> >
> - Restore InfluxDB Enterprise backup files to InfluxDB OSS instances. > - Restore InfluxDB Enterprise backup files to InfluxDB OSS instances.
> - Back up InfluxDB OSS data that can be restored in InfluxDB Enterprise clusters. > - Back up InfluxDB OSS data that can be restored in InfluxDB Enterprise clusters.
@ -434,31 +434,35 @@ As an alternative to the standard backup and restore utilities, use the InfluxDB
### Exporting data ### Exporting data
Use the [`influx_inspect export` command](/{{< latest "influxdb" "v1" >}}/tools/influx_inspect#export) to export data in line protocol format from your InfluxDB Enterprise cluster. Options include: Use the [`influx_inspect export` command](/influxdb/v1.8/tools/influx_inspect#export) to export data in line protocol format from your InfluxDB Enterprise cluster. Options include:
- Exporting all, or specific, databases - Exporting all, or specific, databases
- Filtering with starting and ending timestamps - Filtering with starting and ending timestamps
- Using gzip compression for smaller files and faster exports - Using gzip compression for smaller files and faster exports
For details on optional settings and usage, see [`influx_inspect export` command](/{{< latest "influxdb" "v1" >}}/tools/influx_inspect#export). For details on optional settings and usage, see [`influx_inspect export` command](/influxdb/v1.8/tools/influx_inspect#export).
In the following example, the database is exported filtered to include only one day and compressed for optimal speed and file size. In the following example, the database is exported filtered to include only one day and compressed for optimal speed and file size.
```bash ```bash
influx_inspect export -database myDB -compress -start 2019-05-19T00:00:00.000Z -end 2019-05-19T23:59:59.999Z influx_inspect export \
-database myDB \
-compress \
-start 2019-05-19T00:00:00.000Z \
-end 2019-05-19T23:59:59.999Z
``` ```
### Importing data ### Importing data
After exporting the data in line protocol format, you can import the data using the [`influx -import` CLI command](/{{< latest "influxdb" "v1" >}}/tools/shell/#import). After exporting the data in line protocol format, you can import the data using the [`influx -import` CLI command](/influxdb/v1.8/tools/shell/#import).
In the following example, the compressed data file is imported into the specified database. In the following example, the compressed data file is imported into the specified database.
```bash ```bash
influx -import -database myDB -compress influx -import -database myDB -compressed
``` ```
For details on using the `influx -import` command, see [Import data from a file with -import](/{{< latest "influxdb" "v1" >}}/tools/shell/#import-data-from-a-file-with-import). For details on using the `influx -import` command, see [Import data from a file with -import](/influxdb/v1.8/tools/shell/#import-data-from-a-file-with-import).
### Example ### Example

View File

@ -15,5 +15,3 @@ Complete the following steps to install an InfluxDB Enterprise cluster in your o
1. [Install InfluxDB Enterprise meta nodes](/enterprise_influxdb/v1.8/install-and-deploy/production_installation/meta_node_installation/) 1. [Install InfluxDB Enterprise meta nodes](/enterprise_influxdb/v1.8/install-and-deploy/production_installation/meta_node_installation/)
2. [Install InfluxDB data nodes](/enterprise_influxdb/v1.8/install-and-deploy/production_installation/data_node_installation/) 2. [Install InfluxDB data nodes](/enterprise_influxdb/v1.8/install-and-deploy/production_installation/data_node_installation/)
3. [Install Chronograf](/enterprise_influxdb/v1.8/install-and-deploy/production_installation/chrono_install/) 3. [Install Chronograf](/enterprise_influxdb/v1.8/install-and-deploy/production_installation/chrono_install/)
> **Note:** If you're looking for cloud infrastructure and services, check out how to deploy InfluxDB Enterprise (production-ready) on a cloud provider of your choice: [Azure](/enterprise_influxdb/v1.8/install-and-deploy/deploying/azure/), [GCP](/enterprise_influxdb/v1.8/install-and-deploy/deploying/google-cloud-platform/), or [AWS](/enterprise_influxdb/v1.8/install-and-deploy/deploying/aws/).

View File

@ -30,7 +30,7 @@ and get started!
## Next steps ## Next steps
- [Install and deploy](/enterprise_influxdb/v1.9/install-and-deploy/) - [Install and deploy](/enterprise_influxdb/v1.9/introduction/installation/)
- Review key [concepts](/enterprise_influxdb/v1.9/concepts/) - Review key [concepts](/enterprise_influxdb/v1.9/concepts/)
- [Get started](/enterprise_influxdb/v1.9/introduction/getting-started/) - [Get started](/enterprise_influxdb/v1.9/introduction/getting-started/)

View File

@ -9,6 +9,52 @@ menu:
parent: About the project parent: About the project
--- ---
## 1.9.6 [2022-02-16]
{{% note %}} InfluxDB Enterprise offerings are no longer available on AWS, Azure, and GCP marketplaces. Please [contact Sales](https://www.influxdata.com/contact-sales/) to request an license key to [install InfluxDB Enterprise in your own environment](/enterprise_influxdb/v1.9/introduction/installation/).
{{% /note %}}
### Features
#### Backup enhancements
- **Revert damaged meta nodes to a previous state**: Add the `-meta-only-overwrite-force` option to [`influxd-ctl restore`](/enterprise_influxdb/v1.9/tools/influxd-ctl/#restore) to revert damaged meta nodes in an existing cluster to a previous state when restoring an InfluxDB Enterprise database.
- **Estimate the size of a backup** (full or incremental) and provide progress messages. Add `-estimate` option to [`influxd-ctl backup`](/enterprise_influxdb/v1.9/tools/influxd-ctl/#backup) to estimate the size of a backup (full or incremental) and provide progress messages. Prints the number of files to back up, the percentage of bytes transferred for each file (organized by shard), and the estimated time remaining to complete the backup.
#### Logging enhancements
- **Log active queries when a process is terminated**: Add the [`termination-query-log`](/enterprise_influxdb/v1.9/administration/configure/config-data-nodes/#termination-query-log--false) configuration option. When set to `true` all running queries are printed to the log when a data node process receives a `SIGTERM` (for example, a Kubernetes process exceeds the container memory limit or the process is terminated).
- **Log details of HTTP calls to meta nodes**. When [`cluster-tracing`](/enterprise_influxdb/v1.9/administration/configure/config-meta-nodes/#cluster-tracing--false) is enabled, all API calls to meta nodes are now logged with details providing an audit trail including IP address of caller, specific API being invoked, action being invoked, and more.
### Maintenance updates
- Update to [Flux v0.140](/flux/v0.x/release-notes/#v01400-2021-11-22).
- Upgrade to Go 1.17.
- Upgrade `protobuf` library.
### Bug fixes
#### Data
- Adjust shard start and end times to avoid overlaps in existing shards. This resolves issues with existing shards (truncated or not) that have a different shard duration than the current default.
- `DROP SHARD` now successfully ignores "shard not found errors."
#### Errors
- Fix panic when running `influxd config`.
- Ensure `influxd-ctl entropy` commands use the correct TLS settings.
#### Profiling
- Resolve issue to enable [mutex profiling](/enterprise_influxdb/v1.9/tools/api/#debugpprof-http-endpoint).
#### influx-ctl updates
- Improve [`influxd-ctl join`](/enterprise_influxdb/v1.9/tools/influxd-ctl/#join) robustness and provide better error messages on failure.
- Add user friendly error message when accessing a TLS-enabled server without TLS enabled on client.
## v1.9.5 [2021-10-11] ## v1.9.5 [2021-10-11]
{{% note %}} {{% note %}}
@ -67,7 +113,7 @@ Changes below are included in InfluxDB Enterprise 1.9.5.
- Add [configurable password hashing](/enterprise_influxdb/v1.9/administration/configure-password-hashing/) with `bcrypt` and `pbkdf2` support. - Add [configurable password hashing](/enterprise_influxdb/v1.9/administration/configure-password-hashing/) with `bcrypt` and `pbkdf2` support.
- Add retry with exponential back-off to anti-entropy repair. - Add retry with exponential back-off to anti-entropy repair.
- Add logging to compaction. - Add logging to compaction.
- Add [`total-buffer-bytes`](/enterprise_influxdb/v1.9/administration/config-data-nodes/#total-buffer-bytes--0) configuration parameter to subscriptions. - Add [`total-buffer-bytes`](/enterprise_influxdb/v1.9/administration/configure/config-data-nodes/#total-buffer-bytes) configuration parameter to subscriptions.
This option is intended to help alleviate out-of-memory errors. This option is intended to help alleviate out-of-memory errors.
- Update to [Flux v0.120.1.](/influxdb/v2.0/reference/release-notes/flux/#v01201-2021-07-06) - Update to [Flux v0.120.1.](/influxdb/v2.0/reference/release-notes/flux/#v01201-2021-07-06)
@ -99,7 +145,7 @@ in that there is no corresponding InfluxDB OSS release.
These queries now return a `cardinality estimation` column header where before they returned `count`. These queries now return a `cardinality estimation` column header where before they returned `count`.
- Improve diagnostics for license problems. - Improve diagnostics for license problems.
Add [license expiration date](/enterprise_influxdb/v1.9/features/clustering-features/#entitlements) to `debug/vars` metrics. Add [license expiration date](/enterprise_influxdb/v1.9/features/clustering-features/#entitlements) to `debug/vars` metrics.
- Add improved [ingress metrics](/enterprise_influxdb/v1.9/administration/config-data-nodes/#ingress-metric-by-measurement-enabled--false) to track points written by measurement and by login. - Add improved [ingress metrics](/enterprise_influxdb/v1.9/administration/configure/config-data-nodes/#ingress-metric-by-measurement-enabled) to track points written by measurement and by login.
Allow for collection of statistics regarding points, values, and new series written per measurement and by login. Allow for collection of statistics regarding points, values, and new series written per measurement and by login.
This data is collected and exposed at the data node level. This data is collected and exposed at the data node level.
With these metrics you can, for example: With these metrics you can, for example:
@ -107,7 +153,7 @@ in that there is no corresponding InfluxDB OSS release.
monitor the growth of series within a measurement, monitor the growth of series within a measurement,
and track what user credentials are being used to write data. and track what user credentials are being used to write data.
- Support authentication for Kapacitor via LDAP. - Support authentication for Kapacitor via LDAP.
- Support for [configuring Flux query resource usage](/enterprise_influxdb/v1.9/administration/config-data-nodes/#flux-controller) (concurrency, memory, etc.). - Support for [configuring Flux query resource usage](/enterprise_influxdb/v1.9/administration/configure/config-data-nodes/#flux-controller) (concurrency, memory, etc.).
- Upgrade to [Flux v0.113.0](/influxdb/v2.0/reference/release-notes/flux/#v01130-2021-04-21). - Upgrade to [Flux v0.113.0](/influxdb/v2.0/reference/release-notes/flux/#v01130-2021-04-21).
- Update Prometheus remote protocol to allow streamed reading. - Update Prometheus remote protocol to allow streamed reading.
- Improve performance of sorted merge iterator. - Improve performance of sorted merge iterator.

View File

@ -91,7 +91,7 @@ for a complete list of the global `influxd-ctl` options.
databases, continuous queries, retention policies. Shards are not exported. databases, continuous queries, retention policies. Shards are not exported.
- `-full`: perform a full backup. Deprecated in favour of `-strategy=full` - `-full`: perform a full backup. Deprecated in favour of `-strategy=full`
- `-rp <string>`: the name of the single retention policy to back up (must specify `-db` with `-rp`) - `-rp <string>`: the name of the single retention policy to back up (must specify `-db` with `-rp`)
- `-shard <unit>`: the ID of the single shard to back up - `-shard <unit>`: the ID of the single shard to back up (cannot be used with `-db`)
### Backup examples ### Backup examples
@ -176,9 +176,9 @@ $ ls ./telegrafbackup
20160803T222811Z.manifest 20160803T222811Z.meta 20160803T222811Z.s4.tar.gz 20160803T222811Z.manifest 20160803T222811Z.meta 20160803T222811Z.s4.tar.gz
``` ```
#### Perform a metastore only backup #### Perform a metadata only backup
Perform a meta store only backup into a specific directory with the command below. Perform a metadata only backup into a specific directory with the command below.
The directory must already exist. The directory must already exist.
```bash ```bash
@ -316,8 +316,8 @@ Restored from my-incremental-backup/ in 83.892591ms, transferred 588800 bytes
##### Restore from a metadata backup ##### Restore from a metadata backup
In this example, the `restore` command restores an metadata backup stored In this example, the `restore` command restores a [metadata backup](#perform-a-metadata-only-backup)
in the `metadata-backup/` directory. stored in the `metadata-backup/` directory.
```bash ```bash
# Syntax # Syntax
@ -402,6 +402,29 @@ time written
1970-01-01T00:00:00Z 471 1970-01-01T00:00:00Z 471
``` ```
##### Restore (overwrite) metadata from a full or incremental backup to fix damaged metadata
1. Identify a backup with uncorrupted metadata from which to restore.
2. Restore from backup with `-meta-only-overwrite-force`.
{{% warn %}}
Only use the `-meta-only-overwrite-force` flag to restore from backups of the target cluster.
If you use this flag with metadata from a different cluster, you will lose data.
(since metadata includes shard assignments to data nodes).
{{% /warn %}}
```bash
# Syntax
influxd-ctl restore -meta-only-overwrite-force <path-to-backup-directory>
# Example
$ influxd-ctl restore -meta-only-overwrite-force my-incremental-backup/
Using backup directory: my-incremental-backup/
Using meta backup: 20200101T000000Z.meta
Restoring meta data... Done. Restored in 21.373019ms, 1 shards mapped
Restored from my-incremental-backup/ in 19.2311ms, transferred 588 bytes
```
#### Common issues with restore #### Common issues with restore
##### Restore writes information not part of the original backup ##### Restore writes information not part of the original backup
@ -446,7 +469,11 @@ For details on optional settings and usage, see [`influx_inspect export` command
In the following example, the database is exported filtered to include only one day and compressed for optimal speed and file size. In the following example, the database is exported filtered to include only one day and compressed for optimal speed and file size.
```bash ```bash
influx_inspect export -database myDB -compress -start 2019-05-19T00:00:00.000Z -end 2019-05-19T23:59:59.999Z influx_inspect export \
-database myDB \
-compress \
-start 2019-05-19T00:00:00.000Z \
-end 2019-05-19T23:59:59.999Z
``` ```
### Importing data ### Importing data
@ -456,7 +483,7 @@ After exporting the data in line protocol format, you can import the data using
In the following example, the compressed data file is imported into the specified database. In the following example, the compressed data file is imported into the specified database.
```bash ```bash
influx -import -database myDB -compress influx -import -database myDB -compressed
``` ```
For details on using the `influx -import` command, see [Import data from a file with -import](/enterprise_influxdb/v1.9/tools/influx-cli/use-influx/#import-data-from-a-file-with--import). For details on using the `influx -import` command, see [Import data from a file with -import](/enterprise_influxdb/v1.9/tools/influx-cli/use-influx/#import-data-from-a-file-with--import).

View File

@ -34,7 +34,7 @@ If data inconsistencies are detected among shards in a shard group, [invoke the
In the repair process, the Anti-Entropy service will sync the necessary updates from other shards In the repair process, the Anti-Entropy service will sync the necessary updates from other shards
within a shard group. within a shard group.
By default, the service performs consistency checks every 5 minutes. This interval can be modified in the [`anti-entropy.check-interval`](/enterprise_influxdb/v1.9/administration/config-data-nodes/#check-interval-5m) configuration setting. By default, the service performs consistency checks every 5 minutes. This interval can be modified in the [`anti-entropy.check-interval`](/enterprise_influxdb/v1.9/administration/config-data-nodes/#check-interval) configuration setting.
The Anti-Entropy service can only address missing or inconsistent shards when The Anti-Entropy service can only address missing or inconsistent shards when
there is at least one copy of the shard available. there is at least one copy of the shard available.
@ -178,7 +178,7 @@ until it either shows as being in the queue, being repaired, or no longer in the
## Configuration ## Configuration
The configuration settings for the Anti-Entropy service are described in [Anti-Entropy settings](/enterprise_influxdb/v1.9/administration/config-data-nodes#anti-entropy) section of the data node configuration. The configuration settings for the Anti-Entropy service are described in [Anti-Entropy settings](/enterprise_influxdb/v1.9/administration/config-data-nodes/#anti-entropy-ae-settings) section of the data node configuration.
To enable the Anti-Entropy service, change the default value of the `[anti-entropy].enabled = false` setting to `true` in the `influxdb.conf` file of each of your data nodes. To enable the Anti-Entropy service, change the default value of the `[anti-entropy].enabled = false` setting to `true` in the `influxdb.conf` file of each of your data nodes.

Some files were not shown because too many files have changed in this diff Show More