Merge branch 'master' and changes from bonitoo
commit
9433c2b358
|
@ -4,8 +4,8 @@ jobs:
|
|||
docker:
|
||||
- image: circleci/node:erbium
|
||||
environment:
|
||||
HUGO_VERSION: "0.59.1"
|
||||
S3DEPLOY_VERSION: "2.3.2"
|
||||
HUGO_VERSION: "0.81.0"
|
||||
S3DEPLOY_VERSION: "2.3.5"
|
||||
steps:
|
||||
- checkout
|
||||
- restore_cache:
|
||||
|
@ -23,7 +23,7 @@ jobs:
|
|||
command: ./deploy/ci-install-s3deploy.sh
|
||||
- run:
|
||||
name: Install NodeJS dependencies
|
||||
command: sudo yarn global add postcss-cli autoprefixer redoc-cli
|
||||
command: sudo yarn global add postcss-cli@8.3.0 autoprefixer@9.8.6 redoc-cli@0.9.13
|
||||
- run:
|
||||
name: Generate API documentation
|
||||
command: cd api-docs && bash generate-api-docs.sh
|
||||
|
@ -56,7 +56,7 @@ jobs:
|
|||
- run:
|
||||
name: Post in Slack
|
||||
command: >
|
||||
export COMMIT_INFO="$(git log -1 --format='%n>>>%s%n%b%n_<https://github.com/influxdata/docs-v2/commit/%H|Commit %h> - by %an_')"; curl -X POST --data-urlencode "payload={\"username\": \"Doc the Docs Bot\", \"text\": \"The InfluxDB v2 docs successfully deployed! :greeny_peeny:\n\n $COMMIT_INFO\", \"icon_emoji\": \":doc_green:\"}" $SLACK_DOCS_WEBHOOK_URL
|
||||
export COMMIT_INFO="$(git log -1 --format='%n>>>%s%n%b%n_<https://github.com/influxdata/docs-v2/commit/%H|Commit %h> - by %an_')"; curl -X POST --data-urlencode "payload={\"username\": \"Doc the Docs Bot\", \"text\": \"The docs successfully deployed! :greeny_peeny:\n\n $COMMIT_INFO\", \"icon_emoji\": \":doc_green:\"}" $SLACK_DOCS_WEBHOOK_URL
|
||||
when: on_success
|
||||
|
||||
workflows:
|
||||
|
|
|
@ -0,0 +1,25 @@
|
|||
---
|
||||
name: Bug report
|
||||
about: Report an issue with the InfluxData documentation.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
_Describe the issue here._
|
||||
|
||||
##### Relevant URLs
|
||||
- _Provide relevant URLs (the doc page in question, project issues, community threads, etc.)_
|
||||
|
||||
<!--
|
||||
For software issues (bugs, unexpected behavior, etc.) in specific projects,
|
||||
create an issue in the appropriate repository:
|
||||
|
||||
- InfluxDB OSS issues at https://github.com/influxdata/influxdb
|
||||
- Telegraf issues at https://github.com/influxdata/telegraf
|
||||
- Chronograf issues at https://github.com/influxdata/chronograf
|
||||
- Kapacitor issues at https://github.com/influxdata/kapacitor
|
||||
- Flux issues at https://github.com/influxdata/flux
|
||||
|
||||
For issues with InfluxDB Cloud or InfluxDB Enterprise, contact support@influxdata.com.
|
||||
-->
|
|
@ -0,0 +1,37 @@
|
|||
---
|
||||
name: New feature
|
||||
about: Submit new InfluxData product features that need to be documented.
|
||||
title: ''
|
||||
labels: ''
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
**PR:** _Provide PR URL(s) for this feature (if available)_
|
||||
|
||||
_Describe the new feature here._
|
||||
|
||||
<!--
|
||||
Include pertinent details, such as:
|
||||
|
||||
- What the feature does and why it is useful
|
||||
- How to use the feature (via CLI, UI, API)
|
||||
- Specific code examples (used/tested)
|
||||
- Tips or tricks (hot keys/shortcuts)
|
||||
-->
|
||||
|
||||
##### Relevant URLs
|
||||
- _Provide relevant URLs (issues, community threads, existing doc pages, etc.)_
|
||||
|
||||
<!--
|
||||
IMPORTANT
|
||||
1. Apply product labels to this issue as applicable. For example, if a feature
|
||||
is included in both InfluxDB open source (OSS) and Cloud, add both
|
||||
`InfluxDB v2` and `InfluxDB Cloud` labels.
|
||||
|
||||
2. For features tied to a specific product release, add a milestone using the
|
||||
following convention:
|
||||
|
||||
<product-name> <semantic-version>
|
||||
|
||||
Examples: InfluxDB 2.0.5, Telegraf 1.18.0
|
||||
-->
|
|
@ -0,0 +1,12 @@
|
|||
---
|
||||
name: Proposal
|
||||
about: Propose changes to InfluxData documentation content, structure, layout, etc.
|
||||
title: ''
|
||||
labels: Proposal
|
||||
assignees: ''
|
||||
---
|
||||
|
||||
_Describe your proposal here._
|
||||
|
||||
##### Relevant URLs
|
||||
- _Provide relevant URLs_
|
|
@ -5,4 +5,4 @@ public
|
|||
node_modules
|
||||
*.log
|
||||
/resources
|
||||
/content/**/api.html
|
||||
/content/influxdb/*/api/**
|
||||
|
|
258
CONTRIBUTING.md
258
CONTRIBUTING.md
|
@ -10,6 +10,8 @@ What constitutes a "substantial" change is at the discretion of InfluxData docum
|
|||
|
||||
_**Note:** Typo and broken link fixes are greatly appreciated and do not require signing the CLA._
|
||||
|
||||
*If it's your first time contributing and you're looking for an easy update, check out our [good-first-issues](https://github.com/influxdata/docs-v2/issues?q=is%3Aissue+is%3Aopen+label%3Agood-first-issue)!*
|
||||
|
||||
## Make suggested updates
|
||||
|
||||
### Fork and clone InfluxData Documentation Repository
|
||||
|
@ -49,7 +51,17 @@ You need a database that specializes in time series.
|
|||
+You need InfluxDB.
|
||||
```
|
||||
|
||||
### Page frontmatter
|
||||
### Article headings
|
||||
Use only h2-h6 headings in markdown content.
|
||||
h1 headings act as the page title and are populated automatically from the `title` frontmatter.
|
||||
h2-h6 headings act as section headings.
|
||||
|
||||
### Image naming conventions
|
||||
Save images using the following naming format: `project/version-context-description.png`.
|
||||
For example, `influxdb/2-0-visualizations-line-graph.png` or `influxdb/2-0-tasks-add-new.png`.
|
||||
Specify a version other than 2.0 only if the image is specific to that version.
|
||||
|
||||
## Page frontmatter
|
||||
Every documentation page includes frontmatter which specifies information about the page.
|
||||
Frontmatter populates variables in page templates and the site's navigation menu.
|
||||
|
||||
|
@ -64,7 +76,7 @@ menu:
|
|||
parent: # Specifies a parent group and nests navigation items
|
||||
weight: # Determines sort order in both the nav tree and in article lists
|
||||
draft: # If true, will not render page on build
|
||||
v2.x/tags: # Tags specific to each version (replace .x" with the appropriate minor version )
|
||||
product/v2.x/tags: # Tags specific to each version (replace product and .x" with the appropriate product and minor version )
|
||||
related: # Creates links to specific internal and external content at the bottom of the page
|
||||
- /path/to/related/article
|
||||
- https://external-link.com, This is an external link
|
||||
|
@ -75,9 +87,11 @@ list_code_example: # Code example included with article descriptions in children
|
|||
list_query_example: # Code examples included with article descriptions in children type="articles" shortcode,
|
||||
# References to examples in data/query_examples
|
||||
products: # List of products that the page specifically applies to: [oss, cloud, enterprise]
|
||||
canonical: # Path to canonical page, overrides auto-gen'd canonical URL
|
||||
v2: # Path to v2 equivalent page
|
||||
```
|
||||
|
||||
#### Title usage
|
||||
### Title usage
|
||||
|
||||
##### `title`
|
||||
The `title` frontmatter populates each page's h1 header.
|
||||
|
@ -104,10 +118,68 @@ Then 201-299 and so on.
|
|||
|
||||
_**Note:** `_index.md` files should be weighted one level up from the other `.md` files in the same directory._
|
||||
|
||||
### Article headings
|
||||
Use only h2-h6 headings in markdown content.
|
||||
h1 headings act as the page title and are populated automatically from the `title` frontmatter.
|
||||
h2-h6 headings act as section headings.
|
||||
### Related content
|
||||
Use the `related` frontmatter to include links to specific articles at the bottom of an article.
|
||||
|
||||
- If the page exists inside of this documentation, just include the path to the page.
|
||||
It will automatically detect the title of the page.
|
||||
- If the page exists inside of this documentation, but you want to customize the link text,
|
||||
include the path to the page followed by a comma, and then the custom link text.
|
||||
The path and custom text must be in that order and separated by a comma and a space.
|
||||
- If the page exists outside of this documentation, include the full URL and a title for the link.
|
||||
The link and title must be in that order and separated by a comma and a space.
|
||||
|
||||
```yaml
|
||||
related:
|
||||
- /v2.0/write-data/quick-start
|
||||
- /v2.0/write-data/quick-start, This is custom text for an internal link
|
||||
- https://influxdata.com, This is an external link
|
||||
```
|
||||
|
||||
### Canonical URLs
|
||||
Search engines use canonical URLs to accurately rank pages with similar or identical content.
|
||||
The `canonical` HTML meta tag identifies which page should be used as the source of truth.
|
||||
|
||||
By default, canonical URLs are automatically generated for each page in the InfluxData
|
||||
documentation using the latest version of the current product and the current path.
|
||||
|
||||
Use the `canonical` frontmatter to override the auto-generated canonical URL.
|
||||
|
||||
_**Note:** The `canonical` frontmatter supports the [`{{< latest >}}` shortcode](#latest-links)._
|
||||
|
||||
```yaml
|
||||
canonical: /path/to/canonical/doc/
|
||||
|
||||
# OR
|
||||
|
||||
canonical: /{{< latest "influxdb" "v2" >}}/path/to/canonical/doc/
|
||||
```
|
||||
|
||||
## v2 equivalent documentation
|
||||
To display a notice on a 1.x page that links to an equivalent 2.0 page,
|
||||
add the following frontmatter to the 1.x page:
|
||||
|
||||
```yaml
|
||||
v2: /influxdb/v2.0/get-started/
|
||||
```
|
||||
|
||||
### Cascade
|
||||
To automatically apply frontmatter to a page and all of its children, use the
|
||||
[`cascade` frontmatter](https://gohugo.io/content-management/front-matter/#front-matter-cascade)
|
||||
built in into Hugo.
|
||||
|
||||
```yaml
|
||||
title: Example page
|
||||
description: Example description
|
||||
cascade:
|
||||
layout: custom-layout
|
||||
```
|
||||
|
||||
`cascade` applies the frontmatter to all children unless the child already includes
|
||||
those frontmatter keys. Frontmaatter defined on the page overrides fronmattered
|
||||
"cascaded" from a parent.
|
||||
|
||||
## Shortcodes
|
||||
|
||||
### Notes and warnings
|
||||
Shortcodes are available for formatting notes and warnings in each article:
|
||||
|
@ -131,13 +203,6 @@ Insert enterprise-specific markdown content here.
|
|||
{{% /enterprise %}}
|
||||
```
|
||||
|
||||
#### All content is Enterprise-specific
|
||||
If all content in an article is Enterprise-specific, include `enterprise`in the `products` frontmatter.
|
||||
|
||||
```yaml
|
||||
products: [enterprise]
|
||||
```
|
||||
|
||||
#### Enterprise name
|
||||
The name used to refer to InfluxData's enterprise offering is subject to change.
|
||||
To facilitate easy updates in the future, use the `enterprise-name` shortcode
|
||||
|
@ -171,13 +236,6 @@ Insert cloud-specific markdown content here.
|
|||
{{% /cloud %}}
|
||||
```
|
||||
|
||||
#### All content is cloud-specific
|
||||
If all content in an article is cloud-specific, include `cloud` in the `products` frontmatter.
|
||||
|
||||
```yaml
|
||||
products: [cloud]
|
||||
```
|
||||
|
||||
#### InfluxDB Cloud name
|
||||
The name used to refer to InfluxData's cloud offering is subject to change.
|
||||
To facilitate easy updates in the future, use the `cloud-name` short-code when
|
||||
|
@ -202,11 +260,37 @@ InfluxDB Cloud.
|
|||
Find more info [here][{{< cloud-link >}}]
|
||||
```
|
||||
|
||||
### InfluxDB OSS Content
|
||||
If all content in an article is OSS-specific, include `oss` in the `products` frontmatter.
|
||||
### Latest links
|
||||
Each of the InfluxData projects have different "latest" versions.
|
||||
Use the `{{< latest >}}` shortcode to populate link paths with the latest version
|
||||
for the specified project.
|
||||
|
||||
```yaml
|
||||
products: [oss]
|
||||
```md
|
||||
[Link to latest Telegraf](/{{< latest "telegraf" >}}/path/to/doc/)
|
||||
```
|
||||
|
||||
To constrain the latest link to a major version, include a second argument with
|
||||
the major version:
|
||||
|
||||
```md
|
||||
[Link to latest InfluxDB 1.x](/{{< latest "influxdb" "v1" >}}/path/to/doc/)]
|
||||
```
|
||||
|
||||
`{{< latest "telegraf" >}}` is replaced with `telegraf/v1.15` (or whatever the latest version is).
|
||||
`{{< latest "influxdb" "v1" >}}` is replaced with `influxdb/v1.8` (or whatever the latest v1.x version is).
|
||||
|
||||
Use the following for project names:
|
||||
|
||||
- influxdb
|
||||
- telegraf
|
||||
- chronograf
|
||||
- kapacitor
|
||||
- enterprise_influxdb
|
||||
|
||||
**Note**: Include a leading slash before the latest shortcode and a trailing slash after in all link paths:
|
||||
|
||||
```md
|
||||
/{{< latest "telegraf" >}}/
|
||||
```
|
||||
|
||||
### Tabbed Content
|
||||
|
@ -296,18 +380,69 @@ WHERE time > now() - 15m
|
|||
{{< /code-tabs-wrapper >}}
|
||||
~~~
|
||||
|
||||
### Related content
|
||||
Use the `related` frontmatter to include links to specific articles at the bottom of an article.
|
||||
### Required elements
|
||||
Use the `{{< req >}}` shortcode to identify required elements in documentation with
|
||||
orange text and/or asterisks. By default, the shortcode outputs the text, "Required," but
|
||||
you can customize the text by passing a string argument with the shortcode.
|
||||
|
||||
- If the page exists inside of this documentation, just include the path to the page.
|
||||
It will automatically detect the title of the page.
|
||||
- If the page exists outside of this documentation, include the full URL and a title for the link.
|
||||
The link and title must be in that order and must be separated by a comma and a space.
|
||||
```md
|
||||
{{< req >}}
|
||||
```
|
||||
|
||||
```yaml
|
||||
related:
|
||||
- /v2.0/write-data/quick-start
|
||||
- https://influxdata.com, This is an external link
|
||||
**Output:** Required
|
||||
|
||||
```md
|
||||
{{< req "This is Required" >}}
|
||||
```
|
||||
|
||||
**Output:** This is required
|
||||
|
||||
#### Required elements in a list
|
||||
When identifying required elements in a list, use `{{< req type="key" >}}` to generate
|
||||
a "* Required" key before the list. For required elements in the list, include
|
||||
{{< req "\*" >}} before the text of the list item. For example:
|
||||
|
||||
```md
|
||||
{{< req type="key" >}}
|
||||
|
||||
- {{< req "\*" >}} **This element is required**
|
||||
- {{< req "\*" >}} **This element is also required**
|
||||
- **This element is NOT required**
|
||||
```
|
||||
|
||||
### Keybinds
|
||||
Use the `{{< keybind >}}` shortcode to include OS-specific keybindings/hotkeys.
|
||||
The following parameters are available:
|
||||
|
||||
- mac
|
||||
- linux
|
||||
- win
|
||||
- all
|
||||
- other
|
||||
|
||||
```md
|
||||
<!-- Provide keybinding for one OS and another for all others -->
|
||||
{{< keybind mac="⇧⌘P" other="Ctrl+Shift+P" >}}
|
||||
|
||||
<!-- Provide a keybind for all OSs -->
|
||||
{{< keybind all="Ctrl+Shift+P" >}}
|
||||
|
||||
<!-- Provide unique keybindings for each OS -->
|
||||
{{< keybind mac="⇧⌘P" linux="Ctrl+Shift+P" win="Ctrl+Shift+Alt+P" >}}
|
||||
```
|
||||
|
||||
### Diagrams
|
||||
Use the `{{< diagram >}}` shortcode to dynamically build diagrams.
|
||||
The shortcode uses [mermaid.js](https://github.com/mermaid-js/mermaid) to convert
|
||||
simple text into SVG diagrams.
|
||||
For information about the syntax, see the [mermaid.js documentation](https://mermaid-js.github.io/mermaid/#/).
|
||||
|
||||
```md
|
||||
{{< diagram >}}
|
||||
flowchart TB
|
||||
This --> That
|
||||
That --> There
|
||||
{{< /diagram >}}
|
||||
```
|
||||
|
||||
### High-resolution images
|
||||
|
@ -345,19 +480,34 @@ Each expandable block needs a label that users can click to expand or collpase t
|
|||
Pass the label as a string to the shortcode.
|
||||
|
||||
```md
|
||||
{{% expand "Lable 1"}}
|
||||
{{% expand "Label 1" %}}
|
||||
Markdown content associated with label 1.
|
||||
{{% /expand %}}
|
||||
|
||||
{{% expand "Lable 2"}}
|
||||
{{% expand "Label 2" %}}
|
||||
Markdown content associated with label 2.
|
||||
{{% /expand %}}
|
||||
|
||||
{{% expand "Lable 3"}}
|
||||
{{% expand "Label 3" %}}
|
||||
Markdown content associated with label 3.
|
||||
{{% /expand %}}
|
||||
```
|
||||
|
||||
Use the optional `{{< expand-wrapper >}}` shortcode around a group of `{{% expand %}}`
|
||||
shortcodes to ensure proper spacing around the expandable elements:
|
||||
|
||||
```md
|
||||
{{< expand-wrapper >}}
|
||||
{{% expand "Label 1" %}}
|
||||
Markdown content associated with label 1.
|
||||
{{% /expand %}}
|
||||
|
||||
{{% expand "Label 2" %}}
|
||||
Markdown content associated with label 2.
|
||||
{{% /expand %}}
|
||||
{{< /expand-wrapper >}}
|
||||
```
|
||||
|
||||
### Generate a list of children articles
|
||||
Section landing pages often contain just a list of articles with links and descriptions for each.
|
||||
This can be cumbersome to maintain as content is added.
|
||||
|
@ -492,6 +642,8 @@ Below is a list of available icons (some are aliases):
|
|||
- nav-orgs
|
||||
- nav-tasks
|
||||
- note
|
||||
- notebook
|
||||
- notebooks
|
||||
- org
|
||||
- orgs
|
||||
- pause
|
||||
|
@ -518,13 +670,14 @@ In many cases, documentation references an item in the left nav of the InfluxDB
|
|||
Provide a visual example of the navigation item using the `nav-icon` shortcode.
|
||||
|
||||
```
|
||||
{{< nav-icon "Tasks" >}}
|
||||
{{< nav-icon "tasks" >}}
|
||||
```
|
||||
|
||||
The following case insensitive values are supported:
|
||||
|
||||
- admin, influx
|
||||
- data-explorer, data explorer
|
||||
- notebooks, books
|
||||
- dashboards
|
||||
- tasks
|
||||
- monitor, alerts, bell
|
||||
|
@ -599,24 +752,13 @@ menu:
|
|||
influxdb_2_0_ref:
|
||||
# ...
|
||||
```
|
||||
### Image naming conventions
|
||||
Save images using the following naming format: `project/version-context-description.png`.
|
||||
For example, `influxdb/2-0-visualizations-line-graph.png` or `influxdb/2-0-tasks-add-new.png`.
|
||||
Specify a version other than 2.0 only if the image is specific to that version.
|
||||
|
||||
## InfluxDB API documentation
|
||||
InfluxData uses [Redoc](https://github.com/Redocly/redoc) to generate the full
|
||||
InfluxDB API documentation when documentation is deployed.
|
||||
Redoc generates HTML documentation using the InfluxDB `swagger.yml`.
|
||||
For more information about generating InfluxDB API documentation, see the
|
||||
[API Documentation README](https://github.com/influxdata/docs-v2/tree/master/api-docs#readme).
|
||||
|
||||
## InfluxDB URLs
|
||||
When a user selects an InfluxDB product and region, example URLs in code blocks
|
||||
throughout the documentation are updated to match their product and region.
|
||||
InfluxDB URLs are configured in `/data/influxdb_urls.yml`.
|
||||
|
||||
By default, the InfluxDB URL replaced inside of code blocks is `http://localhost:9999`.
|
||||
By default, the InfluxDB URL replaced inside of code blocks is `http://localhost:8086`.
|
||||
Use this URL in all code examples that should be updated with a selected provider and region.
|
||||
|
||||
For example:
|
||||
|
@ -624,14 +766,14 @@ For example:
|
|||
~~~
|
||||
```sh
|
||||
# This URL will get updated
|
||||
http://localhost:9999
|
||||
http://localhost:8086
|
||||
|
||||
# This URL will NOT get updated
|
||||
http://example.com
|
||||
```
|
||||
~~~
|
||||
|
||||
If the user selects the **US West (Oregon)** region, all occurrences of `http://localhost:9999`
|
||||
If the user selects the **US West (Oregon)** region, all occurrences of `http://localhost:8086`
|
||||
in code blocks will get updated to `https://us-west-2-1.aws.cloud2.influxdata.com`.
|
||||
|
||||
### Exempt URLs from getting updated
|
||||
|
@ -642,7 +784,7 @@ just before the code block.
|
|||
{{< keep-url >}}
|
||||
```
|
||||
// This URL won't get updated
|
||||
http://localhost:9999
|
||||
http://localhost:8086
|
||||
```
|
||||
~~~
|
||||
|
||||
|
@ -711,8 +853,14 @@ _This example assumes v2.0 is the most recent version and v2.1 is the new versio
|
|||
|
||||
8. Commit the changes and push the new branch to Github.
|
||||
|
||||
|
||||
These changes lay the foundation for the new version.
|
||||
All other changes specific to the new version should be merged into this branch.
|
||||
Once the necessary changes are in place and the new version is released,
|
||||
merge the new branch into `master`.
|
||||
|
||||
## InfluxDB API documentation
|
||||
InfluxData uses [Redoc](https://github.com/Redocly/redoc) to generate the full
|
||||
InfluxDB API documentation when documentation is deployed.
|
||||
Redoc generates HTML documentation using the InfluxDB `swagger.yml`.
|
||||
For more information about generating InfluxDB API documentation, see the
|
||||
[API Documentation README](https://github.com/influxdata/docs-v2/tree/master/api-docs#readme).
|
||||
|
|
18
README.md
18
README.md
|
@ -23,17 +23,23 @@ including our GPG key, can be found at https://www.influxdata.com/how-to-report-
|
|||
2. **Install Hugo**
|
||||
|
||||
The InfluxData documentation uses [Hugo](https://gohugo.io/), a static site generator built in Go.
|
||||
The InfluxData documentation utilizes Hugo's asset pipeline and requires the extended version of Hugo.
|
||||
See the Hugo documentation for information about how to [download and install Hugo](https://gohugo.io/getting-started/installing/).
|
||||
|
||||
3. **Install NodeJS & Asset Pipeline Tools**
|
||||
_**Note:** The most recent version of Hugo tested with this documentation is **0.81.0**._
|
||||
|
||||
3. **Install NodeJS, Yarn, & Asset Pipeline Tools**
|
||||
|
||||
This project uses tools written in NodeJS to build and process stylesheets and javascript.
|
||||
In order for assets to build correctly, [install NodeJS](https://nodejs.org/en/download/)
|
||||
and run the following command to install the necessary tools:
|
||||
To successfully build assets:
|
||||
|
||||
```
|
||||
npm i -g postcss-cli autoprefixer
|
||||
```
|
||||
1. [Install NodeJS](https://nodejs.org/en/download/)
|
||||
2. [Install Yarn](https://classic.yarnpkg.com/en/docs/install/)
|
||||
3. Run the following command to install the necessary tools:
|
||||
|
||||
```sh
|
||||
sudo yarn global add postcss-cli@8.3.0 autoprefixer@9.8.6
|
||||
```
|
||||
|
||||
4. **Start the Hugo server**
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,329 @@
|
|||
openapi: "3.0.0"
|
||||
info:
|
||||
title: Influx API Service (V1 compatible endpoints)
|
||||
version: 0.1.0
|
||||
servers:
|
||||
- url: /
|
||||
description: V1 compatible api endpoints.
|
||||
paths:
|
||||
/write:
|
||||
post: # technically this functions with other methods as well
|
||||
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: The bucket to write to. If none exist a bucket will be created with a default 3 day retention policy.
|
||||
- in: query
|
||||
name: rp
|
||||
schema:
|
||||
type: string
|
||||
description: The 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: # technically this functions with other methods as well
|
||||
operationId: PostQueryV1
|
||||
tags:
|
||||
- Query
|
||||
summary: Query InfluxDB in a V1 compatible format
|
||||
requestBody:
|
||||
description: InfluxQL query to execute.
|
||||
content:
|
||||
text/plain: # although this should be `application/vnd.influxql`, oats breaks so we define the content-type header parameter
|
||||
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:** When using `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: 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
|
||||
# This set of enumerations must remain in sync with the constants defined in errors.go
|
||||
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]
|
|
@ -7,36 +7,70 @@ for version in $versions
|
|||
do
|
||||
# Trim the trailing slash off the directory name
|
||||
version="${version%/}"
|
||||
menu="${version//./_}_ref"
|
||||
menu="influxdb_$(echo $version | sed 's/\./_/g;s/v//g;')_ref"
|
||||
if [ $version = "cloud" ]; then
|
||||
titleVersion="Cloud"
|
||||
else
|
||||
titleVersion="$version"
|
||||
fi
|
||||
|
||||
# Generate the frontmatter
|
||||
frontmatter="---
|
||||
title: InfluxDB $version API documentation
|
||||
v2frontmatter="---
|
||||
title: InfluxDB $titleVersion API documentation
|
||||
description: >
|
||||
The InfluxDB API provides a programmatic interface for interactions with InfluxDB $version.
|
||||
The InfluxDB API provides a programmatic interface for interactions with InfluxDB $titleVersion.
|
||||
layout: api
|
||||
menu:
|
||||
$menu:
|
||||
parent: InfluxDB v2 API
|
||||
name: View full API docs
|
||||
name: View v2 API docs
|
||||
weight: 102
|
||||
---
|
||||
"
|
||||
v1frontmatter="---
|
||||
title: InfluxDB $titleVersion v1 compatiblity API documentation
|
||||
description: >
|
||||
The InfluxDB v1 compatility API provides a programmatic interface for interactions with InfluxDB $titleVersion using InfluxDB v1.x compatibly endpoints.
|
||||
layout: api
|
||||
menu:
|
||||
$menu:
|
||||
parent: 1.x compatibility
|
||||
name: View v1 compatibility API docs
|
||||
weight: 304
|
||||
---
|
||||
"
|
||||
|
||||
# Use Redoc to generate the API html
|
||||
# Use Redoc to generate the v2 API html
|
||||
redoc-cli bundle -t template.hbs \
|
||||
--title="InfluxDB $version API documentation" \
|
||||
--title="InfluxDB $titleVersion API documentation" \
|
||||
--options.sortPropsAlphabetically \
|
||||
--options.menuToggle \
|
||||
--options.hideHostname \
|
||||
--templateOptions.version="$version" \
|
||||
--templateOptions.titleVersion="$titleVersion" \
|
||||
$version/swagger.yml
|
||||
|
||||
# Use Redoc to generate the v1 compatibility API html
|
||||
redoc-cli bundle -t template.hbs \
|
||||
--title="InfluxDB $titleVersion v1 compatibility API documentation" \
|
||||
--options.sortPropsAlphabetically \
|
||||
--options.menuToggle \
|
||||
--options.hideHostname \
|
||||
--templateOptions.version="$version" \
|
||||
--templateOptions.titleVersion="$titleVersion" \
|
||||
--output=redoc-static-v1-compat.html \
|
||||
$version/swaggerV1Compat.yml
|
||||
|
||||
# Create temp file with frontmatter and Redoc html
|
||||
echo "$frontmatter" >> $version.tmp
|
||||
echo "$v2frontmatter" >> $version.tmp
|
||||
echo "$v1frontmatter" >> $version-v1-compat.tmp
|
||||
cat redoc-static.html >> $version.tmp
|
||||
cat redoc-static-v1-compat.html >> $version-v1-compat.tmp
|
||||
|
||||
# Remove redoc file and move the tmp file to it's proper place
|
||||
rm -f redoc-static.html
|
||||
mv $version.tmp ../content/influxdb/$version/api.html
|
||||
rm -f redoc-static-v1-compat.html
|
||||
mkdir -p ../content/influxdb/$version/api
|
||||
mv $version.tmp ../content/influxdb/$version/api/_index.html
|
||||
mv $version-v1-compat.tmp ../content/influxdb/$version/api/v1-compatibility.html
|
||||
done
|
||||
|
|
|
@ -39,7 +39,8 @@
|
|||
<div class="spinner"></div>
|
||||
</div>
|
||||
<div id="influx-header">
|
||||
<a href="/{{templateOptions.version}}">InfluxDB {{templateOptions.version}} Docs</a>
|
||||
<a class="back" href="/influxdb/{{templateOptions.version}}/">InfluxDB <span class="version">{{templateOptions.titleVersion}}</span> Docs</a>
|
||||
<a class="btn" href="https://github.com/influxdata/influxdb/issues/new/choose/" target="_blank">Submit API issue</a>
|
||||
</div>
|
||||
{{{redocHTML}}}
|
||||
<script type="text/javascript">
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,329 @@
|
|||
openapi: "3.0.0"
|
||||
info:
|
||||
title: Influx API Service (V1 compatible endpoints)
|
||||
version: 0.1.0
|
||||
servers:
|
||||
- url: /
|
||||
description: V1 compatible api endpoints.
|
||||
paths:
|
||||
/write:
|
||||
post: # technically this functions with other methods as well
|
||||
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: The bucket to write to. If none exist a bucket will be created with a default 3 day retention policy.
|
||||
- in: query
|
||||
name: rp
|
||||
schema:
|
||||
type: string
|
||||
description: The 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: # technically this functions with other methods as well
|
||||
operationId: PostQueryV1
|
||||
tags:
|
||||
- Query
|
||||
summary: Query InfluxDB in a V1 compatible format
|
||||
requestBody:
|
||||
description: InfluxQL query to execute.
|
||||
content:
|
||||
text/plain: # although this should be `application/vnd.influxql`, oats breaks so we define the content-type header parameter
|
||||
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:** When using `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: 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
|
||||
# This set of enumerations must remain in sync with the constants defined in errors.go
|
||||
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]
|
|
@ -20,10 +20,7 @@ var elementWhiteList = [
|
|||
"a.url-trigger"
|
||||
]
|
||||
|
||||
$('.article a[href^="#"]:not(' + elementWhiteList + ')').click(function (e) {
|
||||
e.preventDefault();
|
||||
|
||||
var target = this.hash;
|
||||
function scrollToAnchor(target) {
|
||||
var $target = $(target);
|
||||
|
||||
$('html, body').stop().animate({
|
||||
|
@ -31,6 +28,11 @@ $('.article a[href^="#"]:not(' + elementWhiteList + ')').click(function (e) {
|
|||
}, 400, 'swing', function () {
|
||||
window.location.hash = target;
|
||||
});
|
||||
}
|
||||
|
||||
$('.article a[href^="#"]:not(' + elementWhiteList + ')').click(function (e) {
|
||||
e.preventDefault();
|
||||
scrollToAnchor(this.hash);
|
||||
});
|
||||
|
||||
///////////////////////////// Left Nav Interactions /////////////////////////////
|
||||
|
@ -80,6 +82,29 @@ function tabbedContent(container, tab, content) {
|
|||
tabbedContent('.code-tabs-wrapper', '.code-tabs p a', '.code-tab-content');
|
||||
tabbedContent('.tabs-wrapper', '.tabs p a', '.tab-content');
|
||||
|
||||
//////////////////////// Activate Tabs with Query Params ////////////////////////
|
||||
|
||||
const queryParams = new URLSearchParams(window.location.search);
|
||||
var anchor = window.location.hash
|
||||
|
||||
tab = $('<textarea />').html(queryParams.get('t')).text();
|
||||
|
||||
if (tab !== "") {
|
||||
var targetTab = $('.tabs a:contains("' + tab + '")')
|
||||
targetTab.click()
|
||||
if (anchor !== "") { scrollToAnchor(anchor) }
|
||||
}
|
||||
|
||||
$('.tabs p a').click(function() {
|
||||
if ($(this).is(':not(":first-child")')) {
|
||||
queryParams.set('t', $(this).html())
|
||||
window.history.replaceState({}, '', `${location.pathname}?${queryParams}${anchor}`);
|
||||
} else {
|
||||
queryParams.delete('t')
|
||||
window.history.replaceState({}, '', `${location.pathname}${anchor}`);
|
||||
}
|
||||
})
|
||||
|
||||
/////////////////////////////// Truncate Content ///////////////////////////////
|
||||
|
||||
$(".truncate-toggle").click(function(e) {
|
||||
|
@ -94,13 +119,6 @@ $('.expand-label').click(function() {
|
|||
$(this).next('.expand-content').slideToggle(200)
|
||||
})
|
||||
|
||||
//////////////////// Replace Missing Images with Placeholder ///////////////////
|
||||
|
||||
$(".article--content img").on("error", function() {
|
||||
$(this).attr("src", "/img/coming-soon.svg");
|
||||
$(this).attr("style", "max-width:500px;");
|
||||
});
|
||||
|
||||
////////////////////////// Inject tooltips on load //////////////////////////////
|
||||
|
||||
$('.tooltip').each( function(){
|
||||
|
|
|
@ -0,0 +1,12 @@
|
|||
// Show the url feature callout on page load
|
||||
if ( Cookies.get('influxdb_url_selector_seen') != 'true' ) {
|
||||
$('#callout-url-selector').fadeIn(300).removeClass('start-position')
|
||||
}
|
||||
|
||||
// Set feature cookie when the button is clicked
|
||||
$('button.url-trigger, #callout-url-selector .close').click(function() {
|
||||
if ( Cookies.get('influxdb_url_selector_seen') != 'true') {
|
||||
Cookies.set('influxdb_url_selector_seen', 'true')
|
||||
$('#callout-url-selector').fadeOut(200)
|
||||
}
|
||||
})
|
|
@ -1,76 +1,73 @@
|
|||
var defaultUrl = "http://localhost:9999"
|
||||
var placeholderCloudUrl = "https://cloud2.influxdata.com"
|
||||
var defaultCloudUrl = "https://us-west-2-1.aws.cloud2.influxdata.com"
|
||||
var placeholderUrls = {
|
||||
cloud: "https://cloud2.influxdata.com",
|
||||
oss: "http://localhost:8086"
|
||||
}
|
||||
|
||||
var defaultUrls = {
|
||||
cloud: "https://us-west-2-1.aws.cloud2.influxdata.com",
|
||||
oss: "http://localhost:8086"
|
||||
}
|
||||
|
||||
var elementSelector = ".article--content pre:not(.preserve)"
|
||||
|
||||
// Retrieve the selected URL from the influxdb_url session cookie
|
||||
function getUrl() {
|
||||
var currentUrl = Cookies.get('influxdb_url')
|
||||
if (typeof currentUrl == 'undefined' ) {
|
||||
return defaultUrl
|
||||
// Return the page context (cloud, oss/enterprise, other)
|
||||
function context() {
|
||||
if (/\/influxdb\/cloud\//.test(window.location.pathname)) {
|
||||
return "cloud"
|
||||
} else if (/\/(enterprise_|influxdb).*\/v[1-2]\.[0-9]{1,2}\//.test(window.location.pathname)) {
|
||||
return "oss/enterprise"
|
||||
} else {
|
||||
return currentUrl
|
||||
return "other"
|
||||
}
|
||||
}
|
||||
|
||||
// Retrieve the previously selected URL from the influxdb_prev_url session cookie
|
||||
// This is used to update URLs whenever you switch between browser tabs
|
||||
function getPrevUrl() {
|
||||
var prevUrl = Cookies.get('influxdb_prev_url')
|
||||
if (typeof prevUrl == 'undefined' ) {
|
||||
return defaultUrl
|
||||
} else {
|
||||
return prevUrl
|
||||
}
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////// Session-management functions /////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Retrieve the user's InfluxDB preference (cloud or oss) from the influxdb_pref session cookie
|
||||
// Default is cloud.
|
||||
function getPreference() {
|
||||
return Cookies.get('influxdb_pref') || "cloud"
|
||||
}
|
||||
|
||||
// Iterate through code blocks and update InfluxDB urls
|
||||
function updateUrls(currentUrl, newUrl) {
|
||||
if (typeof currentUrl != newUrl) {
|
||||
$(elementSelector).each(function() {
|
||||
$(this).html($(this).html().replace(currentUrl, newUrl));
|
||||
});
|
||||
}
|
||||
// Set the user's selected InfluxDB preference (cloud or oss)
|
||||
function setPreference(preference) {
|
||||
Cookies.set('influxdb_pref', preference)
|
||||
}
|
||||
|
||||
// Append the URL selector button to each codeblock with an InfluxDB URL
|
||||
function appendUrlSelector(currentUrl, selectorText) {
|
||||
$(elementSelector).each(function() {
|
||||
var code = $(this).html()
|
||||
if (code.includes(currentUrl)) {
|
||||
$(this).after("<div class='select-url'><a class='url-trigger' href='#'>" + selectorText + "</a></div>")
|
||||
$('.select-url').fadeIn(400)
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Toggle the URL selector modal window
|
||||
function toggleModal() {
|
||||
$(".modal").fadeToggle(200).toggleClass("open")
|
||||
}
|
||||
|
||||
// Set the selected URL radio button to :checked
|
||||
function setRadioButton(currentUrl) {
|
||||
$('input[name="influxdb-loc"][value="' + currentUrl + '"]').prop("checked", true)
|
||||
}
|
||||
// InfluxDB URL-Related Session keys
|
||||
//
|
||||
// influxdb_oss_url
|
||||
// influxdb_cloud_url
|
||||
// influxdb_prev_oss_url
|
||||
// influxdb_prev_cloud_url
|
||||
// influxdb_pref (cloud | oss)
|
||||
// influxdb_custom_url
|
||||
|
||||
// Store the InfluxDB URL session cookies – influxdb_url and influxdb_prev_url
|
||||
function storeUrl(newUrl, prevUrl) {
|
||||
Cookies.set('influxdb_prev_url', prevUrl)
|
||||
Cookies.set('influxdb_url', newUrl)
|
||||
function storeUrl(context, newUrl, prevUrl) {
|
||||
Cookies.set('influxdb_prev_' + context + '_url', prevUrl)
|
||||
Cookies.set('influxdb_' + context + '_url', newUrl)
|
||||
}
|
||||
|
||||
// Store custom URL session cookie – influxdb_custom_url
|
||||
// Used to populate the custom URL field
|
||||
function storeCustomUrl(customUrl) {
|
||||
Cookies.set('influxdb_custom_url', customUrl)
|
||||
$('input#custom[type=radio]').val(customUrl)
|
||||
}
|
||||
|
||||
// Remove custom URL session cookie – influxdb_custom_url
|
||||
// Used to clear the form when custom url input is left empty
|
||||
function removeCustomUrl() {
|
||||
Cookies.remove('influxdb_custom_url')
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
//////////////////////// InfluxDB URL utility functions ////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Preserve URLs in codeblocks that come just after or are inside a div
|
||||
// with the class, .keep-url
|
||||
function addPreserve() {
|
||||
|
@ -85,81 +82,258 @@ function addPreserve() {
|
|||
})
|
||||
}
|
||||
|
||||
// Update URLs when selected in the modal
|
||||
$('input[name="influxdb-loc"]').change(function() {
|
||||
var newUrl = $(this).val()
|
||||
updateUrls(getUrl(), newUrl)
|
||||
storeUrl(newUrl, getUrl())
|
||||
})
|
||||
// Retrieve the previously selected cloud and oss URLs from the
|
||||
// influxdb_cloud_url and influxdb_oss_url session cookies.
|
||||
function getUrls() {
|
||||
var currentCloudUrl = Cookies.get('influxdb_cloud_url') || defaultUrls.cloud
|
||||
var currentOSSUrl = Cookies.get('influxdb_oss_url') || defaultUrls.oss
|
||||
var urls = {
|
||||
cloud: currentCloudUrl,
|
||||
oss: currentOSSUrl
|
||||
};
|
||||
return urls;
|
||||
}
|
||||
|
||||
// Retrieve the previously selected cloud and oss URLs from the
|
||||
// prev_influxdb_cloud_url and prev_influxdb_oss_url session cookies.
|
||||
// This is used to update URLs whenever you switch between browser tabs.
|
||||
function getPrevUrls() {
|
||||
var prevCloudUrl = Cookies.get('influxdb_prev_cloud_url') || defaultUrls.cloud
|
||||
var prevOSSUrl = Cookies.get('influxdb_prev_oss_url') || defaultUrls.oss
|
||||
var prevUrls = {
|
||||
cloud: prevCloudUrl,
|
||||
oss: prevOSSUrl
|
||||
};
|
||||
return prevUrls;
|
||||
}
|
||||
|
||||
// Iterate through code blocks and update InfluxDB urls
|
||||
// Requires objects with cloud and oss keys and url values
|
||||
function updateUrls(prevUrls, newUrls) {
|
||||
|
||||
var preference = getPreference()
|
||||
|
||||
var cloudReplacements = [
|
||||
{ replace: prevUrls.cloud, with: newUrls.cloud},
|
||||
{ replace: prevUrls.oss, with: newUrls.cloud }
|
||||
]
|
||||
var ossReplacements = [
|
||||
{ replace: prevUrls.cloud, with: newUrls.cloud},
|
||||
{ replace: prevUrls.oss, with: newUrls.oss }
|
||||
]
|
||||
|
||||
if (context() === "cloud") { var replacements = cloudReplacements }
|
||||
else if (context() === "oss/enterprise") { var replacements = ossReplacements }
|
||||
else if ( preference === "cloud" ) { var replacements = cloudReplacements }
|
||||
else { var replacements = ossReplacements }
|
||||
|
||||
replacements.forEach(function (o) {
|
||||
if (o.replace != o.with) {
|
||||
$(elementSelector).each(function() {
|
||||
$(this).html($(this).html().replace(RegExp(o.replace, "g"), o.with));
|
||||
});
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// Append the URL selector button to each codeblock with an InfluxDB Cloud or OSS URL
|
||||
function appendUrlSelector() {
|
||||
|
||||
var appendToUrls = [ placeholderUrls.cloud, placeholderUrls.oss ]
|
||||
|
||||
if (context() === "cloud") {
|
||||
var selectorText = "InfluxDB Cloud Region"
|
||||
} else if (context() === "oss/enterprise") {
|
||||
var selectorText = "Change InfluxDB URL"
|
||||
} else {
|
||||
var selectorText = "InfluxDB Cloud or OSS?"
|
||||
}
|
||||
|
||||
appendToUrls.forEach(function(url){
|
||||
$(elementSelector).each(function() {
|
||||
var code = $(this).html()
|
||||
if (code.includes(url)) {
|
||||
$(this).after("<div class='select-url'><a class='url-trigger' href='#'>" + selectorText + "</a></div>")
|
||||
$('.select-url').fadeIn(400)
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////// Function executions //////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Add the preserve tag to code blocks that shouldn't be udpated
|
||||
addPreserve()
|
||||
|
||||
// Update URLs on load
|
||||
updateUrls(defaultUrl, getUrl())
|
||||
|
||||
// Append URL selector buttons to code blocks
|
||||
appendUrlSelector(getUrl(), "Cloud or OSS?")
|
||||
appendUrlSelector()
|
||||
|
||||
// Append URL selector buttons to cloud-only code blocks
|
||||
appendUrlSelector(placeholderCloudUrl, "InfluxDB Cloud Region")
|
||||
// Update URLs on load
|
||||
updateUrls(placeholderUrls, getUrls())
|
||||
|
||||
// Update cloud-only URLs on load
|
||||
if (cloudUrls.includes(getUrl())) {
|
||||
updateUrls(placeholderCloudUrl, getUrl())
|
||||
} else {
|
||||
updateUrls(placeholderCloudUrl, defaultCloudUrl)
|
||||
}
|
||||
// Set active radio button on page load
|
||||
setRadioButtons(getUrls())
|
||||
|
||||
// Update URLs whenever you focus on the browser tab
|
||||
$(window).focus(function() {
|
||||
updateUrls(getPrevUrl(), getUrl())
|
||||
setRadioButton(getUrl())
|
||||
updateUrls(getPrevUrls(), getUrls())
|
||||
setRadioButtons(getUrls())
|
||||
});
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
////////////////////////// Modal window interactions ///////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Toggle the URL selector modal window
|
||||
function toggleModal() {
|
||||
$(".modal").fadeToggle(200).toggleClass("open")
|
||||
}
|
||||
|
||||
// Set the selected URL radio buttons to :checked
|
||||
function setRadioButtons() {
|
||||
currentUrls = getUrls()
|
||||
$('input[name="influxdb-cloud-url"][value="' + currentUrls.cloud + '"]').prop("checked", true)
|
||||
$('input[name="influxdb-oss-url"][value="' + currentUrls.oss + '"]').prop("checked", true)
|
||||
}
|
||||
|
||||
// Toggle modal window on click
|
||||
$("#modal-close, .modal-overlay, .url-trigger").click(function(e) {
|
||||
e.preventDefault()
|
||||
toggleModal()
|
||||
})
|
||||
|
||||
// Show the feature callout on page load
|
||||
if ( Cookies.get('influxdb_url_selector_seen') != 'true' ) {
|
||||
$('#callout-url-selector').fadeIn(300).removeClass('start-position')
|
||||
// Update URLs and URL preference when selected/clicked in the modal
|
||||
$('input[name="influxdb-cloud-url"]').change(function() {
|
||||
var newUrl = $(this).val()
|
||||
storeUrl("cloud", newUrl, getUrls().cloud)
|
||||
updateUrls(getPrevUrls(), getUrls())
|
||||
})
|
||||
$('input[name="influxdb-cloud-url"]').click(function() {setPreference("cloud")})
|
||||
|
||||
$('input[name="influxdb-oss-url"]').change(function() {
|
||||
var newUrl = $(this).val()
|
||||
storeUrl("oss", newUrl, getUrls().oss)
|
||||
updateUrls(getPrevUrls(), getUrls())
|
||||
setPreference("oss")
|
||||
})
|
||||
$('input[name="influxdb-oss-url"]').click(function() {setPreference("oss")})
|
||||
|
||||
// Toggle preference tabs
|
||||
function togglePrefBtns(el) {
|
||||
preference = el.length ? el.attr("id").replace("pref-", "") : "cloud"
|
||||
prefUrls = $("#" + preference + "-urls")
|
||||
|
||||
el.addClass("active")
|
||||
el.siblings().removeClass("active")
|
||||
prefUrls.addClass("active").removeClass("inactive")
|
||||
prefUrls.siblings().addClass("inactive").removeClass("active")
|
||||
setPreference(preference)
|
||||
}
|
||||
|
||||
// Set feature cookie when the button is clicked
|
||||
$('button.url-trigger, #callout-url-selector .close').click(function() {
|
||||
if ( Cookies.get('influxdb_url_selector_seen') != 'true') {
|
||||
Cookies.set('influxdb_url_selector_seen', 'true')
|
||||
$('#callout-url-selector').fadeOut(200)
|
||||
}
|
||||
// Select preference tab on click
|
||||
$('#pref-tabs .pref-tab').click(function() {
|
||||
togglePrefBtns($(this))
|
||||
})
|
||||
|
||||
///////////////////////////////// CUSTOM URLs /////////////////////////////////
|
||||
// Select preference tab from cookie
|
||||
function showPreference() {
|
||||
var preference = Cookies.get("influxdb_pref")
|
||||
prefTab = $("#pref-" + preference)
|
||||
togglePrefBtns(prefTab)
|
||||
}
|
||||
|
||||
// Toggled preferred service on load
|
||||
showPreference()
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////// Custom URLs //////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// 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 {
|
||||
return {valid: true, error: ""}
|
||||
}
|
||||
}
|
||||
|
||||
// Show validation errors
|
||||
function showValidationMessage(validation) {
|
||||
$('#custom-url').addClass("error")
|
||||
$('#custom-url').attr("data-message", validation.error)
|
||||
}
|
||||
|
||||
// Hide validation messages and replace the message attr with empty string
|
||||
function hideValidationMessage() {
|
||||
$('#custom-url').removeClass("error").attr("data-message", "")
|
||||
}
|
||||
|
||||
// Set the custom URL cookie and apply the change
|
||||
// If the custom URL field is empty, it defaults to the OSS default
|
||||
function applyCustomUrl() {
|
||||
var custUrl = $('#custom-url-field').val()
|
||||
let urlValidation = validateUrl(custUrl)
|
||||
if (custUrl.length > 0 ) {
|
||||
if (urlValidation.valid) {
|
||||
hideValidationMessage()
|
||||
storeCustomUrl(custUrl)
|
||||
storeUrl("oss", custUrl, getUrls().oss)
|
||||
updateUrls(getPrevUrls(), getUrls())
|
||||
} else {
|
||||
showValidationMessage(urlValidation)
|
||||
}
|
||||
|
||||
} else {
|
||||
removeCustomUrl();
|
||||
hideValidationMessage()
|
||||
$('input[name="influxdb-oss-url"][value="' + defaultUrls.oss + '"]').trigger('click')
|
||||
}
|
||||
}
|
||||
|
||||
// Trigger radio button on custom URL field focus
|
||||
$('input#custom-url-field').focus(function(e) {
|
||||
$('input#custom[type="radio"]').trigger('click')
|
||||
})
|
||||
|
||||
// Update URLs and close modal when using 'enter' to exit custom URL field
|
||||
$("#custom-url").submit(function(e) {
|
||||
let url = $('#custom-url-field').val() ? $('#custom-url-field').val() : ""
|
||||
let urlValidation = validateUrl(url)
|
||||
|
||||
e.preventDefault();
|
||||
$('#modal-close').trigger('click')
|
||||
if (url === "" | urlValidation.valid) {
|
||||
applyCustomUrl()
|
||||
$('#modal-close').trigger('click')
|
||||
} else {
|
||||
showValidationMessage(urlValidation)
|
||||
}
|
||||
});
|
||||
|
||||
// Store the custom InfluxDB URL when exiting the field
|
||||
$('#custom-url-field').blur(function() {
|
||||
custUrl = $(this).val()
|
||||
if (custUrl.length > 0 ) {
|
||||
storeCustomUrl(custUrl)
|
||||
updateUrls(getUrl(), custUrl)
|
||||
storeUrl(custUrl, getPrevUrl())
|
||||
} else {
|
||||
$('input#custom').val('http://example.com:8080')
|
||||
removeCustomUrl();
|
||||
$('input[name="influxdb-loc"][value="' + defaultUrl + '"]').trigger('click')
|
||||
}
|
||||
applyCustomUrl()
|
||||
})
|
||||
|
||||
// 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)
|
||||
}
|
||||
})
|
||||
|
||||
// Populate the custom InfluxDB URL field on page load
|
||||
|
@ -168,18 +342,20 @@ if ( Cookies.get('influxdb_custom_url') != undefined ) {
|
|||
$('#custom-url-field').val(Cookies.get('influxdb_custom_url'))
|
||||
}
|
||||
|
||||
// Set active radio button on page load
|
||||
setRadioButton(getUrl())
|
||||
|
||||
/////////////////////////// Dynamically update URLs ///////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
/////////////////////////// Dynamically update URLs ////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
// Extract the protocol and hostname of referrer
|
||||
referrerHost = document.referrer.match(/^(?:[^\/]*\/){2}[^\/]+/g)[0]
|
||||
referrerMatch = document.referrer.match(/^(?:[^\/]*\/){2}[^\/]+/g)
|
||||
referrerHost = referrerMatch ? referrerMatch[0] : "";
|
||||
|
||||
// Check if the referrerHost is one of the cloud URLs
|
||||
// cloudUrls is built dynamically in layouts/partials/footer/javascript.html
|
||||
if (cloudUrls.includes(referrerHost)) {
|
||||
storeUrl(referrerHost, getUrl())
|
||||
updateUrls(getPrevUrl(), referrerHost)
|
||||
setRadioButton(referrerHost)
|
||||
}
|
||||
storeUrl("cloud", referrerHost, getUrls().cloud)
|
||||
updateUrls(getPrevUrls(), getUrls())
|
||||
setRadioButtons()
|
||||
setPreference("cloud")
|
||||
showPreference()
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
// Dynamically update keybindings or hotkeys
|
||||
function getPlatform() {
|
||||
if (/Mac/.test(navigator.platform)) {
|
||||
return "osx"
|
||||
} else if (/Win/.test(navigator.platform)) {
|
||||
return "win"
|
||||
} else if (/Linux/.test(navigator.platform)) {
|
||||
return "linux"
|
||||
} else {
|
||||
return "other"
|
||||
}
|
||||
}
|
||||
|
||||
const platform = getPlatform()
|
||||
|
||||
function addOSClass(osClass) {
|
||||
$('.keybinding').addClass(osClass)
|
||||
}
|
||||
|
||||
function updateKeyBindings() {
|
||||
$('.keybinding').each(function() {
|
||||
var osx = $(this).data("osx")
|
||||
var linux = $(this).data("linux")
|
||||
var win = $(this).data("win")
|
||||
|
||||
if (platform === "other") {
|
||||
if (win != linux) {
|
||||
var keybind = '<code class="osx">' + osx + '</code> for macOS, <code>' + linux + '</code> for Linux, and <code>' + win + '</code> for Windows';
|
||||
} else {
|
||||
var keybind = '<code>' + linux + '</code> for Linux and Windows and <code class="osx">' + osx + '</code> for macOS';
|
||||
}
|
||||
} else {
|
||||
var keybind = '<code>' + $(this).data(platform) + '</code>'
|
||||
}
|
||||
|
||||
$(this).html(keybind)
|
||||
})
|
||||
}
|
||||
|
||||
addOSClass(platform)
|
||||
updateKeyBindings()
|
|
@ -0,0 +1,46 @@
|
|||
// Get notification cookie name
|
||||
function notificationCookieName(el) {
|
||||
return "influx-" + $(el).attr('id') + "-notification-seen"
|
||||
}
|
||||
|
||||
// Show notifications that are within scope and haven't been ssen
|
||||
function showNotifications() {
|
||||
$('#docs-notifications > .notification').each(function() {
|
||||
|
||||
// Check if the path includes paths defined in the data-scope attribute
|
||||
// of the notification html element
|
||||
function inScope(path, scope) {
|
||||
for(let i = 0; i < scope.length; i++){
|
||||
if (path.includes(scope[i])) {
|
||||
return true;
|
||||
};
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
var scope = $(this).data('scope').split(',')
|
||||
var pageInScope = inScope(window.location.pathname, scope)
|
||||
var notificationCookie = Cookies.get( notificationCookieName(this) )
|
||||
|
||||
if (pageInScope && notificationCookie != 'true') {
|
||||
$(this).show().animate({right: 0, opacity: 1}, 200, 'swing')
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
// Hide a notification and set cookie as true
|
||||
function hideNotification(el) {
|
||||
$(el).closest('.notification').animate({height: 0, opacity: 0}, 200, 'swing', function(){
|
||||
$(this).hide();
|
||||
Cookies.set(notificationCookieName(this), true);
|
||||
});
|
||||
}
|
||||
|
||||
// Show notifications on page load
|
||||
showNotifications()
|
||||
|
||||
// Hide a notification and set see cookie to true
|
||||
$('.close-notification').click(function(e) {
|
||||
e.preventDefault();
|
||||
hideNotification(this);
|
||||
})
|
|
@ -1,10 +1,10 @@
|
|||
// Fade content wrapper when focusing on search input
|
||||
$('#algolia-search-input').focus(function() {
|
||||
$('.content-wrapper').fadeTo(400, .35);
|
||||
$('.content-wrapper, .group-wrapper').fadeTo(300, .35);
|
||||
})
|
||||
|
||||
// Hide search dropdown when leaving search input
|
||||
$('#algolia-search-input').blur(function() {
|
||||
$('.content-wrapper').fadeTo(200, 1);
|
||||
$('.content-wrapper, .group-wrapper').fadeTo(200, 1);
|
||||
$('.ds-dropdown-menu').hide();
|
||||
})
|
||||
|
|
|
@ -45,24 +45,54 @@ $bold: 700;
|
|||
|
||||
#influx-header {
|
||||
font-family: $rubik;
|
||||
padding: 15px 20px ;
|
||||
display: block;
|
||||
padding: 10px ;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
background-color: $g2-kevlar;
|
||||
a {
|
||||
color: $g20-white;
|
||||
text-decoration: none;
|
||||
transition: color .2s;
|
||||
&:hover {
|
||||
color: $b-pool;
|
||||
&.back {
|
||||
color: $g20-white;
|
||||
transition: color .2s;
|
||||
&:hover {
|
||||
color: $b-pool;
|
||||
}
|
||||
&:before {
|
||||
content: '\e918';
|
||||
font-family: 'icomoon';
|
||||
margin-right: .65rem;
|
||||
}
|
||||
}
|
||||
&:before {
|
||||
content: '\e918';
|
||||
font-family: 'icomoon';
|
||||
margin-right: .65rem;
|
||||
&.btn {
|
||||
padding: .5rem .75rem .5rem .65rem;
|
||||
font-size: .85rem;
|
||||
font-weight: 500;
|
||||
color: $g15-platinum;
|
||||
background: $g5-pepper;
|
||||
border-radius: 4.5px;
|
||||
transition: all .2s;
|
||||
&:before {
|
||||
content: "\e933";
|
||||
display: inline-block;
|
||||
font-size: .95rem;
|
||||
margin-right: .5rem;
|
||||
font-family: 'icomoon';
|
||||
}
|
||||
&:hover {
|
||||
color: $g20-white;
|
||||
background: $b-pool;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Header Media Queries
|
||||
|
||||
@media (max-width: 600px) {
|
||||
#influx-header span.version {display: none;}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
.cjtbAK {
|
||||
|
@ -263,3 +293,4 @@ $bold: 700;
|
|||
}
|
||||
.token.boolean { color: #f955b0; }
|
||||
}
|
||||
|
||||
|
|
|
@ -89,6 +89,10 @@
|
|||
box-shadow: 1px 3px 10px $article-shadow;
|
||||
}
|
||||
|
||||
ul + p > img {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
hr {
|
||||
border-width: 1px 0 0;
|
||||
border-color: $article-hr;
|
||||
|
@ -102,10 +106,12 @@
|
|||
"article/children",
|
||||
"article/code",
|
||||
"article/cloud",
|
||||
"article/diagrams",
|
||||
"article/enterprise",
|
||||
"article/expand",
|
||||
"article/feedback",
|
||||
"article/flex",
|
||||
"article/keybinding",
|
||||
"article/lists",
|
||||
"article/note",
|
||||
"article/pagination-btns",
|
||||
|
@ -127,8 +133,25 @@
|
|||
|
||||
.required, .req {
|
||||
color:#FF8564;
|
||||
font-weight:700;
|
||||
font-weight:$medium;
|
||||
font-style: italic;
|
||||
margin: 0 .15rem 0 .1rem;
|
||||
|
||||
&.asterisk {
|
||||
margin: 0 -.1rem 0 -.5rem;
|
||||
}
|
||||
|
||||
&.key {
|
||||
font-size: .9rem;
|
||||
font-weight: $medium;
|
||||
}
|
||||
}
|
||||
|
||||
h2,h3,h4,h5,h6 {
|
||||
& + .keep-url {
|
||||
margin-top: -1.5rem;
|
||||
z-index: -100;
|
||||
}
|
||||
}
|
||||
|
||||
a.q-link {
|
||||
|
@ -156,18 +179,6 @@
|
|||
text-align: center;
|
||||
padding: 1rem;
|
||||
|
||||
.oss:after {
|
||||
content: 'beta';
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
font-style: italic;
|
||||
font-size: .75em;
|
||||
margin-left: .15rem;
|
||||
padding: .1rem .4rem .12rem;
|
||||
border-radius: 1rem;
|
||||
border: 1px solid rgba($g20-white, .5);
|
||||
top: -1px
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
position: relative;
|
||||
border-radius: $radius 0 0 $radius;
|
||||
overflow: hidden;
|
||||
z-index: 0;
|
||||
|
||||
.copyright {
|
||||
padding: .5rem 1rem .5rem .5rem;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
.error-content {
|
||||
margin-top: 10vh;
|
||||
max-width: 310px;
|
||||
max-width: 380px;
|
||||
}
|
||||
|
||||
.error-code {
|
||||
|
@ -56,24 +56,50 @@
|
|||
margin: 2rem 0 1.5rem;
|
||||
|
||||
.btn {
|
||||
display: block;
|
||||
display: flex;
|
||||
position: relative;
|
||||
flex-grow: 1;
|
||||
margin-right: 4px;
|
||||
padding: .75rem 1rem;
|
||||
border-radius: $radius;
|
||||
text-align: center;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: $error-page-btn-text;
|
||||
transition: background-color .2s;
|
||||
z-index: 1;
|
||||
@include gradient($article-btn-gradient);
|
||||
&:hover {
|
||||
@include gradient($article-btn-gradient-hover);
|
||||
}
|
||||
|
||||
&.back:before {
|
||||
content: "\e90a";
|
||||
font-family: "icomoon";
|
||||
margin-right: .35rem;
|
||||
vertical-align: text-top;
|
||||
}
|
||||
|
||||
&: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;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
cursor: pointer;
|
||||
|
||||
&:after {
|
||||
opacity: 1;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -50,8 +50,8 @@
|
|||
|
||||
#callout-url-selector {
|
||||
position: absolute;
|
||||
top: 3.25rem;
|
||||
right: 1rem;
|
||||
top: 3rem;
|
||||
right: .75rem;
|
||||
|
||||
p:after {
|
||||
top: -1rem;
|
||||
|
@ -64,3 +64,23 @@
|
|||
margin-top: 2.5rem
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////// Media Queries ////////////////////////////////
|
||||
|
||||
@include media(small) {
|
||||
#callout-url-selector {
|
||||
top: .55rem;
|
||||
right: 5.15rem;
|
||||
|
||||
p:after {
|
||||
top: .15rem;
|
||||
right: -16px;
|
||||
border-width: 7px 0 7px 8px;
|
||||
border-color: transparent transparent transparent #C231D9;
|
||||
}
|
||||
|
||||
&.start-position {
|
||||
margin-top: 2.5rem
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -31,35 +31,6 @@ a {
|
|||
flex-grow: 1;
|
||||
}
|
||||
|
||||
/// Styles for the placeholder homepage only viewalbe with running locally ///
|
||||
.home-placeholder {
|
||||
max-width: 480px;
|
||||
padding: 0 1.5rem;
|
||||
margin: 20vh auto 0;
|
||||
color: $article-text;
|
||||
text-align:center;
|
||||
font-style:italic;
|
||||
|
||||
.welcome {
|
||||
text-align:center;
|
||||
font-weight: bold;
|
||||
color: $article-heading;
|
||||
font-size: 1.1rem;
|
||||
}
|
||||
p {
|
||||
margin-top: 1rem;
|
||||
line-height: 1.25rem;
|
||||
}
|
||||
a {
|
||||
color: $article-link;
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
&:hover {
|
||||
color: $article-link-hover;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
///////////////////////////////// MEDIA QUERIES ////////////////////////////////
|
||||
////////////////////////////////////////////////////////////////////////////////
|
||||
|
|
|
@ -0,0 +1,355 @@
|
|||
//////////////////////////////// HOMEPAGE STYLES ///////////////////////////////
|
||||
|
||||
.home {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: flex-start;
|
||||
|
||||
.section {
|
||||
display: flex;
|
||||
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 {
|
||||
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
|
||||
}
|
||||
|
||||
&:after {
|
||||
font-size: 2rem;
|
||||
top: .35rem;
|
||||
right: .45rem;
|
||||
}
|
||||
.algolia-autocomplete.algolia-autocomplete-left, .algolia-autocomplete.algolia-autocomplete-right {
|
||||
.ds-dropdown-menu {
|
||||
top: auto !important;
|
||||
left: 0 !important;
|
||||
margin-bottom: 1.5rem;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
box-shadow: 2px 2px 10px $sidebar-search-shadow;
|
||||
height: 100%;
|
||||
width: 100%;
|
||||
mix-blend-mode: multiply;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/////////////////////////////// PRODUCT CARDS ////////////////////////////////
|
||||
|
||||
.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; }
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
padding: 1.25rem 1.5rem .75rem;
|
||||
flex: 1 0;
|
||||
|
||||
.card-content p { margin-bottom: 0; }
|
||||
|
||||
span.version {
|
||||
font-size: 1.15rem;
|
||||
opacity: .65;
|
||||
}
|
||||
}
|
||||
|
||||
#tick-cards {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
position: relative;
|
||||
color: $g20-white;
|
||||
@include gradient($home-tick-bg-gradient, 45deg)
|
||||
|
||||
h2 { color: $article-heading-alt; }
|
||||
|
||||
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%; }
|
||||
}
|
||||
}
|
||||
|
||||
.card {
|
||||
position: relative;
|
||||
z-index: 1;
|
||||
color: $article-text;
|
||||
transition: color .2s;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
display: block;
|
||||
bottom: 0;
|
||||
left: 0;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
opacity: 0;
|
||||
z-index: -1;
|
||||
transition: opacity .4s;
|
||||
}
|
||||
|
||||
&.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; }
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
#enterprise {
|
||||
padding-top: 2.5rem;
|
||||
padding-bottom: 2.5rem;
|
||||
}
|
||||
|
||||
//////////////////////////// HOMEPAGE MEDIA QUERIES ////////////////////////////
|
||||
|
||||
@include media(large) {
|
||||
overflow-x: hidden;
|
||||
.hero #hero-img{
|
||||
max-height: 130%;
|
||||
max-width: 70%;
|
||||
right: -20%;
|
||||
bottom: -30%;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 1020px) {
|
||||
#tick-stack #tick-cards .card { width: 50%; flex: none;}
|
||||
.section {
|
||||
.quarter { width: 33.33%; }
|
||||
.three-quarters { width: 66.64%; }
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width: 920px) {
|
||||
.section {
|
||||
padding-left: 1.5rem;
|
||||
padding-right: 1.5rem;
|
||||
&.hero { padding-top: 2rem; padding-bottom: 3rem;}
|
||||
&.search,
|
||||
&#enterprise { padding-top: 1.5rem; padding-bottom: 1.5rem; }
|
||||
}
|
||||
.hero {
|
||||
#hero-img{ display: none; }
|
||||
.half { width: 100%; }
|
||||
}
|
||||
.search {
|
||||
.sidebar--search { max-width: 100%; }
|
||||
}
|
||||
}
|
||||
|
||||
@include media(medium) {
|
||||
.search .algolia-autocomplete.algolia-autocomplete-right, .algolia-autocomplete.algolia-autocomplete-right {
|
||||
.ds-dropdown-menu {
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@include media(small) {
|
||||
.section {
|
||||
|
||||
.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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&#tick-stack {
|
||||
order: 3;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
#tick-cards {
|
||||
flex-direction: column;
|
||||
.card {
|
||||
width: 100%;
|
||||
color: $g20-white;
|
||||
a {color: $g20-white;}
|
||||
&:after { opacity: 1; }
|
||||
}
|
||||
}
|
||||
}
|
||||
&#enterprise { order: 4; padding-left: 0; padding-right: 0; }
|
||||
}
|
||||
.group-wrapper {flex-direction: column;}
|
||||
.row {
|
||||
flex-direction: column;
|
||||
}
|
||||
.card {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -27,6 +27,7 @@
|
|||
padding: 5rem 2vw 5rem 4.5vw;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
text-align: center;
|
||||
|
@ -50,7 +51,8 @@
|
|||
width: 90%;
|
||||
position: relative;
|
||||
margin-bottom: 1px;
|
||||
padding: 2rem 3.5vw 2rem 3vw;
|
||||
// padding: 2rem 3.5vw 2rem 3vw;
|
||||
padding: 0 3.5vw 0 3vw; // added
|
||||
min-height: 140px;
|
||||
background: $landing-sm-bg;
|
||||
transition: background-color .4s, width .2s;
|
||||
|
@ -61,28 +63,31 @@
|
|||
background: $landing-sm-bg-hover;
|
||||
width: 100%;
|
||||
h3 {
|
||||
transform: translateY(-1.2rem);
|
||||
font-weight: $medium;
|
||||
font-size: 1.2rem;
|
||||
}
|
||||
p {
|
||||
opacity: 1;
|
||||
transition-delay: 100ms;
|
||||
// transition-delay: 100ms;
|
||||
max-height: 3.75rem; // added
|
||||
}
|
||||
}
|
||||
|
||||
h3 {
|
||||
font-size: 1.1rem;
|
||||
transition: all .2s;
|
||||
margin: 0; // added
|
||||
}
|
||||
p {
|
||||
position: absolute;
|
||||
// position: absolute;
|
||||
margin: .5rem 0 0; // added
|
||||
max-height: 0; // added
|
||||
width: 80%;
|
||||
color: $g20-white;
|
||||
font-size: .95rem;
|
||||
line-height: 1.25rem;
|
||||
opacity: 0;
|
||||
transition: opacity .2s;
|
||||
transition: opacity .2s .1s, max-height .2s;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -98,13 +103,14 @@
|
|||
}
|
||||
|
||||
&#get-started {
|
||||
.avoid-wrap { display:inline-block }
|
||||
|
||||
.btn {
|
||||
position: relative;
|
||||
display: inline-block;
|
||||
padding: 1.25rem;
|
||||
margin: 0 20% .35rem;
|
||||
display: block;
|
||||
padding: 1.25rem 4rem;
|
||||
color: $landing-btn-text;
|
||||
font-size: 1.1rem;
|
||||
font-size: 1.2rem;
|
||||
font-weight: $medium;
|
||||
@include gradient($landing-btn-grad);
|
||||
transition: background-color .2s, color .2s;
|
||||
|
@ -126,23 +132,23 @@
|
|||
z-index: -1;
|
||||
}
|
||||
|
||||
&.oss:after {
|
||||
content: 'beta';
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
font-style: italic;
|
||||
font-size: .75em;
|
||||
margin-left: .45rem;
|
||||
padding: .1rem .4rem .12rem;
|
||||
border-radius: 1rem;
|
||||
border: 1px solid rgba($landing-btn-text, .5);
|
||||
transition: border-color .2s;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
&:before { opacity: 1; }
|
||||
}
|
||||
}
|
||||
|
||||
.beta:after {
|
||||
content: 'beta';
|
||||
display: inline-block;
|
||||
vertical-align: middle;
|
||||
font-style: italic;
|
||||
font-size: .45em;
|
||||
margin: -8px 0 0 .5em;
|
||||
padding: .1rem .6rem .12rem;
|
||||
border-radius: 1rem;
|
||||
border: .15rem solid rgba($landing-btn-text, .5);
|
||||
transition: border-color .2s;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -181,13 +187,14 @@
|
|||
p {
|
||||
opacity: .6;
|
||||
position: relative;
|
||||
max-height: fit-content;
|
||||
width: auto;
|
||||
margin: 0;
|
||||
}
|
||||
&:hover {
|
||||
background: $landing-sm-bg-hover;
|
||||
h3 { transform: none; }
|
||||
p { opacity: 1; }
|
||||
p { opacity: 1; max-height: fit-content; }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,93 @@
|
|||
#docs-notifications {
|
||||
position: fixed;
|
||||
top: 10px;
|
||||
right: 10px;
|
||||
z-index: 100;
|
||||
width: calc(100vw - 20px);
|
||||
max-width: 500px;
|
||||
transition: all .4s ease;
|
||||
|
||||
.notification {
|
||||
display: none; // initial hidden state
|
||||
right: -50px; // initial hidden state
|
||||
opacity: 0; // initial hidden state
|
||||
|
||||
position: relative;
|
||||
border-radius: $radius;
|
||||
box-shadow: 2px 2px 6px rgba($g2-kevlar, .35);
|
||||
|
||||
.notification-content {
|
||||
padding: 1.25rem 2.35rem .5rem 1.25rem;
|
||||
margin-bottom: 10px;
|
||||
font-size: .95rem;
|
||||
color: $g20-white;
|
||||
}
|
||||
|
||||
.close-notification {
|
||||
position: absolute;
|
||||
top: 8px;
|
||||
right: 8px;
|
||||
font-size: 1.1rem;
|
||||
cursor: pointer;
|
||||
transition: color .2s;
|
||||
font-weight: bold;
|
||||
color: rgba($g20-white, .5);
|
||||
&:hover{ color: $g20-white }
|
||||
}
|
||||
|
||||
&.note {
|
||||
@include gradient($grad-GarageBand);
|
||||
a:hover { color: $gr-gypsy; }
|
||||
code { color: $gr-gypsy; background: rgba($gr-gypsy, .25); }
|
||||
pre { background: rgba($gr-gypsy, .25); }
|
||||
}
|
||||
|
||||
&.warn {
|
||||
@include gradient($grad-FuyuPersimmon, 225deg);
|
||||
a:hover { color: $r-basalt; }
|
||||
code { color: #ffbbdd; background: rgba($r-basalt, .35); }
|
||||
pre { background: rgba($r-basalt, .35); }
|
||||
}
|
||||
|
||||
//////////// Basic HTML element styles for notification content ////////////
|
||||
|
||||
h1,h2,h3,h4,h5,h6 {
|
||||
font-weight: 500;
|
||||
margin: 1rem 0 .75rem;
|
||||
&:first-child { margin-top: 0; }
|
||||
}
|
||||
|
||||
h1,h2 { font-size: 1.5rem; }
|
||||
h3 { font-size: 1.25rem; }
|
||||
h4 { font-size: 1.1rem; }
|
||||
h5 { font-size: 1rem; }
|
||||
h6 { font-size: .95rem; font-style: italic; }
|
||||
|
||||
p,li { line-height: 1.4rem; }
|
||||
|
||||
p { margin: 0 0 .75rem; }
|
||||
|
||||
a {
|
||||
font-weight: bold;
|
||||
text-decoration: none;
|
||||
color: $g20-white;
|
||||
transition: color .2s;
|
||||
}
|
||||
|
||||
ul,ol { padding-left: 1.5rem; }
|
||||
|
||||
code {
|
||||
padding: .15rem .4rem;
|
||||
border-radius: $radius;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
pre {
|
||||
padding: 1rem;
|
||||
border-radius: $radius;
|
||||
overflow: scroll;
|
||||
code { background: transparent !important; }
|
||||
}
|
||||
|
||||
}
|
||||
}
|
|
@ -169,6 +169,16 @@ pre[class*="language-"] {
|
|||
.sd , /* Literal.String.Doc */
|
||||
.w /* Text.Whitespace */
|
||||
{ font-style: italic }
|
||||
|
||||
// Javascript / Flux specific styles (duration values)
|
||||
.language-js {
|
||||
.mi + .nx { color: $article-code-accent5; }
|
||||
}
|
||||
|
||||
// SQL / InfluxQL specific styles (duration values)
|
||||
.language-sql {
|
||||
.mi + .n { color: $article-code-accent5; }
|
||||
}
|
||||
}
|
||||
|
||||
.note {
|
||||
|
|
|
@ -4,6 +4,7 @@
|
|||
justify-content: space-between;
|
||||
position: relative;
|
||||
box-sizing: border-box;
|
||||
z-index: 1;
|
||||
|
||||
.influx-home {
|
||||
font-family: 'icomoon';
|
||||
|
@ -51,7 +52,7 @@
|
|||
.selector-dropdowns {
|
||||
display: flex;
|
||||
z-index: 100;
|
||||
right: 5.5rem;
|
||||
padding-right: .25rem;
|
||||
}
|
||||
|
||||
.dropdown {
|
||||
|
|
|
@ -28,7 +28,7 @@
|
|||
display: flex;
|
||||
overflow: hidden;
|
||||
max-width: 650px;
|
||||
max-height: 95vh;
|
||||
max-height: 97.5vh;
|
||||
margin-top: 10vh;
|
||||
padding: .75rem 2rem 1.5rem;
|
||||
border-radius: $radius * 1.5;
|
||||
|
@ -57,7 +57,7 @@
|
|||
}
|
||||
|
||||
.modal-content{
|
||||
overflow: scroll;
|
||||
overflow: auto;
|
||||
|
||||
h3 {
|
||||
color: $article-heading;
|
||||
|
@ -107,14 +107,13 @@
|
|||
|
||||
.products {
|
||||
display: flex;
|
||||
flex-direction: column-reverse;
|
||||
flex-direction: column;
|
||||
flex-wrap: wrap;
|
||||
flex-grow: 1;
|
||||
justify-content: flex-start;
|
||||
}
|
||||
|
||||
.product {
|
||||
margin-right: .5rem;
|
||||
|
||||
.providers{
|
||||
display: flex;
|
||||
|
@ -144,6 +143,30 @@
|
|||
display: inline-block;
|
||||
width: 100%;
|
||||
padding-left: .5rem;
|
||||
position: relative;
|
||||
|
||||
&:after {
|
||||
display: none;
|
||||
content: attr(data-message);
|
||||
position: absolute;
|
||||
top: -1.8rem;
|
||||
right: 0;
|
||||
font-size: .85rem;
|
||||
font-weight: $medium;
|
||||
color: $r-fire;
|
||||
}
|
||||
|
||||
&.error {
|
||||
&:after { display: block; }
|
||||
input#custom-url-field {
|
||||
border-color: $r-fire;
|
||||
&:focus {
|
||||
border-color: $r-fire;
|
||||
box-shadow: 1px 1px 10px rgba($r-fire,0.5);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input {
|
||||
&#custom-url-field {
|
||||
font-family: $rubik;
|
||||
|
@ -227,18 +250,61 @@ td,label,li {
|
|||
line-height: .75rem;
|
||||
border-radius: 1rem;
|
||||
}
|
||||
&.beta:after {
|
||||
content: 'beta';
|
||||
color: $r-dreamsicle;
|
||||
background: rgba($r-dreamsicle, .1);
|
||||
border: 1px solid $r-dreamsicle;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
label:after {
|
||||
margin-left: .15rem;
|
||||
}
|
||||
|
||||
/////////////////////////// InfluxDB Preference Tabs ///////////////////////////
|
||||
|
||||
#pref-tabs {
|
||||
padding: 0;
|
||||
margin: 0 0 -5px;
|
||||
list-style: none;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.pref-tab {
|
||||
padding: .75rem 1.25rem;
|
||||
margin-right: 5px;
|
||||
text-align: center;
|
||||
font-weight: bold;
|
||||
width: 49%;
|
||||
color: rgba($article-text, .7);
|
||||
background: rgba($article-text, .05);
|
||||
border-radius: $radius;
|
||||
cursor: pointer;
|
||||
transition: color .2s;
|
||||
|
||||
&:last-child {
|
||||
margin-right: 0;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
color: $article-link;
|
||||
}
|
||||
|
||||
&.active {
|
||||
color: $g20-white;
|
||||
@include gradient($article-btn-gradient);
|
||||
}
|
||||
|
||||
span.ephemeral { display: inline; }
|
||||
span.abbr:after {
|
||||
display: none;
|
||||
content: ".";
|
||||
}
|
||||
}
|
||||
|
||||
.product {
|
||||
&.active { display: block; }
|
||||
&.inactive { display: none; }
|
||||
}
|
||||
|
||||
///////////////////////////// InfluxDB URL Triggers ////////////////////////////
|
||||
|
||||
.article--content {
|
||||
|
@ -276,3 +342,20 @@ label:after {
|
|||
.select-url{margin-top: -3.25rem}
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////// MEDIA QUERIES ////////////////////////////////
|
||||
|
||||
@include media(small) {
|
||||
.modal {
|
||||
padding: .5rem;
|
||||
overflow: scroll;
|
||||
|
||||
.modal-body {
|
||||
padding: .5rem 1.5rem 1.5rem;
|
||||
}
|
||||
}
|
||||
.pref-tab {
|
||||
span.ephemeral { display: none; }
|
||||
span.abbr:after { display: inline; }
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
body.v1{
|
||||
body.v1, body.platform{
|
||||
.article .article--content {
|
||||
blockquote {
|
||||
padding: 1.65rem 2rem .1rem 2rem;
|
||||
|
|
|
@ -0,0 +1,44 @@
|
|||
.mermaid {
|
||||
opacity: 0;
|
||||
color: $article-bg;
|
||||
margin: 3rem 0;
|
||||
transition: opacity .5s;
|
||||
|
||||
|
||||
.arrowheadPath, .arrowMarkerPath { fill: $diagram-arrow !important; }
|
||||
.edgePath .path, .flowchart-link { stroke: $diagram-arrow !important; }
|
||||
.label { color: $article-text !important; }
|
||||
.cluster-label .nodeLabel {
|
||||
color: $article-code !important;
|
||||
}
|
||||
.edgeLabel {
|
||||
color: $article-text !important;
|
||||
background: $article-code-bg !important;
|
||||
font-size: .85em;
|
||||
font-weight: $medium;
|
||||
}
|
||||
|
||||
.node {
|
||||
rect,
|
||||
circle,
|
||||
ellipse,
|
||||
polygon,
|
||||
path {
|
||||
fill: $article-bg !important;
|
||||
stroke: $diagram-arrow !important;
|
||||
stroke-width: 2px !important;
|
||||
}
|
||||
.label { color: $article-text !important; }
|
||||
}
|
||||
|
||||
.cluster {
|
||||
rect,
|
||||
circle,
|
||||
ellipse,
|
||||
polygon,
|
||||
path {
|
||||
fill: $article-code-bg !important;
|
||||
stroke: none !important;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,9 +1,13 @@
|
|||
// Styles for accordian-like expandable content blocks
|
||||
|
||||
.expand-wrapper {
|
||||
margin: 2rem 0 2rem;
|
||||
}
|
||||
|
||||
.expand {
|
||||
border-top: 1px solid $article-hr;
|
||||
padding: .75rem 0;
|
||||
&:last-of-type { border-bottom: 1px solid $article-hr; }
|
||||
&:last-of-type, &:only-child { border-bottom: 1px solid $article-hr; }
|
||||
}
|
||||
|
||||
.expand-label {
|
||||
|
@ -47,3 +51,7 @@
|
|||
&:before, &:after { transform: rotate(180deg); }
|
||||
}
|
||||
}
|
||||
|
||||
.expand-content {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
|
|
|
@ -1,4 +1,98 @@
|
|||
.feedback {
|
||||
border-color: rgba($article-note-base, .75);
|
||||
background: rgba($article-text, .05);
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
border: none;
|
||||
border-radius: $radius;
|
||||
box-shadow: 1px 2px 6px $article-shadow;
|
||||
background: rgba($article-text, .03);
|
||||
}
|
||||
|
||||
.support {
|
||||
padding-right: 2rem;
|
||||
|
||||
ul {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
margin-bottom: 1.25rem;
|
||||
padding: 0;
|
||||
list-style: none;
|
||||
|
||||
li {display: inline-block}
|
||||
|
||||
a {
|
||||
margin-right: 1.5rem;
|
||||
color: $article-heading-alt;
|
||||
|
||||
&:hover {
|
||||
color: $article-link;
|
||||
border-radius: calc($radius * 1.5);
|
||||
}
|
||||
|
||||
&.community:before {
|
||||
content: "\e900";
|
||||
color: $article-heading-alt;
|
||||
margin: 0 .25rem 0 -.25rem;
|
||||
font-size: 1.65rem;
|
||||
font-family: 'icomoon';
|
||||
vertical-align: middle;
|
||||
}
|
||||
&.slack:before {
|
||||
content: url('/svgs/slack.svg');
|
||||
display: inline-block;
|
||||
height: 1.1rem;
|
||||
width: 1.1rem;
|
||||
vertical-align: text-top;
|
||||
margin-right: .5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.actions {
|
||||
min-width: 230px;
|
||||
padding-bottom: 1.75rem;
|
||||
|
||||
a {
|
||||
display: block;
|
||||
padding-left: .7rem;
|
||||
font-size: .85rem;
|
||||
|
||||
&.btn {
|
||||
color: $article-text !important;
|
||||
background: $feedback-btn-bg !important;
|
||||
|
||||
&:hover {
|
||||
color: $g20-white !important;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
&:before {
|
||||
display: inline-block;
|
||||
margin-right: .5rem;
|
||||
font-family: 'icomoon';
|
||||
}
|
||||
|
||||
&.edit:before {
|
||||
content: "\e92e";
|
||||
font-size: .75rem;
|
||||
vertical-align: top;
|
||||
}
|
||||
&.issue:before {
|
||||
content: "\e933";
|
||||
font-size: .95rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
///////////////////////////////// Media Queries ////////////////////////////////
|
||||
|
||||
@include media(medium) {
|
||||
.feedback {
|
||||
flex-direction: column;
|
||||
}
|
||||
}
|
||||
|
||||
@include media(small) {
|
||||
.actions { padding-bottom: 1rem; }
|
||||
}
|
||||
|
|
|
@ -0,0 +1,8 @@
|
|||
$osxFont: -apple-system, BlinkMacSystemFont, $rubik, 'Helvetica Neue', Arial, sans-serif;
|
||||
|
||||
.keybinding {
|
||||
font-family: $rubik;
|
||||
code { font-family: $rubik; }
|
||||
&.osx code {font-family: $osxFont;}
|
||||
code.osx {font-family: $osxFont;}
|
||||
}
|
|
@ -8,7 +8,7 @@
|
|||
color: $article-note-text;
|
||||
}
|
||||
strong {
|
||||
color: inherit;
|
||||
color: $article-note-strong;
|
||||
}
|
||||
a {
|
||||
color: $article-note-link;
|
||||
|
|
|
@ -16,6 +16,7 @@
|
|||
padding: .75rem 1.25rem .75rem .75rem;
|
||||
&:before {
|
||||
content: "\e90a";
|
||||
display: inline-block;
|
||||
font-family: "icomoon";
|
||||
margin-right: .5rem;
|
||||
vertical-align: middle;
|
||||
|
@ -24,8 +25,10 @@
|
|||
&.next {
|
||||
margin: 0 0 0 auto;
|
||||
padding: .75rem .75rem .75rem 1.25rem;
|
||||
&:after {
|
||||
flex-direction: row-reverse;
|
||||
&:before {
|
||||
content: "\e90c";
|
||||
display: inline-block;
|
||||
font-family: "icomoon";
|
||||
margin-left: .5rem;
|
||||
vertical-align: middle;
|
||||
|
|
|
@ -49,7 +49,7 @@ table {
|
|||
}
|
||||
}
|
||||
|
||||
#flags, #global-flags {
|
||||
#flags:not(.no-shorthand), #global-flags {
|
||||
& + table {
|
||||
td:nth-child(2) code { margin-left: -2rem; }
|
||||
}
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
padding: .35rem .6rem;
|
||||
font-style: italic;
|
||||
font-weight: $medium;
|
||||
color: rgba($article-text, .75);
|
||||
color: rgba($article-text, .75) !important;
|
||||
font-size: .8rem;
|
||||
border-radius: 1rem;
|
||||
|
||||
|
@ -21,7 +21,7 @@
|
|||
}
|
||||
|
||||
&:hover {
|
||||
color: $g20-white;
|
||||
color: $g20-white !important;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -35,6 +35,15 @@
|
|||
color: $article-code-accent7;
|
||||
}
|
||||
}
|
||||
&.external {
|
||||
margin: 0 0 0 -.25rem;
|
||||
display: inline-block;
|
||||
padding: .1rem .75rem;
|
||||
background-color: rgba($article-text, .1);
|
||||
border-radius: 1rem;
|
||||
font-size: .9rem;
|
||||
font-weight: $medium;
|
||||
}
|
||||
}
|
||||
|
||||
& .info {
|
||||
|
|
|
@ -1,11 +0,0 @@
|
|||
// Import Now
|
||||
//
|
||||
// If you import this module directly, it will immediately output all the CSS
|
||||
// needed to normalize default HTML elements across all browsers.
|
||||
//
|
||||
// ```
|
||||
// @import "normalize/import-now";
|
||||
// ```
|
||||
|
||||
@import 'normalize';
|
||||
@include normalize();
|
|
@ -1,666 +0,0 @@
|
|||
// Helper function for the normalize() mixin.
|
||||
@function _normalize-include($section, $exclude: null) {
|
||||
// Initialize the global variables needed by this function.
|
||||
@if not global_variable_exists(_normalize-include) {
|
||||
$_normalize-include: () !global;
|
||||
$_normalize-exclude: () !global;
|
||||
}
|
||||
// Since we are given 2 parameters, set the global variables.
|
||||
@if $exclude != null {
|
||||
$include: $section;
|
||||
// Sass doesn't have static variables, so the work-around is to stuff these
|
||||
// values into global variables so we can access them in future calls.
|
||||
$_normalize-include: if(type-of($include) == 'list', $include, ($include)) !global;
|
||||
$_normalize-exclude: if(type-of($exclude) == 'list', $exclude, ($exclude)) !global;
|
||||
@return true;
|
||||
}
|
||||
|
||||
// Check if $section is in the $include list.
|
||||
@if index($_normalize-include, $section) {
|
||||
@return true;
|
||||
}
|
||||
// If $include is set to (all), make sure $section is not in $exclude.
|
||||
@else if not index($_normalize-exclude, $section) and index($_normalize-include, all) {
|
||||
@return true;
|
||||
}
|
||||
@return false;
|
||||
}
|
||||
|
||||
@mixin normalize($include: (all), $exclude: ()) {
|
||||
// Initialize the helper function by passing it this mixin's parameters.
|
||||
$init: _normalize-include($include, $exclude);
|
||||
|
||||
// If we've customized any font variables, we'll need extra properties.
|
||||
@if $base-line-height != 24px
|
||||
or $base-unit != 'em'
|
||||
or $h2-font-size != 1.5 * $base-font-size
|
||||
or $h3-font-size != 1.17 * $base-font-size
|
||||
or $h4-font-size != 1 * $base-font-size
|
||||
or $h5-font-size != 0.83 * $base-font-size
|
||||
or $h6-font-size != 0.67 * $base-font-size {
|
||||
$normalize-vertical-rhythm: true !global;
|
||||
}
|
||||
|
||||
/*! normalize-scss | MIT/GPLv2 License | bit.ly/normalize-scss */
|
||||
|
||||
@if _normalize-include(document) {
|
||||
/* Document
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Correct the line height in all browsers.
|
||||
* 2. Prevent adjustments of font size after orientation changes in
|
||||
* IE on Windows Phone and in iOS.
|
||||
*/
|
||||
|
||||
html {
|
||||
@if $base-font-family {
|
||||
/* Change the default font family in all browsers (opinionated). */
|
||||
font-family: $base-font-family;
|
||||
}
|
||||
@if $base-font-size != 16px or $normalize-vertical-rhythm {
|
||||
// Correct old browser bug that prevented accessible resizing of text
|
||||
// when root font-size is set with px or em.
|
||||
font-size: ($base-font-size / 16px) * 100%;
|
||||
}
|
||||
@if $normalize-vertical-rhythm {
|
||||
line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */
|
||||
}
|
||||
@else {
|
||||
line-height: 1.15; /* 1 */
|
||||
}
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(sections) {
|
||||
/* Sections
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the margin in all browsers (opinionated).
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
footer,
|
||||
header,
|
||||
nav,
|
||||
section {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the font size and margin on `h1` elements within `section` and
|
||||
* `article` contexts in Chrome, Firefox, and Safari.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
@include normalize-font-size($h1-font-size);
|
||||
@if $normalize-vertical-rhythm {
|
||||
@include normalize-line-height($h1-font-size);
|
||||
}
|
||||
|
||||
@if $normalize-vertical-rhythm {
|
||||
/* Set 1 unit of vertical rhythm on the top and bottom margins. */
|
||||
@include normalize-margin(1 0, $h1-font-size);
|
||||
}
|
||||
@else {
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
}
|
||||
|
||||
@if $normalize-vertical-rhythm {
|
||||
h2 {
|
||||
@include normalize-font-size($h2-font-size);
|
||||
@include normalize-line-height($h2-font-size);
|
||||
@include normalize-margin(1 0, $h2-font-size);
|
||||
}
|
||||
|
||||
h3 {
|
||||
@include normalize-font-size($h3-font-size);
|
||||
@include normalize-line-height($h3-font-size);
|
||||
@include normalize-margin(1 0, $h3-font-size);
|
||||
}
|
||||
|
||||
h4 {
|
||||
@include normalize-font-size($h4-font-size);
|
||||
@include normalize-line-height($h4-font-size);
|
||||
@include normalize-margin(1 0, $h4-font-size);
|
||||
}
|
||||
|
||||
h5 {
|
||||
@include normalize-font-size($h5-font-size);
|
||||
@include normalize-line-height($h5-font-size);
|
||||
@include normalize-margin(1 0, $h5-font-size);
|
||||
}
|
||||
|
||||
h6 {
|
||||
@include normalize-font-size($h6-font-size);
|
||||
@include normalize-line-height($h6-font-size);
|
||||
@include normalize-margin(1 0, $h6-font-size);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(grouping) {
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
@if $normalize-vertical-rhythm {
|
||||
/**
|
||||
* Set 1 unit of vertical rhythm on the top and bottom margin.
|
||||
*/
|
||||
|
||||
blockquote {
|
||||
@include normalize-margin(1 $indent-amount);
|
||||
}
|
||||
|
||||
dl,
|
||||
ol,
|
||||
ul {
|
||||
@include normalize-margin(1 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Turn off margins on nested lists.
|
||||
*/
|
||||
|
||||
ol,
|
||||
ul {
|
||||
ol,
|
||||
ul {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
|
||||
dd {
|
||||
margin: 0 0 0 $indent-amount;
|
||||
}
|
||||
|
||||
ol,
|
||||
ul {
|
||||
padding: 0 0 0 $indent-amount;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
figcaption,
|
||||
figure {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct margin in IE 8.
|
||||
*/
|
||||
|
||||
figure {
|
||||
@if $normalize-vertical-rhythm {
|
||||
@include normalize-margin(1 $indent-amount);
|
||||
}
|
||||
@else {
|
||||
margin: 1em $indent-amount;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in Firefox.
|
||||
* 2. Show the overflow in Edge and IE.
|
||||
*/
|
||||
|
||||
hr {
|
||||
box-sizing: content-box; /* 1 */
|
||||
height: 0; /* 1 */
|
||||
overflow: visible; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
main {
|
||||
display: block;
|
||||
}
|
||||
|
||||
@if $normalize-vertical-rhythm {
|
||||
/**
|
||||
* Set 1 unit of vertical rhythm on the top and bottom margin.
|
||||
*/
|
||||
|
||||
p,
|
||||
pre {
|
||||
@include normalize-margin(1 0);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(links) {
|
||||
/* Links
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Remove the gray background on active links in IE 10.
|
||||
* 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent; /* 1 */
|
||||
-webkit-text-decoration-skip: objects; /* 2 */
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(text) {
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Remove the bottom border in Chrome 57- and Firefox 39-.
|
||||
* 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: none; /* 1 */
|
||||
text-decoration: underline; /* 2 */
|
||||
text-decoration: underline dotted; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent the duplicate application of `bolder` by the next rule in Safari 6.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: inherit;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font weight in Chrome, Edge, and Safari.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bolder;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inheritance and scaling of font size in all browsers.
|
||||
* 2. Correct the odd `em` font sizing in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
samp {
|
||||
font-family: monospace, monospace; /* 1 */
|
||||
font-size: 1em; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font style in Android 4.3-.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct background and color in IE 9-.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background-color: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` elements from affecting the line height in
|
||||
* all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(embedded) {
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
audio,
|
||||
video {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in iOS 4-7.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the border on images inside links in IE 10-.
|
||||
*/
|
||||
|
||||
img {
|
||||
border-style: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Hide the overflow in IE.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(forms) {
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* 1. Change the font styles in all browsers (opinionated).
|
||||
* 2. Remove the margin in Firefox and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
font-family: if($base-font-family, $base-font-family, sans-serif); /* 1 */
|
||||
font-size: 100%; /* 1 */
|
||||
@if $normalize-vertical-rhythm {
|
||||
line-height: ($base-line-height / $base-font-size) * 1em; /* 1 */
|
||||
}
|
||||
@else {
|
||||
line-height: 1.15; /* 1 */
|
||||
}
|
||||
margin: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in IE.
|
||||
*/
|
||||
|
||||
button {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the inheritance of text transform in Edge, Firefox, and IE.
|
||||
* 1. Remove the inheritance of text transform in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select { /* 1 */
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
|
||||
* controls in Android 4.
|
||||
* 2. Correct the inability to style clickable types in iOS and Safari.
|
||||
*/
|
||||
|
||||
button,
|
||||
html [type="button"], /* 1 */
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
}
|
||||
|
||||
button,
|
||||
[type="button"],
|
||||
[type="reset"],
|
||||
[type="submit"] {
|
||||
|
||||
/**
|
||||
* Remove the inner border and padding in Firefox.
|
||||
*/
|
||||
|
||||
&::-moz-focus-inner {
|
||||
border-style: none;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Restore the focus styles unset by the previous rule.
|
||||
*/
|
||||
|
||||
&:-moz-focusring {
|
||||
outline: 1px dotted ButtonText;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Show the overflow in Edge.
|
||||
*/
|
||||
|
||||
input {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct box sizing in IE 10-.
|
||||
* 2. Remove the padding in IE 10-.
|
||||
*/
|
||||
|
||||
[type="checkbox"],
|
||||
[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the cursor style of increment and decrement buttons in Chrome.
|
||||
*/
|
||||
|
||||
[type="number"]::-webkit-inner-spin-button,
|
||||
[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the odd appearance in Chrome and Safari.
|
||||
* 2. Correct the outline style in Safari.
|
||||
*/
|
||||
|
||||
[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
outline-offset: -2px; /* 2 */
|
||||
|
||||
/**
|
||||
* Remove the inner padding and cancel buttons in Chrome and Safari on macOS.
|
||||
*/
|
||||
|
||||
&::-webkit-search-cancel-button,
|
||||
&::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the inability to style clickable types in iOS and Safari.
|
||||
* 2. Change font properties to `inherit` in Safari.
|
||||
*/
|
||||
|
||||
::-webkit-file-upload-button {
|
||||
-webkit-appearance: button; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct the padding in Firefox.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
padding: 0.35em 0.75em 0.625em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct the text wrapping in Edge and IE.
|
||||
* 2. Correct the color inheritance from `fieldset` elements in IE.
|
||||
* 3. Remove the padding so developers are not caught out when they zero out
|
||||
* `fieldset` elements in all browsers.
|
||||
*/
|
||||
|
||||
legend {
|
||||
box-sizing: border-box; /* 1 */
|
||||
display: table; /* 1 */
|
||||
max-width: 100%; /* 1 */
|
||||
padding: 0; /* 3 */
|
||||
color: inherit; /* 2 */
|
||||
white-space: normal; /* 1 */
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Add the correct display in IE 9-.
|
||||
* 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
progress {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove the default vertical scrollbar in IE.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(interactive) {
|
||||
/* Interactive
|
||||
========================================================================== */
|
||||
|
||||
/*
|
||||
* Add the correct display in Edge, IE, and Firefox.
|
||||
*/
|
||||
|
||||
details {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in all browsers.
|
||||
*/
|
||||
|
||||
summary {
|
||||
display: list-item;
|
||||
}
|
||||
|
||||
/*
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
menu {
|
||||
display: block;
|
||||
|
||||
@if $normalize-vertical-rhythm {
|
||||
/*
|
||||
* 1. Set 1 unit of vertical rhythm on the top and bottom margin.
|
||||
* 2. Set consistent space for the list style image.
|
||||
*/
|
||||
|
||||
@include normalize-margin(1 0); /* 1 */
|
||||
padding: 0 0 0 $indent-amount; /* 2 */
|
||||
|
||||
/**
|
||||
* Turn off margins on nested lists.
|
||||
*/
|
||||
|
||||
menu &,
|
||||
ol &,
|
||||
ul & {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(scripting) {
|
||||
/* Scripting
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 9-.
|
||||
*/
|
||||
|
||||
canvas {
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
/**
|
||||
* Add the correct display in IE.
|
||||
*/
|
||||
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
@if _normalize-include(hidden) {
|
||||
/* Hidden
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Add the correct display in IE 10-.
|
||||
*/
|
||||
|
||||
[hidden] {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -1,3 +0,0 @@
|
|||
@import 'normalize/variables';
|
||||
@import 'normalize/vertical-rhythm';
|
||||
@import 'normalize/normalize-mixin';
|
|
@ -1,36 +0,0 @@
|
|||
//
|
||||
// Variables
|
||||
//
|
||||
// You can override the default values by setting the variables in your Sass
|
||||
// before importing the normalize-scss library.
|
||||
|
||||
// The font size set on the root html element.
|
||||
$base-font-size: 16px !default;
|
||||
|
||||
// The base line height determines the basic unit of vertical rhythm.
|
||||
$base-line-height: 24px !default;
|
||||
|
||||
// The length unit in which to output vertical rhythm values.
|
||||
// Supported values: px, em, rem.
|
||||
$base-unit: 'em' !default;
|
||||
|
||||
// The default font family.
|
||||
$base-font-family: null !default;
|
||||
|
||||
// The font sizes for h1-h6.
|
||||
$h1-font-size: 2 * $base-font-size !default;
|
||||
$h2-font-size: 1.5 * $base-font-size !default;
|
||||
$h3-font-size: 1.17 * $base-font-size !default;
|
||||
$h4-font-size: 1 * $base-font-size !default;
|
||||
$h5-font-size: 0.83 * $base-font-size !default;
|
||||
$h6-font-size: 0.67 * $base-font-size !default;
|
||||
|
||||
// The amount lists and blockquotes are indented.
|
||||
$indent-amount: 40px !default;
|
||||
|
||||
// The following variable controls whether normalize-scss will output
|
||||
// font-sizes, line-heights and block-level top/bottom margins that form a basic
|
||||
// vertical rhythm on the page, which differs from the original Normalize.css.
|
||||
// However, changing any of the variables above will cause
|
||||
// $normalize-vertical-rhythm to be automatically set to true.
|
||||
$normalize-vertical-rhythm: false !default;
|
|
@ -1,61 +0,0 @@
|
|||
//
|
||||
// Vertical Rhythm
|
||||
//
|
||||
// This is the minimal amount of code needed to create vertical rhythm in our
|
||||
// CSS. If you are looking for a robust solution, look at the excellent Typey
|
||||
// library. @see https://github.com/jptaranto/typey
|
||||
|
||||
@function normalize-rhythm($value, $relative-to: $base-font-size, $unit: $base-unit) {
|
||||
@if unit($value) != px {
|
||||
@error "The normalize vertical-rhythm module only supports px inputs. The typey library is better.";
|
||||
}
|
||||
@if $unit == rem {
|
||||
@return ($value / $base-font-size) * 1rem;
|
||||
}
|
||||
@else if $unit == em {
|
||||
@return ($value / $relative-to) * 1em;
|
||||
}
|
||||
@else { // $unit == px
|
||||
@return $value;
|
||||
}
|
||||
}
|
||||
|
||||
@mixin normalize-font-size($value, $relative-to: $base-font-size) {
|
||||
@if unit($value) != 'px' {
|
||||
@error "normalize-font-size() only supports px inputs. The typey library is better.";
|
||||
}
|
||||
font-size: normalize-rhythm($value, $relative-to);
|
||||
}
|
||||
|
||||
@mixin normalize-rhythm($property, $values, $relative-to: $base-font-size) {
|
||||
$value-list: $values;
|
||||
$sep: space;
|
||||
@if type-of($values) == 'list' {
|
||||
$sep: list-separator($values);
|
||||
}
|
||||
@else {
|
||||
$value-list: append((), $values);
|
||||
}
|
||||
|
||||
$normalized-values: ();
|
||||
@each $value in $value-list {
|
||||
@if unitless($value) and $value != 0 {
|
||||
$value: $value * normalize-rhythm($base-line-height, $relative-to);
|
||||
}
|
||||
$normalized-values: append($normalized-values, $value, $sep);
|
||||
}
|
||||
#{$property}: $normalized-values;
|
||||
}
|
||||
|
||||
@mixin normalize-margin($values, $relative-to: $base-font-size) {
|
||||
@include normalize-rhythm(margin, $values, $relative-to);
|
||||
}
|
||||
|
||||
@mixin normalize-line-height($font-size, $min-line-padding: 2px) {
|
||||
$lines: ceil($font-size / $base-line-height);
|
||||
// If lines are cramped include some extra leading.
|
||||
@if ($lines * $base-line-height - $font-size) < ($min-line-padding * 2) {
|
||||
$lines: $lines + 1;
|
||||
}
|
||||
@include normalize-rhythm(line-height, $lines, $font-size);
|
||||
}
|
|
@ -83,6 +83,11 @@
|
|||
|
||||
}
|
||||
|
||||
.plugin-card {
|
||||
.github-link { @include gradient($telegraf-btn-gradient); }
|
||||
&:hover .github-link { @include gradient($telegraf-btn-gradient); }
|
||||
}
|
||||
|
||||
.algolia-autocomplete .algolia-docsearch-suggestion--highlight { color: $telegraf-article-link; }
|
||||
|
||||
}
|
||||
|
|
|
@ -4,15 +4,16 @@
|
|||
@import "tools/icomoon",
|
||||
"tools/media-queries.scss",
|
||||
"tools/mixins.scss",
|
||||
"tools/tooltips";
|
||||
"tools/tooltips",
|
||||
"tools/normalize.scss";
|
||||
|
||||
// Import default light theme
|
||||
@import "themes/theme-light.scss";
|
||||
|
||||
// Import Layout Styles
|
||||
@import "normalize/import-now",
|
||||
"layouts/global",
|
||||
@import "layouts/global",
|
||||
"layouts/top-nav",
|
||||
"layouts/homepage",
|
||||
"layouts/sidebar",
|
||||
"layouts/sidebar-toggle",
|
||||
"layouts/content-wrapper",
|
||||
|
@ -24,7 +25,8 @@
|
|||
"layouts/error-page",
|
||||
"layouts/url-selector",
|
||||
"layouts/feature-callouts",
|
||||
"layouts/v1-overrides";
|
||||
"layouts/v1-overrides",
|
||||
"layouts/notifications";
|
||||
|
||||
// Import Product-specifc color schemes
|
||||
@import "product-overrides/telegraf",
|
||||
|
|
|
@ -81,6 +81,7 @@ $article-table-scrollbar: $g0-obsidian;
|
|||
$article-note-base: $gr-viridian;
|
||||
$article-note-heading: $g20-white;
|
||||
$article-note-text: $gr-honeydew;
|
||||
$article-note-strong: $gr-krypton;
|
||||
$article-note-link: $gr-wasabi;
|
||||
$article-note-link-hover: $g20-white;
|
||||
$article-note-table-header: $grad-green-dark;
|
||||
|
@ -176,12 +177,21 @@ $landing-btn-text: $g20-white;
|
|||
$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-grey-abyss;
|
||||
$default-home-card-gradient: $grad-Miyazakisky;
|
||||
|
||||
// Tooltip colors
|
||||
$tooltip-color: $br-chartreuse;
|
||||
$tooltip-color-alt: $br-chartreuse;
|
||||
$tooltip-bg: $br-chartreuse;
|
||||
$tooltip-text: $g2-kevlar;
|
||||
|
||||
// Support and feedback buttons
|
||||
$feedback-btn-bg: $g3-castle;
|
||||
|
||||
// URL Modal colors
|
||||
$modal-field-bg: $g1-raven;
|
||||
|
||||
|
@ -199,6 +209,9 @@ $svg-geo-s2-cell: $b-dodger;
|
|||
$svg-geo-region: $p-comet;
|
||||
$svg-geo-point: $br-chartreuse;
|
||||
|
||||
// Diagram colors
|
||||
$diagram-arrow: $g6-smoke;
|
||||
|
||||
@import "dark/telegraf",
|
||||
"dark/chronograf",
|
||||
"dark/kapacitor";
|
||||
|
|
|
@ -82,6 +82,7 @@ $article-table-scrollbar: $g14-chromium !default;
|
|||
$article-note-base: $gr-rainforest !default;
|
||||
$article-note-heading: $gr-emerald !default;
|
||||
$article-note-text: $gr-emerald !default;
|
||||
$article-note-strong: $gr-emerald !default;
|
||||
$article-note-link: $b-ocean !default;
|
||||
$article-note-link-hover: $br-magenta !default;
|
||||
$article-note-table-header: $grad-green-dark !default;
|
||||
|
@ -176,12 +177,21 @@ $landing-btn-text: $g20-white !default;
|
|||
$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;
|
||||
|
||||
// Tooltip colors
|
||||
$tooltip-color: $p-amethyst !default;
|
||||
$tooltip-color-alt: $p-twilight !default;
|
||||
$tooltip-bg: $p-amethyst !default;
|
||||
$tooltip-text: $g20-white !default;
|
||||
|
||||
// Support and feedback buttons
|
||||
$feedback-btn-bg: $g16-pearl !default;
|
||||
|
||||
// URL Modal colors
|
||||
$modal-field-bg: $g20-white !default;
|
||||
|
||||
|
@ -199,6 +209,9 @@ $svg-geo-s2-cell: $b-hydrogen !default;
|
|||
$svg-geo-region: $br-galaxy !default;
|
||||
$svg-geo-point: $p-potassium !default;
|
||||
|
||||
// Diagram colors
|
||||
$diagram-arrow: $g14-chromium !default;
|
||||
|
||||
@import "light/telegraf",
|
||||
"light/chronograf",
|
||||
"light/kapacitor";
|
||||
|
|
|
@ -29,3 +29,6 @@ $chronograf-btn-gradient-hover: $grad-OminousFog;
|
|||
|
||||
// Article Tabs for tabbed content
|
||||
$chronograf-article-tab-active-text: $g20-white;
|
||||
|
||||
// Homepage cards
|
||||
$chronograf-home-card-gradient: $grad-PurpleRain;
|
||||
|
|
|
@ -8,11 +8,11 @@ $kapacitor-dropdown-gradient: $grad-GarageBand;
|
|||
$kapacitor-sidebar-search-highlight: $gr-rainforest;
|
||||
|
||||
// Left Navigation
|
||||
$kapacitor-nav-category: $gr-rainforest;
|
||||
$kapacitor-nav-category-hover: $b-laser;
|
||||
$kapacitor-nav-category: $gr-viridian;
|
||||
$kapacitor-nav-category-hover: $br-chartreuse;
|
||||
$kapacitor-nav-item-hover: $b-laser;
|
||||
$kapacitor-nav-toggle-bg-hover: $gr-rainforest;
|
||||
$kapacitor-nav-active: $p-potassium;
|
||||
$kapacitor-nav-toggle-bg-hover: $gr-viridian;
|
||||
$kapacitor-nav-active: $br-chartreuse;
|
||||
|
||||
// Article Content
|
||||
$kapacitor-article-heading: $g20-white;
|
||||
|
@ -29,3 +29,6 @@ $kapacitor-btn-gradient-hover: $grad-green-shade;
|
|||
|
||||
// Article Tabs for tabbed content
|
||||
$kapacitor-article-tab-active-text: $g20-white;
|
||||
|
||||
// Homepage cards
|
||||
$kapacitor-home-card-gradient: $grad-GarageBand;
|
||||
|
|
|
@ -25,7 +25,11 @@ $telegraf-article-table-header: $grad-SavannaHeat;
|
|||
|
||||
// Article Buttons
|
||||
$telegraf-btn-gradient: $grad-red;
|
||||
$telegraf-btn-gradient-hover: $grad-yellow-dark;
|
||||
$telegraf-btn-gradient-hover: $grad-red-light;
|
||||
|
||||
// Article Tabs for tabbed content
|
||||
$telegraf-article-tab-active-text: $g20-white;
|
||||
|
||||
// Homepage cards
|
||||
$telegraf-home-card-gradient: $grad-ScotchBonnet;
|
||||
|
||||
|
|
|
@ -29,3 +29,6 @@ $chronograf-btn-gradient-hover: $grad-PurpleFog !default;
|
|||
|
||||
// Article Tabs for tabbed content
|
||||
$chronograf-article-tab-active-text: $g20-white !default;
|
||||
|
||||
// Homepage cards
|
||||
$chronograf-home-card-gradient: $grad-OminousFog !default;
|
||||
|
|
|
@ -9,9 +9,9 @@ $kapacitor-sidebar-search-highlight: $gr-viridian !default;
|
|||
|
||||
// Left Navigation
|
||||
$kapacitor-nav-category: $gr-viridian !default;
|
||||
$kapacitor-nav-category-hover: $b-dodger !default;
|
||||
$kapacitor-nav-category-hover: $p-star !default;
|
||||
$kapacitor-nav-item-hover: $b-dodger !default;
|
||||
$kapacitor-nav-toggle-bg-hover: $gr-viridian !default;
|
||||
$kapacitor-nav-toggle-bg-hover: $p-star !default;
|
||||
$kapacitor-nav-active: $p-star !default;
|
||||
|
||||
// Article Content
|
||||
|
@ -29,3 +29,6 @@ $kapacitor-btn-gradient-hover: $grad-green !default;
|
|||
|
||||
// Article Tabs for tabbed content
|
||||
$kapacitor-article-tab-active-text: $g20-white !default;
|
||||
|
||||
// Homepage cards
|
||||
$kapacitor-home-card-gradient: $grad-GarageBand !default;
|
||||
|
|
|
@ -25,7 +25,10 @@ $telegraf-article-table-header: $grad-Miyazakisky !default;
|
|||
|
||||
// Article Buttons
|
||||
$telegraf-btn-gradient: $grad-red !default;
|
||||
$telegraf-btn-gradient-hover: $grad-yellow-dark !default;
|
||||
$telegraf-btn-gradient-hover: $grad-red-light !default;
|
||||
|
||||
// Article Tabs for tabbed content
|
||||
$telegraf-article-tab-active-text: $g20-white !default;
|
||||
|
||||
// Homepage cards
|
||||
$telegraf-home-card-gradient: $grad-ScotchBonnet !default;
|
||||
|
|
|
@ -104,9 +104,11 @@ $grad-LavenderLatte: $br-deeppurple, $p-star;
|
|||
$grad-OminousFog: $br-pulsar, $br-galaxy;
|
||||
|
||||
// Single Hue Gradient
|
||||
$grad-grey-mist: $g18-cloud, $g19-ghost;
|
||||
$grad-grey-light: $g13-mist, $g18-cloud;
|
||||
$grad-grey: $g10-wolf, $g13-mist;
|
||||
$grad-grey-dark: $g3-castle, $g6-smoke;
|
||||
$grad-grey-abyss: $g1-raven, $g2-kevlar;
|
||||
|
||||
$grad-blue-light: $b-pool, $b-hydrogen;
|
||||
$grad-blue: $b-ocean, $b-pool;
|
||||
|
@ -136,9 +138,13 @@ $grad-PastelGothic: $p-comet, $b-laser;
|
|||
$grad-GarageBand: $b-pool, $gr-rainforest;
|
||||
$grad-LowDifficulty: $b-pool, $gr-honeydew;
|
||||
$grad-DesertFestival: $r-curacao, $p-star;
|
||||
$grad-FuyuPersimmon: $y-tiger, $r-fire;
|
||||
$grad-SavannaHeat: $y-topaz, $r-ruby;
|
||||
$grad-ScotchBonnet: $y-pineapple,$r-curacao;
|
||||
|
||||
// New gradients
|
||||
$grad-PurpleFog: $p-potassium, $cp-munchkin;
|
||||
$grad-PurpleRain: $p-void, $cp-marguerite;
|
||||
|
||||
// Transparent gradients
|
||||
$grad-whiteFade: rgba($g20-white, .75), rgba($g20-white, 0);
|
||||
|
|
|
@ -1,10 +1,10 @@
|
|||
@font-face {
|
||||
font-family: 'icomoon';
|
||||
src: url('fonts/icomoon.eot?rgf1km');
|
||||
src: url('fonts/icomoon.eot?rgf1km#iefix') format('embedded-opentype'),
|
||||
url('fonts/icomoon.ttf?rgf1km') format('truetype'),
|
||||
url('fonts/icomoon.woff?rgf1km') format('woff'),
|
||||
url('fonts/icomoon.svg?rgf1km#icomoon') format('svg');
|
||||
src: url('fonts/icomoon.eot?a22byr');
|
||||
src: url('fonts/icomoon.eot?a22byr#iefix') format('embedded-opentype'),
|
||||
url('fonts/icomoon.ttf?a22byr') format('truetype'),
|
||||
url('fonts/icomoon.woff?a22byr') format('woff'),
|
||||
url('fonts/icomoon.svg?a22byr#icomoon') format('svg');
|
||||
font-weight: normal;
|
||||
font-style: normal;
|
||||
font-display: block;
|
||||
|
@ -13,7 +13,7 @@
|
|||
[class^="icon-"], [class*=" icon-"] {
|
||||
/* use !important to prevent issues with browser extensions that change fonts */
|
||||
font-family: 'icomoon' !important;
|
||||
speak: none;
|
||||
speak: never;
|
||||
font-style: normal;
|
||||
font-weight: normal;
|
||||
font-variant: normal;
|
||||
|
@ -25,116 +25,11 @@
|
|||
-moz-osx-font-smoothing: grayscale;
|
||||
}
|
||||
|
||||
.icon-ui-disks-nav:before {
|
||||
content: "\e93c";
|
||||
.icon-crown:before {
|
||||
content: "\e934";
|
||||
}
|
||||
.icon-ui-wrench-nav:before {
|
||||
content: "\e93d";
|
||||
}
|
||||
.icon-ui-user:before {
|
||||
content: "\e93e";
|
||||
}
|
||||
.icon-ui-chat:before {
|
||||
content: "\e93a";
|
||||
}
|
||||
.icon-ui-bell:before {
|
||||
content: "\e93b";
|
||||
}
|
||||
.icon-ui-users-trio:before {
|
||||
content: "\e940";
|
||||
}
|
||||
.icon-ui-cloud:before {
|
||||
content: "\e93f";
|
||||
}
|
||||
.icon-ui-nav-chat:before {
|
||||
content: "\e941";
|
||||
}
|
||||
.icon-ui-eye-closed:before {
|
||||
content: "\e956";
|
||||
}
|
||||
.icon-ui-eye-open:before {
|
||||
content: "\e957";
|
||||
}
|
||||
.icon-ui-add-cell:before {
|
||||
content: "\e91f";
|
||||
}
|
||||
.icon-ui-alert:before {
|
||||
content: "\e920";
|
||||
}
|
||||
.icon-ui-calendar:before {
|
||||
content: "\e921";
|
||||
}
|
||||
.icon-ui-checkmark:before {
|
||||
content: "\e922";
|
||||
}
|
||||
.icon-ui-cog-thick:before {
|
||||
content: "\e923";
|
||||
}
|
||||
.icon-ui-dashboards:before {
|
||||
content: "\e924";
|
||||
}
|
||||
.icon-ui-data-explorer:before {
|
||||
content: "\e925";
|
||||
}
|
||||
.icon-ui-download:before {
|
||||
content: "\e926";
|
||||
}
|
||||
.icon-ui-duplicate:before {
|
||||
content: "\e927";
|
||||
}
|
||||
.icon-ui-export:before {
|
||||
content: "\e928";
|
||||
}
|
||||
.icon-ui-fullscreen:before {
|
||||
content: "\e929";
|
||||
}
|
||||
.icon-ui-influx-icon:before {
|
||||
content: "\e92a";
|
||||
}
|
||||
.icon-ui-note:before {
|
||||
content: "\e92b";
|
||||
}
|
||||
.icon-ui-organizations:before {
|
||||
content: "\e92c";
|
||||
}
|
||||
.icon-ui-pause:before {
|
||||
content: "\e92d";
|
||||
}
|
||||
.icon-ui-pencil:before {
|
||||
content: "\e92e";
|
||||
}
|
||||
.icon-ui-play:before {
|
||||
content: "\e92f";
|
||||
}
|
||||
.icon-ui-plus:before {
|
||||
content: "\e930";
|
||||
}
|
||||
.icon-ui-refresh:before {
|
||||
content: "\e931";
|
||||
}
|
||||
.icon-ui-remove:before {
|
||||
content: "\e932";
|
||||
}
|
||||
.icon-ui-search:before {
|
||||
content: "\e933";
|
||||
}
|
||||
.icon-ui-trash:before {
|
||||
content: "\e935";
|
||||
}
|
||||
.icon-ui-triangle:before {
|
||||
content: "\e936";
|
||||
}
|
||||
.icon-ui-wrench-2:before {
|
||||
content: "\e939";
|
||||
}
|
||||
.icon-moon1:before {
|
||||
content: "\e904";
|
||||
}
|
||||
.icon-sun1:before {
|
||||
content: "\e906";
|
||||
}
|
||||
.icon-search:before {
|
||||
content: "\e905";
|
||||
.icon-book-pencil:before {
|
||||
content: "\e965";
|
||||
}
|
||||
.icon-influx-logo:before {
|
||||
content: "\e900";
|
||||
|
@ -148,6 +43,15 @@
|
|||
.icon-arrow-down:before {
|
||||
content: "\e903";
|
||||
}
|
||||
.icon-moon1:before {
|
||||
content: "\e904";
|
||||
}
|
||||
.icon-search:before {
|
||||
content: "\e905";
|
||||
}
|
||||
.icon-sun1:before {
|
||||
content: "\e906";
|
||||
}
|
||||
.icon-arrow-down-circle:before {
|
||||
content: "\e907";
|
||||
}
|
||||
|
@ -184,6 +88,18 @@
|
|||
.icon-check:before {
|
||||
content: "\e912";
|
||||
}
|
||||
.icon-heart1:before {
|
||||
content: "\e913";
|
||||
}
|
||||
.icon-settings:before {
|
||||
content: "\e914";
|
||||
}
|
||||
.icon-zoom-in:before {
|
||||
content: "\e915";
|
||||
}
|
||||
.icon-zoom-out:before {
|
||||
content: "\e916";
|
||||
}
|
||||
.icon-chevron-down:before {
|
||||
content: "\e917";
|
||||
}
|
||||
|
@ -196,23 +112,83 @@
|
|||
.icon-chevron-up:before {
|
||||
content: "\e91a";
|
||||
}
|
||||
.icon-download:before {
|
||||
content: "\e91c";
|
||||
}
|
||||
.icon-heart1:before {
|
||||
content: "\e913";
|
||||
}
|
||||
.icon-menu:before {
|
||||
content: "\e91b";
|
||||
}
|
||||
.icon-download:before {
|
||||
content: "\e91c";
|
||||
}
|
||||
.icon-minus:before {
|
||||
content: "\e91d";
|
||||
}
|
||||
.icon-plus:before {
|
||||
content: "\e91e";
|
||||
}
|
||||
.icon-settings:before {
|
||||
content: "\e914";
|
||||
.icon-add-cell:before {
|
||||
content: "\e91f";
|
||||
}
|
||||
.icon-alert:before {
|
||||
content: "\e920";
|
||||
}
|
||||
.icon-calendar:before {
|
||||
content: "\e921";
|
||||
}
|
||||
.icon-checkmark:before {
|
||||
content: "\e922";
|
||||
}
|
||||
.icon-cog-thick:before {
|
||||
content: "\e923";
|
||||
}
|
||||
.icon-dashboards:before {
|
||||
content: "\e924";
|
||||
}
|
||||
.icon-data-explorer:before {
|
||||
content: "\e925";
|
||||
}
|
||||
.icon-ui-download:before {
|
||||
content: "\e926";
|
||||
}
|
||||
.icon-duplicate:before {
|
||||
content: "\e927";
|
||||
}
|
||||
.icon-export:before {
|
||||
content: "\e928";
|
||||
}
|
||||
.icon-fullscreen:before {
|
||||
content: "\e929";
|
||||
}
|
||||
.icon-influx-icon:before {
|
||||
content: "\e92a";
|
||||
}
|
||||
.icon-note:before {
|
||||
content: "\e92b";
|
||||
}
|
||||
.icon-organizations:before {
|
||||
content: "\e92c";
|
||||
}
|
||||
.icon-pause:before {
|
||||
content: "\e92d";
|
||||
}
|
||||
.icon-pencil:before {
|
||||
content: "\e92e";
|
||||
}
|
||||
.icon-play:before {
|
||||
content: "\e92f";
|
||||
}
|
||||
.icon-ui-plus:before {
|
||||
content: "\e930";
|
||||
}
|
||||
.icon-refresh:before {
|
||||
content: "\e931";
|
||||
}
|
||||
.icon-remove:before {
|
||||
content: "\e932";
|
||||
}
|
||||
.icon-alert-circle:before {
|
||||
content: "\e933";
|
||||
}
|
||||
.icon-trash:before {
|
||||
content: "\e935";
|
||||
}
|
||||
.icon-triangle:before {
|
||||
content: "\e937";
|
||||
|
@ -220,18 +196,42 @@
|
|||
.icon-x:before {
|
||||
content: "\e938";
|
||||
}
|
||||
.icon-zoom-in:before {
|
||||
content: "\e915";
|
||||
.icon-wrench-2:before {
|
||||
content: "\e939";
|
||||
}
|
||||
.icon-zoom-out:before {
|
||||
content: "\e916";
|
||||
.icon-chat:before {
|
||||
content: "\e93a";
|
||||
}
|
||||
.icon-folder-upload:before {
|
||||
content: "\e934";
|
||||
.icon-bell:before {
|
||||
content: "\e93b";
|
||||
}
|
||||
.icon-disks-nav:before {
|
||||
content: "\e93c";
|
||||
}
|
||||
.icon-wrench-nav:before {
|
||||
content: "\e93d";
|
||||
}
|
||||
.icon-user:before {
|
||||
content: "\e93e";
|
||||
}
|
||||
.icon-cloud:before {
|
||||
content: "\e93f";
|
||||
}
|
||||
.icon-users-trio:before {
|
||||
content: "\e940";
|
||||
}
|
||||
.icon-nav-chat:before {
|
||||
content: "\e941";
|
||||
}
|
||||
.icon-map2:before {
|
||||
content: "\e94c";
|
||||
}
|
||||
.icon-eye-closed:before {
|
||||
content: "\e956";
|
||||
}
|
||||
.icon-eye-open:before {
|
||||
content: "\e957";
|
||||
}
|
||||
.icon-heart:before {
|
||||
content: "\e9da";
|
||||
}
|
||||
|
|
|
@ -0,0 +1,427 @@
|
|||
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
|
||||
|
||||
/**
|
||||
* 1. Set default font family to sans-serif.
|
||||
* 2. Prevent iOS text size adjust after orientation change, without disabling
|
||||
* user zoom.
|
||||
*/
|
||||
|
||||
html {
|
||||
font-family: sans-serif; /* 1 */
|
||||
-ms-text-size-adjust: 100%; /* 2 */
|
||||
-webkit-text-size-adjust: 100%; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default margin.
|
||||
*/
|
||||
|
||||
body {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
/* HTML5 display definitions
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Correct `block` display not defined for any HTML5 element in IE 8/9.
|
||||
* Correct `block` display not defined for `details` or `summary` in IE 10/11
|
||||
* and Firefox.
|
||||
* Correct `block` display not defined for `main` in IE 11.
|
||||
*/
|
||||
|
||||
article,
|
||||
aside,
|
||||
details,
|
||||
figcaption,
|
||||
figure,
|
||||
footer,
|
||||
header,
|
||||
hgroup,
|
||||
main,
|
||||
menu,
|
||||
nav,
|
||||
section,
|
||||
summary {
|
||||
display: block;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `inline-block` display not defined in IE 8/9.
|
||||
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
|
||||
*/
|
||||
|
||||
audio,
|
||||
canvas,
|
||||
progress,
|
||||
video {
|
||||
display: inline-block; /* 1 */
|
||||
vertical-align: baseline; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent modern browsers from displaying `audio` without controls.
|
||||
* Remove excess height in iOS 5 devices.
|
||||
*/
|
||||
|
||||
audio:not([controls]) {
|
||||
display: none;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `[hidden]` styling not present in IE 8/9/10.
|
||||
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
|
||||
*/
|
||||
|
||||
[hidden],
|
||||
template {
|
||||
display: none;
|
||||
}
|
||||
|
||||
/* Links
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove the gray background color from active links in IE 10.
|
||||
*/
|
||||
|
||||
a {
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
/**
|
||||
* Improve readability when focused and also mouse hovered in all browsers.
|
||||
*/
|
||||
|
||||
a:active,
|
||||
a:hover {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
/* Text-level semantics
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
abbr[title] {
|
||||
border-bottom: 1px dotted;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
b,
|
||||
strong {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in Safari and Chrome.
|
||||
*/
|
||||
|
||||
dfn {
|
||||
font-style: italic;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address variable `h1` font-size and margin within `section` and `article`
|
||||
* contexts in Firefox 4+, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
h1 {
|
||||
font-size: 2em;
|
||||
margin: 0.67em 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address styling not present in IE 8/9.
|
||||
*/
|
||||
|
||||
mark {
|
||||
background: #ff0;
|
||||
color: #000;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent and variable font size in all browsers.
|
||||
*/
|
||||
|
||||
small {
|
||||
font-size: 80%;
|
||||
}
|
||||
|
||||
/**
|
||||
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
|
||||
*/
|
||||
|
||||
sub,
|
||||
sup {
|
||||
font-size: 75%;
|
||||
line-height: 0;
|
||||
position: relative;
|
||||
vertical-align: baseline;
|
||||
}
|
||||
|
||||
sup {
|
||||
top: -0.5em;
|
||||
}
|
||||
|
||||
sub {
|
||||
bottom: -0.25em;
|
||||
}
|
||||
|
||||
/* Embedded content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove border when inside `a` element in IE 8/9/10.
|
||||
*/
|
||||
|
||||
img {
|
||||
border: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Correct overflow not hidden in IE 9/10/11.
|
||||
*/
|
||||
|
||||
svg:not(:root) {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
/* Grouping content
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Address margin not present in IE 8/9 and Safari.
|
||||
*/
|
||||
|
||||
figure {
|
||||
margin: 1em 40px;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address differences between Firefox and other browsers.
|
||||
*/
|
||||
|
||||
hr {
|
||||
-moz-box-sizing: content-box;
|
||||
box-sizing: content-box;
|
||||
height: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Contain overflow in all browsers.
|
||||
*/
|
||||
|
||||
pre {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address odd `em`-unit font size rendering in all browsers.
|
||||
*/
|
||||
|
||||
code,
|
||||
kbd,
|
||||
pre,
|
||||
samp {
|
||||
font-family: monospace, monospace;
|
||||
font-size: 1em;
|
||||
}
|
||||
|
||||
/* Forms
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Known limitation: by default, Chrome and Safari on OS X allow very limited
|
||||
* styling of `select`, unless a `border` property is set.
|
||||
*/
|
||||
|
||||
/**
|
||||
* 1. Correct color not being inherited.
|
||||
* Known issue: affects color of disabled elements.
|
||||
* 2. Correct font properties not being inherited.
|
||||
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
|
||||
*/
|
||||
|
||||
button,
|
||||
input,
|
||||
optgroup,
|
||||
select,
|
||||
textarea {
|
||||
color: inherit; /* 1 */
|
||||
font: inherit; /* 2 */
|
||||
margin: 0; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Address `overflow` set to `hidden` in IE 8/9/10/11.
|
||||
*/
|
||||
|
||||
button {
|
||||
overflow: visible;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address inconsistent `text-transform` inheritance for `button` and `select`.
|
||||
* All other form control elements do not inherit `text-transform` values.
|
||||
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
|
||||
* Correct `select` style inheritance in Firefox.
|
||||
*/
|
||||
|
||||
button,
|
||||
select {
|
||||
text-transform: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
|
||||
* and `video` controls.
|
||||
* 2. Correct inability to style clickable `input` types in iOS.
|
||||
* 3. Improve usability and consistency of cursor style between image-type
|
||||
* `input` and others.
|
||||
*/
|
||||
|
||||
button,
|
||||
html input[type="button"], /* 1 */
|
||||
input[type="reset"],
|
||||
input[type="submit"] {
|
||||
-webkit-appearance: button; /* 2 */
|
||||
cursor: pointer; /* 3 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Re-set default cursor for disabled elements.
|
||||
*/
|
||||
|
||||
button[disabled],
|
||||
html input[disabled] {
|
||||
cursor: default;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and border in Firefox 4+.
|
||||
*/
|
||||
|
||||
button::-moz-focus-inner,
|
||||
input::-moz-focus-inner {
|
||||
border: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
|
||||
* the UA stylesheet.
|
||||
*/
|
||||
|
||||
input {
|
||||
line-height: normal;
|
||||
}
|
||||
|
||||
/**
|
||||
* It's recommended that you don't attempt to style these elements.
|
||||
* Firefox's implementation doesn't respect box-sizing, padding, or width.
|
||||
*
|
||||
* 1. Address box sizing set to `content-box` in IE 8/9/10.
|
||||
* 2. Remove excess padding in IE 8/9/10.
|
||||
*/
|
||||
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
box-sizing: border-box; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
|
||||
* `font-size` values of the `input`, it causes the cursor style of the
|
||||
* decrement button to change from `default` to `text`.
|
||||
*/
|
||||
|
||||
input[type="number"]::-webkit-inner-spin-button,
|
||||
input[type="number"]::-webkit-outer-spin-button {
|
||||
height: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
|
||||
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
|
||||
* (include `-moz` to future-proof).
|
||||
*/
|
||||
|
||||
input[type="search"] {
|
||||
-webkit-appearance: textfield; /* 1 */
|
||||
-moz-box-sizing: content-box;
|
||||
-webkit-box-sizing: content-box; /* 2 */
|
||||
box-sizing: content-box;
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
|
||||
* Safari (but not Chrome) clips the cancel button when the search input has
|
||||
* padding (and `textfield` appearance).
|
||||
*/
|
||||
|
||||
input[type="search"]::-webkit-search-cancel-button,
|
||||
input[type="search"]::-webkit-search-decoration {
|
||||
-webkit-appearance: none;
|
||||
}
|
||||
|
||||
/**
|
||||
* Define consistent border, margin, and padding.
|
||||
*/
|
||||
|
||||
fieldset {
|
||||
border: 1px solid #c0c0c0;
|
||||
margin: 0 2px;
|
||||
padding: 0.35em 0.625em 0.75em;
|
||||
}
|
||||
|
||||
/**
|
||||
* 1. Correct `color` not being inherited in IE 8/9/10/11.
|
||||
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
|
||||
*/
|
||||
|
||||
legend {
|
||||
border: 0; /* 1 */
|
||||
padding: 0; /* 2 */
|
||||
}
|
||||
|
||||
/**
|
||||
* Remove default vertical scrollbar in IE 8/9/10/11.
|
||||
*/
|
||||
|
||||
textarea {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/**
|
||||
* Don't inherit the `font-weight` (applied by a rule above).
|
||||
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
|
||||
*/
|
||||
|
||||
optgroup {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
/* Tables
|
||||
========================================================================== */
|
||||
|
||||
/**
|
||||
* Remove most spacing between table cells.
|
||||
*/
|
||||
|
||||
table {
|
||||
border-collapse: collapse;
|
||||
border-spacing: 0;
|
||||
}
|
||||
|
||||
td,
|
||||
th {
|
||||
padding: 0;
|
||||
}
|
|
@ -0,0 +1,34 @@
|
|||
baseURL = "https://test2.docs.influxdata.com/"
|
||||
languageCode = "en-us"
|
||||
title = "InfluxDB Documentation"
|
||||
|
||||
# Git history information for lastMod-type functionality
|
||||
enableGitInfo = true
|
||||
|
||||
# Syntax Highlighting
|
||||
pygmentsCodefences = true
|
||||
pygmentsUseClasses = true
|
||||
|
||||
# Preserve case in article tags
|
||||
preserveTaxonomyNames = true
|
||||
|
||||
# Generate a robots.txt
|
||||
enableRobotsTXT = true
|
||||
|
||||
# Custom staging params
|
||||
[params]
|
||||
environment = "staging"
|
||||
|
||||
# Markdown rendering options
|
||||
[blackfriday]
|
||||
hrefTargetBlank = true
|
||||
smartDashes = false
|
||||
|
||||
[taxonomies]
|
||||
"influxdb/v2.0/tag" = "influxdb/v2.0/tags"
|
||||
"influxdb/cloud/tag" = "influxdb/cloud/tags"
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
[markup.goldmark.renderer]
|
||||
unsafe = true
|
|
@ -1,4 +1,4 @@
|
|||
baseURL = "https://v2.docs.influxdata.com/"
|
||||
baseURL = "https://docs.influxdata.com/"
|
||||
languageCode = "en-us"
|
||||
title = "InfluxDB Documentation"
|
||||
|
||||
|
@ -12,6 +12,9 @@ pygmentsUseClasses = true
|
|||
# Preserve case in article tags
|
||||
preserveTaxonomyNames = true
|
||||
|
||||
# Generate a robots.txt
|
||||
enableRobotsTXT = true
|
||||
|
||||
# Markdown rendering options
|
||||
[blackfriday]
|
||||
hrefTargetBlank = true
|
||||
|
@ -19,6 +22,7 @@ smartDashes = false
|
|||
|
||||
[taxonomies]
|
||||
"influxdb/v2.0/tag" = "influxdb/v2.0/tags"
|
||||
"influxdb/cloud/tag" = "influxdb/cloud/tags"
|
||||
|
||||
[markup]
|
||||
[markup.goldmark]
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
---
|
||||
# Meta information for the documentation homepage
|
||||
title: InfluxData documentation
|
||||
description: >
|
||||
InfluxData provides the industry leading time series platform.
|
||||
Store, process, and alert on time series data with InfluxDB and InfluxDB Cloud.
|
||||
Use Telegraf to collect metrics from a growing number of technologies.
|
||||
Visualize data with Chronograf.
|
||||
Build robust monitoring and alerting pipelines with Kapacitor.
|
||||
---
|
|
@ -40,7 +40,7 @@ Chronograf offers a UI for [Kapacitor](https://github.com/influxdata/kapacitor),
|
|||
|
||||
* Create and delete databases and retention policies
|
||||
* View currently-running queries and stop inefficient queries from overloading your system
|
||||
* Create, delete, and assign permissions to users (Chronograf supports [InfluxDB OSS](/influxdb/latest/query_language/authentication_and_authorization/#authorization) and InfluxDB Enterprise user management)
|
||||
* Create, delete, and assign permissions to users (Chronograf supports [InfluxDB OSS 1.x](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#authorization) and InfluxDB Enterprise user management)
|
||||
|
||||
|
||||
### Multi-organization and multi-user support
|
||||
|
|
|
@ -10,21 +10,7 @@ Chronograf is the user interface component of the [InfluxData time series platfo
|
|||
|
||||
Follow the links below for more information.
|
||||
|
||||
## [Chronograf 1.6 release notes](/chronograf/v1.6/about_the_project/release-notes-changelog/)
|
||||
|
||||
The [Chronograf 1.6 release notes](/chronograf/v1.6/about_the_project/release-notes-changelog/) includes details about features, bug fixes, and breaking changes for current and earlier Chronograf OSS releases.
|
||||
|
||||
## [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md)
|
||||
|
||||
See [Contributing to InfluxDB OSS](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) for information about how you can contribute to the InfluxDB OSS GitHub project.
|
||||
|
||||
### [InfluxData Contributor License Agreement (CLA)](https://influxdata.com/community/cla/)
|
||||
|
||||
In order to begin contributing to InfluxDB OSS project, you need to complete and sign the [InfluxData Contributor License Agreement (CLA)](https://influxdata.com/community/cla/).
|
||||
|
||||
## [Open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE/)
|
||||
|
||||
See the [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE/) for conditions and restrictions for the use of the Chronograf source code.
|
||||
{{< children hlevel="h2" >}}
|
||||
|
||||
Chronograf is released under the GNU Affero General Public License. This Free Software Foundation license is fairly new,
|
||||
and differs from the more widely known and understood GPL.
|
||||
|
|
|
@ -615,9 +615,9 @@ menu:
|
|||
### UI improvements
|
||||
|
||||
* When dashboard time range is changed, reset graphs that are zoomed in
|
||||
* [Bar graph](/chronograf/latest/troubleshooting/frequently-asked-questions/#bar) option added to dashboard
|
||||
* [Bar graph](/chronograf/v1.6/guides/visualization-types/#bar-graph) option added to dashboard
|
||||
* Redesign source management table to be more intuitive
|
||||
* Redesign [Line + Single Stat](/chronograf/latest/troubleshooting/frequently-asked-questions/#line-stat) cells to appear more like a sparkline, and improve legibility
|
||||
* Redesign [Line + Single Stat](/chronograf/v1.6/guides/visualization-types/#line-graph-single-stat) cells to appear more like a sparkline, and improve legibility
|
||||
|
||||
|
||||
## v1.3.2.0 [2017-06-05]
|
||||
|
@ -633,7 +633,7 @@ menu:
|
|||
|
||||
### Features
|
||||
|
||||
* Add UI to the Data Explorer for [writing data to InfluxDB](/chronograf/latest/guides/transition-web-admin-interface/#writing-data)
|
||||
* Add UI to the Data Explorer for [writing data to InfluxDB](/chronograf/v1.6/administration/transition-web-admin-interface/#writing-data)
|
||||
|
||||
### UI improvements
|
||||
|
||||
|
@ -653,26 +653,26 @@ In versions 1.3.1+, installing a new version of Chronograf automatically clears
|
|||
|
||||
### Bug fixes
|
||||
|
||||
* Fix infinite spinner when `/chronograf` is a [basepath](/chronograf/latest/administration/configuration/#p-basepath)
|
||||
* Fix infinite spinner when `/chronograf` is a [basepath](/chronograf/v1.6/administration/config-options/#basepath-p)
|
||||
* Remove the query templates dropdown from dashboard cell editor mode
|
||||
* Fix the backwards sort arrows in table column headers
|
||||
* Make the logout button consistent with design
|
||||
* Fix the loading spinner on graphs
|
||||
* Filter out any template variable values that are empty, whitespace, or duplicates
|
||||
* Allow users to click the add query button after selecting singleStat as the [visualization type](/chronograf/latest/troubleshooting/frequently-asked-questions/#what-visualization-types-does-chronograf-support)
|
||||
* Allow users to click the add query button after selecting singleStat as the visualization type
|
||||
* Add a query for windows uptime - thank you, @brianbaker!
|
||||
|
||||
### Features
|
||||
|
||||
* Add log [event handler](/chronograf/latest/troubleshooting/frequently-asked-questions/#what-kapacitor-event-handlers-are-supported-in-chronograf) - thank you, @mpchadwick!
|
||||
* Add log [event handler](/chronograf/v1.6/guides/configuring-alert-endpoints/) - thank you, @mpchadwick!
|
||||
* Update Go (golang) vendoring to dep and committed vendor directory
|
||||
* Add autocomplete functionality to [template variable](/chronograf/latest/guides/dashboard-template-variables/) dropdowns
|
||||
* Add autocomplete functionality to [template variable](/chronograf/v1.6/guides/dashboard-template-variables/) dropdowns
|
||||
|
||||
### UI improvements
|
||||
|
||||
* Refactor scrollbars to support non-webkit browsers
|
||||
* Increase the query builder's default height in cell editor mode and in the data explorer
|
||||
* Make the [template variables](/chronograf/latest/guides/dashboard-template-variables/) manager more space efficient
|
||||
* Make the [template variables](/chronograf/v1.6/guides/dashboard-template-variables/) manager more space efficient
|
||||
* Add page spinners to pages that did not have them
|
||||
* Denote which source is connected in the sources table
|
||||
* Use milliseconds in the InfluxDB dashboard instead of nanoseconds
|
||||
|
@ -682,25 +682,25 @@ In versions 1.3.1+, installing a new version of Chronograf automatically clears
|
|||
|
||||
### Bug fixes
|
||||
|
||||
* Fix the link to home when using the [`--basepath` option](/chronograf/latest/administration/configuration/#p-basepath)
|
||||
* Fix the link to home when using the [`--basepath` option](/chronograf/v1.6/administration/config-options/#basepath-p)
|
||||
* Remove the notification to login on the login page
|
||||
* Support queries that perform math on functions
|
||||
* Prevent the creation of blank template variables
|
||||
* Ensure thresholds for Kapacitor Rule Alerts appear on page load
|
||||
* Update the Kapacitor configuration page when the configuration changes
|
||||
* Fix Authentication when using Chronograf with a set [basepath](/chronograf/latest/administration/configuration/#p-basepath)
|
||||
* Fix Authentication when using Chronograf with a set [basepath](/chronograf/v1.6/administration/config-options/#basepath-p)
|
||||
* Show red indicator on Hosts Page for an offline host
|
||||
* Support escaping from presentation mode in Safari
|
||||
* Re-implement level colors on the alerts page
|
||||
* Fix router bug introduced by upgrading to react-router v3.0
|
||||
* Show legend on [Line+Stat](/chronograf/latest/troubleshooting/frequently-asked-questions/#line-stat) visualization type
|
||||
* Show legend on [Line+Stat](/chronograf/v1.6/guides/visualization-types/#line-graph-single-stat) visualization type
|
||||
* Prevent queries with `:dashboardTime:` from breaking the query builder
|
||||
|
||||
### Features
|
||||
|
||||
* Add line-protocol proxy for InfluxDB/InfluxDB Enterprise Cluster data sources
|
||||
* Add `:dashboardTime:` to support cell-specific time ranges on dashboards
|
||||
* Add support for enabling and disabling [TICKscripts that were created outside Chronograf](/chronograf/latest/guides/advanced-kapacitor/#tickscript-management)
|
||||
* Add support for enabling and disabling [TICKscripts that were created outside Chronograf](/chronograf/v1.6/guides/advanced-kapacitor/#tickscript-management)
|
||||
* Allow users to delete Kapacitor configurations
|
||||
|
||||
### UI improvements
|
||||
|
|
|
@ -10,43 +10,4 @@ menu:
|
|||
|
||||
Follow the links below for more information.
|
||||
|
||||
## [Upgrading to Chronograf 1.6](/chronograf/v1.6/administration/upgrading/)
|
||||
|
||||
See [Upgrading to Chronograf 1.6](/chronograf/v1.6/administration/upgrading/) for details on upgrading to the latest Chronograf release.
|
||||
|
||||
## [Configuring Chronograf 1.6](/chronograf/v1.6/administration/configuration/)
|
||||
|
||||
See [Configuring Chronograf 1.6](/chronograf/v1.6/administration/configuration/) to information on starting Chronograf, configuring Chronograf, setting custom default Chronograf configuration options, and enabling security, multi-organization, and multi-user support.
|
||||
|
||||
## [Configuration options](/chronograf/v1.6/administration/config-options/)
|
||||
|
||||
[Configuration options](/chronograf/v1.6/administration/config-options/) includes details on Chronograf configuration options, including command line settings and environment variables, for the Chronograf service, connections for Kapacitor and InfluxDB, and OAuth 2.0 authentication options.
|
||||
|
||||
## [Connecting Chronograf to InfluxDB Enterprise clusters](/chronograf/v1.6/administration/chrono-on-clusters/)
|
||||
|
||||
[Connecting Chronograf to InfluxDB Enterprise clusters](/chronograf/v1.6/administration/chrono-on-clusters/) covers details on configuring and using Chronograf to monitor and manage your InfluxDB Enterprise clusters.
|
||||
|
||||
## [Creating InfluxDB and Kapacitor connections](/chronograf/v1.6/administration/creating-connections/)
|
||||
|
||||
[Creating InfluxDB and Kapacitor connections](/chronograf/v1.6/administration/creating-connections/) includes steps for creating InfluxDB and Kapacitor connections for use with Chronograf.
|
||||
|
||||
## [Managing InfluxDB users in Chronograf](/chronograf/v1.6/administration/managing-influxdb-users/)
|
||||
|
||||
[Managing InfluxDB users in Chronograf](/chronograf/v1.6/administration/managing-influxdb-users/) covers how to use Chronograf to create and manage InfluxDB users, roles, and permissions.
|
||||
|
||||
## [Managing Chronograf security](/chronograf/v1.6/administration/managing-security/)
|
||||
|
||||
See [Managing Chronograf security](/chronograf/v1.6/administration/managing-security/) for details on configuring OAuth 2.0 authentication providers, authentication duration, and configuring TLS and HTTPS support.
|
||||
|
||||
## [Managing Chronograf organizations](/chronograf/v1.6/administration/managing-organizations/)
|
||||
|
||||
[Managing Chronograf organizations](/chronograf/v1.6/administration/managing-organizations/) covers use of the Default organization and creating, managing, and removing Chronograf organizations.
|
||||
|
||||
## [Managing Chronograf users](/chronograf/v1.6/administration/managing-chronograf-users/)
|
||||
|
||||
See [Managing Chronograf users](/chronograf/v1.6/administration/managing-chronograf-users/) for details on managing Chronograf users and roles, organization-bound users, cross-organization SuperAdmin status, and navigating organizations in the Chronograf user interface.
|
||||
|
||||
## [Transitioning from InfluxDB's Web Admin Interface](/chronograf/v1.6/guides/transition-web-admin-interface/)
|
||||
|
||||
Versions 1.3+ of InfluxDB OSS and InfluxDB Enterprise no longer support the web admin interface, the built-in user interface for writing and querying data in InfluxDB.
|
||||
Learn how to use Chronograf as a replacement for the web admin interface.
|
||||
{{< children hlevel="h2" >}}
|
||||
|
|
|
@ -8,7 +8,7 @@ menu:
|
|||
parent: Administration
|
||||
---
|
||||
|
||||
The connection details form requires additional information when connecting Chronograf to an [InfluxDB Enterprise cluster](https://docs.influxdata.com/enterprise_influxdb/latest/).
|
||||
The connection details form requires additional information when connecting Chronograf to an [InfluxDB Enterprise cluster](/{{< latest "enterprise_influxdb" >}}/).
|
||||
|
||||
When you enter the InfluxDB HTTP bind address in the `Connection String` input, Chronograf automatically checks if that InfluxDB instance is a data node.
|
||||
If it is a data node, Chronograf automatically adds the `Meta Service Connection URL` input to the connection details form.
|
||||
|
@ -19,4 +19,4 @@ Enter the HTTP bind address of one of your cluster's meta nodes into that input
|
|||
Note that the example above assumes that you do not have authentication enabled.
|
||||
If you have authentication enabled, the form requires username and password information.
|
||||
|
||||
For details about monitoring InfluxDB Enterprise clusters, see [Monitoring InfluxDB Enterprise clusters](/chronograf/latest/guides/monitoring-influxenterprise-clusters/).
|
||||
For details about monitoring InfluxDB Enterprise clusters, see [Monitoring InfluxDB Enterprise clusters](/chronograf/v1.6/guides/monitoring-influxenterprise-clusters/).
|
||||
|
|
|
@ -78,7 +78,7 @@ Environment variable: `$BOLT_PATH`
|
|||
|
||||
#### `--canned-path=` | `-c`
|
||||
|
||||
The path to the directory of [canned dashboards](/chronograf/latest/guides/using-precreated-dashboards/) files.
|
||||
The path to the directory of [canned dashboards](/chronograf/v1.6/guides/using-precreated-dashboards/) files.
|
||||
|
||||
Default value: `/usr/share/chronograf/canned`
|
||||
|
||||
|
|
|
@ -47,12 +47,12 @@ It is neither created nor used in macOS.
|
|||
|
||||
## Enabling security, multi-organization, and multi-user support
|
||||
|
||||
See [Managing security](/chronograf/latest/administration/managing-security) for details on configuring authentication options for Chronograf using the JWT and OAuth 2.0 authentication protocols.
|
||||
See [Managing security](/chronograf/v1.6/administration/managing-security) for details on configuring authentication options for Chronograf using the JWT and OAuth 2.0 authentication protocols.
|
||||
|
||||
After you configure OAuth 2.0 authentication in Chronograf, you can use the multi-organization and multi-user support described in detail here:
|
||||
|
||||
* [Managing organizations](/chronograf/latest/administration/managing-organizations)
|
||||
* [Managing Chronograf users](/chronograf/latest/administration/managing-chronograf-users)
|
||||
* [Managing organizations](/chronograf/v1.6/administration/managing-organizations)
|
||||
* [Managing Chronograf users](/chronograf/v1.6/administration/managing-chronograf-users)
|
||||
|
||||
|
||||
<!-- TODO ## Configuring Chronograf for InfluxDB Enterprise clusters) -->
|
||||
|
|
|
@ -26,9 +26,9 @@ To create an InfluxDB connection in the Chronograf UI:
|
|||
* **Connection String**: Enter the hostname or IP address of the InfluxDB instance and the port. The field is prefilled with `http://localhost:8086`.
|
||||
* **Name**: Enter the name for this connection.
|
||||
* **Username**: Enter the username that will be shared for this connection.
|
||||
*Only required if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
* **Password**: Enter the password.
|
||||
*Only required if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
* **Telegraf Database**: Enter the name of the Telegraf database. The field is prefilled with `telegraf`.
|
||||
* **Default Retention Policy**: Enter the name of the default [retention policy](/influxdb/v1.6/concepts/glossary/#retention-policy-rp). If none is provided, it assumes `autogen`.
|
||||
* **Make this the default source**: By default, this option is selected and this InfluxDB connection will be used when Chronograf is launched.
|
||||
|
@ -51,6 +51,7 @@ An `.src` files contains the details for a single InfluxDB connection.
|
|||
Create a new file named `example.src` (the filename is arbitrary) and place it at Chronograf's `resource-path`.
|
||||
All `.src` files should contain the following:
|
||||
|
||||
{{< keep-url >}}
|
||||
```json
|
||||
{
|
||||
"id": "10000",
|
||||
|
@ -75,11 +76,11 @@ Any string you want to use as the display name of the source.
|
|||
|
||||
#### `username`
|
||||
Username used to access the InfluxDB server or cluster.
|
||||
*Only required if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
|
||||
#### `password`
|
||||
Password used to access the InfluxDB server or cluster.
|
||||
*Only required if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
|
||||
#### `url`
|
||||
URL of the InfluxDB server or cluster.
|
||||
|
@ -143,9 +144,9 @@ To create a Kapacitor connection using the Chronograf UI:
|
|||
* **Kapacitor URL**: Enter the hostname or IP address of the Kapacitor instance and the port. The field is prefilled with `http://localhost:9092`.
|
||||
* **Name**: Enter the name for this connection.
|
||||
* **Username**: Enter the username that will be shared for this connection.
|
||||
*Only required if [authorization is enabled](/kapacitor/latest/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "kapacitor" >}}/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
* **Password**: Enter the password.
|
||||
*Only required if [authorization is enabled](/kapacitor/latest/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "kapacitor" >}}/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
|
||||
4. Click **Connect**. If the connection is valid, the message "Kapacitor Created! Configuring endpoints is optional." appears. To configure alert endpoints, see [Configuring alert endpoints](/chronograf/v1.6/guides/configuring-alert-endpoints/).
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ menu:
|
|||
The **Chronograf Admin** provides InfluxDB user management for InfluxDB OSS and InfluxDB Enterprise users.
|
||||
|
||||
|
||||
> ***Note:*** For details on Chronograf user authentication and management, see [Managing security](/chronograf/latest/administration/managing-security/).
|
||||
> ***Note:*** For details on Chronograf user authentication and management, see [Managing security](/chronograf/v1.6/administration/managing-security/).
|
||||
|
||||
**On this page:**
|
||||
|
||||
|
@ -58,13 +58,14 @@ Restart the InfluxDB service for your configuration changes to take effect:
|
|||
|
||||
### Step 3: Create an admin user.
|
||||
|
||||
Because authentication is enabled, you need to create an [admin user](/influxdb/latest/query_language/authentication_and_authorization/#user-types-and-privileges) before you can do anything else in the database.
|
||||
Because authentication is enabled, you need to create an [admin user](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-types-and-privileges) before you can do anything else in the database.
|
||||
Run the `curl` command below to create an admin user, replacing:
|
||||
|
||||
* `localhost` with the IP or hostname of your InfluxDB OSS instance or one of your InfluxDB Enterprise data nodes
|
||||
* `chronothan` with your own username
|
||||
* `supersecret` with your own password (note that the password requires single quotes)
|
||||
|
||||
{{< keep-url >}}
|
||||
```
|
||||
~# curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER chronothan WITH PASSWORD 'supersecret' WITH ALL PRIVILEGES"
|
||||
```
|
||||
|
@ -77,7 +78,7 @@ A successful `CREATE USER` query returns a blank result:
|
|||
|
||||
### Step 4: Edit the InfluxDB source in Chronograf.
|
||||
|
||||
If you've already [connected your database to Chronograf](/chronograf/latest/introduction/getting-started/#3-connect-to-chronograf), update the connection configuration in Chronograf with your new username and password.
|
||||
If you've already [connected your database to Chronograf](/chronograf/v1.6/administration/creating-connections/), update the connection configuration in Chronograf with your new username and password.
|
||||
Edit existing InfluxDB database sources by navigating to the Chronograf configuration page and clicking on the name of the source.
|
||||
|
||||
## InfluxDB OSS User Management
|
||||
|
@ -91,7 +92,7 @@ On the **Chronograf Admin** page:
|
|||
![InfluxDB OSS user management](/img/chronograf/1-6-admin-usermanagement-oss.png)
|
||||
|
||||
InfluxDB users are either admin users or non-admin users.
|
||||
See InfluxDB's [authentication and authorization](/influxdb/latest/query_language/authentication_and_authorization/#user-types-and-privileges) documentation for more information about those user types.
|
||||
See InfluxDB's [authentication and authorization](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-types-and-privileges) documentation for more information about those user types.
|
||||
|
||||
> ***Note:*** Note that Chronograf currently does not support assigning InfluxDB database `READ`or `WRITE` access to non-admin users.
|
||||
>This is a known issue.
|
||||
|
@ -155,13 +156,13 @@ Assign permissions and roles to both admin and non-admin users.
|
|||
#### AddRemoveNode
|
||||
Permission to add or remove nodes from a cluster.
|
||||
|
||||
**Relevant `influxd-ctl` arguments**:
|
||||
[`add-data`](/enterprise_influxdb/latest/features/cluster-commands/#add-data),
|
||||
[`add-meta`](/enterprise_influxdb/latest/features/cluster-commands/#add-meta),
|
||||
[`join`](/enterprise_influxdb/latest/features/cluster-commands/#join),
|
||||
[`remove-data`](/enterprise_influxdb/latest/features/cluster-commands/#remove-data),
|
||||
[`remove-meta`](/enterprise_influxdb/latest/features/cluster-commands/#remove-meta), and
|
||||
[`leave`](/enterprise_influxdb/latest/features/cluster-commands/#leave)
|
||||
**Relevant `influxd-ctl` commands**:
|
||||
[`add-data`](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#add-data),
|
||||
[`add-meta`](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#add-meta),
|
||||
[`join`](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#join),
|
||||
[`remove-data`](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#remove-data),
|
||||
[`remove-meta`](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#remove-meta), and
|
||||
[`leave`](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#leave)
|
||||
|
||||
**Pages in Chronograf that require this permission**: NA
|
||||
|
||||
|
@ -169,18 +170,18 @@ Permission to add or remove nodes from a cluster.
|
|||
Permission to copy shards.
|
||||
|
||||
**Relevant `influxd-ctl` arguments**:
|
||||
[copy-shard](/enterprise_influxdb/latest/features/cluster-commands/#copy-shard)
|
||||
[copy-shard](/{{< latest "enterprise_influxdb" >}}/administration/cluster-commands/#copy-shard)
|
||||
|
||||
**Pages in Chronograf that require this permission**: NA
|
||||
|
||||
#### CreateDatabase
|
||||
Permission to create databases, create [retention policies](/influxdb/latest/concepts/glossary/#retention-policy-rp), alter retention policies, and view retention policies.
|
||||
Permission to create databases, create [retention policies](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#retention-policy-rp), alter retention policies, and view retention policies.
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`CREATE DATABASE`](/influxdb/latest/query_language/database_management/#create-database),
|
||||
[`CREATE RETENTION POLICY`](/influxdb/latest/query_language/database_management/#create-retention-policies-with-create-retention-policy),
|
||||
[`ALTER RETENTION POLICY`](/influxdb/latest/query_language/database_management/#modify-retention-policies-with-alter-retention-policy), and
|
||||
[`SHOW RETENTION POLICIES`](/influxdb/latest/query_language/schema_exploration/#show-retention-policies)
|
||||
[`CREATE DATABASE`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#create-database),
|
||||
[`CREATE RETENTION POLICY`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#create-retention-policies-with-create-retention-policy),
|
||||
[`ALTER RETENTION POLICY`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#modify-retention-policies-with-alter-retention-policy), and
|
||||
[`SHOW RETENTION POLICIES`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-retention-policies)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Dashboards, Data Explorer, and Databases on the Admin page
|
||||
|
||||
|
@ -188,25 +189,25 @@ Permission to create databases, create [retention policies](/influxdb/latest/con
|
|||
Permission to manage users and roles; create users, drop users, grant admin status to users, grant permissions to users, revoke admin status from users, revoke permissions from users, change user passwords, view user permissions, and view users and their admin status.
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`CREATE USER`](/influxdb/latest/query_language/authentication_and_authorization/#user-management-commands),
|
||||
[`DROP USER`](/influxdb/latest/query_language/authentication_and_authorization/#general-admin-and-non-admin-user-management),
|
||||
[`GRANT ALL PRIVILEGES`](/influxdb/latest/query_language/authentication_and_authorization/#user-management-commands),
|
||||
[`GRANT [READ,WRITE,ALL]`](/influxdb/latest/query_language/authentication_and_authorization/#non-admin-user-management),
|
||||
[`REVOKE ALL PRIVILEGES`](/influxdb/latest/query_language/authentication_and_authorization/#user-management-commands),
|
||||
[`REVOKE [READ,WRITE,ALL]`](/influxdb/latest/query_language/authentication_and_authorization/#non-admin-user-management),
|
||||
[`SET PASSWORD`](/influxdb/latest/query_language/authentication_and_authorization/#general-admin-and-non-admin-user-management),
|
||||
[`SHOW GRANTS`](/influxdb/latest/query_language/authentication_and_authorization/#non-admin-user-management), and
|
||||
[`SHOW USERS`](/influxdb/latest/query_language/authentication_and_authorization/#user-management-commands)
|
||||
[`CREATE USER`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-management-commands),
|
||||
[`DROP USER`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#general-admin-and-non-admin-user-management),
|
||||
[`GRANT ALL PRIVILEGES`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-management-commands),
|
||||
[`GRANT [READ,WRITE,ALL]`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#non-admin-user-management),
|
||||
[`REVOKE ALL PRIVILEGES`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-management-commands),
|
||||
[`REVOKE [READ,WRITE,ALL]`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#non-admin-user-management),
|
||||
[`SET PASSWORD`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#general-admin-and-non-admin-user-management),
|
||||
[`SHOW GRANTS`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#non-admin-user-management), and
|
||||
[`SHOW USERS`](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-management-commands)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Data Explorer, Dashboards, Users and Roles on the Admin page
|
||||
|
||||
#### DropData
|
||||
Permission to drop data, in particular [series](/influxdb/latest/concepts/glossary/#series) and [measurements](/influxdb/latest/concepts/glossary/#measurement).
|
||||
Permission to drop data, in particular [series](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#series) and [measurements](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#measurement).
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`DROP SERIES`](/influxdb/latest/query_language/database_management/#drop-series-from-the-index-with-drop-series),
|
||||
[`DELETE`](/influxdb/latest/query_language/database_management/#delete-series-with-delete), and
|
||||
[`DROP MEASUREMENT`](/influxdb/latest/query_language/database_management/#delete-measurements-with-drop-measurement)
|
||||
[`DROP SERIES`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#drop-series-from-the-index-with-drop-series),
|
||||
[`DELETE`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#delete-series-with-delete), and
|
||||
[`DROP MEASUREMENT`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#delete-measurements-with-drop-measurement)
|
||||
|
||||
**Pages in Chronograf that require this permission**: NA
|
||||
|
||||
|
@ -214,8 +215,8 @@ Permission to drop data, in particular [series](/influxdb/latest/concepts/glossa
|
|||
Permission to drop databases and retention policies.
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`DROP DATABASE`](/influxdb/latest/query_language/database_management/#delete-a-database-with-drop-database) and
|
||||
[`DROP RETENTION POLICY`](/influxdb/latest/query_language/database_management/#delete-retention-policies-with-drop-retention-policy)
|
||||
[`DROP DATABASE`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#delete-a-database-with-drop-database) and
|
||||
[`DROP RETENTION POLICY`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#delete-retention-policies-with-drop-retention-policy)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Data Explorer, Dashboards, Databases on the Admin page
|
||||
|
||||
|
@ -231,12 +232,12 @@ Permission to access the configuration-related API calls for InfluxKapacitor Ent
|
|||
**Pages in Chronograf that require this permission**: NA
|
||||
|
||||
#### ManageContinuousQuery
|
||||
Permission to create, drop, and view [continuous queries](/influxdb/latest/concepts/glossary/#continuous-query-cq).
|
||||
Permission to create, drop, and view [continuous queries](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#continuous-query-cq).
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`CreateContinuousQueryStatement`](/influxdb/latest/query_language/continuous_queries/),
|
||||
[`CreateContinuousQueryStatement`](/{{< latest "influxdb" "v1" >}}/query_language/continuous_queries/),
|
||||
[`DropContinuousQueryStatement`](), and
|
||||
[`ShowContinuousQueriesStatement`](/influxdb/latest/query_language/continuous_queries/#list-cqs)
|
||||
[`ShowContinuousQueriesStatement`](/{{< latest "influxdb" "v1" >}}/query_language/continuous_queries/#list-cqs)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Data Explorer, Dashboards
|
||||
|
||||
|
@ -244,28 +245,28 @@ Permission to create, drop, and view [continuous queries](/influxdb/latest/conce
|
|||
Permission to view and kill queries.
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`SHOW QUERIES`](/influxdb/latest/troubleshooting/query_management/#list-currently-running-queries-with-show-queries) and
|
||||
[`KILL QUERY`](/influxdb/latest/troubleshooting/query_management/#stop-currently-running-queries-with-kill-query)
|
||||
[`SHOW QUERIES`](/{{< latest "influxdb" "v1" >}}/troubleshooting/query_management/#list-currently-running-queries-with-show-queries) and
|
||||
[`KILL QUERY`](/{{< latest "influxdb" "v1" >}}/troubleshooting/query_management/#stop-currently-running-queries-with-kill-query)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Queries on the Admin page
|
||||
|
||||
#### ManageShard
|
||||
Permission to copy, delete, and view [shards](/influxdb/latest/concepts/glossary/#shard).
|
||||
Permission to copy, delete, and view [shards](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#shard).
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`DropShardStatement`](/influxdb/latest/query_language/database_management/#delete-a-shard-with-drop-shard),
|
||||
[`ShowShardGroupsStatement`](/influxdb/latest/query_language/spec/#show-shard-groups), and
|
||||
[`ShowShardsStatement`](/influxdb/latest/query_language/spec/#show-shards)
|
||||
[`DropShardStatement`](/{{< latest "influxdb" "v1" >}}/query_language/manage-database/#delete-a-shard-with-drop-shard),
|
||||
[`ShowShardGroupsStatement`](/{{< latest "influxdb" "v1" >}}/query_language/spec/#show-shard-groups), and
|
||||
[`ShowShardsStatement`](/{{< latest "influxdb" "v1" >}}/query_language/spec/#show-shards)
|
||||
|
||||
**Pages in Chronograf that require this permission**: NA
|
||||
|
||||
#### ManageSubscription
|
||||
Permission to create, drop, and view [subscriptions](/influxdb/latest/concepts/glossary/#subscription).
|
||||
Permission to create, drop, and view [subscriptions](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#subscription).
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`CREATE SUBSCRIPTION`](/influxdb/latest/query_language/spec/#create-subscription),
|
||||
[`DROP SUBSCRIPTION`](/influxdb/latest/query_language/spec/#drop-subscription), and
|
||||
[`SHOW SUBSCRIPTIONS`](/influxdb/latest/query_language/spec/#show-subscriptions)
|
||||
[`CREATE SUBSCRIPTION`](/{{< latest "influxdb" "v1" >}}/query_language/spec/#create-subscription),
|
||||
[`DROP SUBSCRIPTION`](/{{< latest "influxdb" "v1" >}}/query_language/spec/#drop-subscription), and
|
||||
[`SHOW SUBSCRIPTIONS`](/{{< latest "influxdb" "v1" >}}/query_language/spec/#show-subscriptions)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Alerting
|
||||
|
||||
|
@ -273,8 +274,8 @@ Permission to create, drop, and view [subscriptions](/influxdb/latest/concepts/g
|
|||
Permission to view cluster statistics and diagnostics.
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`SHOW DIAGNOSTICS`](/influxdb/latest/troubleshooting/statistics/) and
|
||||
[`SHOW STATS`](/influxdb/latest/troubleshooting/statistics/)
|
||||
[`SHOW DIAGNOSTICS`](/{{< latest "influxdb" "v1" >}}/troubleshooting/statistics/) and
|
||||
[`SHOW STATS`](/{{< latest "influxdb" "v1" >}}/troubleshooting/statistics/)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Data Explorer, Dashboards
|
||||
|
||||
|
@ -282,12 +283,12 @@ Permission to view cluster statistics and diagnostics.
|
|||
Permission to read data.
|
||||
|
||||
**Relevant InfluxQL queries**:
|
||||
[`SHOW FIELD KEYS`](/influxdb/latest/query_language/schema_exploration/#show-field-keys),
|
||||
[`SHOW MEASUREMENTS`](/influxdb/latest/query_language/schema_exploration/#show-measurements),
|
||||
[`SHOW SERIES`](/influxdb/latest/query_language/schema_exploration/#show-series),
|
||||
[`SHOW TAG KEYS`](/influxdb/latest/query_language/schema_exploration/#show-tag-keys),
|
||||
[`SHOW TAG VALUES`](/influxdb/latest/query_language/schema_exploration/#show-tag-values), and
|
||||
[`SHOW RETENTION POLICIES`](/influxdb/latest/query_language/schema_exploration/#show-retention-policies)
|
||||
[`SHOW FIELD KEYS`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-field-keys),
|
||||
[`SHOW MEASUREMENTS`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-measurements),
|
||||
[`SHOW SERIES`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-series),
|
||||
[`SHOW TAG KEYS`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-tag-keys),
|
||||
[`SHOW TAG VALUES`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-tag-values), and
|
||||
[`SHOW RETENTION POLICIES`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-retention-policies)
|
||||
|
||||
**Pages in Chronograf that require this permission**: Admin, Alerting, Dashboards, Data Explorer, Host List
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@ menu:
|
|||
|
||||
> ***Note:*** Support for organizations and distinct users with role-based access control is new in Chronograf 1.4.
|
||||
>
|
||||
> For information about the new user roles and SuperAdmin status, see [Managing Chronograf users](/chronograf/latest/administration/managing-chronograf-users/).
|
||||
> For information about the new user roles and SuperAdmin status, see [Managing Chronograf users](/chronograf/v1.6/administration/managing-chronograf-users/).
|
||||
|
||||
A Chronograf organization is a collection of Chronograf users who share common Chronograf-owned resources, including dashboards, InfluxDB connections, and Kapacitor connections. Organizations can be used to represent companies, functional units, projects, or teams. Chronograf users can be members of multiple organizations.
|
||||
|
||||
|
@ -67,8 +67,8 @@ You can configure existing and new organizations in the **Organizations** tab of
|
|||
|
||||
See the following pages for more information about managing Chronograf users and security:
|
||||
|
||||
* [Managing Chronograf users](/chronograf/latest/administration/managing-chronograf-users/)
|
||||
* [Managing security](/chronograf/latest/administration/managing-security/)
|
||||
* [Managing Chronograf users](/chronograf/v1.6/administration/managing-chronograf-users/)
|
||||
* [Managing security](/chronograf/v1.6/administration/managing-security/)
|
||||
|
||||
## Mapping organizations
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@ aliases:
|
|||
- /chronograf/v1.6/guides/transition-web-admin-interface/
|
||||
---
|
||||
|
||||
Versions 1.3 and later of [InfluxDB](/influxdb/latest/) and [InfluxDB Enterprise](/enterprise/latest/) do not support the [web admin interface](/influxdb/latest/tools/web_admin/), the builtin user interface for writing and querying data in InfluxDB.
|
||||
Versions 1.3 and later of [InfluxDB](/{{< latest "influxdb" "v1" >}}/) and [InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/) do not support the [web admin interface](https://archive.docs.influxdata.com/influxdb/v1.2/tools/web_admin/), the builtin user interface for writing and querying data in InfluxDB.
|
||||
Chronograf replaces the web admin interface with improved tooling for querying data, writing data, and database management.
|
||||
|
||||
The following sections describe the Chronograf features that relate to the web admin interface:
|
||||
|
@ -23,7 +23,7 @@ The following sections describe the Chronograf features that relate to the web a
|
|||
### Web admin interface
|
||||
|
||||
In the web admin interface, users chose the target database in the top right corner and selected from a set of query templates in the `Query Templates` dropdown.
|
||||
The templates included queries with no user-provided values (example: [`SHOW MEASUREMENTS`](/influxdb/latest/query_language/schema_exploration/#show-measurements)) and queries with user-provided values (example: [`SHOW TAG KEYS FROM "<measurement_name>"`](/influxdb/latest/query_language/schema_exploration/#show-tag-keys)).
|
||||
The templates included queries with no user-provided values (example: [`SHOW MEASUREMENTS`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-measurements)) and queries with user-provided values (example: [`SHOW TAG KEYS FROM "<measurement_name>"`](/{{< latest "influxdb" "v1" >}}/query_language/explore-schema/#show-tag-keys)).
|
||||
|
||||
![WAI Query Templates](/img/chronograf/1-6-g-admin-webtemplates.png)
|
||||
|
||||
|
@ -39,7 +39,7 @@ Note that unlike the web admin interface, Chronograf does not have a database dr
|
|||
|
||||
### Web admin interface
|
||||
|
||||
To write data to InfluxDB, users selected the target database in the top right corner, clicked the `Write Data` icon, and entered their [line protocol](/influxdb/latest/concepts/glossary/#line-protocol) in the text input:
|
||||
To write data to InfluxDB, users selected the target database in the top right corner, clicked the `Write Data` icon, and entered their [line protocol](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#line-protocol) in the text input:
|
||||
|
||||
![WAI Writing Data](/img/chronograf/1-6-g-admin-write.png)
|
||||
|
||||
|
@ -55,7 +55,7 @@ Next, enter your line protocol in the main text box and click the `Write` button
|
|||
|
||||
### Web admin interface
|
||||
|
||||
In the web admin interface, the `Query Template` dropdown was the only way to manage databases and [retention policies](/influxdb/latest/concepts/glossary/#retention-policy-rp) (RP):
|
||||
In the web admin interface, the `Query Template` dropdown was the only way to manage databases and [retention policies](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#retention-policy-rp) (RP):
|
||||
|
||||
![WAI DBRP Management](/img/chronograf/1-6-g-admin-webdbrp.png)
|
||||
|
||||
|
@ -80,7 +80,7 @@ In the web admin interface, the `Query Template` dropdown was the only way to ma
|
|||
### Chronograf
|
||||
|
||||
In Chronograf, the `Admin` page includes a complete interface for user management.
|
||||
The `Admin` page supports both InfluxDB OSS users and InfluxDB Enterprise users; see the [User Management](/chronograf/latest/administration/user-management/) page for more information.
|
||||
The `Admin` page supports both InfluxDB OSS users and InfluxDB Enterprise users; see the [User Management](/chronograf/v1.6/administration/user-management/) page for more information.
|
||||
The `Admin` page allows users to:
|
||||
|
||||
* View, create, and delete users
|
||||
|
|
|
@ -24,4 +24,4 @@ Users can continue to use the deprecated product; documentation is available und
|
|||
For more information, please read the original [announcement blog](https://www.influxdata.com/announcing-the-new-chronograf-a-ui-for-the-tick-stack-and-a-complete-open-source-monitoring-solution/) by our CTO, Paul Dix.
|
||||
|
||||
InfluxData recommends migrating to the open source Chronograf product.
|
||||
See [Getting Started](/chronograf/latest/introduction/getting-started/) to get up and running!
|
||||
See [Getting Started](/chronograf/v1.6/introduction/getting-started/) to get up and running!
|
||||
|
|
|
@ -9,51 +9,4 @@ menu:
|
|||
|
||||
Follow the links below to explore Chronograf's features.
|
||||
|
||||
## [Using pre-created dashboards](/chronograf/v1.6/guides/using-precreated-dashboards/)
|
||||
|
||||
Pre-created dashboards are available when the required Telegraf input plugins are enabled. These applications make many useful metrics quickly available and are useful in giving you ideas about
|
||||
|
||||
## [Using the TICKscript editor](/chronograf/v1.6/guides/tickscript-logging/)
|
||||
|
||||
Using the TICKscript editor in Chronograf to create, test, and debug Kapacitor TICKscripts.
|
||||
|
||||
## [Creating dashboards](/chronograf/latest/guides/create-a-dashboard/)
|
||||
|
||||
Chronograf offers a complete dashboard solution for visualizing your data and monitoring your infrastructure.
|
||||
Learn how to create customized dashboards in Chronograf.
|
||||
|
||||
## [Cloning dashboards and cells](/chronograf/v1.6/guides/cloning-in-ui/)
|
||||
|
||||
Use Chronograf's cloning functionality to make copies of dashboards and cells.
|
||||
|
||||
## [Visualization types in Chronograf](/chronograf/v1.6/guides/visualization-types/)
|
||||
|
||||
Describes the visualization types available to display in Chronograf views in dashboards.
|
||||
|
||||
## [Adding annotations in Chronograf views](/chronograf/v1.6/guides/annotations/)
|
||||
|
||||
Describes how to add annotations to Chronograf views with the user interface or using the command line interface.
|
||||
|
||||
## [Creating Chronograf alert rules](/chronograf/v1.6/guides/create-alert-rules/)
|
||||
|
||||
Learn how to create alert rules in Chronograf.
|
||||
|
||||
## [Configuring Chronograf alert endpoints](/chronograf/v1.6/guides/configuring-alert-endpoints/)
|
||||
|
||||
Chronograf works with Kapacitor to send alert messages to supported event handlers.
|
||||
Use Chronograf to send alert messages to specific URLs as well as to applications like Slack and HipChat.
|
||||
Learn how to set up event handlers in Chronograf.
|
||||
|
||||
## [Monitoring InfluxDB Enterprise clusters](/chronograf/v1.6/guides/monitoring-influxenterprise-clusters/)
|
||||
|
||||
InfluxDB Enterprise offers high availability and a highly-scalable clustering solution for your time series data needs.
|
||||
Learn how to use Chronograf to assess your cluster’s health and monitor the infrastructure behind your project.
|
||||
|
||||
## [Using dashboard template variables](/chronograf/v1.6/guides/dashboard-template-variables/)
|
||||
|
||||
Learn how to use Chronograf's dashboard template variables to interact with your dashboards and gain insights into your data.
|
||||
|
||||
## [Advanced Kapacitor usage](/chronograf/v1.6/guides/advanced-kapacitor/)
|
||||
|
||||
Chronograf provides a user interface for Kapacitor, InfluxData’s processing framework for creating alerts, running ETL jobs, and detecting anomalies in your data.
|
||||
Learn how Kapacitor interacts with Chronograf at a lower level and learn about advanced Kapacitor usage within Chronograf.
|
||||
{{< children hlevel="h3" >}}
|
||||
|
|
|
@ -13,16 +13,16 @@ menu:
|
|||
* [TICKscript management](#tickscript-management)
|
||||
|
||||
|
||||
Chronograf provides a user interface for [Kapacitor](/kapacitor/latest/), InfluxData's processing framework for creating alerts, running ETL jobs, and detecting anomalies in your data.
|
||||
Chronograf provides a user interface for [Kapacitor](/{{< latest "kapacitor" >}}/), InfluxData's processing framework for creating alerts, running ETL jobs, and detecting anomalies in your data.
|
||||
This guide offers insights into how Kapacitor interacts with Chronograf and introduces advanced Kapacitor usage within Chronograf.
|
||||
|
||||
|
||||
## Alert history management
|
||||
|
||||
Chronograf stores the information on the Alert History page as time series data in InfluxDB.
|
||||
It stores it in the `chronograf` database and in the `alerts` [measurement](/influxdb/latest/concepts/glossary/#measurement).
|
||||
By default, this data is subject to an infinite [retention policy](/influxdb/latest/concepts/glossary/#retention-policy-rp) (RP), that is, InfluxDB stores them forever.
|
||||
Users who expect to have a large number of alerts and users who do not want to store their alert history forever may want to shorten the [duration](/influxdb/latest/concepts/glossary/#duration) of that retention policy.
|
||||
It stores it in the `chronograf` database and in the `alerts` [measurement](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#measurement).
|
||||
By default, this data is subject to an infinite [retention policy](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#retention-policy-rp) (RP), that is, InfluxDB stores them forever.
|
||||
Users who expect to have a large number of alerts and users who do not want to store their alert history forever may want to shorten the [duration](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#duration) of that retention policy.
|
||||
|
||||
### Modifying the retention policy in Chronograf
|
||||
|
||||
|
@ -36,7 +36,7 @@ In the Databases tab:
|
|||
#### Step 2: Enter a different duration
|
||||
|
||||
The minimum allowable duration is one hour (`1h`) and the maximum is infinite (`INF`).
|
||||
See the InfluxDB documentation for the list of [acceptable duration units](/influxdb/latest/query_language/spec/#duration-units).
|
||||
See the InfluxDB documentation for the list of [acceptable duration units](/{{< latest "influxdb" "v1" >}}/query_language/spec/#duration-units).
|
||||
|
||||
#### Step 3: Click the green check mark to save your changes
|
||||
|
||||
|
@ -56,7 +56,7 @@ The fourth alert, which occurred on the same day at 16:58:50, is outside the pre
|
|||
|
||||
Chronograf creates Kapacitor tasks using the information that you provide on the Rule Configuration page.
|
||||
It uses that information to communicate with Kapacitor and populate Chronograf alert pages.
|
||||
Pre-existing tasks, or [TICKscripts](/kapacitor/latest/tick/), that you created and enabled on your Kapacitor instance without using Chronograf, have limited functionality in the user interface.
|
||||
Pre-existing tasks, or [TICKscripts](/{{< latest "kapacitor" >}}/tick/), that you created and enabled on your Kapacitor instance without using Chronograf, have limited functionality in the user interface.
|
||||
|
||||
In Chronograf, you can:
|
||||
|
||||
|
|
|
@ -11,7 +11,7 @@ Chronograf gives you the ability to view, search, filter, visualize, and analyze
|
|||
This helps to recognize and diagnose patterns, then quickly dive into logged events that lead up to events.
|
||||
|
||||
## Logging setup
|
||||
Logs data is a first class citizen in InfluxDB and is populated using available log-related [Telegraf input plugins](/telegraf/latest/plugins/inputs/):
|
||||
Logs data is a first class citizen in InfluxDB and is populated using available log-related [Telegraf input plugins](/{{< latest "telegraf" >}}/plugins/#input-plugins):
|
||||
|
||||
[syslog](https://github.com/influxdata/telegraf/tree/release-1.7/plugins/inputs/syslog)
|
||||
|
||||
|
|
|
@ -17,7 +17,7 @@ This guide offers step-by-step instructions for configuring Chronograf alert end
|
|||
|
||||
## Kapacitor event handlers supported in Chronograf
|
||||
|
||||
Chronograf integrates with [Kapacitor](/kapacitor/latest/), InfluxData's data processing platform, to send alert messages to event handlers.
|
||||
Chronograf integrates with [Kapacitor](/{{< latest "kapacitor" >}}/), InfluxData's data processing platform, to send alert messages to event handlers.
|
||||
Chronograf supports the following event handlers:
|
||||
|
||||
* Alerta
|
||||
|
@ -38,7 +38,7 @@ Chronograf supports the following event handlers:
|
|||
* TCP
|
||||
* VictorOps
|
||||
|
||||
To configure a Kapacitor event handler in Chronograf, [install Kapacitor](/chronograf/latest/introduction/getting-started/#kapacitor-setup) and [connect it to Chronograf](/chronograf/latest/introduction/getting-started/#4-connect-chronograf-to-kapacitor).
|
||||
To configure a Kapacitor event handler in Chronograf, [install Kapacitor](/{{< latest "kapacitor" >}}/introduction/installation/) and [connect it to Chronograf](/chronograf/v1.6/administration/creating-connections/#managing-kapacitor-connections-using-the-chronograf-ui).
|
||||
The **Configure Kapacitor** page includes the event handler configuration options.
|
||||
|
||||
|
||||
|
@ -46,10 +46,10 @@ The **Configure Kapacitor** page includes the event handler configuration option
|
|||
|
||||
Alert endpoint configurations appear on the Chronograf Configure Kapacitor page.
|
||||
You must have a connected Kapacitor instance to access the configurations.
|
||||
For more information, see [Kapacitor installation instructions](/chronograf/latest/introduction/getting-started/#kapacitor-setup) and how to [connect a Kapacitor instance](/chronograf/latest/introduction/getting-started/#4-connect-chronograf-to-kapacitor) to Chronograf.
|
||||
For more information, see [Kapacitor installation instructions](/{{< latest "kapacitor" >}}/introduction/installation/) and how to [connect a Kapacitor instance](/chronograf/v1.6/administration/creating-connections/#managing-kapacitor-connections-using-the-chronograf-ui) to Chronograf.
|
||||
|
||||
Note that the configuration options in the **Configure alert endpoints** section are not all-inclusive.
|
||||
Some event handlers allow users to customize event handler configurations per [alert rule](/chronograf/latest/guides/create-a-kapacitor-alert/).
|
||||
Some event handlers allow users to customize event handler configurations per [alert rule](/chronograf/v1.6/guides/create-a-kapacitor-alert/).
|
||||
For example, Chronograf's Slack integration allows users to specify a default channel in the **Configure alert endpoints** section and a different channel for individual alert rules.
|
||||
|
||||
### HipChat
|
||||
|
@ -113,7 +113,7 @@ Your token appears in the table just above the **Create new token** section:
|
|||
3. Click **Save Changes** to save the configuration settings.
|
||||
4. Click **Send Test Alert** to verify the configuration.
|
||||
|
||||
See [Kafka event handler (Kapacitor)](/kapacitor/latest/event_handlers/kafka/) in the Kapacitor documentation for details about enabling OpsGenie services using TICKscripts.
|
||||
See [Kafka event handler (Kapacitor)](/{{< latest "kapacitor" >}}/event_handlers/kafka/) in the Kapacitor documentation for details about enabling OpsGenie services using TICKscripts.
|
||||
|
||||
|
||||
### OpsGenie
|
||||
|
@ -140,9 +140,9 @@ Send an incident alert to OpsGenie teams and recipients using the Chronograf ale
|
|||
|
||||
See [Alert API](https://docs.opsgenie.com/docs/alert-api) in the OpsGenie documentation for details on the OpsGenie Alert API
|
||||
|
||||
See [OpsGenie V2 event handler](/kapacitor/latest/event_handlers/opsgenie/v2/) in the Kapacitor documentation for details about the OpsGenie V2 event handler.
|
||||
See [OpsGenie V2 event handler](/{{< latest "kapacitor" >}}/event_handlers/opsgenie/v2/) in the Kapacitor documentation for details about the OpsGenie V2 event handler.
|
||||
|
||||
See the [AlertNode (Kapacitor TICKscript node) - OpsGenie v2](/kapacitor/latest/nodes/alert_node/#opsgenie-v2) in the Kapacitor documentation for details about enabling OpsGenie services using TICKscripts.
|
||||
See the [AlertNode (Kapacitor TICKscript node) - OpsGenie v2](/{{< latest "kapacitor" >}}/nodes/alert_node/#opsgenie-v2) in the Kapacitor documentation for details about enabling OpsGenie services using TICKscripts.
|
||||
|
||||
### PagerDuty
|
||||
|
||||
|
@ -166,7 +166,7 @@ Send an alerts about recognized events to PagerDuty using the Chronograf PagerDu
|
|||
|
||||
See the [PagerDuty Events API V2 Overview](https://v2.developer.pagerduty.com/docs/events-api-v2) for details on the PagerDuty Events API and recognized event types (`trigger`, `acknowledge`, and `resolve`).
|
||||
|
||||
See [AlertNode (Kapacitor TICKscript node) - PagerDuty v2](/kapacitor/latest/nodes/alert_node/#pagerduty-v2) in the Kapacitor documentation for details about enabling a new "Generic API" service using TICKscripts.
|
||||
See [AlertNode (Kapacitor TICKscript node) - PagerDuty v2](/{{< latest "kapacitor" >}}/nodes/alert_node/#pagerduty-v2) in the Kapacitor documentation for details about enabling a new "Generic API" service using TICKscripts.
|
||||
|
||||
|
||||
### Slack
|
||||
|
|
|
@ -9,7 +9,7 @@ menu:
|
|||
---
|
||||
|
||||
Chronograf offers a complete dashboard solution for visualizing your data and monitoring your infrastructure.
|
||||
Use Chronograf's [pre-created dashboards](/chronograf/latest/guides/using-precreated-dashboards) or create custom dashboards to meet your requirements.
|
||||
Use Chronograf's [pre-created dashboards](/chronograf/v1.6/guides/using-precreated-dashboards) or create custom dashboards to meet your requirements.
|
||||
This guide shows you how to create custom Chronograf dashboards.
|
||||
|
||||
By the end of this guide, you'll be aware of the tools available to you for creating dashboards similar to this example:
|
||||
|
@ -20,7 +20,7 @@ By the end of this guide, you'll be aware of the tools available to you for crea
|
|||
|
||||
To perform the tasks in this guide, you must have a working Chronograf instance that is connected to an InfluxDB source.
|
||||
Data is accessed using the Telegraf [system ](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/system) input plugins.
|
||||
For more information, see [Configuring Chronograf](/chronograf/latest/administration/configuration).
|
||||
For more information, see [Configuring Chronograf](/chronograf/v1.6/administration/configuration).
|
||||
|
||||
## Build a Dashboard
|
||||
|
||||
|
@ -40,13 +40,13 @@ to open the cell editor mode.
|
|||
|
||||
### Step 3: Create your query
|
||||
|
||||
Click the **Add a Query** button to create an [InfluxQL](/influxdb/latest/query_language/) query.
|
||||
Click the **Add a Query** button to create an [InfluxQL](/{{< latest "influxdb" "v1" >}}/query_language/) query.
|
||||
In query editor mode, use the builder to select from your existing data and allow Chronograf to format the query for you.
|
||||
Alternatively, manually enter and edit a query.
|
||||
Chronograf allows you to move seamlessly between using the builder and manually editing the query; when possible, the interface automatically populates the builder with the information from your raw query.
|
||||
|
||||
For our example, the query builder is used to generate a query that shows the average idle CPU usage grouped by host (in this case, there are three hosts).
|
||||
By default, Chronograf applies the [`MEAN()` function](/influxdb/latest/query_language/functions/#mean) to the data, groups averages into auto-generated time intervals (`:interval:`), and shows data for the past hour (`:dashboardTime:`).
|
||||
By default, Chronograf applies the [`MEAN()` function](/{{< latest "influxdb" "v1" >}}/query_language/functions/#mean) to the data, groups averages into auto-generated time intervals (`:interval:`), and shows data for the past hour (`:dashboardTime:`).
|
||||
Those defaults are configurable using the query builder or by manually editing the query.
|
||||
|
||||
In addition, the time range (`:dashboardTime:`) is [configurable on the dashboard](#step-6-configure-your-dashboard).
|
||||
|
@ -55,7 +55,7 @@ In addition, the time range (`:dashboardTime:`) is [configurable on the dashboar
|
|||
|
||||
### Step 4: Choose your visualization type
|
||||
|
||||
Chronograf supports many different [visualization types](/chronograf/latest/guides/visualization-types/). To choose a visualization type, click **Visualization** and select **Step-Plot Graph**.
|
||||
Chronograf supports many different [visualization types](/chronograf/v1.6/guides/visualization-types/). To choose a visualization type, click **Visualization** and select **Step-Plot Graph**.
|
||||
|
||||
![Visualization type](/img/chronograf/1-6-g-dashboard-visualization.png)
|
||||
|
||||
|
@ -76,8 +76,7 @@ Click **Save** (the green checkmark icon) to save your cell.
|
|||
* **Pan** over your cell data by pressing the shift key and clicking and dragging your mouse over the graph
|
||||
* **Reset** your cell by double-clicking your mouse in the cell window
|
||||
|
||||
> Note:
|
||||
These tips only apply to the line, stacked, step-plot, and line+stat [visualization types](/chronograf/latest/troubleshooting/frequently-asked-questions/#what-visualization-types-does-chronograf-support).
|
||||
> Note: These tips only apply to the line, stacked, step-plot, and line+stat visualization types.
|
||||
|
||||
#### Configure dashboard-wide settings:
|
||||
* You can change the dashboard's *auto-refresh interval* at the top of the page - the default interval selected is **Every 15 seconds**.
|
||||
|
@ -93,4 +92,4 @@ To exit full screen mode, press the Esc key.
|
|||
|
||||
### Template variables
|
||||
Dashboards support template variables.
|
||||
See the [Dashboard Template Variables](/chronograf/latest/guides/dashboard-template-variables/) guide for more information.
|
||||
See the [Dashboard Template Variables](/chronograf/v1.6/guides/dashboard-template-variables/) guide for more information.
|
||||
|
|
|
@ -11,9 +11,9 @@ menu:
|
|||
---
|
||||
|
||||
|
||||
Chronograf provides a user interface for [Kapacitor](/kapacitor/latest/), InfluxData's processing framework for creating alerts, ETL jobs (running extract, transform, load), and detecting anomalies in your data.
|
||||
Chronograf provides a user interface for [Kapacitor](/{{< latest "kapacitor" >}}/), InfluxData's processing framework for creating alerts, ETL jobs (running extract, transform, load), and detecting anomalies in your data.
|
||||
Chronograf alert rules correspond to Kapacitor tasks that trigger alerts whenever certain conditions are met.
|
||||
Behind the scenes, these tasks are stored as [TICKscripts](/kapacitor/latest/tick/) that can be edited manually or through Chronograf.
|
||||
Behind the scenes, these tasks are stored as [TICKscripts](/{{< latest "kapacitor" >}}/tick/) that can be edited manually or through Chronograf.
|
||||
Common alerting use cases that can be managed using Chronograf include:
|
||||
|
||||
* Thresholds with static ceilings, floors, and ranges.
|
||||
|
@ -26,13 +26,12 @@ This guide walks through creating a Chronograf alert rule that sends an alert me
|
|||
|
||||
## Requirements
|
||||
|
||||
[Getting started with Chronograf](/chronograf/latest/introduction/getting-started/) offers step-by-step instructions for each of the following requirements:
|
||||
[Getting started with Chronograf](/chronograf/v1.6/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/latest/introduction/getting-started/#4-connect-chronograf-to-kapacitor).
|
||||
* Slack is available and configured as an [event handler](/chronograf/latest/troubleshooting/frequently-asked-questions/#what-kapacitor-event-handlers-are-supported-in-chronograf) in Chronograf.
|
||||
See the [Configuring Kapacitor Event Handlers](/chronograf/latest/guides/configuring-alert-endpoints/) guide for detailed configuration instructions.
|
||||
* [Create a Kapacitor connection in Chronograf](/chronograf/v1.6/administration/creating-connections/#managing-kapacitor-connections-using-the-chronograf-ui).
|
||||
* Slack is available and configured as an event handler in Chronograf. See [Configuring Chronograf alert endpoints](/chronograf/v1.6/guides/configuring-alert-endpoints/) for detailed configuration instructions.
|
||||
|
||||
## Configuring Chronograf alert rules
|
||||
|
||||
|
@ -70,7 +69,7 @@ For this example, select the **Threshold** alert type.
|
|||
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.
|
||||
|
||||
In this example, select the `telegraf` [database](/influxdb/latest/concepts/glossary/#database), the `autogen` [retention policy](/influxdb/latest/concepts/glossary/#retention-policy-rp), the `cpu` [measurement](/influxdb/latest/concepts/glossary/#measurement), and the `usage_idle` [field](/influxdb/latest/concepts/glossary/#field).
|
||||
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).
|
||||
|
||||
![Select your data](/img/chronograf/1-6-alerts-time-series.png)
|
||||
|
||||
|
@ -113,7 +112,7 @@ In this example, use the alert message, `Your idle CPU usage is {{.Level}} at {{
|
|||
|
||||
![Specify event handler and alert message](/img/chronograf/1-6-alerts-message.png)
|
||||
|
||||
*View the Kapacitor documentation for more information about [message template data](/kapacitor/latest/nodes/alert_node/#message).*
|
||||
*View the Kapacitor documentation for more information about [message template data](/{{< latest "kapacitor" >}}/nodes/alert_node/#message).*
|
||||
|
||||
### Step 7: Save the alert rule
|
||||
|
||||
|
|
|
@ -115,7 +115,7 @@ Chronograf supports the following template variable types:
|
|||
[Text](#text)
|
||||
|
||||
### Databases
|
||||
Database template variables allow you to select from multiple target [databases](/influxdb/latest/concepts/glossary/#database).
|
||||
Database template variables allow you to select from multiple target [databases](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#database).
|
||||
|
||||
_**Database meta query**_
|
||||
Database template variables use the following meta query to return an array of all databases in your InfluxDB instance.
|
||||
|
@ -133,7 +133,7 @@ SELECT "purchases" FROM :databaseVar:."autogen"."customers"
|
|||
Database template variables are good when visualizing multiple databases with similar or identical data structures. They allow you to quickly switch between visualizations for each of your databases.
|
||||
|
||||
### Measurements
|
||||
Vary the target [measurement](/influxdb/latest/concepts/glossary/#measurement).
|
||||
Vary the target [measurement](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#measurement).
|
||||
|
||||
_**Measurement meta query**_
|
||||
Measurement template variables use the following meta query to return an array of all measurements in a given database.
|
||||
|
@ -152,7 +152,7 @@ Measurement template variables allow you to quickly switch between measurements
|
|||
|
||||
|
||||
### Field Keys
|
||||
Vary the target [field key](/influxdb/latest/concepts/glossary/#field-key).
|
||||
Vary the target [field key](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#field-key).
|
||||
|
||||
_**Field key meta query**_
|
||||
Field key template variables use the following meta query to return an array of all field keys in a given measurement from a given database.
|
||||
|
@ -171,7 +171,7 @@ Field key template variables are great if you want to quickly switch between fie
|
|||
|
||||
|
||||
### Tag Keys
|
||||
Vary the target [tag key](/influxdb/latest/concepts/glossary/#tag-key).
|
||||
Vary the target [tag key](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag-key).
|
||||
|
||||
_**Tag key meta query**_
|
||||
Tag key template variables use the following meta query to return an array of all tag keys in a given measurement from a given database.
|
||||
|
@ -190,7 +190,7 @@ Tag key template variables are great if you want to quickly switch between tag k
|
|||
|
||||
|
||||
### Tag Values
|
||||
Vary the target [tag value](/influxdb/latest/concepts/glossary/#tag-value).
|
||||
Vary the target [tag value](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag-value).
|
||||
|
||||
_**Tag value meta query**_
|
||||
Tag value template variables use the following meta query to return an array of all values associated with a given tag key in a specified measurement and database.
|
||||
|
@ -222,7 +222,7 @@ value3
|
|||
value4
|
||||
```
|
||||
|
||||
> Since string field values [require single quotes in InfluxQL](/influxdb/latest/troubleshooting/frequently-asked-questions/#when-should-i-single-quote-and-when-should-i-double-quote-in-queries), string values should be wrapped in single quotes.
|
||||
> Since string field values [require single quotes in InfluxQL](/{{< latest "influxdb" "v1" >}}/troubleshooting/frequently-asked-questions/#when-should-i-single-quote-and-when-should-i-double-quote-in-queries), string values should be wrapped in single quotes.
|
||||
|
||||
>```csv
|
||||
'string1','string2','string3','string4'
|
||||
|
@ -253,7 +253,7 @@ key4,value4
|
|||
|
||||
<img src="/img/chronograf/1-6-template-vars-map-dropdown.png" style="width:100%;max-width:140px;" alt="Map variable dropdown"/>
|
||||
|
||||
> If values are meant to be used as string field values, wrap them in single quote ([required by InfluxQL](/influxdb/latest/troubleshooting/frequently-asked-questions/#when-should-i-single-quote-and-when-should-i-double-quote-in-queries)). This only pertains to values. String keys do not matter.
|
||||
> If values are meant to be used as string field values, wrap them in single quote ([required by InfluxQL](/{{< latest "influxdb" "v1" >}}/troubleshooting/frequently-asked-questions/#when-should-i-single-quote-and-when-should-i-double-quote-in-queries)). This only pertains to values. String keys do not matter.
|
||||
|
||||
>```csv
|
||||
key1,'value1'
|
||||
|
|
|
@ -40,7 +40,7 @@ Add the following settings the `[[udp]]` secton in your Kapacitor configuration
|
|||
retention-policy = "autogen"
|
||||
```
|
||||
|
||||
Using this configuration, Kapacitor will listen on port `9100` for UDP packets in [Line Protocol](/influxdb/latest/write_protocols/line_protocol_tutorial/) format.
|
||||
Using this configuration, Kapacitor will listen on port `9100` for UDP packets in [Line Protocol](/{{< latest "influxdb" "v1" >}}/write_protocols/line_protocol_tutorial/) format.
|
||||
Incoming data will be scoped to be in the `game.autogen` database and retention policy.
|
||||
Restart Kapacitor so that the UDP listener service starts.
|
||||
|
||||
|
@ -187,6 +187,7 @@ max
|
|||
|
||||
Since we are writing data back to InfluxDB create a database `game` for our results.
|
||||
|
||||
{{< keep-url >}}
|
||||
```
|
||||
curl -G 'http://localhost:8086/query?' --data-urlencode 'q=CREATE DATABASE game'
|
||||
```
|
||||
|
@ -274,6 +275,7 @@ Hit the endpoint several times to see that the scores are updating once a second
|
|||
|
||||
Now, let's check InfluxDB to see our historical data.
|
||||
|
||||
{{< keep-url >}}
|
||||
```bash
|
||||
curl \
|
||||
-G 'http://localhost:8086/query?db=game' \
|
||||
|
|
|
@ -10,20 +10,20 @@ menu:
|
|||
|
||||
---
|
||||
|
||||
[InfluxDB Enterprise](/enterprise_influxdb/latest/) offers high availability and a highly scalable clustering solution for your time series data needs.
|
||||
[InfluxDB Enterprise](/{{< latest "enterprise_influxdb" >}}/) offers high availability and a highly scalable clustering solution for your time series data needs.
|
||||
Use Chronograf to assess your cluster's health and to monitor the infrastructure behind your project.
|
||||
|
||||
This guide offers step-by-step instructions for using Chronograf, [InfluxDB](/influxdb/latest/), and [Telegraf](/telegraf/latest/) to monitor data nodes in your InfluxDB Enterprise cluster.
|
||||
This guide offers step-by-step instructions for using Chronograf, [InfluxDB](/{{< latest "influxdb" "v1" >}}/), and [Telegraf](/{{< latest "telegraf" >}}/) to monitor data nodes in your InfluxDB Enterprise cluster.
|
||||
|
||||
## Requirements
|
||||
|
||||
You have a fully-functioning InfluxDB Enterprise cluster with authentication enabled.
|
||||
See the InfluxDB Enterprise documentation for
|
||||
[detailed setup instructions](/enterprise_influxdb/latest/production_installation/).
|
||||
[detailed setup instructions](/{{< latest "enterprise_influxdb" >}}/production_installation/).
|
||||
This guide uses an InfluxData Enterprise cluster with three meta nodes and three data nodes; the steps are also applicable to other cluster configurations.
|
||||
|
||||
InfluxData recommends using a separate server to store your monitoring data.
|
||||
It is possible to store the monitoring data in your cluster and [connect the cluster to Chronograf](/chronograf/latest/troubleshooting/frequently-asked-questions/#how-do-i-connect-chronograf-to-an-influxenterprise-cluster), but, in general, your monitoring data should live on a separate server.
|
||||
It is possible to store the monitoring data in your cluster and [connect the cluster to Chronograf](/chronograf/v1.6/troubleshooting/frequently-asked-questions/#how-do-i-connect-chronograf-to-an-influxdb-enterprise-cluster), but, in general, your monitoring data should live on a separate server.
|
||||
|
||||
You're working on an Ubuntu installation.
|
||||
Chronograf and the other components of the TICK stack are supported on several operating systems and hardware architectures. Check out the [downloads page](https://portal.influxdata.com/downloads) for links to the binaries of your choice.
|
||||
|
@ -35,11 +35,11 @@ Before we begin, here's an overview of the final monitoring setup:
|
|||
![Architecture diagram](/img/chronograf/1-6-cluster-diagram.png)
|
||||
|
||||
The diagram above shows an InfluxDB Enterprise cluster that consists of three meta nodes (M) and three data nodes (D).
|
||||
Each data node has its own [Telegraf](/telegraf/latest/) instance (T).
|
||||
Each data node has its own [Telegraf](/{{< latest "telegraf" >}}/) instance (T).
|
||||
|
||||
Each Telegraf instance is configured to collect node CPU, disk, and memory data using the Telegraf [system stats](https://github.com/influxdata/telegraf/tree/master/plugins/inputs/system) input plugin.
|
||||
The Telegraf instances are also configured to send those data to a single [InfluxDB OSS](/influxdb/latest/) instance that lives on a separate server.
|
||||
When Telegraf sends data to InfluxDB, it automatically [tags](/influxdb/latest/concepts/glossary/#tag) the data with the hostname of the relevant data node.
|
||||
The Telegraf instances are also configured to send those data to a single [InfluxDB OSS](/{{< latest "influxdb" "v1" >}}/) instance that lives on a separate server.
|
||||
When Telegraf sends data to InfluxDB, it automatically [tags](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag) the data with the hostname of the relevant data node.
|
||||
|
||||
The InfluxDB OSS instance that stores the Telegraf data is connected to Chronograf.
|
||||
Chronograf uses the hostnames in the Telegraf data to populate the Host List page and provide other hostname-specific information in the user interface.
|
||||
|
@ -54,7 +54,7 @@ InfluxDB can be downloaded from the [InfluxData downloads page](https://portal.i
|
|||
|
||||
#### Step 2: Enable authentication
|
||||
|
||||
For security purposes, enable authentication in the InfluxDB [configuration file (influxdb.conf)](/influxdb/latest/administration/config/), which is located in `/etc/influxdb/influxdb.conf`.
|
||||
For security purposes, enable authentication in the InfluxDB [configuration file (influxdb.conf)](/{{< latest "influxdb" "v1" >}}/administration/config/), which is located in `/etc/influxdb/influxdb.conf`.
|
||||
|
||||
In the `[http]` section of the configuration file, uncomment the `auth-enabled` option and set it to `true`:
|
||||
|
||||
|
@ -80,11 +80,12 @@ Next, start the InfluxDB process:
|
|||
|
||||
#### Step 4: Create an admin user
|
||||
|
||||
Create an [admin user](/influxdb/latest/query_language/authentication_and_authorization/#user-types-and-privileges) on your InfluxDB instance.
|
||||
Create an [admin user](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#user-types-and-privileges) on your InfluxDB instance.
|
||||
Because you enabled authentication, you must perform this step before moving on to the next section.
|
||||
Run the command below to create an admin user, replacing `chronothan` and `supersecret` with your own username and password.
|
||||
Note that the password requires single quotes.
|
||||
|
||||
{{< keep-url >}}
|
||||
```
|
||||
~# curl -XPOST "http://localhost:8086/query" --data-urlencode "q=CREATE USER chronothan WITH PASSWORD 'supersecret' WITH ALL PRIVILEGES"
|
||||
```
|
||||
|
@ -173,12 +174,14 @@ Repeat steps one through four for each data node in your cluster.
|
|||
|
||||
Run the following command on your InfluxDB OSS instance to see if your Telegraf instances are successfully collecting and writing data.
|
||||
Replace the `chronothan` and `supersecret` values with your actual username and password.
|
||||
|
||||
{{< keep-url >}}
|
||||
```
|
||||
~# curl -G "http://localhost:8086/query?db=telegraf&u=chronothan&p=supersecret&pretty=true" --data-urlencode "q=SHOW TAG VALUES FROM cpu WITH KEY=host"
|
||||
```
|
||||
|
||||
The expected output is similar to the JSON in the codeblock below.
|
||||
In this case, the `telegraf` database has three different [tag values](/influxdb/latest/concepts/glossary/#tag-value) for the `host` [tag key](/influxdb/latest/concepts/glossary/#tag-key): `data-node-01`, `data-node-02`, and `data-node-03`.
|
||||
In this case, the `telegraf` database has three different [tag values](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag-value) for the `host` [tag key](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag-key): `data-node-01`, `data-node-02`, and `data-node-03`.
|
||||
Those values match the hostnames of the three data nodes in the cluster; this means Telegraf is successfully writing monitoring data from those hosts to the InfluxDB OSS instance!
|
||||
```
|
||||
{
|
||||
|
@ -258,6 +261,6 @@ In the image below, the Chronograf query editor is used to visualize the idle CP
|
|||
![Data Explorer](/img/chronograf/1-6-cluster-de.png)
|
||||
|
||||
Create more customized graphs and save them to a dashboard on the Dashboard page in Chronograf.
|
||||
See the [Creating Chronograf dashboards](/chronograf/latest/guides/create-a-dashboard/) guide for more information.
|
||||
See the [Creating Chronograf dashboards](/chronograf/v1.6/guides/create-a-dashboard/) guide for more information.
|
||||
|
||||
That's it! You've successfully configured Telegraf to collect and write data, InfluxDB to store those data, and Chonograf to use those data for monitoring and visualization purposes.
|
||||
|
|
|
@ -11,7 +11,7 @@ menu:
|
|||
|
||||
## Overview
|
||||
|
||||
Pre-created dashboards are delivered with Chronograf and are available depending on which Telegraf input plugins you have enabled. These dashboards include cells with data visualizations for metrics that are relevant to data sources you are likely to be using. The JSON files that are delivered include headings, queries, labels, and other information that can also be useful for helping you get started in [creating custom dashboards](/chronograf/latest/guides/create-a-dashboard/).
|
||||
Pre-created dashboards are delivered with Chronograf and are available depending on which Telegraf input plugins you have enabled. These dashboards include cells with data visualizations for metrics that are relevant to data sources you are likely to be using. The JSON files that are delivered include headings, queries, labels, and other information that can also be useful for helping you get started in [creating custom dashboards](/chronograf/v1.6/guides/create-a-dashboard/).
|
||||
|
||||
> Note that these pre-created dashboards do not appear in the Dashboards tab, which only include custom dashboards that your organization has created.
|
||||
|
||||
|
@ -33,7 +33,7 @@ Pre-created dashboards are delivered in Chronograf installations and are ready t
|
|||
|
||||
The pre-created dashboards available for use with Chronograf are listed below as Apps and appear in the Apps listing for hosts in the Host List page. The listings for apps (pre-created dashboards) on this page include information about the required Telegraf input plugins, JSON files included in the apps, and listings of the cell titles that are included in each of the JSON files.
|
||||
|
||||
The JSON files for the precreated dashboards are delivered on installation in the `/usr/share/chronograf/canned` directory. Information about the configuration option `--canned-path` can be found in the [Chronograf configuration options](/chronograf/latest/administration/config-options/#) page.
|
||||
The JSON files for the precreated dashboards are delivered on installation in the `/usr/share/chronograf/canned` directory. Information about the configuration option `--canned-path` can be found in the [Chronograf configuration options](/chronograf/v1.6/administration/config-options/#) page.
|
||||
|
||||
You can enable and disable applications in your [Telegraf configuration file](https://github.com/influxdata/telegraf/blob/master/etc/telegraf.conf).
|
||||
See [Telegraf configuration](https://github.com/influxdata/telegraf/blob/master/docs/CONFIGURATION.md) for details.
|
||||
|
|
|
@ -179,10 +179,10 @@ The **Single Stat** view displays the most recent value of the specified time se
|
|||
|
||||
![Single Stat view](/img/chronograf/1-6-viz-single-stat-selector.png)
|
||||
|
||||
If a cell's query includes a [`GROUP BY` tag](/influxdb/latest/query_language/data_exploration/#group-by-tags) clause, Chronograf sorts the different [series](/influxdb/latest/concepts/glossary/#series) lexicographically and shows the most recent [field value](/influxdb/latest/concepts/glossary/#field-value) associated with the first series.
|
||||
For example, if a query groups by the `name` [tag key](/influxdb/latest/concepts/glossary/#tag-key) and `name` has two [tag values](/influxdb/latest/concepts/glossary/#tag-value) (`chronelda` and `chronz`), Chronograf shows the most recent field value associated with the `chronelda` series.
|
||||
If a cell's query includes a [`GROUP BY` tag](/{{< latest "influxdb" "v1" >}}/query_language/explore-data/#group-by-tags) clause, Chronograf sorts the different [series](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#series) lexicographically and shows the most recent [field value](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#field-value) associated with the first series.
|
||||
For example, if a query groups by the `name` [tag key](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag-key) and `name` has two [tag values](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#tag-value) (`chronelda` and `chronz`), Chronograf shows the most recent field value associated with the `chronelda` series.
|
||||
|
||||
If a cell's query includes more than one [field key](/influxdb/latest/concepts/glossary/#field-key) in the [`SELECT` clause](/influxdb/latest/query_language/data_exploration/#select-clause), Chronograf returns the most recent field value associated with the first field key in the `SELECT` clause.
|
||||
If a cell's query includes more than one [field key](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#field-key) in the [`SELECT` clause](/{{< latest "influxdb" "v1" >}}/query_language/explore-data/#select-clause), Chronograf returns the most recent field value associated with the first field key in the `SELECT` clause.
|
||||
For example, if a query's `SELECT` clause is `SELECT "chronogiraffe","chronelda"`, Chronograf shows the most recent field value associated with the `chronogiraffe` field key.
|
||||
|
||||
#### Single Stat Controls
|
||||
|
|
|
@ -10,16 +10,4 @@ menu:
|
|||
|
||||
Follow the links below to get acquainted with Chronograf:
|
||||
|
||||
## [Downloading Chronograf](https://portal.influxdata.com/downloads)
|
||||
|
||||
Chronograf is supported on several operating systems and hardware architectures.
|
||||
See the [InfluxData downloads page](https://portal.influxdata.com/downloads) page for to the available binaries.
|
||||
|
||||
## [Installing Chronograf](/chronograf/latest/introduction/installation/)
|
||||
|
||||
[Installing Chronograf](/chronograf/latest/introduction/installation/) lists the requirements for installing, starting, and configuring Chronograf.
|
||||
|
||||
## Getting Started
|
||||
[Getting started with Chronograf](/chronograf/latest/introduction/getting-started/) gets you up and running with Chronograf with as little configuration and code as possible.
|
||||
By the end of the guide, you will have downloaded, installed, and configured all four packages of the
|
||||
TICK stack ([Telegraf](https://github.com/influxdata/telegraf), [InfluxDB](https://github.com/influxdata/influxdb), Chronograf, and [Kapacitor](https://github.com/influxdata/kapacitor)), and you will be all set to monitor your infrastructure.
|
||||
{{< children hlevel="h2" >}}
|
||||
|
|
|
@ -1,8 +1,7 @@
|
|||
---
|
||||
title: Getting started with Chronograf
|
||||
aliases:
|
||||
- /chronograf/latest/introduction/getting-started/
|
||||
- /chronograf/v1.6/introduction/getting_started/
|
||||
- /chronograf/v1.6/introduction/getting_started/
|
||||
menu:
|
||||
chronograf_1_6:
|
||||
name: Getting started
|
||||
|
@ -11,18 +10,18 @@ menu:
|
|||
---
|
||||
|
||||
## Overview
|
||||
Chronograf allows you to quickly see data you have stored in InfluxDB so you can build robust queries and alerts. After your administrator has set up Chronograf as described in [Installing Chronograf](/chronograf/latest/introduction/installation), get started with key features using the guides below.
|
||||
Chronograf allows you to quickly see data you have stored in InfluxDB so you can build robust queries and alerts. After your administrator has set up Chronograf as described in [Installing Chronograf](/chronograf/v1.6/introduction/installation), get started with key features using the guides below.
|
||||
|
||||
### Data visualization
|
||||
* Investigate your data by building queries using [InfluxQL](/influxdb/latest/query_language/).
|
||||
* Use pre-created [pre-created dashboards](/chronograf/latest/guides/using-precreated-dashboards/) to monitor your application data or [create your own dashboards](/chronograf/latest/guides/create-a-dashboard/).
|
||||
* Customize dashboards using [template variables](/chronograf/latest/guides/dashboard-template-variables/).
|
||||
* Investigate your data by building queries using [InfluxQL](/{{< latest "influxdb" "v1" >}}/query_language/).
|
||||
* Use pre-created [pre-created dashboards](/chronograf/v1.6/guides/using-precreated-dashboards/) to monitor your application data or [create your own dashboards](/chronograf/v1.6/guides/create-a-dashboard/).
|
||||
* Customize dashboards using [template variables](/chronograf/v1.6/guides/dashboard-template-variables/).
|
||||
|
||||
### Alerting
|
||||
* [Create alert rules](/chronograf/latest/guides/create-alert-rules/) to generate threshold, relative, and deadman alerts on your data.
|
||||
* [View all active alerts](/chronograf/latest/guides/create-alert-rules/#step-2-view-the-alerts) on an alert dashboard.
|
||||
* Use [alert endpoints](/chronograf/latest/guides/configuring-alert-endpoints/) in Chronograf to send alert messages to specific URLs and applications.
|
||||
* [Create alert rules](/chronograf/v1.6/guides/create-alert-rules/) to generate threshold, relative, and deadman alerts on your data.
|
||||
* [View all active alerts](/chronograf/v1.6/guides/create-alert-rules/#step-2-view-the-alerts) on an alert dashboard.
|
||||
* Use [alert endpoints](/chronograf/v1.6/guides/configuring-alert-endpoints/) in Chronograf to send alert messages to specific URLs and applications.
|
||||
|
||||
### Infrastructure monitoring
|
||||
* [View all hosts](/chronograf/latest/guides/monitoring-influxenterprise-clusters/#step-4-explore-the-monitoring-data-in-chronograf) and their statuses in your infrastructure.
|
||||
* [Use pre-created dashboards](/chronograf/latest/guides/using-precreated-dashboards/) to monitor your applications.
|
||||
* [View all hosts](/chronograf/v1.6/guides/monitoring-influxenterprise-clusters/#step-4-explore-the-monitoring-data-in-chronograf) and their statuses in your infrastructure.
|
||||
* [Use pre-created dashboards](/chronograf/v1.6/guides/using-precreated-dashboards/) to monitor your applications.
|
||||
|
|
|
@ -9,4 +9,4 @@ menu:
|
|||
|
||||
Follow the link below to access Chronograf's FAQ.
|
||||
|
||||
## [Frequently Asked Questions](/chronograf/latest/troubleshooting/frequently-asked-questions/)
|
||||
{{< children hlevel="h2" >}}
|
||||
|
|
|
@ -9,7 +9,7 @@ menu:
|
|||
|
||||
## How do I connect Chronograf to an InfluxDB Enterprise cluster?
|
||||
|
||||
The connection details form requires additional information when connecting Chronograf to an [InfluxDB Enterprise cluster](https://docs.influxdata.com/enterprise_influxdb/latest/).
|
||||
The connection details form requires additional information when connecting Chronograf to an [InfluxDB Enterprise cluster](/{{< latest "enterprise_influxdb" >}}/).
|
||||
|
||||
When you enter the InfluxDB HTTP bind address in the `Connection String` input, Chronograf automatically checks if that InfluxDB instance is a data node.
|
||||
If it is a data node, Chronograf automatically adds the `Meta Service Connection URL` input to the connection details form.
|
||||
|
@ -19,4 +19,4 @@ Enter the HTTP bind address of one of your cluster's meta nodes into that input
|
|||
|
||||
Note that the example above assumes that you do not have authentication enabled.
|
||||
If you have authentication enabled, the form requires username and password information.
|
||||
For more details about monitoring an InfluxDB Enterprise cluster, see the [Monitor an InfluxDB Enterprise Cluster](/chronograf/latest/guides/monitoring-influxenterprise-clusters/) guide.
|
||||
For more details about monitoring an InfluxDB Enterprise cluster, see the [Monitor an InfluxDB Enterprise Cluster](/chronograf/v1.6/guides/monitoring-influxenterprise-clusters/) guide.
|
||||
|
|
|
@ -38,12 +38,12 @@ Chronograf offers a UI for [Kapacitor](https://github.com/influxdata/kapacitor),
|
|||
|
||||
* Create and delete databases and retention policies
|
||||
* View currently-running queries and stop inefficient queries from overloading your system
|
||||
* Create, delete, and assign permissions to users (Chronograf supports [InfluxDB OSS](/influxdb/latest/administration/authentication_and_authorization/#authorization) and InfluxEnterprise user management)
|
||||
* Create, delete, and assign permissions to users (Chronograf supports [InfluxDB OSS](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/#authorization) and InfluxDB Enterprise user management)
|
||||
|
||||
|
||||
### Multi-organization and multi-user support
|
||||
|
||||
>**Note:** To use this feature, OAuth 2.0 authentication must be configured. Once configured, the Chronograf Admin tab on the Admin menu is visible. For details, see [Managing Chronograf security](https://docs.influxdata.com/chronograf/v1.7/administration/managing-security/).
|
||||
>**Note:** To use this feature, OAuth 2.0 authentication must be configured. Once configured, the Chronograf Admin tab on the Admin menu is visible. For details, see [Managing Chronograf security](/chronograf/v1.7/administration/managing-security/).
|
||||
|
||||
* Create organizations and assign users to those organizations
|
||||
* Restrict access to administrative functions
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: About the Chronograf project
|
||||
description: Chronograf is the UI component of the InfluxData time series platform. This section includes documentation about the Chronograf project, release notes and changelogs, what's new, contributing, and licenses.
|
||||
description: Learn about Chronograf, the user interface (UI) for InfluxDB.
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
name: About the project
|
||||
|
@ -10,21 +10,7 @@ Chronograf is the user interface component of the [InfluxData time series platfo
|
|||
|
||||
Follow the links below for more information.
|
||||
|
||||
## [Chronograf 1.7 release notes](/chronograf/v1.7/about_the_project/release-notes-changelog/)
|
||||
|
||||
The [Chronograf 1.7 release notes](/chronograf/v1.7/about_the_project/release-notes-changelog/) includes details about features, bug fixes, and breaking changes for current and earlier Chronograf OSS releases.
|
||||
|
||||
## [Contributing to Chronograf](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md)
|
||||
|
||||
See [Contributing to InfluxDB OSS](https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md) for information about how you can contribute to the InfluxDB OSS GitHub project.
|
||||
|
||||
### [InfluxData Contributor License Agreement (CLA)](https://influxdata.com/community/cla/)
|
||||
|
||||
In order to begin contributing to InfluxDB OSS project, you need to complete and sign the [InfluxData Contributor License Agreement (CLA)](https://influxdata.com/community/cla/).
|
||||
|
||||
## [Open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE/)
|
||||
|
||||
See the [open source license for Chronograf](https://github.com/influxdata/chronograf/blob/master/LICENSE/) for conditions and restrictions for the use of the Chronograf source code.
|
||||
{{< children hlevel="h2" >}}
|
||||
|
||||
Chronograf is released under the GNU Affero General Public License. This Free Software Foundation license is fairly new,
|
||||
and differs from the more widely known and understood GPL.
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: InfluxData Contributor License Agreement (CLA)
|
||||
description: Before contributing to the Chronograf project, you need to submit the InfluxData Contributor License Agreement.
|
||||
description: Before contributing to the Chronograf project, submit the InfluxData Contributor License Agreement.
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
weight: 30
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
---
|
||||
title: Contributing to Chronograf
|
||||
title: Contribute to Chronograf
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
name: Contributing
|
||||
name: Contribute
|
||||
weight: 20
|
||||
parent: About the project
|
||||
url: https://github.com/influxdata/chronograf/blob/master/CONTRIBUTING.md
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Chronograf 1.7 release notes
|
||||
description: Features, breaking features, user interface improvements, and bug fixes for the latest and earlier Chronograf releases for the InfluxData time series platform.
|
||||
description: Important changes and what's new in each version of Chronograf.
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
name: Release notes
|
||||
|
@ -836,9 +836,9 @@ menu:
|
|||
### UI improvements
|
||||
|
||||
* When dashboard time range is changed, reset graphs that are zoomed in
|
||||
* [Bar graph](/chronograf/latest/guides/visualization-types/#bar-graph) option added to dashboard
|
||||
* [Bar graph](/chronograf/v1.7/guides/visualization-types/#bar-graph) option added to dashboard
|
||||
* Redesign source management table to be more intuitive
|
||||
* Redesign [Line + Single Stat](/chronograf/latest/guides/visualization-types/#line-graph-single-stat) cells to appear more like a sparkline, and improve legibility
|
||||
* Redesign [Line + Single Stat](/chronograf/v1.7/guides/visualization-types/#line-graph-single-stat) cells to appear more like a sparkline, and improve legibility
|
||||
|
||||
|
||||
## v1.3.2.0 [2017-06-05]
|
||||
|
@ -854,7 +854,7 @@ menu:
|
|||
|
||||
### Features
|
||||
|
||||
* Add UI to the Data Explorer for [writing data to InfluxDB](/chronograf/latest/guides/querying-data/)
|
||||
* Add UI to the Data Explorer for [writing data to InfluxDB](/chronograf/v1.7/guides/querying-data/)
|
||||
|
||||
### UI improvements
|
||||
|
||||
|
@ -874,26 +874,26 @@ In versions 1.3.1+, installing a new version of Chronograf automatically clears
|
|||
|
||||
### Bug fixes
|
||||
|
||||
* Fix infinite spinner when `/chronograf` is a [basepath](/chronograf/latest/administration/config-options/#p-basepath)
|
||||
* Fix infinite spinner when `/chronograf` is a [basepath](/chronograf/v1.7/administration/config-options/#basepath-p)
|
||||
* Remove the query templates dropdown from dashboard cell editor mode
|
||||
* Fix the backwards sort arrows in table column headers
|
||||
* Make the logout button consistent with design
|
||||
* Fix the loading spinner on graphs
|
||||
* Filter out any template variable values that are empty, whitespace, or duplicates
|
||||
* Allow users to click the add query button after selecting singleStat as the [visualization type](/chronograf/latest/guides/visualization-types)
|
||||
* Allow users to click the add query button after selecting singleStat as the [visualization type](/chronograf/v1.7/guides/visualization-types)
|
||||
* Add a query for windows uptime - thank you, @brianbaker!
|
||||
|
||||
### Features
|
||||
|
||||
* Add log event handler- thank you, @mpchadwick!
|
||||
* Update Go (golang) vendoring to dep and committed vendor directory
|
||||
* Add autocomplete functionality to [template variable](/chronograf/latest/guides/dashboard-template-variables) dropdowns
|
||||
* Add autocomplete functionality to [template variable](/chronograf/v1.7/guides/dashboard-template-variables) dropdowns
|
||||
|
||||
### UI improvements
|
||||
|
||||
* Refactor scrollbars to support non-webkit browsers
|
||||
* Increase the query builder's default height in cell editor mode and in the data explorer
|
||||
* Make the [template variables](/chronograf/latest/guides/dashboard-template-variables) manager more space efficient
|
||||
* Make the [template variables](/chronograf/v1.7/guides/dashboard-template-variables) manager more space efficient
|
||||
* Add page spinners to pages that did not have them
|
||||
* Denote which source is connected in the sources table
|
||||
* Use milliseconds in the InfluxDB dashboard instead of nanoseconds
|
||||
|
@ -903,25 +903,25 @@ In versions 1.3.1+, installing a new version of Chronograf automatically clears
|
|||
|
||||
### Bug fixes
|
||||
|
||||
* Fix the link to home when using the [`--basepath` option](/chronograf/latest/administration/config-options/#p-basepath)
|
||||
* Fix the link to home when using the [`--basepath` option](/chronograf/v1.7/administration/config-options/#basepath-p)
|
||||
* Remove the notification to login on the login page
|
||||
* Support queries that perform math on functions
|
||||
* Prevent the creation of blank template variables
|
||||
* Ensure thresholds for Kapacitor Rule Alerts appear on page load
|
||||
* Update the Kapacitor configuration page when the configuration changes
|
||||
* Fix Authentication when using Chronograf with a set [basepath](/chronograf/latest/administration/config-options/#p-basepath)
|
||||
* Fix Authentication when using Chronograf with a set [basepath](/chronograf/v1.7/administration/config-options/#basepath-p)
|
||||
* Show red indicator on Hosts Page for an offline host
|
||||
* Support escaping from presentation mode in Safari
|
||||
* Re-implement level colors on the alerts page
|
||||
* Fix router bug introduced by upgrading to react-router v3.0
|
||||
* Show legend on [Line+Stat](/chronograf/latest/guides/visualization-types/#line-graph-single-stat) visualization type
|
||||
* Show legend on [Line+Stat](/chronograf/v1.7/guides/visualization-types/#line-graph-single-stat) visualization type
|
||||
* Prevent queries with `:dashboardTime:` from breaking the query builder
|
||||
|
||||
### Features
|
||||
|
||||
* Add line-protocol proxy for InfluxDB/InfluxEnterprise Cluster data sources
|
||||
* Add line-protocol proxy for InfluxDB/InfluxDB Enterprise Cluster data sources
|
||||
* Add `:dashboardTime:` to support cell-specific time ranges on dashboards
|
||||
* Add support for enabling and disabling [TICKscripts that were created outside Chronograf](/chronograf/latest/guides/advanced-kapacitor/#tickscript-management)
|
||||
* Add support for enabling and disabling [TICKscripts that were created outside Chronograf](/chronograf/v1.7/guides/advanced-kapacitor/#tickscript-management)
|
||||
* Allow users to delete Kapacitor configurations
|
||||
|
||||
### UI improvements
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Administering Chronograf
|
||||
description: This section documents Chronograf administration, including configuration, InfluxDB Enterprise clusters, Kapacitor and InfluxDB connections, user and organization management, security, and upgrading.
|
||||
description: Learn how to administer Chronograf.
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
name: Administration
|
||||
|
@ -10,43 +10,4 @@ menu:
|
|||
|
||||
Follow the links below for more information.
|
||||
|
||||
## [Upgrading to Chronograf 1.7](/chronograf/v1.7/administration/upgrading/)
|
||||
|
||||
See [Upgrading to Chronograf 1.7](/chronograf/v1.7/administration/upgrading/) for details on upgrading to the latest Chronograf release.
|
||||
|
||||
## [Configuring Chronograf 1.7](/chronograf/v1.7/administration/configuration/)
|
||||
|
||||
See [Configuring Chronograf 1.7](/chronograf/v1.7/administration/configuration/) to information on starting Chronograf, configuring Chronograf, setting custom default Chronograf configuration options, and enabling security, multi-organization, and multi-user support.
|
||||
|
||||
## [Configuration options](/chronograf/v1.7/administration/config-options/)
|
||||
|
||||
[Configuration options](/chronograf/v1.7/administration/config-options/) includes details on Chronograf configuration options, including command line settings and environment variables, for the Chronograf service, connections for Kapacitor and InfluxDB, and OAuth 2.0 authentication options.
|
||||
|
||||
## [Connecting Chronograf to InfluxDB Enterprise clusters](/chronograf/v1.7/administration/chrono-on-clusters/)
|
||||
|
||||
[Connecting Chronograf to InfluxDB Enterprise clusters](/chronograf/v1.7/administration/chrono-on-clusters/) covers details on configuring and using Chronograf to monitor and manage your InfluxDB Enterprise clusters.
|
||||
|
||||
## [Creating InfluxDB and Kapacitor connections](/chronograf/v1.7/administration/creating-connections/)
|
||||
|
||||
[Creating InfluxDB and Kapacitor connections](/chronograf/v1.7/administration/creating-connections/) includes steps for creating InfluxDB and Kapacitor connections for use with Chronograf.
|
||||
|
||||
## [Managing InfluxDB users in Chronograf](/chronograf/v1.7/administration/managing-influxdb-users/)
|
||||
|
||||
[Managing InfluxDB users in Chronograf](/chronograf/v1.7/administration/managing-influxdb-users/) covers how to use Chronograf to create and manage InfluxDB users, roles, and permissions.
|
||||
|
||||
## [Managing Chronograf security](/chronograf/v1.7/administration/managing-security/)
|
||||
|
||||
See [Managing Chronograf security](/chronograf/v1.7/administration/managing-security/) for details on configuring OAuth 2.0 authentication providers, authentication duration, and configuring TLS and HTTPS support.
|
||||
|
||||
## [Managing Chronograf organizations](/chronograf/v1.7/administration/managing-organizations/)
|
||||
|
||||
[Managing Chronograf organizations](/chronograf/v1.7/administration/managing-organizations/) covers use of the Default organization and creating, managing, and removing Chronograf organizations.
|
||||
|
||||
## [Managing Chronograf users](/chronograf/v1.7/administration/managing-chronograf-users/)
|
||||
|
||||
See [Managing Chronograf users](/chronograf/v1.7/administration/managing-chronograf-users/) for details on managing Chronograf users and roles, organization-bound users, cross-organization SuperAdmin status, and navigating organizations in the Chronograf user interface.
|
||||
|
||||
## [Transitioning from InfluxDB's Web Admin Interface](/chronograf/v1.7/guides/transition-web-admin-interface/)
|
||||
|
||||
Versions 1.3+ of InfluxDB OSS and InfluxDB Enterprise no longer support the web admin interface, the built-in user interface for writing and querying data in InfluxDB.
|
||||
Learn how to use Chronograf as a replacement for the web admin interface.
|
||||
{{< children hlevel="h2" >}}
|
||||
|
|
|
@ -1,14 +1,14 @@
|
|||
---
|
||||
title: Connecting Chronograf to InfluxDB Enterprise clusters
|
||||
description: Configuration steps for connecting Chronograf to InfluxDB Enterprise clusters and the InfluxData time series platform.
|
||||
title: Connect Chronograf to InfluxDB Enterprise clusters
|
||||
description: Connect Chronograf to InfluxDB Enterprise.
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
name: Connecting Chronograf to clusters
|
||||
name: Connect Chronograf to clusters
|
||||
weight: 40
|
||||
parent: Administration
|
||||
---
|
||||
|
||||
The connection details form requires additional information when connecting Chronograf to an [InfluxDB Enterprise cluster](https://docs.influxdata.com/enterprise_influxdb/latest/).
|
||||
The connection details form requires additional information when connecting Chronograf to an [InfluxDB Enterprise cluster](/{{< latest "enterprise_influxdb" >}}/).
|
||||
|
||||
When you enter the InfluxDB HTTP bind address in the `Connection String` input, Chronograf automatically checks if that InfluxDB instance is a data node.
|
||||
If it is a data node, Chronograf automatically adds the `Meta Service Connection URL` input to the connection details form.
|
||||
|
@ -19,4 +19,4 @@ Enter the HTTP bind address of one of your cluster's meta nodes into that input
|
|||
Note that the example above assumes that you do not have authentication enabled.
|
||||
If you have authentication enabled, the form requires username and password information.
|
||||
|
||||
For details about monitoring InfluxEnterprise clusters, see [Monitoring InfluxDB Enterprise clusters](/chronograf/latest/guides/monitoring-influxenterprise-clusters).
|
||||
For details about monitoring InfluxDB Enterprise clusters, see [Monitoring InfluxDB Enterprise clusters](/chronograf/v1.7/guides/monitoring-influxenterprise-clusters).
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
---
|
||||
title: Chronograf configuration options
|
||||
description: Details on configuration settings (command line options and environment variables) for Chronograf services, Kapacitor and InfluxDB connections, and OAuth 2.0 authentication providers.
|
||||
description: Review options available in the Chronograf configuration file and environment variables.
|
||||
menu:
|
||||
chronograf_1_7:
|
||||
name: Configuration options
|
||||
|
@ -78,7 +78,7 @@ Environment variable: `$BOLT_PATH`
|
|||
|
||||
#### `--canned-path=` | `-c`
|
||||
|
||||
The path to the directory of [canned dashboards](/chronograf/latest/guides/using-precreated-dashboards) files.
|
||||
The path to the directory of [canned dashboards](/chronograf/v1.7/guides/using-precreated-dashboards) files.
|
||||
|
||||
Default value: `/usr/share/chronograf/canned`
|
||||
|
||||
|
@ -119,7 +119,7 @@ $ chronograf -v
|
|||
## InfluxDB connection options
|
||||
|
||||
> InfluxDB connection details specified via command line when starting Chronograf do not persist when Chronograf is shut down.
|
||||
> To persist connection details, [include them in a `.src` file](/chronograf/v1.7/administration/creating-connections/#managing-influxdb-connections-using-src-files) located in your [`--resources-path`](#resources-path).
|
||||
> To persist connection details, [include them in a `.src` file](/chronograf/v1.7/administration/creating-connections/#manage-influxdb-connections-using-src-files) located in your [`--resources-path`](#resources-path).
|
||||
|
||||
### `--influxdb-url=`
|
||||
|
||||
|
@ -144,7 +144,7 @@ Environment variable: `$INFLUXDB_PASSWORD`
|
|||
## Kapacitor connection options
|
||||
|
||||
> Kapacitor connection details specified via command line when starting Chronograf do not persist when Chronograf is shut down.
|
||||
> To persist connection details, [include them in a `.kap` file](/chronograf/v1.7/administration/creating-connections/#managing-kapacitor-connections-using-kap-files) located in your [`--resources-path`](#resources-path).
|
||||
> To persist connection details, [include them in a `.kap` file](/chronograf/v1.7/administration/creating-connections/#manage-kapacitor-connections-using-kap-files) located in your [`--resources-path`](#resources-path).
|
||||
|
||||
### `--kapacitor-url=`
|
||||
|
||||
|
@ -345,7 +345,7 @@ Lists are comma-separated.
|
|||
|
||||
### Generic OAuth 2.0 authentication options
|
||||
|
||||
See [Configuring Generic authentication](/chronograf/v1.7/administration/managing-security/#configure-generic-authentication) for more information.
|
||||
See [Configuring Generic authentication](/chronograf/v1.7/administration/managing-security/#configure-chronograf-to-use-any-oauth-2-0-provider) for more information.
|
||||
|
||||
#### `--generic-name=`
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ However, it is also possible to set custom default configuration options in the
|
|||
|
||||
## Starting the Chronograf service
|
||||
|
||||
Start Chronograf using the default configuration options, or [customize your configuration](https://docs.influxdata.com/chronograf/v1.7/administration/configuration/) with environment variables and command line options (for example, to configure OAuth 2.0 authentication) based on your requirements.
|
||||
Start Chronograf using the default configuration options, or [customize your configuration](/chronograf/v1.7/administration/configuration/) with environment variables and command line options (for example, to configure OAuth 2.0 authentication) based on your requirements.
|
||||
|
||||
**Linux:**
|
||||
|
||||
|
@ -27,12 +27,12 @@ sudo systemctl start chronograf [OPTIONS]
|
|||
chronograf [OPTIONS]
|
||||
```
|
||||
|
||||
`[OPTIONS]` are available Chronograf command line options, separated by spaces. See the [Chronograf configuration options](https://docs.influxdata.com/chronograf/v1.7/administration/config-options) documentation for details about configuration options, including command line options and corresponding environment variables.
|
||||
`[OPTIONS]` are available Chronograf command line options, separated by spaces. See the [Chronograf configuration options](/chronograf/v1.7/administration/config-options) documentation for details about configuration options, including command line options and corresponding environment variables.
|
||||
|
||||
## Setting custom default Chronograf config options
|
||||
|
||||
Custom default Chronograf configuration settings can be defined in `/etc/default/chronograf`.
|
||||
This file consists of key-value pairs. See keys (environment variables) for [Chronograf configuration options](https://docs.influxdata.com/chronograf/v1.7/administration/config-options), and set values for the keys you want to configure.
|
||||
This file consists of key-value pairs. See keys (environment variables) for [Chronograf configuration options](/chronograf/v1.7/administration/config-options), and set values for the keys you want to configure.
|
||||
|
||||
```conf
|
||||
HOST=0.0.0.0
|
||||
|
@ -54,8 +54,7 @@ To set up security for Chronograf, configure:
|
|||
|
||||
After you configure OAuth 2.0 authentication, you can set up multiple organizations, roles, and users. For details, check out the following topics:
|
||||
|
||||
* [Managing organizations](chronograf/v1.7/administration/managing-organizations/)
|
||||
* [Managing Chronograf users](https://docs.influxdata.com/chronograf/v1.7/administration/managing-chronograf-users/)
|
||||
|
||||
* [Managing organizations](/chronograf/v1.7/administration/managing-organizations/)
|
||||
* [Managing Chronograf users](/chronograf/v1.7/administration/managing-chronograf-users/)
|
||||
|
||||
<!-- TODO ## Configuring Chronograf for InfluxDB Enterprise clusters) -->
|
||||
|
|
|
@ -31,15 +31,15 @@ To create an InfluxDB connection in the Chronograf UI:
|
|||
* **Connection URL**: Enter the hostname or IP address of the InfluxDB instance and the port. The field is prefilled with `http://localhost:8086`.
|
||||
* **Connection Name**: Enter the name for this connection.
|
||||
* **Username**: Enter the username that will be shared for this connection.
|
||||
*Required only if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Required only if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
* **Password**: Enter the password.
|
||||
*Required only if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Required only if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
* **Telegraf Database Name**: This field specifies the database that Chronograf will use for populating different parts of the application, including the Host List page. If you've changed the default retention policy in your InfluxDB instance, you may want to change it here as well. If none is provided, we will use `autogen`. You will still be able to query any database you have access to in the InfluxDB instance when building dashboards or exploring data.
|
||||
* **Default Retention Policy**: Enter the name of the default [retention policy](/influxdb/latest/concepts/glossary/#retention-policy-rp). If none i s provided, it assumes `autogen`.
|
||||
* **Default Retention Policy**: Enter the name of the default [retention policy](/{{< latest "influxdb" "v1" >}}/concepts/glossary/#retention-policy-rp). If none i s provided, it assumes `autogen`.
|
||||
* **Make this the default connection**: When this option is selected, this InfluxDB connection will be used when Chronograf is launched.
|
||||
|
||||
4. Click **Add Connection**
|
||||
* If the connection is valid, the Dashboards window appears, allowing you to import dashboard templates you can use to display and analyze your data. For details, see [Creating dashboards](/chronograf/latest/guides/create-a-dashboard).
|
||||
* If the connection is valid, the Dashboards window appears, allowing you to import dashboard templates you can use to display and analyze your data. For details, see [Creating dashboards](/chronograf/v1.7/guides/create-a-dashboard).
|
||||
* If the connection cannot be created, the following error message appears:
|
||||
"Unable to create source: Error contacting source."
|
||||
If this occurs, ensure all connection credentials are correct and that the InfluxDB instance is running and accessible.
|
||||
|
@ -85,6 +85,7 @@ An `.src` files contains the details for a single InfluxDB connection.
|
|||
Create a new file named `example.src` (the filename is arbitrary) and place it at Chronograf's `resource-path`.
|
||||
All `.src` files should contain the following:
|
||||
|
||||
{{< keep-url >}}
|
||||
```json
|
||||
{
|
||||
"id": "10000",
|
||||
|
@ -109,11 +110,11 @@ Any string you want to use as the display name of the source.
|
|||
|
||||
#### `username`
|
||||
Username used to access the InfluxDB server or cluster.
|
||||
*Only required if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
|
||||
#### `password`
|
||||
Password used to access the InfluxDB server or cluster.
|
||||
*Only required if [authorization is enabled](/influxdb/latest/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "influxdb" "v1" >}}/administration/authentication_and_authorization/) on the InfluxDB instance to which you're connecting.*
|
||||
|
||||
#### `url`
|
||||
URL of the InfluxDB server or cluster.
|
||||
|
@ -166,7 +167,7 @@ To use Kapacitor in Chronograf, create Kapacitor connections and configure alert
|
|||
To create a Kapacitor connection using the Chronograf UI:
|
||||
|
||||
1. Open Chronograf and click **Configuration** (wrench icon) in the navigation menu.
|
||||
2. Next to an existing [InfluxDB connection](#managing-influxdb-connections-using-the-chronograf-ui), click **Add Kapacitor Connection** if there are no existing Kapacitor connections or select **Add Kapacitor Connection** in the **Kapacitor Connection** dropdown list.
|
||||
2. Next to an existing [InfluxDB connection](#manage-influxdb-connections-using-the-chronograf-ui), click **Add Kapacitor Connection** if there are no existing Kapacitor connections or select **Add Kapacitor Connection** in the **Kapacitor Connection** dropdown list.
|
||||
![Add a new Kapacitor connection in Chronograf](/img/chronograf/1-6-connection-kapacitor.png)
|
||||
|
||||
3. In the **Connection Details** section, enter values for the following fields:
|
||||
|
@ -176,9 +177,9 @@ To create a Kapacitor connection using the Chronograf UI:
|
|||
* **Kapacitor URL**: Enter the hostname or IP address of the Kapacitor instance and the port. The field is prefilled with `http://localhost:9092`.
|
||||
* **Name**: Enter the name for this connection.
|
||||
* **Username**: Enter the username that will be shared for this connection.
|
||||
*Only required if [authorization is enabled](/kapacitor/latest/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "kapacitor" >}}/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
* **Password**: Enter the password.
|
||||
*Only required if [authorization is enabled](/kapacitor/latest/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
*Only required if [authorization is enabled](/{{< latest "kapacitor" >}}/administration/security/#kapacitor-authentication-and-authorization) on the Kapacitor instance or cluster to which you're connecting.*
|
||||
|
||||
4. Click **Continue**. If the connection is valid, the message "Kapacitor Created! Configuring endpoints is optional." appears. To configure alert endpoints, see [Configuring alert endpoints](/chronograf/v1.7/guides/configuring-alert-endpoints/).
|
||||
|
||||
|
|
|
@ -31,7 +31,7 @@ menu:
|
|||
|
||||
## Managing Chronograf users and roles
|
||||
|
||||
> ***Note:*** Support for organizations and user roles is available in Chronograf 1.4 or later. First, OAuth 2.0 authentication must be configured (if it is, you'll see the Chronograf Admin tab on the Admin menu). For more information, see [Managing security] (https://docs.influxdata.com/chronograf/v1.7/administration/managing-security/).
|
||||
> ***Note:*** Support for organizations and user roles is available in Chronograf 1.4 or later. First, OAuth 2.0 authentication must be configured (if it is, you'll see the Chronograf Admin tab on the Admin menu). For more information, see [Managing security](/chronograf/v1.7/administration/managing-security/).
|
||||
|
||||
Chronograf includes four organization-bound user roles and one cross-organization SuperAdmin status. In an organization, admins (with the `admin` role) or users with SuperAdmin status can create, update, and assign roles to a user or remove a role assignment.
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue