Merge branch 'master' into influxdb-pr22998-docs
commit
408f9fdbab
|
@ -6,6 +6,7 @@ labels: ''
|
|||
assignees: ''
|
||||
---
|
||||
|
||||
**ETA:** _Provide an estimated completion date for the feature (if available)_
|
||||
**PR:** _Provide PR URL(s) for this feature (if available)_
|
||||
|
||||
_Describe the new feature here._
|
||||
|
|
|
@ -1,43 +1,85 @@
|
|||
## Generate InfluxDB API docs
|
||||
InfluxDB uses [Redoc](https://github.com/Redocly/redoc/),
|
||||
# How to generate InfluxDB API docs
|
||||
|
||||
InfluxData uses [Redoc](https://github.com/Redocly/redoc/),
|
||||
[redoc-cli](https://github.com/Redocly/redoc/blob/master/cli/README.md),
|
||||
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
|
||||
not committed directly to the docs repo.
|
||||
The InfluxDB docs deployment process uses swagger files in the `api-docs` directory
|
||||
to generate version-specific API documentation.
|
||||
To minimize the size of the `docs-v2` repository, the generated API documentation HTML is gitignored, therefore
|
||||
not committed to the docs repo.
|
||||
The InfluxDB docs deployment process uses OpenAPI specification files in the `api-docs` directory
|
||||
to generate version-specific (Cloud, OSS v2.1, OSS v2.0, etc.) API documentation.
|
||||
|
||||
### Versioned swagger files
|
||||
The structure versions swagger files using the following pattern:
|
||||
## How we version OpenAPI contracts
|
||||
|
||||
```
|
||||
The `api-docs` directory structure versions OpenAPI files using the following pattern:
|
||||
|
||||
```md
|
||||
api-docs/
|
||||
├── v2.0/
|
||||
│ └── ref.yml
|
||||
│ └── swaggerV1Compat.yml
|
||||
├── v2.1/
|
||||
│ └── ref.yml
|
||||
│ └── swaggerV1Compat.yml
|
||||
├── v2.2/
|
||||
│ └── ref.yml
|
||||
│ └── swaggerV1Compat.yml
|
||||
└── etc...
|
||||
```
|
||||
|
||||
### Configure OpenAPI CLI linting and bundling
|
||||
`.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).
|
||||
### InfluxDB Cloud version
|
||||
|
||||
### Custom content
|
||||
`./openapi/content` contains custom OAS (OpenAPI Spec) content in YAML files. The content structure and Markdown must be valid OAS.
|
||||
Because InfluxDB Cloud releases are frequent, we make no effort to version the
|
||||
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.
|
||||
`.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.
|
||||
### InfluxDB OSS version
|
||||
|
||||
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
|
||||
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.
|
||||
|
||||
In your terminal, from the root of the docs repo, run:
|
||||
|
||||
```sh
|
||||
# In your terminal, go to the `docs-v2/api-docs` directory:
|
||||
cd api-docs
|
||||
|
||||
# Generate the API docs
|
||||
# Generate the API docs with Redocly
|
||||
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
|
@ -36,7 +36,7 @@ paths:
|
|||
type: string
|
||||
required: true
|
||||
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.
|
||||
- in: query
|
||||
name: rp
|
||||
|
@ -486,8 +486,8 @@ tags:
|
|||
|
||||
<!-- ReDoc-Inject: <security-definitions> -->
|
||||
x-traitTag: true
|
||||
- Query
|
||||
- Write
|
||||
- name: Query
|
||||
- name: Write
|
||||
x-tagGroups:
|
||||
- name: Overview
|
||||
tags:
|
||||
|
|
|
@ -46,17 +46,12 @@ weight: 304
|
|||
# npm_config_yes=true npx overrides the prompt
|
||||
# and (vs. npx --yes) is compatible with npm@6 and npm@7.
|
||||
|
||||
openapiCLI="@redocly/openapi-cli"
|
||||
redocCLI="redoc-cli@0.12.3"
|
||||
|
||||
npm --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
|
||||
npx --version
|
||||
|
||||
# Use Redoc to generate the v2 API html
|
||||
echo "Bundling ${version}/ref.yml"
|
||||
npm_config_yes=true npx $redocCLI bundle $version/ref.yml \
|
||||
-t template.hbs \
|
||||
--title="InfluxDB $titleVersion API documentation" \
|
||||
|
@ -67,12 +62,8 @@ weight: 304
|
|||
--templateOptions.version="$version" \
|
||||
--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
|
||||
echo "Bundling ${version}/swaggerV1Compat.yml"
|
||||
npm_config_yes=true npx $redocCLI bundle $version/swaggerV1Compat.yml \
|
||||
-t template.hbs \
|
||||
--title="InfluxDB $titleVersion v1 compatibility API documentation" \
|
||||
|
|
|
@ -11,12 +11,14 @@
|
|||
# - a base URL using the -b flag.
|
||||
# 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 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.
|
||||
#
|
||||
# Syntax:
|
||||
# sh ./getswagger.sh <context>
|
||||
# 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:
|
||||
# sh ./getswagger.sh cloud
|
||||
|
@ -25,6 +27,7 @@
|
|||
versionDirs=($(ls -d */))
|
||||
latestOSS=${versionDirs[${#versionDirs[@]}-1]}
|
||||
baseUrl="https://raw.githubusercontent.com/influxdata/openapi/master"
|
||||
baseUrlOSS="https://raw.githubusercontent.com/influxdata/openapi/docs-release/influxdb-oss"
|
||||
ossVersion=${latestOSS%/}
|
||||
verbose=""
|
||||
context=""
|
||||
|
@ -63,6 +66,7 @@ case "$subcommand" in
|
|||
;;
|
||||
b)
|
||||
baseUrl=$OPTARG
|
||||
baseUrlOSS=$OPTARG
|
||||
;;
|
||||
o)
|
||||
ossVersion=$OPTARG
|
||||
|
@ -87,20 +91,43 @@ function showArgs {
|
|||
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 {
|
||||
echo "Updating Cloud openapi..."
|
||||
curl ${verbose} ${baseUrl}/contracts/ref/cloud.yml -s -o cloud/ref.yml
|
||||
postProcess $_ cloud
|
||||
}
|
||||
|
||||
function updateOSS {
|
||||
echo "Updating OSS ${ossVersion} openapi..."
|
||||
mkdir -p ${ossVersion} && curl ${verbose} ${baseUrl}/contracts/ref/oss.yml -s -o $_/ref.yml
|
||||
mkdir -p ${ossVersion} && curl ${verbose} ${baseUrlOSS}/contracts/ref/oss.yml -s -o $_/ref.yml
|
||||
postProcess $_ $ossVersion
|
||||
}
|
||||
|
||||
function updateV1Compat {
|
||||
echo "Updating Cloud and ${ossVersion} v1 compatibility openapi..."
|
||||
curl ${verbose} ${baseUrl}/contracts/swaggerV1Compat.yml -s -o cloud/swaggerV1Compat.yml
|
||||
postProcess $_ cloud v1compat
|
||||
|
||||
mkdir -p ${ossVersion} && cp cloud/swaggerV1Compat.yml $_/swaggerV1Compat.yml
|
||||
postProcess $_ $ossVersion v1compat
|
||||
}
|
||||
|
||||
if [ ! -z ${verbose} ];
|
||||
|
|
|
@ -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/).
|
|
@ -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: []
|
|
@ -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:
|
||||
|
||||
| Code | 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.
|
|
@ -2,18 +2,20 @@ const path = require('path');
|
|||
const { toJSON } = require('../plugins/helpers/content-helper');
|
||||
|
||||
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 = {
|
||||
info,
|
||||
|
@ -22,4 +24,3 @@ module.exports = {
|
|||
tagGroups,
|
||||
tags,
|
||||
}
|
||||
|
||||
|
|
|
@ -1,3 +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.
|
||||
|
|
|
@ -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/)
|
|
@ -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: []
|
|
@ -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:
|
||||
|
||||
| Code | 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.
|
|
@ -1,3 +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.
|
||||
|
|
|
@ -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/)
|
|
@ -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: []
|
|
@ -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:
|
||||
|
||||
| Code | 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.
|
|
@ -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.
|
|
@ -0,0 +1 @@
|
|||
title: InfluxDB OSS v1 compatibility API documentation
|
|
@ -0,0 +1,9 @@
|
|||
- name: Overview
|
||||
tags:
|
||||
- Authentication
|
||||
- name: Data I/O endpoints
|
||||
tags:
|
||||
- Write
|
||||
- Query
|
||||
- name: All endpoints
|
||||
tags: []
|
|
@ -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];
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -6,6 +6,7 @@ function StripVersionPrefix() {
|
|||
PathMap: {
|
||||
leave(paths, ctx) {
|
||||
const nonversioned = [
|
||||
'/debug',
|
||||
'/health',
|
||||
'/legacy/authorizations',
|
||||
'/legacy/authorizations/{authID}',
|
||||
|
|
|
@ -1,37 +1,41 @@
|
|||
module.exports = ReplaceShortcodes;
|
||||
|
||||
function replaceDocsUrl(node) {
|
||||
const shortcode = /\{\{\% INFLUXDB_DOCS_URL \%\}\}/g;
|
||||
function replaceDocsUrl(field) {
|
||||
if(!field) { return }
|
||||
const shortcode = '{{% INFLUXDB_DOCS_URL %}}';
|
||||
let replacement = `/influxdb/${process.env.INFLUXDB_VERSION}`;
|
||||
let description = node.description?.replace(shortcode, replacement);
|
||||
const fullUrl = /https:\/\/docs\.influxdata\.com\/influxdb\//g;
|
||||
let replaced = field.replaceAll(shortcode, replacement);
|
||||
const fullUrl = 'https://docs.influxdata.com/influxdb/';
|
||||
replacement = "/influxdb/";
|
||||
return description?.replace(fullUrl, replacement);
|
||||
return replaced.replaceAll(fullUrl, replacement);
|
||||
}
|
||||
|
||||
/** @type {import('@redocly/openapi-cli').OasDecorator} */
|
||||
function docsUrl() {
|
||||
return {
|
||||
Info: {
|
||||
leave(info, ctx) {
|
||||
info.description = replaceDocsUrl(info);
|
||||
}
|
||||
},
|
||||
PathItem: {
|
||||
leave(pathItem, ctx) {
|
||||
pathItem.description = replaceDocsUrl(pathItem);
|
||||
}
|
||||
},
|
||||
Tag: {
|
||||
leave(tag, ctx) {
|
||||
tag.description = replaceDocsUrl(tag);
|
||||
}
|
||||
},
|
||||
SecurityScheme: {
|
||||
leave(scheme, ctx) {
|
||||
scheme.description = replaceDocsUrl(scheme);
|
||||
DefinitionRoot: {
|
||||
Info: {
|
||||
leave(info, ctx) {
|
||||
info.description = replaceDocsUrl(info.description);
|
||||
},
|
||||
},
|
||||
PathItem: {
|
||||
leave(pathItem, ctx) {
|
||||
pathItem.description = replaceDocsUrl(pathItem.description);
|
||||
}
|
||||
},
|
||||
Tag: {
|
||||
leave(tag, ctx) {
|
||||
tag.description = replaceDocsUrl(tag.description);
|
||||
}
|
||||
},
|
||||
SecurityScheme: {
|
||||
leave(scheme, ctx) {
|
||||
scheme.description = replaceDocsUrl(scheme.description);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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];
|
||||
})
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
|
@ -1,17 +1,20 @@
|
|||
module.exports = SetServers;
|
||||
|
||||
const { servers } = require('../../../content/content')
|
||||
|
||||
/** @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.
|
||||
* The key instructs openapi when to invoke the key's Visitor object.
|
||||
* Object key "Server" is an OAS 3.0 node type.
|
||||
*/
|
||||
function SetServers(options) {
|
||||
function SetServers() {
|
||||
const data = servers();
|
||||
return {
|
||||
DefinitionRoot: {
|
||||
leave(root) {
|
||||
root.servers = options.data;
|
||||
root.servers = data;
|
||||
}
|
||||
},
|
||||
}
|
||||
|
|
|
@ -1,16 +1,24 @@
|
|||
module.exports = SetInfo;
|
||||
|
||||
const { info } = require('../../content/content')
|
||||
|
||||
/** @type {import('@redocly/openapi-cli').OasDecorator} */
|
||||
function SetInfo(options) {
|
||||
function SetInfo() {
|
||||
const data = info();
|
||||
|
||||
return {
|
||||
Info: {
|
||||
leave(info, ctx) {
|
||||
if(options.data) {
|
||||
if(options.data.hasOwnProperty('title')) {
|
||||
info.title = options.data.title;
|
||||
if(data) {
|
||||
if(data.hasOwnProperty('title')) {
|
||||
info.title = data.title;
|
||||
}
|
||||
if(options.data.hasOwnProperty('description')) {
|
||||
info.description = options.data.description;
|
||||
if(data.hasOwnProperty('version')) {
|
||||
|
||||
info.version = data.version;
|
||||
}
|
||||
if(data.hasOwnProperty('description')) {
|
||||
info.description = data.description;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,43 +1,60 @@
|
|||
module.exports = SetTagGroups;
|
||||
|
||||
const { tagGroups } = require('../../../content/content')
|
||||
const { collect, getName, sortName } = require('../../helpers/content-helper.js')
|
||||
/**
|
||||
* Returns an object that defines handler functions for:
|
||||
* - Operation nodes
|
||||
* - DefinitionRoot (the root openapi) node
|
||||
* 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.
|
||||
* The DefinitionRoot handler, executed when
|
||||
* 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.
|
||||
*/
|
||||
/** @type {import('@redocly/openapi-cli').OasDecorator} */
|
||||
function SetTagGroups(options) {
|
||||
function SetTagGroups() {
|
||||
let data = tagGroups();
|
||||
if(!Array.isArray(data)) {
|
||||
data = [];
|
||||
}
|
||||
|
||||
let tags = [];
|
||||
/** Collect tags for each operation and convert string tags to object tags. **/
|
||||
return {
|
||||
Operation: {
|
||||
leave(op, ctx, parents) {
|
||||
tags = collect(tags, op.tags);
|
||||
}
|
||||
},
|
||||
DefinitionRoot: {
|
||||
Operation: {
|
||||
leave(op) {
|
||||
let opTags = op.tags?.map(
|
||||
function(t) {
|
||||
return typeof t === 'string' ? { name: t } : t;
|
||||
}
|
||||
) || [];
|
||||
tags = collect(tags, opTags);
|
||||
}
|
||||
},
|
||||
leave(root) {
|
||||
root.tags = root.tags || [];
|
||||
root.tags = collect(root.tags, tags)
|
||||
.sort((a, b) => sortName(a, b));
|
||||
root.tags = root.tags || [];
|
||||
root.tags = collect(root.tags, tags)
|
||||
.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
|
||||
.filter(t => !t['x-traitTag'])
|
||||
.map(t => getName(t));
|
||||
root['x-tagGroups'] = options.data
|
||||
.map(function(grp) {
|
||||
grp.tags = grp.name === 'All endpoints' ? endpointTags : grp.tags;
|
||||
return grp;
|
||||
});
|
||||
if(Array.isArray(root['x-tagGroups'])) {
|
||||
root['x-tagGroups'].concat(data);
|
||||
} else {
|
||||
root['x-tagGroups'] = data;
|
||||
}
|
||||
|
||||
root['x-tagGroups'].map(
|
||||
function(grp) {
|
||||
grp.tags = grp.name === 'All endpoints' ? endpointTags : grp.tags;
|
||||
return grp;
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,21 +1,24 @@
|
|||
module.exports = SetTags;
|
||||
|
||||
const { tags } = require('../../../content/content')
|
||||
/**
|
||||
* Returns an object that defines handler functions for:
|
||||
* - DefinitionRoot (the root openapi) node
|
||||
* The DefinitionRoot handler, executed when
|
||||
* 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} */
|
||||
function SetTags(options) {
|
||||
let tags = [];
|
||||
function SetTags() {
|
||||
const data = tags();
|
||||
|
||||
return {
|
||||
DefinitionRoot: {
|
||||
leave(root) {
|
||||
if(options.data) {
|
||||
root.tags = options.data;
|
||||
}
|
||||
/** Set tags from custom tags when visitor enters root. */
|
||||
enter(root) {
|
||||
if(data) {
|
||||
root.tags = data;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,12 +3,11 @@ const ValidateServersUrl = require('./rules/validate-servers-url');
|
|||
const RemovePrivatePaths = require('./decorators/paths/remove-private-paths');
|
||||
const ReplaceShortcodes = require('./decorators/replace-shortcodes');
|
||||
const SetInfo = require('./decorators/set-info');
|
||||
const DeleteServers = require('./decorators/servers/delete-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 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';
|
||||
|
||||
|
@ -23,15 +22,14 @@ const rules = {
|
|||
/** @type {import('@redocly/openapi-cli').CustomRulesConfig} */
|
||||
const decorators = {
|
||||
oas3: {
|
||||
'set-servers': () => SetServers({data: servers}),
|
||||
'set-servers': SetServers,
|
||||
'delete-servers': DeleteServers,
|
||||
'remove-private-paths': RemovePrivatePaths,
|
||||
'replace-docs-url-shortcode': ReplaceShortcodes().docsUrl,
|
||||
'strip-version-prefix': StripVersionPrefix,
|
||||
'set-info': () => SetInfo({data: info}),
|
||||
'set-security': () => SetSecurity({data: security}),
|
||||
'set-security-schemes': () => SetSecuritySchemes({data: securitySchemes}),
|
||||
'set-tags': () => SetTags({data: tags}),
|
||||
'set-tag-groups': () => SetTagGroups({data: tagGroups}),
|
||||
'strip-trailing-slash': StripTrailingSlash,
|
||||
'set-info': SetInfo,
|
||||
'set-tag-groups': SetTagGroups,
|
||||
'replace-docs-url-shortcode': ReplaceShortcodes().docsUrl,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -40,16 +38,18 @@ module.exports = {
|
|||
configs: {
|
||||
all: {
|
||||
rules: {
|
||||
'no-server-trailing-slash': 'off',
|
||||
'no-server-trailing-slash': 'off',
|
||||
'docs/validate-servers-url': 'error',
|
||||
},
|
||||
decorators: {
|
||||
'docs/set-servers': 'error',
|
||||
'docs/remove-private-paths': 'error',
|
||||
'docs/replace-docs-url-shortcode': 'error',
|
||||
'docs/strip-version-prefix': 'error',
|
||||
'docs/set-info': 'error',
|
||||
'docs/set-tag-groups': 'error',
|
||||
'docs/delete-servers': 'error',
|
||||
'docs/remove-private-paths': 'error',
|
||||
'docs/strip-version-prefix': 'error',
|
||||
'docs/strip-trailing-slash': 'error',
|
||||
'docs/set-info': 'error',
|
||||
'docs/set-tag-groups': 'error',
|
||||
'docs/replace-docs-url-shortcode': 'error',
|
||||
},
|
||||
},
|
||||
},
|
||||
|
|
|
@ -3188,7 +3188,7 @@ components:
|
|||
Ready:
|
||||
properties:
|
||||
started:
|
||||
example: 2019-03-13T10:09:33.891196-04:00
|
||||
example: '2019-03-13T10:09:33.891196-04:00'
|
||||
format: date-time
|
||||
type: string
|
||||
status:
|
||||
|
|
|
@ -2,8 +2,8 @@ components:
|
|||
parameters:
|
||||
After:
|
||||
description: >
|
||||
The last resource ID from which to seek from (but not including). This
|
||||
is to be used instead of `offset`.
|
||||
Resource ID to seek from. Results are not inclusive of this ID. Use
|
||||
`after` instead of `offset`.
|
||||
in: query
|
||||
name: after
|
||||
required: false
|
||||
|
@ -125,24 +125,22 @@ components:
|
|||
readOnly: true
|
||||
type: object
|
||||
org:
|
||||
description: Name of the org token is scoped to.
|
||||
description: Name of the organization that the token is scoped to.
|
||||
readOnly: true
|
||||
type: string
|
||||
orgID:
|
||||
description: ID of org that authorization is scoped to.
|
||||
description: ID of the organization that the authorization is scoped to.
|
||||
type: string
|
||||
permissions:
|
||||
description: >-
|
||||
List of permissions for an auth. An auth must have at least one
|
||||
Permission.
|
||||
List of permissions for an authorization. An authorization must
|
||||
have at least one permission.
|
||||
items:
|
||||
$ref: '#/components/schemas/Permission'
|
||||
minItems: 1
|
||||
type: array
|
||||
token:
|
||||
description: >-
|
||||
Passed via the Authorization Header and Token Authentication
|
||||
type.
|
||||
description: Token used to authenticate API requests.
|
||||
readOnly: true
|
||||
type: string
|
||||
updatedAt:
|
||||
|
@ -150,11 +148,11 @@ components:
|
|||
readOnly: true
|
||||
type: string
|
||||
user:
|
||||
description: Name of user that created and owns the token.
|
||||
description: Name of the user that created and owns the token.
|
||||
readOnly: true
|
||||
type: string
|
||||
userID:
|
||||
description: ID of user that created and owns the token.
|
||||
description: ID of the user that created and owns the token.
|
||||
readOnly: true
|
||||
type: string
|
||||
type: object
|
||||
|
@ -191,8 +189,8 @@ components:
|
|||
status:
|
||||
default: active
|
||||
description: >-
|
||||
If inactive the token is inactive and requests using the token will
|
||||
be rejected.
|
||||
Status of the token. If `inactive`, requests using the token will be
|
||||
rejected.
|
||||
enum:
|
||||
- active
|
||||
- inactive
|
||||
|
@ -219,10 +217,10 @@ components:
|
|||
- 'y'
|
||||
type: object
|
||||
Axis:
|
||||
description: The description of a particular axis for a visualization.
|
||||
description: Axis used in a visualization.
|
||||
properties:
|
||||
base:
|
||||
description: Base represents the radix for formatting axis values.
|
||||
description: Radix for formatting axis values.
|
||||
enum:
|
||||
- ''
|
||||
- '2'
|
||||
|
@ -230,23 +228,23 @@ components:
|
|||
type: string
|
||||
bounds:
|
||||
description: >-
|
||||
The extents of an axis in the form [lower, upper]. Clients determine
|
||||
whether bounds are to be inclusive or exclusive of their limits
|
||||
The extents of the axis in the form [lower, upper]. Clients
|
||||
determine whether bounds are inclusive or exclusive of their limits.
|
||||
items:
|
||||
type: string
|
||||
maxItems: 2
|
||||
minItems: 0
|
||||
type: array
|
||||
label:
|
||||
description: Label is a description of this Axis
|
||||
description: Description of the axis.
|
||||
type: string
|
||||
prefix:
|
||||
description: Prefix represents a label prefix for formatting axis values.
|
||||
description: Label prefix for formatting axis values.
|
||||
type: string
|
||||
scale:
|
||||
$ref: '#/components/schemas/AxisScale'
|
||||
suffix:
|
||||
description: Suffix represents a label suffix for formatting axis values.
|
||||
description: Label suffix for formatting axis values.
|
||||
type: string
|
||||
type: object
|
||||
AxisScale:
|
||||
|
@ -413,22 +411,22 @@ components:
|
|||
properties:
|
||||
labels:
|
||||
$ref: '#/components/schemas/Link'
|
||||
description: URL to retrieve labels for this bucket
|
||||
description: URL to retrieve labels for this bucket.
|
||||
members:
|
||||
$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:
|
||||
$ref: '#/components/schemas/Link'
|
||||
description: URL to retrieve parent organization for this bucket
|
||||
description: URL to retrieve parent organization for this bucket.
|
||||
owners:
|
||||
$ref: '#/components/schemas/Link'
|
||||
description: URL to retrieve owners that can read and write to this bucket.
|
||||
self:
|
||||
$ref: '#/components/schemas/Link'
|
||||
description: URL for this bucket
|
||||
description: URL for this bucket.
|
||||
write:
|
||||
$ref: '#/components/schemas/Link'
|
||||
description: URL to write line protocol for this bucket
|
||||
description: URL to write line protocol to this bucket.
|
||||
readOnly: true
|
||||
type: object
|
||||
name:
|
||||
|
@ -662,10 +660,12 @@ components:
|
|||
readOnly: true
|
||||
type: string
|
||||
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
|
||||
readOnly: true
|
||||
type: string
|
||||
links:
|
||||
example:
|
||||
labels: /api/v2/checks/1/labels
|
||||
|
@ -821,6 +821,11 @@ components:
|
|||
type:
|
||||
$ref: '#/components/schemas/NodeType'
|
||||
type: object
|
||||
Config:
|
||||
properties:
|
||||
config:
|
||||
type: object
|
||||
type: object
|
||||
ConstantVariableProperties:
|
||||
properties:
|
||||
type:
|
||||
|
@ -879,24 +884,24 @@ components:
|
|||
DBRP:
|
||||
properties:
|
||||
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
|
||||
database:
|
||||
description: InfluxDB v1 database
|
||||
type: string
|
||||
default:
|
||||
description: >-
|
||||
Specify if this mapping represents the default retention policy for
|
||||
the database specificed.
|
||||
Mapping represents the default retention policy for the database
|
||||
specified.
|
||||
type: boolean
|
||||
id:
|
||||
description: the mapping identifier
|
||||
description: ID of the DBRP mapping.
|
||||
readOnly: true
|
||||
type: string
|
||||
links:
|
||||
$ref: '#/components/schemas/Links'
|
||||
orgID:
|
||||
description: the organization ID that owns this mapping.
|
||||
description: ID of the organization that owns this mapping.
|
||||
type: string
|
||||
retention_policy:
|
||||
description: InfluxDB v1 retention policy
|
||||
|
@ -912,21 +917,21 @@ components:
|
|||
DBRPCreate:
|
||||
properties:
|
||||
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
|
||||
database:
|
||||
description: InfluxDB v1 database
|
||||
type: string
|
||||
default:
|
||||
description: >-
|
||||
Specify if this mapping represents the default retention policy for
|
||||
the database specificed.
|
||||
Mapping represents the default retention policy for the database
|
||||
specified.
|
||||
type: boolean
|
||||
org:
|
||||
description: the organization that owns this mapping.
|
||||
description: Name of the organization that owns this mapping.
|
||||
type: string
|
||||
orgID:
|
||||
description: the organization ID that owns this mapping.
|
||||
description: ID of the organization that owns this mapping.
|
||||
type: string
|
||||
retention_policy:
|
||||
description: InfluxDB v1 retention policy
|
||||
|
@ -1292,23 +1297,22 @@ components:
|
|||
type: string
|
||||
err:
|
||||
description: >-
|
||||
err is a stack of errors that occurred during processing of the
|
||||
request. Useful for debugging.
|
||||
Stack of errors that occurred during processing of the request.
|
||||
Useful for debugging.
|
||||
readOnly: true
|
||||
type: string
|
||||
message:
|
||||
description: message is a human-readable message.
|
||||
description: Human-readable message.
|
||||
readOnly: true
|
||||
type: string
|
||||
op:
|
||||
description: >-
|
||||
op describes the logical code operation during error. Useful for
|
||||
debugging.
|
||||
Describes the logical code operation when the error occurred. Useful
|
||||
for debugging.
|
||||
readOnly: true
|
||||
type: string
|
||||
required:
|
||||
- code
|
||||
- message
|
||||
Expression:
|
||||
oneOf:
|
||||
- $ref: '#/components/schemas/ArrayExpression'
|
||||
|
@ -2275,30 +2279,27 @@ components:
|
|||
type: string
|
||||
err:
|
||||
description: >-
|
||||
Err is a stack of errors that occurred during processing of the
|
||||
request. Useful for debugging.
|
||||
Stack of errors that occurred during processing of the request.
|
||||
Useful for debugging.
|
||||
readOnly: true
|
||||
type: string
|
||||
line:
|
||||
description: First line within sent body containing malformed data
|
||||
description: First line in the request body that contains malformed data.
|
||||
format: int32
|
||||
readOnly: true
|
||||
type: integer
|
||||
message:
|
||||
description: Message is a human-readable message.
|
||||
description: Human-readable message.
|
||||
readOnly: true
|
||||
type: string
|
||||
op:
|
||||
description: >-
|
||||
Op describes the logical code operation during error. Useful for
|
||||
debugging.
|
||||
Describes the logical code operation when the error occurred. Useful
|
||||
for debugging.
|
||||
readOnly: true
|
||||
type: string
|
||||
required:
|
||||
- code
|
||||
- message
|
||||
- op
|
||||
- err
|
||||
LineProtocolLengthError:
|
||||
properties:
|
||||
code:
|
||||
|
@ -2308,7 +2309,7 @@ components:
|
|||
readOnly: true
|
||||
type: string
|
||||
message:
|
||||
description: Message is a human-readable message.
|
||||
description: Human-readable message.
|
||||
readOnly: true
|
||||
type: string
|
||||
required:
|
||||
|
@ -2682,7 +2683,10 @@ components:
|
|||
readOnly: true
|
||||
type: string
|
||||
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
|
||||
readOnly: true
|
||||
type: string
|
||||
|
@ -3195,7 +3199,7 @@ components:
|
|||
Ready:
|
||||
properties:
|
||||
started:
|
||||
example: 2019-03-13T10:09:33.891196-04:00
|
||||
example: '2019-03-13T10:09:33.891196-04:00'
|
||||
format: date-time
|
||||
type: string
|
||||
status:
|
||||
|
@ -3216,6 +3220,82 @@ components:
|
|||
value:
|
||||
type: string
|
||||
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:
|
||||
description: Describes a field that can be renamed and made visible or invisible.
|
||||
properties:
|
||||
|
@ -3230,6 +3310,98 @@ components:
|
|||
description: Indicates whether this field should be visible on the table.
|
||||
type: boolean
|
||||
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:
|
||||
properties:
|
||||
id:
|
||||
|
@ -4257,8 +4429,8 @@ components:
|
|||
properties:
|
||||
authorizationID:
|
||||
description: >-
|
||||
The ID of the authorization used when this task communicates with
|
||||
the query engine.
|
||||
ID of the authorization used when the task communicates with the
|
||||
query engine.
|
||||
type: string
|
||||
createdAt:
|
||||
format: date-time
|
||||
|
@ -4266,17 +4438,27 @@ components:
|
|||
type: string
|
||||
cron:
|
||||
description: >-
|
||||
A task repetition schedule in the form '* * * * * *'; parsed from
|
||||
Flux.
|
||||
[Cron expression](https://en.wikipedia.org/wiki/Cron#Overview) that
|
||||
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
|
||||
description:
|
||||
description: An optional description of the task.
|
||||
description: Description of the task.
|
||||
type: string
|
||||
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
|
||||
flux:
|
||||
description: The Flux script to run for this task.
|
||||
description: Flux script to run for this task.
|
||||
type: string
|
||||
id:
|
||||
readOnly: true
|
||||
|
@ -4294,7 +4476,11 @@ components:
|
|||
readOnly: true
|
||||
type: string
|
||||
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
|
||||
readOnly: true
|
||||
type: string
|
||||
|
@ -4322,29 +4508,31 @@ components:
|
|||
readOnly: true
|
||||
type: object
|
||||
name:
|
||||
description: The name of the task.
|
||||
description: Name of the task.
|
||||
type: string
|
||||
offset:
|
||||
description: >-
|
||||
Duration to delay after the schedule, before executing the task;
|
||||
parsed from flux, if set to zero it will remove this option and use
|
||||
0 as the default.
|
||||
[Duration](https://docs.influxdata.com/flux/v0.x/spec/lexical-elements/#duration-literals)
|
||||
to delay execution of the task after the scheduled time has elapsed.
|
||||
`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
|
||||
org:
|
||||
description: The name of the organization that owns this Task.
|
||||
description: Name of the organization that owns the task.
|
||||
type: string
|
||||
orgID:
|
||||
description: The ID of the organization that owns this Task.
|
||||
description: ID of the organization that owns the task.
|
||||
type: string
|
||||
ownerID:
|
||||
description: The ID of the user who owns this Task.
|
||||
description: ID of the user who owns this Task.
|
||||
type: string
|
||||
status:
|
||||
$ref: '#/components/schemas/TaskStatusType'
|
||||
type:
|
||||
description: >-
|
||||
The type of task, this can be used for filtering tasks on list
|
||||
actions.
|
||||
description: Type of the task, useful for filtering a task list.
|
||||
type: string
|
||||
updatedAt:
|
||||
format: date-time
|
||||
|
@ -5907,7 +6095,7 @@ info:
|
|||
with InfluxDB. Access the InfluxDB API using the `/api/v2/` endpoint.
|
||||
openapi: 3.0.0
|
||||
paths:
|
||||
/api/v2/:
|
||||
/api/v2:
|
||||
get:
|
||||
operationId: GetRoutes
|
||||
parameters:
|
||||
|
@ -8372,13 +8560,14 @@ paths:
|
|||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Token'
|
||||
description: A temp token for Mapbox
|
||||
description: Temporary token for Mapbox.
|
||||
'401':
|
||||
$ref: '#/components/responses/ServerError'
|
||||
'500':
|
||||
$ref: '#/components/responses/ServerError'
|
||||
default:
|
||||
$ref: '#/components/responses/ServerError'
|
||||
summary: Get a mapbox token
|
||||
/api/v2/me:
|
||||
get:
|
||||
operationId: GetMe
|
||||
|
@ -8462,7 +8651,8 @@ paths:
|
|||
externalDocs:
|
||||
description: Prometheus exposition formats
|
||||
url: https://prometheus.io/docs/instrumenting/exposition_formats
|
||||
type: Prometheus text-based exposition
|
||||
format: Prometheus text-based exposition
|
||||
type: string
|
||||
description: >
|
||||
Payload body contains metrics about the InfluxDB instance.
|
||||
|
||||
|
@ -9885,6 +10075,308 @@ paths:
|
|||
summary: Get the readiness of an instance at startup
|
||||
tags:
|
||||
- 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:
|
||||
get:
|
||||
operationId: GetResources
|
||||
|
@ -12287,6 +12779,22 @@ paths:
|
|||
summary of the run. The summary contains newly created resources.
|
||||
The diff compares the initial state to the state after the package
|
||||
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:
|
||||
content:
|
||||
application/json:
|
||||
|
@ -13044,6 +13552,7 @@ tags:
|
|||
- Buckets
|
||||
- Cells
|
||||
- Checks
|
||||
- Config
|
||||
- Dashboards
|
||||
- DBRPs
|
||||
- Delete
|
||||
|
@ -13070,6 +13579,8 @@ tags:
|
|||
name: Quick start
|
||||
x-traitTag: true
|
||||
- Ready
|
||||
- RemoteConnections
|
||||
- Replications
|
||||
- Resources
|
||||
- description: >
|
||||
The InfluxDB API uses standard HTTP status codes for success and failure
|
||||
|
@ -13168,6 +13679,7 @@ x-tagGroups:
|
|||
- name: System information endpoints
|
||||
tags:
|
||||
- Health
|
||||
- Metrics
|
||||
- Ping
|
||||
- Ready
|
||||
- Routes
|
||||
|
@ -13191,6 +13703,8 @@ x-tagGroups:
|
|||
- Ping
|
||||
- Query
|
||||
- Ready
|
||||
- RemoteConnections
|
||||
- Replications
|
||||
- Resources
|
||||
- Restore
|
||||
- Routes
|
||||
|
|
|
@ -3,7 +3,7 @@ info:
|
|||
title: InfluxDB OSS v1 compatibility API documentation
|
||||
version: 0.1.0
|
||||
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
|
||||
and others.
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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
|
|
@ -17,7 +17,8 @@ var elementWhiteList = [
|
|||
".truncate-toggle",
|
||||
".children-links a",
|
||||
".list-links a",
|
||||
"a.url-trigger"
|
||||
"a.url-trigger",
|
||||
"a.fullscreen-close"
|
||||
]
|
||||
|
||||
function scrollToAnchor(target) {
|
||||
|
@ -28,6 +29,15 @@ function scrollToAnchor(target) {
|
|||
}, 400, 'swing', function () {
|
||||
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.
|
||||
function getApiLibPreference() {
|
||||
return Cookies.get('influx-docs-api-lib');
|
||||
return Cookies.get('influx-docs-api-lib') || '';
|
||||
}
|
||||
|
||||
function getTabQueryParam() {
|
||||
|
@ -139,13 +149,36 @@ $(".truncate-toggle").click(function(e) {
|
|||
$(this).closest('.truncate').toggleClass('closed');
|
||||
})
|
||||
|
||||
////////////////////////////// Expand Accordians ///////////////////////////////
|
||||
////////////////////////////// Expand Accordions ///////////////////////////////
|
||||
|
||||
$('.expand-label').click(function() {
|
||||
$(this).children('.expand-toggle').toggleClass('open')
|
||||
$(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 //////////////////////////////
|
||||
|
||||
$('.tooltip').each( function(){
|
||||
|
|
|
@ -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>')
|
||||
});
|
|
@ -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 //////////////////////////////
|
||||
|
|
@ -139,21 +139,21 @@ function updateUrls(prevUrls, newUrls) {
|
|||
oss: {}
|
||||
}
|
||||
|
||||
Object.keys(prevUrls).forEach(function(k) {
|
||||
try {
|
||||
prevUrlsParsed[k] = new URL(prevUrls[k])
|
||||
} catch {
|
||||
prevUrlsParsed[k] = { host: prevUrls[k] }
|
||||
}
|
||||
})
|
||||
Object.keys(prevUrls).forEach(function(k) {
|
||||
try {
|
||||
prevUrlsParsed[k] = new URL(prevUrls[k])
|
||||
} catch {
|
||||
prevUrlsParsed[k] = { host: prevUrls[k] }
|
||||
}
|
||||
})
|
||||
|
||||
Object.keys(newUrls).forEach(function(k) {
|
||||
try {
|
||||
newUrlsParsed[k] = new URL(newUrls[k])
|
||||
} catch {
|
||||
newUrlsParsed[k] = { host: newUrls[k] }
|
||||
}
|
||||
})
|
||||
Object.keys(newUrls).forEach(function(k) {
|
||||
try {
|
||||
newUrlsParsed[k] = new URL(newUrls[k])
|
||||
} catch {
|
||||
newUrlsParsed[k] = { host: newUrls[k] }
|
||||
}
|
||||
})
|
||||
|
||||
/**
|
||||
* Match and replace <prev> host with <new> host
|
||||
|
@ -175,37 +175,43 @@ function updateUrls(prevUrls, newUrls) {
|
|||
|
||||
replacements.forEach(function (o) {
|
||||
if (o.replace.origin != o.with.origin) {
|
||||
var fuzzyOrigin = new RegExp(o.replace.origin + "(:[0-9]+)?", "g");
|
||||
$(elementSelector).each(function() {
|
||||
$(this).html(
|
||||
$(this).html().replace(RegExp(o.replace.origin, "g"), function(match){
|
||||
return o.with.origin || match;
|
||||
$(this).html().replace(fuzzyOrigin, function(m){
|
||||
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
|
||||
.map(function(o) {
|
||||
return {replace: o.replace.host, with: o.with.host}
|
||||
})
|
||||
.forEach(function (o) {
|
||||
if (o.replace != o.with) {
|
||||
if (o.replace != o.with) {
|
||||
var fuzzyHost = new RegExp("(.?)" + o.replace + "(.?)", "g");
|
||||
$(elementSelector).each(function() {
|
||||
/**
|
||||
* Hostname pattern
|
||||
* 1. Lookbehind (?<!) matches if o.replace is not preceded by :[/.].
|
||||
* 2. Match 1 or no slashes following the hostname.
|
||||
* 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;
|
||||
})
|
||||
);
|
||||
})
|
||||
}
|
||||
})
|
||||
$(this).html(
|
||||
$(this).html().replace(fuzzyHost, function(m, p1, p2) {
|
||||
var r = replaceWholename(p1, p2, o.with) || m;
|
||||
return r
|
||||
})
|
||||
);
|
||||
})
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// 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()
|
||||
})
|
||||
|
||||
|
||||
// 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
|
||||
$('input[name="influxdb-cloud-url"]').change(function() {
|
||||
var newUrl = $(this).val()
|
||||
|
@ -325,17 +354,25 @@ showPreference()
|
|||
|
||||
// Validate custom URLs
|
||||
function validateUrl(url) {
|
||||
var validProtocol = /^http(s?)/
|
||||
var invalidDomain =/[A-Z\s\!\@\#\$\%\^\&\*\(\)\_\+\=\[\]\{\}\\\|\;\'\"\,\<\>\/\?]/
|
||||
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 {
|
||||
try {
|
||||
new URL(url);
|
||||
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()
|
||||
})
|
||||
|
||||
/** 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
|
||||
$(document).on("keyup", ".error #custom-url-field", function() {
|
||||
console.log("keyed up")
|
||||
let url = $('#custom-url-field').val()
|
||||
let urlValidation = validateUrl(url)
|
||||
if (urlValidation.valid) {
|
||||
hideValidationMessage()
|
||||
} else {
|
||||
showValidationMessage(urlValidation)
|
||||
}
|
||||
})
|
||||
$(document).on("keyup", "#custom-url-field", delay(handleUrlValidation, 500));
|
||||
|
||||
// Populate the custom InfluxDB URL field on page load
|
||||
if ( Cookies.get('influxdb_custom_url') != undefined ) {
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
// Fade content wrapper when focusing on search input
|
||||
$('#algolia-search-input').focus(function() {
|
||||
$('.content-wrapper, .group-wrapper').fadeTo(300, .35);
|
||||
$('.content-wrapper').fadeTo(300, .35);
|
||||
})
|
||||
|
||||
// Hide search dropdown when leaving search input
|
||||
$('#algolia-search-input').blur(function() {
|
||||
$('.content-wrapper, .group-wrapper').fadeTo(200, 1);
|
||||
$('.content-wrapper').fadeTo(200, 1);
|
||||
$('.ds-dropdown-menu').hide();
|
||||
})
|
||||
|
|
|
@ -1,6 +1,11 @@
|
|||
.algolia-autocomplete {
|
||||
width: 100%;
|
||||
|
||||
/* Search input field */
|
||||
#algolia-search-input {
|
||||
background: $sidebar-search-bg !important;
|
||||
}
|
||||
|
||||
/* Main dropdown wrapper */
|
||||
.ds-dropdown-menu {
|
||||
width: 74vw;
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
@import "tools/color-palette";
|
||||
@import "tools/icomoon-v2";
|
||||
@import "tools/fonts";
|
||||
|
||||
// Fonts
|
||||
$rubik: 'Rubik', sans-serif;
|
||||
|
@ -103,7 +103,7 @@ $bold: 700;
|
|||
}
|
||||
|
||||
#redoc {
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
h1,h2,h3 {
|
||||
font-weight: $medium !important;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,7 +5,9 @@
|
|||
}
|
||||
|
||||
.article--content{
|
||||
max-width: 820px;
|
||||
max-width: 850px;
|
||||
font-size: 1.1rem;
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
color: $article-heading;
|
||||
a {
|
||||
|
@ -24,24 +26,24 @@
|
|||
}
|
||||
h1 {
|
||||
font-weight: normal;
|
||||
font-size: 2.65rem;
|
||||
font-size: 2.75rem;
|
||||
margin: .4em 0 .2em;
|
||||
}
|
||||
h2 {
|
||||
font-size: 2rem;
|
||||
font-size: 2.1rem;
|
||||
margin: -.25rem 0 .5rem;
|
||||
padding-top: 1.75rem;
|
||||
font-weight: $medium;
|
||||
color: $article-heading-alt;
|
||||
}
|
||||
h3 {
|
||||
font-size: 1.65rem;
|
||||
font-size: 1.75rem;
|
||||
font-weight: $medium;
|
||||
margin: -1rem 0 .5rem;
|
||||
padding-top: 1.75rem;
|
||||
}
|
||||
h4 {
|
||||
font-size: 1.25rem;
|
||||
font-size: 1.35rem;
|
||||
font-style: italic;
|
||||
font-weight: $medium;
|
||||
margin: -1.25rem 0 .5rem;
|
||||
|
@ -49,12 +51,12 @@
|
|||
color: $article-heading-alt;
|
||||
}
|
||||
h5 {
|
||||
font-size: 1rem;
|
||||
font-size: 1.1rem;
|
||||
margin: -1.25rem 0 .25rem;
|
||||
padding-top: 1.75rem;
|
||||
}
|
||||
h6 {
|
||||
font-size: 1rem;
|
||||
font-size: 1.1rem;
|
||||
font-style: italic;
|
||||
margin: -1.25rem 0 .25rem;
|
||||
padding-top: 1.75rem;
|
||||
|
@ -62,7 +64,7 @@
|
|||
|
||||
p,li {
|
||||
color: $article-text;
|
||||
line-height: 1.7rem;
|
||||
line-height: 1.8rem;
|
||||
}
|
||||
|
||||
p {
|
||||
|
@ -187,8 +189,8 @@
|
|||
.nowrap { white-space: nowrap }
|
||||
.all-caps {
|
||||
text-transform: uppercase;
|
||||
font-size: .95rem;
|
||||
letter-spacing: .07em;
|
||||
font-size: 1.05rem;
|
||||
letter-spacing: .1em;
|
||||
font-weight: $medium !important;
|
||||
}
|
||||
|
||||
|
|
|
@ -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";
|
||||
}
|
||||
}
|
|
@ -1,21 +1,11 @@
|
|||
$rubik: 'Rubik', sans-serif;
|
||||
$code: 'IBM Plex Mono', monospace;;
|
||||
|
||||
// Font weights
|
||||
$medium: 500;
|
||||
$bold: 700;
|
||||
|
||||
|
||||
html {
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
body {
|
||||
min-height: 100%;
|
||||
font-family: 'Rubik', sans-serif;
|
||||
font-family: $proxima;
|
||||
background: $body-bg;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
* {
|
||||
|
|
|
@ -1,120 +1,67 @@
|
|||
////////////////////////////// HOMEPAGE VARIABLES //////////////////////////////
|
||||
|
||||
$home-body-width: 1300px;
|
||||
|
||||
//////////////////////////////// HOMEPAGE STYLES ///////////////////////////////
|
||||
|
||||
body.home {
|
||||
background-image: url('/img/hero-bg-light-1-diamond.png');
|
||||
background-size: 65%;
|
||||
background-repeat: no-repeat;
|
||||
}
|
||||
|
||||
.home {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
color: $article-bold;
|
||||
|
||||
.section {
|
||||
display: flex;
|
||||
.section{
|
||||
width: 100%;
|
||||
padding: 0rem 3rem;
|
||||
flex-grow: 1;
|
||||
|
||||
.row{
|
||||
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 {
|
||||
margin: 0 auto;
|
||||
padding: 2rem 2rem 0;
|
||||
max-width: $home-body-width;
|
||||
display: block;
|
||||
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 {
|
||||
padding-top: 2rem;
|
||||
padding-bottom: 2.25rem;
|
||||
|
||||
.sidebar--search {
|
||||
max-width: 55%;
|
||||
font-size: 1.1rem;
|
||||
|
||||
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 {
|
||||
font-size: 2rem;
|
||||
top: .35rem;
|
||||
top: .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 {
|
||||
|
||||
.ds-dropdown-menu {
|
||||
top: auto !important;
|
||||
left: 0 !important;
|
||||
|
@ -122,7 +69,7 @@
|
|||
|
||||
&:after {
|
||||
content: "";
|
||||
box-shadow: 2px 2px 10px $sidebar-search-shadow;
|
||||
box-shadow: 2px 2px 6px $sidebar-search-shadow;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
mix-blend-mode: multiply;
|
||||
|
@ -132,283 +79,547 @@
|
|||
}
|
||||
}
|
||||
|
||||
/////////////////////////////// PRODUCT CARDS ////////////////////////////////
|
||||
///////////////////////////////// SPAN STYLES ////////////////////////////////
|
||||
|
||||
.group-wrapper {
|
||||
display: flex;
|
||||
flex-grow: 1;
|
||||
width: 100%;
|
||||
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; }
|
||||
}
|
||||
span {
|
||||
&.magenta {color: $br-new-magenta;}
|
||||
&.orange {color: $r-dreamsicle;}
|
||||
&.blue {color: $b-pool;}
|
||||
}
|
||||
|
||||
.card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
padding: 1.25rem 1.5rem .75rem;
|
||||
flex: 1 0;
|
||||
///////////////////////////// EXPANDABLE BUTTONS /////////////////////////////
|
||||
|
||||
.card-content p { margin-bottom: 0; }
|
||||
.exp-btn-wrapper {
|
||||
position: relative;
|
||||
display: block;
|
||||
|
||||
span.version {
|
||||
font-size: 1.15rem;
|
||||
opacity: .65;
|
||||
}
|
||||
}
|
||||
|
||||
#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;
|
||||
.exp-btn {
|
||||
background: $br-dark-blue;
|
||||
border-radius: 6px;
|
||||
color: $br-teal;
|
||||
padding: 1.5rem 2rem;
|
||||
font-weight: $medium;
|
||||
align-items: center;
|
||||
a.btn {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
min-width: 340px;
|
||||
min-height: 70px;
|
||||
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;
|
||||
margin: .5rem .5rem .5rem 0;
|
||||
padding: .75rem 1.5rem;
|
||||
color: $article-btn-text !important;
|
||||
border-radius: $radius;
|
||||
font-size: .95rem;
|
||||
z-index: 1;
|
||||
@include gradient($article-btn-gradient);
|
||||
}
|
||||
& > * {width: 100%;}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
top: 0;
|
||||
right: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
border-radius: $radius;
|
||||
@include gradient($article-btn-gradient-hover);
|
||||
opacity: 0;
|
||||
transition: opacity .2s;
|
||||
z-index: -1;
|
||||
&.open {
|
||||
padding: 0;
|
||||
li a {padding: 1rem 2rem;}
|
||||
}
|
||||
}
|
||||
|
||||
.exp-btn-links {
|
||||
border-radius: 6px;
|
||||
color: $br-dark-blue;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
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 {
|
||||
cursor: pointer;
|
||||
//////////////////////////////// PRODUCT CARDS ///////////////////////////////
|
||||
|
||||
.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 {
|
||||
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;
|
||||
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 {
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
&:after{
|
||||
content: "";
|
||||
margin-top: .15rem;
|
||||
width: 0;
|
||||
display: block;
|
||||
height: 2px;
|
||||
@include gradient($grad-whiteFade)
|
||||
transition: width .2s;
|
||||
}
|
||||
&:hover{
|
||||
&:after { width: 100%; }
|
||||
h2 {
|
||||
margin: 0;
|
||||
font-size: 3.5rem;
|
||||
line-height: 1.1em;
|
||||
& + p {
|
||||
font-size: 1.2rem;
|
||||
margin: .5rem 0 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
.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;
|
||||
z-index: 1;
|
||||
color: $article-text;
|
||||
transition: color .2s;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
bottom: 0;
|
||||
top: 0;
|
||||
left: 0;
|
||||
position: absolute;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
@include gradient($grad-coolDusk);
|
||||
border-radius: 6px;
|
||||
z-index: -1;
|
||||
transition: opacity .4s;
|
||||
opacity: 0;
|
||||
transition: opacity .2s;
|
||||
}
|
||||
|
||||
&.telegraf:after {@include gradient($telegraf-home-card-gradient);}
|
||||
&.influxdb:after {@include gradient($default-home-card-gradient);}
|
||||
&.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; }
|
||||
&:hover, &.open {
|
||||
&: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 {
|
||||
padding-top: 2.5rem;
|
||||
padding-bottom: 2.5rem;
|
||||
}
|
||||
///////////////////////////////// API SECTION ////////////////////////////////
|
||||
|
||||
//////////////////////////// HOMEPAGE MEDIA QUERIES ////////////////////////////
|
||||
#api-guides {
|
||||
.padding-wrapper {
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
padding: 3.5rem;
|
||||
|
||||
@include media(large) {
|
||||
overflow-x: hidden;
|
||||
.hero #hero-img{
|
||||
max-height: 130%;
|
||||
max-width: 70%;
|
||||
right: -20%;
|
||||
bottom: -30%;
|
||||
.text {margin-right: 2rem;}
|
||||
|
||||
h3 {
|
||||
margin: 0;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
p {
|
||||
margin: .5rem 0;
|
||||
line-height: 1.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1020px) {
|
||||
#tick-stack #tick-cards .card { width: 50%; flex: none;}
|
||||
.section {
|
||||
.quarter { width: 33.33%; }
|
||||
.three-quarters { width: 66.64%; }
|
||||
///////////////////////////////// LEARN ITEMS ////////////////////////////////
|
||||
|
||||
#learn-more {
|
||||
margin-bottom: 2rem;
|
||||
|
||||
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;
|
||||
align-items: flex-end;
|
||||
}
|
||||
}
|
||||
align-items: flex-start;
|
||||
padding-top: 3rem;
|
||||
|
||||
@media (max-width: 920px) {
|
||||
.section {
|
||||
padding-left: 1.5rem;
|
||||
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%; }
|
||||
.tick-links {
|
||||
padding-left: 0;
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media(medium) {
|
||||
.search .algolia-autocomplete.algolia-autocomplete-right, .algolia-autocomplete.algolia-autocomplete-right {
|
||||
.ds-dropdown-menu {
|
||||
#influxdb {
|
||||
.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%;
|
||||
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) {
|
||||
.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%; }
|
||||
|
||||
&.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; }
|
||||
h3 {font-size: 2rem;}
|
||||
}
|
||||
.group-wrapper {flex-direction: column;}
|
||||
.row {
|
||||
flex-direction: column;
|
||||
#influxdb {
|
||||
.actions {padding: 2rem;}
|
||||
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;}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -311,6 +311,7 @@
|
|||
display: inline-block;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
font-family: $rubik;
|
||||
font-weight: 500;
|
||||
font-size: 1.15rem;
|
||||
min-width: 225px;
|
||||
|
|
|
@ -13,15 +13,16 @@
|
|||
display: block;
|
||||
font-family: 'icomoon-v2';
|
||||
position: absolute;
|
||||
top: .15rem;
|
||||
top: .25rem;
|
||||
right: .25rem;
|
||||
color: $article-text;
|
||||
font-size: 1.75rem;
|
||||
font-size: 1.8rem;
|
||||
}
|
||||
|
||||
input {
|
||||
font-family: $rubik;
|
||||
font-weight: $medium;
|
||||
font-family: $proxima;
|
||||
font-weight: $medium;
|
||||
font-size: 1.1rem;
|
||||
background: $sidebar-search-bg;
|
||||
border-radius: $radius;
|
||||
border: 1px solid $sidebar-search-bg;
|
||||
|
@ -38,9 +39,8 @@
|
|||
border-radius: $radius;
|
||||
}
|
||||
&::placeholder {
|
||||
color: rgba($sidebar-search-text, .45);
|
||||
color: rgba($sidebar-search-text, .35);
|
||||
font-weight: normal;
|
||||
font-style: italic;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -117,7 +117,7 @@
|
|||
|
||||
ul {
|
||||
list-style: none;
|
||||
padding-left: 2rem;
|
||||
padding-left: 2.3rem;
|
||||
border-left: 2px solid $nav-border;
|
||||
}
|
||||
|
||||
|
@ -171,7 +171,7 @@
|
|||
|
||||
.nav-category > a {
|
||||
color: $nav-category;
|
||||
font-size: 1.1rem;
|
||||
font-size: 1.2rem;
|
||||
&:hover {
|
||||
color: $nav-category-hover;
|
||||
}
|
||||
|
@ -192,11 +192,11 @@
|
|||
}
|
||||
|
||||
.children-toggle {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
width: 1.12rem;
|
||||
height: 1.12rem;
|
||||
position: absolute;
|
||||
top: .05rem;
|
||||
left: -1.4rem;
|
||||
top: .1rem;
|
||||
left: -1.6rem;
|
||||
display: block;
|
||||
background: $nav-border;
|
||||
border-radius: 50%;
|
||||
|
@ -210,15 +210,15 @@
|
|||
}
|
||||
&:before {
|
||||
top: 4px;
|
||||
left: 7px;
|
||||
height: 8px;
|
||||
left: 8px;
|
||||
height: 10px;
|
||||
width: 2px;
|
||||
}
|
||||
&:after {
|
||||
top: 7px;
|
||||
top: 8px;
|
||||
left: 4px;
|
||||
height: 2px;
|
||||
width: 8px;
|
||||
width: 10px;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
|
@ -239,10 +239,9 @@
|
|||
h4 {
|
||||
margin: 2rem 0 0 -1rem;
|
||||
color: rgba($article-heading-alt, .5);
|
||||
font-style: italic;
|
||||
font-weight: 700;
|
||||
text-transform: uppercase;
|
||||
font-size: .85rem;
|
||||
font-size: .95rem;
|
||||
letter-spacing: .08rem;
|
||||
|
||||
&.platform, &.flux {
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
|
||||
.influx-home {
|
||||
font-family: 'icomoon-v2';
|
||||
font-size: 1.9rem;
|
||||
font-size: 1.4rem;
|
||||
color: $topnav-link;
|
||||
text-decoration: none;
|
||||
vertical-align: middle;
|
||||
|
@ -16,7 +16,7 @@
|
|||
color: $topnav-link-hover;
|
||||
}
|
||||
.icon-influx-logotype {
|
||||
margin-left: .15rem;
|
||||
margin-left: .6rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -28,7 +28,6 @@
|
|||
.docs-home {
|
||||
display: inline-block;
|
||||
vertical-align: text-top;
|
||||
font-style: italic;
|
||||
font-weight: $medium;
|
||||
font-size: 1.1rem;
|
||||
color: $topnav-link;
|
||||
|
@ -39,6 +38,8 @@
|
|||
}
|
||||
|
||||
.topnav-left {
|
||||
margin-right: .15rem;
|
||||
padding: .25rem .15rem;
|
||||
z-index: 1;
|
||||
}
|
||||
|
||||
|
@ -65,6 +66,7 @@
|
|||
@include gradient($default-dropdown-gradient);
|
||||
background-attachment: local !important;
|
||||
font-weight: $medium;
|
||||
font-size: 1.05rem;
|
||||
border-radius: $radius;
|
||||
overflow: hidden;
|
||||
cursor: pointer;
|
||||
|
@ -103,10 +105,11 @@
|
|||
li {
|
||||
&:before {
|
||||
display: inline-block;
|
||||
font-size: .8rem;
|
||||
font-size: .85rem;
|
||||
color: $g2-kevlar;
|
||||
font-style: italic;
|
||||
text-transform: uppercase;
|
||||
font-weight: bold;
|
||||
letter-spacing: .04rem;
|
||||
opacity: .65;
|
||||
mix-blend-mode: multiply;
|
||||
}
|
||||
|
|
|
@ -131,6 +131,45 @@
|
|||
margin: .5rem .5rem .5rem 0;
|
||||
padding: 0;
|
||||
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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ blockquote,
|
|||
border-width: 0 0 0 4px;
|
||||
border-style: solid;
|
||||
border-radius: 0 $radius $radius 0;
|
||||
font-size: .95rem;
|
||||
font-size: 1.05rem;
|
||||
|
||||
ul,ol {
|
||||
&:last-child { margin-bottom: 1.85rem; }
|
||||
|
|
|
@ -7,7 +7,7 @@ a.btn {
|
|||
padding: 0.85rem 1.5rem;
|
||||
color: $article-btn-text !important;
|
||||
border-radius: $radius;
|
||||
font-size: .95rem;
|
||||
font-size: 1.05rem;
|
||||
z-index: 1;
|
||||
@include gradient($article-btn-gradient);
|
||||
|
||||
|
|
|
@ -1,19 +1,14 @@
|
|||
.caption {
|
||||
margin: -2rem 0 2rem;
|
||||
padding-left: .25rem;
|
||||
font-size: .85rem;
|
||||
font-size: .95rem;
|
||||
font-style: italic;
|
||||
opacity: .8;
|
||||
color: $article-text;
|
||||
|
||||
p { line-height: 1.25rem; }
|
||||
}
|
||||
|
||||
.code-tabs-wrapper, .code-tab-content {
|
||||
& + .caption {
|
||||
margin-top: -2.75rem;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
& + .caption {
|
||||
padding: 0;
|
||||
|
|
|
@ -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; }
|
||||
}
|
|
@ -12,7 +12,7 @@ p,li,table {
|
|||
border-radius: $radius;
|
||||
color: $article-code;
|
||||
white-space: nowrap;
|
||||
font-size: .95rem;
|
||||
font-size: 1rem;
|
||||
font-style: normal;
|
||||
}
|
||||
}
|
||||
|
@ -66,25 +66,33 @@ pre {
|
|||
overflow-y: hidden;
|
||||
code {
|
||||
padding: 0;
|
||||
font-size: .95rem;
|
||||
line-height: 1.5rem;
|
||||
font-size: 1rem;
|
||||
line-height: 1.7rem;
|
||||
white-space: pre;
|
||||
}
|
||||
|
||||
@import "code-api-methods";
|
||||
}
|
||||
|
||||
pre .api {
|
||||
margin-right: .35rem;
|
||||
padding: .15rem .5rem .25rem;
|
||||
border-radius: $radius;
|
||||
color: $g20-white;
|
||||
font-weight: bold;
|
||||
font-size: .9rem;
|
||||
///////////////////////// Codeblocks fullscreen toggle /////////////////////////
|
||||
|
||||
.codeblock {
|
||||
position: relative;
|
||||
|
||||
.fullscreen-toggle {
|
||||
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; }
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -31,8 +31,8 @@
|
|||
&.community:before {
|
||||
content: "\e900";
|
||||
color: $article-heading-alt;
|
||||
margin: 0 .25rem 0 -.25rem;
|
||||
font-size: 1.65rem;
|
||||
margin: 0 .5rem 0 -.25rem;
|
||||
font-size: 1.2rem;
|
||||
font-family: 'icomoon-v2';
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
@ -55,7 +55,7 @@
|
|||
a {
|
||||
display: block;
|
||||
padding-left: 1rem;
|
||||
font-size: .85rem;
|
||||
font-size: .95rem;
|
||||
|
||||
&.btn {
|
||||
color: $article-text !important;
|
||||
|
@ -75,12 +75,11 @@
|
|||
|
||||
&.edit:before {
|
||||
content: "\e92f";
|
||||
font-size: .75rem;
|
||||
vertical-align: top;
|
||||
font-size: .85rem;
|
||||
}
|
||||
&.issue:before {
|
||||
content: "\e934";
|
||||
font-size: .95rem;
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
}
|
||||
|
||||
///////////////////////////////// Shard diagram ////////////////////////////////
|
||||
#shard-diagram {
|
||||
#shard-diagram, #data-retention {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
max-width: 550px;
|
||||
|
@ -71,6 +71,26 @@
|
|||
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 {
|
||||
display: flex;
|
||||
|
@ -96,9 +116,14 @@
|
|||
padding: .65rem 1rem;
|
||||
color: #fff;
|
||||
border-radius: .25rem;
|
||||
@include gradient($article-table-header, 90deg)
|
||||
@include gradient($article-table-header, 90deg);
|
||||
background-attachment: fixed;
|
||||
}
|
||||
|
||||
&.deleted {
|
||||
opacity: .3;
|
||||
.shard {@include gradient($grad-red-dark)}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
flex-grow: 1;
|
||||
margin: 2px;
|
||||
position: relative;
|
||||
font-size: 0.875rem;
|
||||
font-size: 1rem;
|
||||
font-weight: $medium;
|
||||
padding: .65rem 1.25rem;
|
||||
display: inline-block;
|
||||
|
@ -72,7 +72,7 @@
|
|||
margin: 0;
|
||||
border-radius: $radius $radius 0 0;
|
||||
display: inline-block;
|
||||
font-size: 0.875rem;
|
||||
font-size: 1rem;
|
||||
background: $article-bg;
|
||||
color: rgba($article-tab-code-text, .5);
|
||||
&:hover {
|
||||
|
@ -97,7 +97,7 @@
|
|||
margin: .75rem 0 3rem;
|
||||
width: 100%;
|
||||
|
||||
& > :not(table, .fs-diagram) {
|
||||
& > :not(table, .fs-diagram, img) {
|
||||
width: 100%;
|
||||
margin-left: 0;
|
||||
}
|
||||
|
|
|
@ -31,8 +31,9 @@ table {
|
|||
}
|
||||
|
||||
td {
|
||||
font-size: .95rem;
|
||||
font-size: 1.05rem;
|
||||
line-height: 1.5em;
|
||||
code {font-size: .95rem;}
|
||||
}
|
||||
|
||||
tr{
|
||||
|
@ -49,6 +50,15 @@ table {
|
|||
}
|
||||
|
||||
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 {
|
||||
|
@ -64,5 +74,5 @@ table + table {
|
|||
p.table-group-key {
|
||||
margin: 1rem 0 -.75rem;
|
||||
font-weight: $medium;
|
||||
font-size: .87rem;
|
||||
font-size: .95rem;
|
||||
}
|
||||
|
|
|
@ -8,11 +8,11 @@
|
|||
.tag {
|
||||
background: $body-bg;
|
||||
margin: .12rem 0;
|
||||
padding: .35rem .6rem;
|
||||
padding: .4rem .65rem;
|
||||
font-style: italic;
|
||||
font-weight: $medium;
|
||||
color: rgba($article-text, .75) !important;
|
||||
font-size: .8rem;
|
||||
font-size: .9rem;
|
||||
border-radius: 1rem;
|
||||
|
||||
&:after {
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
padding: 0 .65em 0 .75em;
|
||||
color: $article-heading;
|
||||
background: rgba($article-heading, .07);
|
||||
font-size: .9rem;
|
||||
font-size: .95rem;
|
||||
font-weight: $medium;
|
||||
border-radius: 1em;
|
||||
display: inline-block;
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
// InfluxData Docs Default Theme (Light)
|
||||
|
||||
// Import Tools
|
||||
@import "tools/icomoon-v2",
|
||||
"tools/icon",
|
||||
@import "tools/fonts",
|
||||
"tools/media-queries.scss",
|
||||
"tools/mixins.scss",
|
||||
"tools/tooltips",
|
||||
|
@ -27,7 +26,8 @@
|
|||
"layouts/url-selector",
|
||||
"layouts/feature-callouts",
|
||||
"layouts/v1-overrides",
|
||||
"layouts/notifications";
|
||||
"layouts/notifications",
|
||||
"layouts/fullscreen-code";
|
||||
|
||||
// Import Product-specifc color schemes
|
||||
@import "product-overrides/telegraf",
|
||||
|
|
|
@ -25,7 +25,7 @@ $theme-switch-dark: none;
|
|||
|
||||
// Search
|
||||
$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-text: $g20-white;
|
||||
|
||||
|
@ -179,10 +179,8 @@ $landing-btn-grad: $grad-blue;
|
|||
$landing-btn-grad-hover: $grad-blue-light;
|
||||
|
||||
// Home page colors
|
||||
$home-btn-gradient: $grad-NineteenEightyFour;
|
||||
$home-btn-gradient-hover: $grad-PastelGothic;
|
||||
$home-tick-bg-gradient: $grad-cool-grey-abyss;
|
||||
$default-home-card-gradient: $grad-Miyazakisky;
|
||||
$home-icon-c1: $g20-white;
|
||||
$home-icon-c2: $body-bg;
|
||||
|
||||
// Tooltip colors
|
||||
$tooltip-color: $br-chartreuse;
|
||||
|
|
|
@ -18,7 +18,7 @@ $body-bg: #f3f4fb !default;
|
|||
$radius: 2px !default;
|
||||
|
||||
// TopNav Colors
|
||||
$topnav-link: $g8-storm !default;
|
||||
$topnav-link: #020a47 !default;
|
||||
$topnav-link-hover: $b-dodger !default;
|
||||
$default-dropdown-gradient: $grad-PastelGothic !default;
|
||||
$theme-switch-light: none !default;
|
||||
|
@ -28,7 +28,7 @@ $theme-switch-dark: inline-block !default;
|
|||
$sidebar-search-bg: $g20-white !default;
|
||||
$sidebar-search-shadow: #cfd1e5 !default;
|
||||
$sidebar-search-highlight: $b-pool !default;
|
||||
$sidebar-search-text: $g8-storm !default;
|
||||
$sidebar-search-text: $g6-smoke !default;
|
||||
|
||||
// Left Navigation
|
||||
$nav-category: $b-dodger !default;
|
||||
|
@ -50,8 +50,8 @@ $product-enterprise: $br-pulsar !default;
|
|||
$article-bg: $g20-white !default;
|
||||
$article-heading: $br-pulsar !default;
|
||||
$article-heading-alt: $g5-pepper !default;
|
||||
$article-text: $g6-smoke !default;
|
||||
$article-bold: $g6-smoke !default;
|
||||
$article-text: $br-dark-blue !default;
|
||||
$article-bold: $br-dark-blue !default;
|
||||
$article-link: $b-pool !default;
|
||||
$article-link-hover: $br-magenta !default;
|
||||
$article-shadow: #cfd1e5 !default;
|
||||
|
@ -179,10 +179,8 @@ $landing-btn-grad: $grad-blue !default;
|
|||
$landing-btn-grad-hover: $grad-blue-light !default;
|
||||
|
||||
// Home page colors
|
||||
$home-btn-gradient: $grad-NineteenEightyFour !default;
|
||||
$home-btn-gradient-hover: $grad-PastelGothic !default;
|
||||
$home-tick-bg-gradient: $grad-grey-mist !default;
|
||||
$default-home-card-gradient: $grad-PastelGothic !default;
|
||||
$home-icon-c1: $br-dark-blue !default;
|
||||
$home-icon-c2: $g20-white !default;
|
||||
|
||||
// Tooltip colors
|
||||
$tooltip-color: $p-amethyst !default;
|
||||
|
|
|
@ -1,5 +1,11 @@
|
|||
// Influx Color Palette
|
||||
|
||||
// Brand Colors 2022
|
||||
$br-dark-blue: #020a47;
|
||||
$br-new-magenta: #d30971;
|
||||
$br-new-purple: #9b2aff;
|
||||
$br-teal: #5ee4e4;
|
||||
|
||||
// Brand Colors
|
||||
$br-chartreuse: #D6F622;
|
||||
$br-deeppurple: #13002D;
|
||||
|
@ -165,4 +171,10 @@ $grey85: #D5D5DD;
|
|||
$grey95: #F1F1F3;
|
||||
$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;
|
||||
|
|
|
@ -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";
|
|
@ -25,6 +25,7 @@ hrefTargetBlank = true
|
|||
smartDashes = false
|
||||
|
||||
[taxonomies]
|
||||
"influxdb/v2.2/tag" = "influxdb/v2.1/tags"
|
||||
"influxdb/v2.1/tag" = "influxdb/v2.1/tags"
|
||||
"influxdb/v2.0/tag" = "influxdb/v2.0/tags"
|
||||
"influxdb/cloud/tag" = "influxdb/cloud/tags"
|
||||
|
|
|
@ -21,6 +21,7 @@ hrefTargetBlank = true
|
|||
smartDashes = false
|
||||
|
||||
[taxonomies]
|
||||
"influxdb/v2.2/tag" = "influxdb/v2.1/tags"
|
||||
"influxdb/v2.1/tag" = "influxdb/v2.1/tags"
|
||||
"influxdb/v2.0/tag" = "influxdb/v2.0/tags"
|
||||
"influxdb/cloud/tag" = "influxdb/cloud/tags"
|
||||
|
|
|
@ -5,7 +5,8 @@ menu:
|
|||
chronograf_1_6:
|
||||
weight: 30
|
||||
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.
|
||||
|
|
|
@ -5,7 +5,8 @@ menu:
|
|||
name: Contributing
|
||||
weight: 20
|
||||
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.
|
||||
|
|
|
@ -5,7 +5,8 @@ menu:
|
|||
Name: Open source license
|
||||
weight: 40
|
||||
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.
|
||||
|
|
|
@ -5,7 +5,8 @@ menu:
|
|||
chronograf_1_7:
|
||||
weight: 30
|
||||
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.
|
||||
|
|
|
@ -5,7 +5,8 @@ menu:
|
|||
name: Contribute
|
||||
weight: 20
|
||||
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.
|
||||
|
|
|
@ -5,7 +5,8 @@ menu:
|
|||
Name: Open source license
|
||||
weight: 40
|
||||
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.
|
||||
|
|
|
@ -30,12 +30,12 @@ The Docker dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#docker)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
|
||||
## Kubernetes Node
|
||||
The Kubernetes Node dashboard displays the following information:
|
||||
|
@ -53,7 +53,7 @@ The Kubernetes Node dashboard displays the following information:
|
|||
- K8s - Kubelet Memory Bytes
|
||||
|
||||
### Plugins
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Kubernetes Overview
|
||||
The Kubernetes Node dashboard displays the following information:
|
||||
|
@ -72,7 +72,7 @@ The Kubernetes Node dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Kubernetes Pod
|
||||
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
|
||||
|
||||
### Plugins
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Riak
|
||||
The Riak dashboard displays the following information:
|
||||
|
@ -101,7 +101,7 @@ The Riak dashboard displays the following information:
|
|||
- Riak - Read Repairs/Minute
|
||||
|
||||
### Plugins
|
||||
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#riak)
|
||||
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
|
||||
|
||||
## Consul
|
||||
The Consul dashboard displays the following information:
|
||||
|
@ -110,7 +110,7 @@ The Consul dashboard displays the following information:
|
|||
- Consul - Number of Warning Health Checks
|
||||
|
||||
### Plugins
|
||||
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul)
|
||||
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
|
||||
|
||||
## Consul Telemetry
|
||||
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
|
||||
|
||||
### Plugins
|
||||
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul)
|
||||
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
|
||||
|
||||
|
||||
## Mesos
|
||||
|
@ -140,7 +140,7 @@ The Mesos dashboard displays the following information:
|
|||
- Mesos Master Uptime
|
||||
|
||||
### Plugins
|
||||
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#mesos)
|
||||
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
|
||||
|
||||
## RabbitMQ
|
||||
The RabbitMQ dashboard displays the following information:
|
||||
|
@ -151,7 +151,7 @@ The RabbitMQ dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq)
|
||||
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
|
||||
|
||||
## System
|
||||
|
||||
|
@ -170,14 +170,14 @@ The System dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#processes)
|
||||
- [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#swap)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
|
||||
- [`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:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vmware-vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vmware-vsphere)
|
||||
|
||||
## Apache
|
||||
The Apache dashboard displays the following information:
|
||||
|
@ -221,12 +221,12 @@ The Apache dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#apache)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#logparser)
|
||||
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#input-logparser)
|
||||
|
||||
## ElasticSearch
|
||||
The ElasticSearch dashboard displays the following information:
|
||||
|
@ -243,7 +243,7 @@ The ElasticSearch dashboard displays the following information:
|
|||
- ElasticSearch - JVM Heap Usage
|
||||
|
||||
### Plugins
|
||||
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch)
|
||||
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
|
||||
|
||||
|
||||
## InfluxDB
|
||||
|
@ -272,12 +272,12 @@ The InfluxDB dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#influxdb)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
|
||||
|
||||
|
||||
|
@ -299,7 +299,7 @@ The Memcached dashboard displays the following information:
|
|||
- Memcached - Evictions/10 Seconds
|
||||
|
||||
### Plugins
|
||||
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#memcached)
|
||||
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
|
||||
|
||||
|
||||
## NSQ
|
||||
|
@ -315,7 +315,7 @@ The NSQ dashboard displays the following information:
|
|||
- NSQ - Topic Egress
|
||||
|
||||
### Plugins
|
||||
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#nsq)
|
||||
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
|
||||
|
||||
## PostgreSQL
|
||||
The PostgreSQL dashboard displays the following information:
|
||||
|
@ -340,11 +340,11 @@ The PostgreSQL dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#postgresql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
|
||||
|
||||
## HAProxy
|
||||
|
@ -367,7 +367,7 @@ The HAProxy dashboard displays the following information:
|
|||
- HAProxy - Backend Error Responses/Second
|
||||
|
||||
### Plugins
|
||||
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#haproxy)
|
||||
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
|
||||
|
||||
|
||||
## NGINX
|
||||
|
@ -379,7 +379,7 @@ The NGINX dashboard displays the following information:
|
|||
- NGINX - Active Client State
|
||||
|
||||
### Plugins
|
||||
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
## Redis
|
||||
The Redis dashboard displays the following information:
|
||||
|
@ -390,7 +390,7 @@ The Redis dashboard displays the following information:
|
|||
- Redis - Memory
|
||||
|
||||
### Plugins
|
||||
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#redis)
|
||||
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
|
||||
|
||||
|
||||
## 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:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
|
||||
|
||||
## VMware vSphere Hosts
|
||||
|
||||
|
@ -422,7 +422,7 @@ The VMWare vSphere Hosts dashboard displays the following information:
|
|||
- Total Disk Latency for :esxhostname:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
|
||||
|
||||
## PHPfpm
|
||||
The PHPfpm dashboard displays the following information:
|
||||
|
@ -433,7 +433,7 @@ The PHPfpm dashboard displays the following information:
|
|||
- PHPfpm - Max Children Reached
|
||||
|
||||
### Plugins
|
||||
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
## Win System
|
||||
The Win System dashboard displays the following information:
|
||||
|
@ -445,7 +445,7 @@ The Win System dashboard displays the following information:
|
|||
- System - Load
|
||||
|
||||
### Plugins
|
||||
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#windows-services)
|
||||
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-services)
|
||||
|
||||
|
||||
## MySQL
|
||||
|
@ -472,9 +472,9 @@ The MySQL dashboard displays the following information:
|
|||
- InnoDB Data
|
||||
|
||||
### Plugins
|
||||
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#mysql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
|
||||
## Ping
|
||||
The Ping dashboard displays the following information:
|
||||
|
@ -483,4 +483,4 @@ The Ping dashboard displays the following information:
|
|||
- Ping - Response Times (ms)
|
||||
|
||||
### Plugins
|
||||
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#ping)
|
||||
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
|
||||
|
|
|
@ -65,7 +65,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## apache
|
||||
|
||||
**Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#apache)
|
||||
**Required Telegraf plugin:** [Apache input plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
|
||||
|
||||
`apache.json`
|
||||
|
||||
|
@ -75,7 +75,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -95,7 +95,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## docker
|
||||
|
||||
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#docker)
|
||||
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
|
||||
|
||||
`docker.json`
|
||||
|
||||
|
@ -115,7 +115,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## elasticsearch
|
||||
|
||||
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch)
|
||||
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
|
||||
|
||||
`elasticsearch.json`
|
||||
|
||||
|
@ -132,7 +132,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## haproxy
|
||||
|
||||
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#haproxy)
|
||||
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
|
||||
|
||||
`haproxy.json`
|
||||
|
||||
|
@ -154,7 +154,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -162,7 +162,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -207,7 +207,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -227,7 +227,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## mesos
|
||||
|
||||
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#mesos)
|
||||
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
|
||||
|
||||
`mesos.json`
|
||||
|
||||
|
@ -242,7 +242,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## mongodb
|
||||
|
||||
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#mongodb)
|
||||
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-mongodb)
|
||||
|
||||
`mongodb.json`
|
||||
|
||||
|
@ -254,7 +254,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## mysql
|
||||
|
||||
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#mysql)
|
||||
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
|
||||
|
||||
`mysql.json`
|
||||
|
||||
|
@ -265,7 +265,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## nginx
|
||||
|
||||
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
`nginx.json`
|
||||
|
||||
|
@ -276,7 +276,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -297,7 +297,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## phpfpm
|
||||
|
||||
**Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#phpfpm)
|
||||
**Required Telegraf plugin:** [PHPfpm input plugin](/{{< latest "telegraf" >}}/plugins/#input-phpfpm)
|
||||
|
||||
`phpfpm.json`
|
||||
|
||||
|
@ -309,7 +309,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## ping
|
||||
|
||||
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#ping)
|
||||
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
|
||||
|
||||
`ping.json`
|
||||
|
||||
|
@ -318,7 +318,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## postgresql
|
||||
|
||||
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#postgresql)
|
||||
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
|
||||
|
||||
`postgresql.json`
|
||||
|
||||
|
@ -329,7 +329,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## rabbitmq
|
||||
|
||||
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq)
|
||||
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
|
||||
|
||||
`rabbitmq.json`
|
||||
|
||||
|
@ -340,7 +340,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## redis
|
||||
|
||||
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#redis)
|
||||
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
|
||||
|
||||
|
||||
`redis.json`
|
||||
|
@ -352,7 +352,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## riak
|
||||
|
||||
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#riak)
|
||||
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
|
||||
|
||||
|
||||
`riak.json`
|
||||
|
@ -371,7 +371,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### cpu
|
||||
|
||||
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
|
||||
`cpu.json`
|
||||
|
||||
|
@ -381,13 +381,13 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
`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 %"
|
||||
|
||||
### diskio
|
||||
|
||||
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
|
||||
`diskio.json`
|
||||
|
||||
|
@ -396,7 +396,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### mem
|
||||
|
||||
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
|
||||
`mem.json`
|
||||
|
||||
|
@ -404,7 +404,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### net
|
||||
|
||||
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
|
||||
`net.json`
|
||||
|
||||
|
@ -413,7 +413,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### netstat
|
||||
|
||||
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#netstat)
|
||||
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-netstat)
|
||||
|
||||
`netstat.json`
|
||||
|
||||
|
@ -422,7 +422,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### processes
|
||||
|
||||
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#processes)
|
||||
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
|
||||
|
||||
`processes.json`
|
||||
|
||||
|
@ -430,7 +430,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### procstat
|
||||
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat)
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
|
||||
|
||||
`procstat.json`
|
||||
|
||||
|
@ -439,7 +439,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
### system
|
||||
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat)
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
|
||||
|
||||
`load.json`
|
||||
|
||||
|
@ -447,7 +447,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## varnish
|
||||
|
||||
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#varnish)
|
||||
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#input-varnish)
|
||||
|
||||
`varnish.json`
|
||||
|
||||
|
@ -456,7 +456,7 @@ See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/
|
|||
|
||||
## 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`
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@ menu:
|
|||
chronograf_1_8:
|
||||
weight: 30
|
||||
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.
|
||||
|
|
|
@ -6,7 +6,8 @@ menu:
|
|||
name: Contribute
|
||||
weight: 20
|
||||
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.
|
||||
|
|
|
@ -6,7 +6,8 @@ menu:
|
|||
Name: Open source license
|
||||
weight: 40
|
||||
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.
|
||||
|
|
|
@ -30,12 +30,12 @@ The Docker dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#docker)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
|
||||
## Kubernetes Node
|
||||
The Kubernetes Node dashboard displays the following information:
|
||||
|
@ -53,7 +53,7 @@ The Kubernetes Node dashboard displays the following information:
|
|||
- K8s - Kubelet Memory Bytes
|
||||
|
||||
### Plugins
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Kubernetes Overview
|
||||
The Kubernetes Node dashboard displays the following information:
|
||||
|
@ -72,7 +72,7 @@ The Kubernetes Node dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Kubernetes Pod
|
||||
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
|
||||
|
||||
### Plugins
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Riak
|
||||
The Riak dashboard displays the following information:
|
||||
|
@ -101,7 +101,7 @@ The Riak dashboard displays the following information:
|
|||
- Riak - Read Repairs/Minute
|
||||
|
||||
### Plugins
|
||||
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#riak)
|
||||
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
|
||||
|
||||
## Consul
|
||||
The Consul dashboard displays the following information:
|
||||
|
@ -110,7 +110,7 @@ The Consul dashboard displays the following information:
|
|||
- Consul - Number of Warning Health Checks
|
||||
|
||||
### Plugins
|
||||
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul)
|
||||
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
|
||||
|
||||
## Consul Telemetry
|
||||
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
|
||||
|
||||
### Plugins
|
||||
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul)
|
||||
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
|
||||
|
||||
|
||||
## Mesos
|
||||
|
@ -140,7 +140,7 @@ The Mesos dashboard displays the following information:
|
|||
- Mesos Master Uptime
|
||||
|
||||
### Plugins
|
||||
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#mesos)
|
||||
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
|
||||
|
||||
## RabbitMQ
|
||||
The RabbitMQ dashboard displays the following information:
|
||||
|
@ -151,7 +151,7 @@ The RabbitMQ dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq)
|
||||
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
|
||||
|
||||
## System
|
||||
|
||||
|
@ -170,14 +170,14 @@ The System dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#processes)
|
||||
- [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#swap)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
|
||||
- [`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:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vmware-vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vmware-vsphere)
|
||||
|
||||
## Apache
|
||||
The Apache dashboard displays the following information:
|
||||
|
@ -221,12 +221,12 @@ The Apache dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#apache)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#logparser)
|
||||
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#input-logparser)
|
||||
|
||||
## ElasticSearch
|
||||
The ElasticSearch dashboard displays the following information:
|
||||
|
@ -243,7 +243,7 @@ The ElasticSearch dashboard displays the following information:
|
|||
- ElasticSearch - JVM Heap Usage
|
||||
|
||||
### Plugins
|
||||
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch)
|
||||
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
|
||||
|
||||
|
||||
## InfluxDB
|
||||
|
@ -272,12 +272,12 @@ The InfluxDB dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#influxdb)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
|
||||
|
||||
|
||||
|
@ -299,7 +299,7 @@ The Memcached dashboard displays the following information:
|
|||
- Memcached - Evictions/10 Seconds
|
||||
|
||||
### Plugins
|
||||
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#memcached)
|
||||
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
|
||||
|
||||
|
||||
## NSQ
|
||||
|
@ -315,7 +315,7 @@ The NSQ dashboard displays the following information:
|
|||
- NSQ - Topic Egress
|
||||
|
||||
### Plugins
|
||||
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#nsq)
|
||||
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
|
||||
|
||||
## PostgreSQL
|
||||
The PostgreSQL dashboard displays the following information:
|
||||
|
@ -340,11 +340,11 @@ The PostgreSQL dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#postgresql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
|
||||
|
||||
## HAProxy
|
||||
|
@ -367,7 +367,7 @@ The HAProxy dashboard displays the following information:
|
|||
- HAProxy - Backend Error Responses/Second
|
||||
|
||||
### Plugins
|
||||
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#haproxy)
|
||||
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
|
||||
|
||||
|
||||
## NGINX
|
||||
|
@ -379,7 +379,7 @@ The NGINX dashboard displays the following information:
|
|||
- NGINX - Active Client State
|
||||
|
||||
### Plugins
|
||||
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
## Redis
|
||||
The Redis dashboard displays the following information:
|
||||
|
@ -390,7 +390,7 @@ The Redis dashboard displays the following information:
|
|||
- Redis - Memory
|
||||
|
||||
### Plugins
|
||||
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#redis)
|
||||
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
|
||||
|
||||
|
||||
## 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:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
|
||||
|
||||
## VMware vSphere Hosts
|
||||
|
||||
|
@ -422,7 +422,7 @@ The VMWare vSphere Hosts dashboard displays the following information:
|
|||
- Total Disk Latency for :esxhostname:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
|
||||
|
||||
## PHPfpm
|
||||
The PHPfpm dashboard displays the following information:
|
||||
|
@ -433,7 +433,7 @@ The PHPfpm dashboard displays the following information:
|
|||
- PHPfpm - Max Children Reached
|
||||
|
||||
### Plugins
|
||||
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
## Win System
|
||||
The Win System dashboard displays the following information:
|
||||
|
@ -445,7 +445,7 @@ The Win System dashboard displays the following information:
|
|||
- System - Load
|
||||
|
||||
### Plugins
|
||||
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#windows-services)
|
||||
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-services)
|
||||
|
||||
|
||||
## MySQL
|
||||
|
@ -472,9 +472,9 @@ The MySQL dashboard displays the following information:
|
|||
- InnoDB Data
|
||||
|
||||
### Plugins
|
||||
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#mysql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
|
||||
## Ping
|
||||
The Ping dashboard displays the following information:
|
||||
|
@ -483,4 +483,4 @@ The Ping dashboard displays the following information:
|
|||
- Ping - Response Times (ms)
|
||||
|
||||
### Plugins
|
||||
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#ping)
|
||||
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
|
||||
|
|
|
@ -69,7 +69,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -79,7 +79,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -99,7 +99,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## docker
|
||||
|
||||
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#docker)
|
||||
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
|
||||
|
||||
`docker.json`
|
||||
|
||||
|
@ -119,7 +119,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## elasticsearch
|
||||
|
||||
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch)
|
||||
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
|
||||
|
||||
`elasticsearch.json`
|
||||
|
||||
|
@ -136,7 +136,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## haproxy
|
||||
|
||||
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#haproxy)
|
||||
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
|
||||
|
||||
`haproxy.json`
|
||||
|
||||
|
@ -158,7 +158,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -166,7 +166,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -211,7 +211,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -231,7 +231,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## mesos
|
||||
|
||||
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#mesos)
|
||||
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
|
||||
|
||||
`mesos.json`
|
||||
|
||||
|
@ -246,7 +246,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## mongodb
|
||||
|
||||
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#mongodb)
|
||||
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-mongodb)
|
||||
|
||||
`mongodb.json`
|
||||
|
||||
|
@ -258,7 +258,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## mysql
|
||||
|
||||
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#mysql)
|
||||
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
|
||||
|
||||
`mysql.json`
|
||||
|
||||
|
@ -269,7 +269,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## nginx
|
||||
|
||||
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
`nginx.json`
|
||||
|
||||
|
@ -280,7 +280,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -301,7 +301,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -313,7 +313,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## ping
|
||||
|
||||
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#ping)
|
||||
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
|
||||
|
||||
`ping.json`
|
||||
|
||||
|
@ -322,7 +322,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## postgresql
|
||||
|
||||
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#postgresql)
|
||||
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
|
||||
|
||||
`postgresql.json`
|
||||
|
||||
|
@ -333,7 +333,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## rabbitmq
|
||||
|
||||
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq)
|
||||
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
|
||||
|
||||
`rabbitmq.json`
|
||||
|
||||
|
@ -344,7 +344,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## redis
|
||||
|
||||
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#redis)
|
||||
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
|
||||
|
||||
|
||||
`redis.json`
|
||||
|
@ -356,7 +356,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## riak
|
||||
|
||||
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#riak)
|
||||
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
|
||||
|
||||
|
||||
`riak.json`
|
||||
|
@ -375,7 +375,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### cpu
|
||||
|
||||
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
|
||||
`cpu.json`
|
||||
|
||||
|
@ -385,13 +385,13 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
`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 %"
|
||||
|
||||
### diskio
|
||||
|
||||
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
|
||||
`diskio.json`
|
||||
|
||||
|
@ -400,7 +400,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### mem
|
||||
|
||||
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
|
||||
`mem.json`
|
||||
|
||||
|
@ -408,7 +408,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### net
|
||||
|
||||
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
|
||||
`net.json`
|
||||
|
||||
|
@ -417,7 +417,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### netstat
|
||||
|
||||
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#netstat)
|
||||
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-netstat)
|
||||
|
||||
`netstat.json`
|
||||
|
||||
|
@ -426,7 +426,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### processes
|
||||
|
||||
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#processes)
|
||||
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
|
||||
|
||||
`processes.json`
|
||||
|
||||
|
@ -434,7 +434,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### procstat
|
||||
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat)
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
|
||||
|
||||
`procstat.json`
|
||||
|
||||
|
@ -443,7 +443,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### system
|
||||
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat)
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
|
||||
|
||||
`load.json`
|
||||
|
||||
|
@ -451,7 +451,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## varnish
|
||||
|
||||
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#varnish)
|
||||
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#input-varnish)
|
||||
|
||||
`varnish.json`
|
||||
|
||||
|
@ -460,7 +460,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
|
|
@ -6,7 +6,8 @@ menu:
|
|||
chronograf_1_9:
|
||||
weight: 30
|
||||
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.
|
||||
|
|
|
@ -6,7 +6,8 @@ menu:
|
|||
name: Contribute
|
||||
weight: 20
|
||||
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.
|
||||
|
|
|
@ -6,7 +6,8 @@ menu:
|
|||
Name: Open source license
|
||||
weight: 40
|
||||
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.
|
||||
|
|
|
@ -8,6 +8,68 @@ menu:
|
|||
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 browser’s 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]
|
||||
|
||||
### Features
|
||||
|
|
|
@ -30,12 +30,12 @@ The Docker dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#docker)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`docker` plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
|
||||
## Kubernetes Node
|
||||
The Kubernetes Node dashboard displays the following information:
|
||||
|
@ -53,7 +53,7 @@ The Kubernetes Node dashboard displays the following information:
|
|||
- K8s - Kubelet Memory Bytes
|
||||
|
||||
### Plugins
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Kubernetes Overview
|
||||
The Kubernetes Node dashboard displays the following information:
|
||||
|
@ -72,7 +72,7 @@ The Kubernetes Node dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Kubernetes Pod
|
||||
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
|
||||
|
||||
### Plugins
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#kubernetes)
|
||||
- [kubernetes](/{{< latest "telegraf" >}}/plugins/#input-kubernetes)
|
||||
|
||||
## Riak
|
||||
The Riak dashboard displays the following information:
|
||||
|
@ -101,7 +101,7 @@ The Riak dashboard displays the following information:
|
|||
- Riak - Read Repairs/Minute
|
||||
|
||||
### Plugins
|
||||
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#riak)
|
||||
- [`riak` plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
|
||||
|
||||
## Consul
|
||||
The Consul dashboard displays the following information:
|
||||
|
@ -110,7 +110,7 @@ The Consul dashboard displays the following information:
|
|||
- Consul - Number of Warning Health Checks
|
||||
|
||||
### Plugins
|
||||
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul)
|
||||
- [`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
|
||||
|
||||
## Consul Telemetry
|
||||
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
|
||||
|
||||
### Plugins
|
||||
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#consul)
|
||||
[`consul` plugin](/{{< latest "telegraf" >}}/plugins/#input-consul)
|
||||
|
||||
|
||||
## Mesos
|
||||
|
@ -140,7 +140,7 @@ The Mesos dashboard displays the following information:
|
|||
- Mesos Master Uptime
|
||||
|
||||
### Plugins
|
||||
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#mesos)
|
||||
- [`mesos` plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
|
||||
|
||||
## RabbitMQ
|
||||
The RabbitMQ dashboard displays the following information:
|
||||
|
@ -151,7 +151,7 @@ The RabbitMQ dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq)
|
||||
- [`rabbitmq` plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
|
||||
|
||||
## System
|
||||
|
||||
|
@ -170,14 +170,14 @@ The System dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#disk)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#processes)
|
||||
- [`swap` plugin](/{{< latest "telegraf" >}}/plugins/#swap)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`disk` plugin](/{{< latest "telegraf" >}}/plugins/#input-disk)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
- [`processes` plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
|
||||
- [`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:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vmware-vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vmware-vsphere)
|
||||
|
||||
## Apache
|
||||
The Apache dashboard displays the following information:
|
||||
|
@ -221,12 +221,12 @@ The Apache dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#apache)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#logparser)
|
||||
- [`apache` plugin](/{{< latest "telegraf" >}}/plugins/#input-apache)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
- [`logparser` plugin](/{{< latest "telegraf" >}}/plugins/#input-logparser)
|
||||
|
||||
## ElasticSearch
|
||||
The ElasticSearch dashboard displays the following information:
|
||||
|
@ -243,7 +243,7 @@ The ElasticSearch dashboard displays the following information:
|
|||
- ElasticSearch - JVM Heap Usage
|
||||
|
||||
### Plugins
|
||||
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch)
|
||||
- [`elasticsearch` plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
|
||||
|
||||
|
||||
## InfluxDB
|
||||
|
@ -272,12 +272,12 @@ The InfluxDB dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#influxdb)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
- [`influxdb` plugin](/{{< latest "telegraf" >}}/plugins/#input-influxdb)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
- [`net` plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
|
||||
|
||||
|
||||
|
@ -299,7 +299,7 @@ The Memcached dashboard displays the following information:
|
|||
- Memcached - Evictions/10 Seconds
|
||||
|
||||
### Plugins
|
||||
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#memcached)
|
||||
- [`memcached` plugin](/{{< latest "telegraf" >}}/plugins/#input-memcached)
|
||||
|
||||
|
||||
## NSQ
|
||||
|
@ -315,7 +315,7 @@ The NSQ dashboard displays the following information:
|
|||
- NSQ - Topic Egress
|
||||
|
||||
### Plugins
|
||||
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#nsq)
|
||||
- [`nsq` plugin](/{{< latest "telegraf" >}}/plugins/#input-nsq)
|
||||
|
||||
## PostgreSQL
|
||||
The PostgreSQL dashboard displays the following information:
|
||||
|
@ -340,11 +340,11 @@ The PostgreSQL dashboard displays the following information:
|
|||
|
||||
### Plugins
|
||||
|
||||
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#postgresql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
- [`postgresql` plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
- [`cpu` plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
- [`diskio` plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
|
||||
|
||||
## HAProxy
|
||||
|
@ -367,7 +367,7 @@ The HAProxy dashboard displays the following information:
|
|||
- HAProxy - Backend Error Responses/Second
|
||||
|
||||
### Plugins
|
||||
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#haproxy)
|
||||
- [`haproxy` plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
|
||||
|
||||
|
||||
## NGINX
|
||||
|
@ -379,7 +379,7 @@ The NGINX dashboard displays the following information:
|
|||
- NGINX - Active Client State
|
||||
|
||||
### Plugins
|
||||
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
- [`nginx` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
## Redis
|
||||
The Redis dashboard displays the following information:
|
||||
|
@ -390,7 +390,7 @@ The Redis dashboard displays the following information:
|
|||
- Redis - Memory
|
||||
|
||||
### Plugins
|
||||
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#redis)
|
||||
- [`redis` plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
|
||||
|
||||
|
||||
## 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:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
|
||||
|
||||
## VMware vSphere Hosts
|
||||
|
||||
|
@ -422,7 +422,7 @@ The VMWare vSphere Hosts dashboard displays the following information:
|
|||
- Total Disk Latency for :esxhostname:
|
||||
|
||||
### Plugins
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#vsphere)
|
||||
- [`vsphere` plugin](/{{< latest "telegraf" >}}/plugins/#input-vsphere)
|
||||
|
||||
## PHPfpm
|
||||
The PHPfpm dashboard displays the following information:
|
||||
|
@ -433,7 +433,7 @@ The PHPfpm dashboard displays the following information:
|
|||
- PHPfpm - Max Children Reached
|
||||
|
||||
### Plugins
|
||||
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
- [`phpfpm` plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
## Win System
|
||||
The Win System dashboard displays the following information:
|
||||
|
@ -445,7 +445,7 @@ The Win System dashboard displays the following information:
|
|||
- System - Load
|
||||
|
||||
### Plugins
|
||||
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#windows-services)
|
||||
- [`win_services` plugin](/{{< latest "telegraf" >}}/plugins/#input-windows-services)
|
||||
|
||||
|
||||
## MySQL
|
||||
|
@ -472,9 +472,9 @@ The MySQL dashboard displays the following information:
|
|||
- InnoDB Data
|
||||
|
||||
### Plugins
|
||||
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#mysql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
- [`mySQL` plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
|
||||
- [`system` plugin](/{{< latest "telegraf" >}}/plugins/#input-system)
|
||||
- [`mem` plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
|
||||
## Ping
|
||||
The Ping dashboard displays the following information:
|
||||
|
@ -483,4 +483,4 @@ The Ping dashboard displays the following information:
|
|||
- Ping - Response Times (ms)
|
||||
|
||||
### Plugins
|
||||
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#ping)
|
||||
- [`ping` plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
|
||||
|
|
|
@ -7,7 +7,10 @@ menu:
|
|||
weight: 100
|
||||
parent: Guides
|
||||
related:
|
||||
- /{{< latest "kapacitor" >}}/introduction/getting-started/
|
||||
- /{{< latest "kapacitor" >}}/working/kapa-and-chrono/
|
||||
- /{{< latest "kapacitor" >}}/working/flux/
|
||||
|
||||
---
|
||||
|
||||
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)._
|
||||
4. Click **Save**.
|
||||
|
||||
|
||||
If you set the retention policy's duration to one hour (`1h`), InfluxDB
|
||||
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
|
||||
|
||||
Chronograf lets you manage Kapacitor TICKscript tasks created in Kapacitor or in
|
||||
Chronograf when [creating a Chronograf alert rule](/chronograf/v1.9/guides/create-alert-rules/).
|
||||
Chronograf lets you view and manage all Kapacitor TICKscripts for a selected Kapacitor subscription using the **TICKscripts** page.
|
||||
|
||||
To manage Kapacitor TICKscript tasks in Chronograf, click
|
||||
**{{< icon "alert" "v2">}} Alerts** in the left navigation bar.
|
||||
On this page, you can:
|
||||
1. To manage Kapacitor TICKscripts in Chronograf, click
|
||||
**{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select **TICKscripts**.
|
||||
Do one or more of the following:
|
||||
|
||||
- View Kapacitor TICKscript tasks.
|
||||
- View TICKscript task activity.
|
||||
- Create new TICKscript tasks.
|
||||
- Update TICKscript tasks.
|
||||
- Enable and disable TICKscript tasks.
|
||||
- Delete 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 type.
|
||||
- Enable and disable TICKscript tasks.
|
||||
- Create new TICKscript tasks.
|
||||
- Update 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
|
||||
**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
|
||||
**{{< icon "alert" "v2">}} Alerts** in the left navigation bar.
|
||||
On this page, you can:
|
||||
**{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select the **Flux Tasks** option. Do one or more of the following:
|
||||
|
||||
- View Kapacitor Flux tasks.
|
||||
- View Kapacitor Flux task activity.
|
||||
- Enable and disable Kapacitor Flux tasks.
|
||||
- Delete Kapacitor Flux tasks.
|
||||
- View and filter Kapacitor Flux tasks by name.
|
||||
- View Kapacitor Flux task activity.
|
||||
- Enable and disable 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/).
|
|
@ -22,141 +22,74 @@ Common alerting use cases that can be managed using Chronograf include:
|
|||
* Deadman switches.
|
||||
|
||||
Complex alerts and other tasks can be defined directly in Kapacitor as TICKscripts, but can be viewed and managed within Chronograf.
|
||||
|
||||
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.
|
||||
To learn about managing Kapacitor TICKscripts in Chronograf, see [Manage Kapacitor TICKscripts](/{{< latest "chronograf" >}}/guides/advanced-kapacitor/#manage-kapacitor-tickscripts).
|
||||
|
||||
## 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).
|
||||
* 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](/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.
|
||||
* Download and install the entire TICKstack (Telegraf, InfluxDB, Chronograf, and Kapacitor).
|
||||
* [Create a Kapacitor connection in Chronograf](/{{< latest "chronograf" >}}/introduction/installation/#connect-chronograf-to-kapacitor).
|
||||
|
||||
## 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:
|
||||
|
||||

|
||||
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.
|
||||
The steps below guide you through the process of creating a Chronograf alert rule.
|
||||
To create and manage alert rules in Chronograf, click on
|
||||
**{{< icon "alert" "v2">}} Alerting** in the left navigation bar and select **Alert Rules**.
|
||||
Do one of the following:
|
||||
|
||||

|
||||
- 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.
|
||||
For this example, use "Idle CPU Usage" as your alert name.
|
||||
From the **Alert Rules** page in Chronograf:
|
||||
|
||||
### 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**_
|
||||
Alert if data crosses a boundary.
|
||||
2. Choose the alert type:
|
||||
- `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**_
|
||||
Alert if data changes relative to data in a different time range.
|
||||
3. Select the time series data to use in the alert rule.
|
||||
- Navigate through databases, measurements, tags, and fields to select all relevant data.
|
||||
|
||||
_**Deadman**_
|
||||
Alert if InfluxDB receives no relevant data for a specified time duration.
|
||||
4. Define the rule conditions. Condition options are determined by the alert type.
|
||||
|
||||
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.
|
||||
Navigate through databases, measurements, fields, and tags to select the relevant data.
|
||||
7. Click **Save Rule**.
|
||||
|
||||
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
|
||||
|
||||

|
||||
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.
|
||||
Condition options are determined by the [alert type](#step-2-select-the-alert-type).
|
||||
For this example, the alert conditions are if `usage_idle` is less than `80`.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
{{% 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" }}.`.
|
||||
|
||||

|
||||
|
||||
*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.
|
||||
|
||||

|
||||
|
||||
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.
|
||||
|
||||

|
||||
|
||||
You can also see alerts on the **Alert History** page available under **Alerting** in the left navigation.
|
||||
|
||||

|
||||
|
||||
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 a history of all triggered alerts.
|
||||
- Filter alert history by type.
|
||||
- View alert history for a specified time range.
|
||||
|
|
|
@ -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).
|
||||
|
||||
1. Open the Data Explorer and click **Add a Query**.
|
||||
2. To the right of the source dropdown above the graph placeholder, select **Flux** as the source type.
|
||||
The **Schema**, **Functions**, and **Script** panes appear.
|
||||
3. Use the **Schema** pane to explore your available data. Click the **+** sign next to a bucket name to expand its content.
|
||||
4. Use the **Functions** pane to view details about the available Flux functions.
|
||||
5. Use the **Script** pane to enter your Flux query.
|
||||
1. Open the Data Explorer by clicking **Explore** in the left navigation bar.
|
||||
2. Select **Flux** as the source type.
|
||||
3. Click **Script Builder**.
|
||||
4. The **Schema**, **Script**, and **Flux Functions** panes appear.
|
||||
- Use the **Schema** pane to explore your available data. Click the **{{< icon "plus" >}}** sign next to a bucket name to expand its content.
|
||||
- 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.
|
||||
|
||||
<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
|
||||
## 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/).
|
||||
|
||||
|
|
|
@ -71,7 +71,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -81,7 +81,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -101,7 +101,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## docker
|
||||
|
||||
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#docker)
|
||||
**Required Telegraf plugin:** [Docker input plugin](/{{< latest "telegraf" >}}/plugins/#input-docker)
|
||||
|
||||
`docker.json`
|
||||
|
||||
|
@ -121,7 +121,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## elasticsearch
|
||||
|
||||
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#elasticsearch)
|
||||
**Required Telegraf plugin:** [Elasticsearch input plugin](/{{< latest "telegraf" >}}/plugins/#input-elasticsearch)
|
||||
|
||||
`elasticsearch.json`
|
||||
|
||||
|
@ -138,7 +138,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## haproxy
|
||||
|
||||
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#haproxy)
|
||||
**Required Telegraf plugin:** [HAProxy input plugin](/{{< latest "telegraf" >}}/plugins/#input-haproxy)
|
||||
|
||||
`haproxy.json`
|
||||
|
||||
|
@ -160,7 +160,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -168,7 +168,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -213,7 +213,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -233,7 +233,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## mesos
|
||||
|
||||
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#mesos)
|
||||
**Required Telegraf plugin:** [Mesos input plugin](/{{< latest "telegraf" >}}/plugins/#input-mesos)
|
||||
|
||||
`mesos.json`
|
||||
|
||||
|
@ -248,7 +248,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## mongodb
|
||||
|
||||
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#mongodb)
|
||||
**Required Telegraf plugin:** [MongoDB input plugin](/{{< latest "telegraf" >}}/plugins/#input-mongodb)
|
||||
|
||||
`mongodb.json`
|
||||
|
||||
|
@ -260,7 +260,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## mysql
|
||||
|
||||
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#mysql)
|
||||
**Required Telegraf plugin:** [MySQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-mysql)
|
||||
|
||||
`mysql.json`
|
||||
|
||||
|
@ -271,7 +271,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## nginx
|
||||
|
||||
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#nginx)
|
||||
**Required Telegraf plugin:** [NGINX input plugin](/{{< latest "telegraf" >}}/plugins/#input-nginx)
|
||||
|
||||
`nginx.json`
|
||||
|
||||
|
@ -282,7 +282,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -303,7 +303,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
@ -315,7 +315,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## ping
|
||||
|
||||
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#ping)
|
||||
**Required Telegraf plugin:** [Ping input plugin](/{{< latest "telegraf" >}}/plugins/#input-ping)
|
||||
|
||||
`ping.json`
|
||||
|
||||
|
@ -324,7 +324,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## postgresql
|
||||
|
||||
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#postgresql)
|
||||
**Required Telegraf plugin:** [PostgreSQL input plugin](/{{< latest "telegraf" >}}/plugins/#input-postgresql)
|
||||
|
||||
`postgresql.json`
|
||||
|
||||
|
@ -335,7 +335,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## rabbitmq
|
||||
|
||||
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#rabbitmq)
|
||||
**Required Telegraf plugin:** [RabbitMQ input plugin](/{{< latest "telegraf" >}}/plugins/#input-rabbitmq)
|
||||
|
||||
`rabbitmq.json`
|
||||
|
||||
|
@ -346,7 +346,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## redis
|
||||
|
||||
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#redis)
|
||||
**Required Telegraf plugin:** [Redis input plugin](/{{< latest "telegraf" >}}/plugins/#input-redis)
|
||||
|
||||
|
||||
`redis.json`
|
||||
|
@ -358,7 +358,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## riak
|
||||
|
||||
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#riak)
|
||||
**Required Telegraf plugin:** [Riak input plugin](/{{< latest "telegraf" >}}/plugins/#input-riak)
|
||||
|
||||
|
||||
`riak.json`
|
||||
|
@ -377,7 +377,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### cpu
|
||||
|
||||
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#cpu)
|
||||
**Required Telegraf plugin:** [CPU input plugin](/{{< latest "telegraf" >}}/plugins/#input-cpu)
|
||||
|
||||
`cpu.json`
|
||||
|
||||
|
@ -387,13 +387,13 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
`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 %"
|
||||
|
||||
### diskio
|
||||
|
||||
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#diskio)
|
||||
**Required Telegraf plugin:** [DiskIO input plugin](/{{< latest "telegraf" >}}/plugins/#input-diskio)
|
||||
|
||||
`diskio.json`
|
||||
|
||||
|
@ -402,7 +402,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### mem
|
||||
|
||||
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#mem)
|
||||
**Required Telegraf plugin:** [Mem input plugin](/{{< latest "telegraf" >}}/plugins/#input-mem)
|
||||
|
||||
`mem.json`
|
||||
|
||||
|
@ -410,7 +410,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### net
|
||||
|
||||
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#net)
|
||||
**Required Telegraf plugin:** [Net input plugin](/{{< latest "telegraf" >}}/plugins/#input-net)
|
||||
|
||||
`net.json`
|
||||
|
||||
|
@ -419,7 +419,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### netstat
|
||||
|
||||
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#netstat)
|
||||
**Required Telegraf plugin:** [Netstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-netstat)
|
||||
|
||||
`netstat.json`
|
||||
|
||||
|
@ -428,7 +428,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### processes
|
||||
|
||||
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#processes)
|
||||
**Required Telegraf plugin:** [Processes input plugin](/{{< latest "telegraf" >}}/plugins/#input-processes)
|
||||
|
||||
`processes.json`
|
||||
|
||||
|
@ -436,7 +436,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### procstat
|
||||
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat)
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
|
||||
|
||||
`procstat.json`
|
||||
|
||||
|
@ -445,7 +445,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
### system
|
||||
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#procstat)
|
||||
**Required Telegraf plugin:** [Procstat input plugin](/{{< latest "telegraf" >}}/plugins/#input-procstat)
|
||||
|
||||
`load.json`
|
||||
|
||||
|
@ -453,7 +453,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## varnish
|
||||
|
||||
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#varnish)
|
||||
**Required Telegraf plugin:** [Varnish](/{{< latest "telegraf" >}}/plugins/#input-varnish)
|
||||
|
||||
`varnish.json`
|
||||
|
||||
|
@ -462,7 +462,7 @@ Enable and disable apps in your Telegraf configuration file (by default, `/etc/t
|
|||
|
||||
## 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`
|
||||
|
||||
|
|
|
@ -380,31 +380,35 @@ Use the InfluxDB `influx_inspect export` and `influx -import` commands to create
|
|||
|
||||
### 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
|
||||
- Filtering with starting and ending timestamps
|
||||
- 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.
|
||||
|
||||
```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
|
||||
|
||||
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.
|
||||
|
||||
```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
|
||||
|
||||
|
|
|
@ -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
|
||||
- [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.
|
||||
> - 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
|
||||
|
||||
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
|
||||
- Filtering with starting and ending timestamps
|
||||
- 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.
|
||||
|
||||
```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
|
||||
|
||||
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.
|
||||
|
||||
```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
|
||||
|
||||
|
|
|
@ -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/)
|
||||
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/)
|
||||
|
||||
> **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/).
|
||||
|
|
|
@ -30,7 +30,7 @@ and get started!
|
|||
|
||||
## 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/)
|
||||
- [Get started](/enterprise_influxdb/v1.9/introduction/getting-started/)
|
||||
|
||||
|
|
|
@ -9,6 +9,52 @@ menu:
|
|||
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]
|
||||
|
||||
{{% 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 retry with exponential back-off to anti-entropy repair.
|
||||
- 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.
|
||||
- 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`.
|
||||
- Improve diagnostics for license problems.
|
||||
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.
|
||||
This data is collected and exposed at the data node level.
|
||||
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,
|
||||
and track what user credentials are being used to write data.
|
||||
- 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).
|
||||
- Update Prometheus remote protocol to allow streamed reading.
|
||||
- Improve performance of sorted merge iterator.
|
||||
|
|
|
@ -91,7 +91,7 @@ for a complete list of the global `influxd-ctl` options.
|
|||
databases, continuous queries, retention policies. Shards are not exported.
|
||||
- `-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`)
|
||||
- `-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
|
||||
|
||||
|
@ -176,9 +176,9 @@ $ ls ./telegrafbackup
|
|||
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.
|
||||
|
||||
```bash
|
||||
|
@ -316,8 +316,8 @@ Restored from my-incremental-backup/ in 83.892591ms, transferred 588800 bytes
|
|||
|
||||
##### Restore from a metadata backup
|
||||
|
||||
In this example, the `restore` command restores an metadata backup stored
|
||||
in the `metadata-backup/` directory.
|
||||
In this example, the `restore` command restores a [metadata backup](#perform-a-metadata-only-backup)
|
||||
stored in the `metadata-backup/` directory.
|
||||
|
||||
```bash
|
||||
# Syntax
|
||||
|
@ -402,6 +402,29 @@ time written
|
|||
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
|
||||
|
||||
##### 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.
|
||||
|
||||
```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
|
||||
|
@ -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.
|
||||
|
||||
```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).
|
||||
|
|
|
@ -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
|
||||
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
|
||||
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
|
||||
|
||||
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.
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue