mirror of
https://github.com/grafana/grafana.git
synced 2025-01-09 23:53:25 -06:00
Docs: Flux support in influxdb data source in 7.1 (#25551)
Co-authored-by: Ryan McKinley <ryantxu@gmail.com> Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
This commit is contained in:
parent
e63028e8c6
commit
d28b62740b
@ -1,7 +1,7 @@
|
||||
+++
|
||||
title = "Using InfluxDB in Grafana"
|
||||
description = "Guide for using InfluxDB in Grafana"
|
||||
keywords = ["grafana", "influxdb", "guide"]
|
||||
keywords = ["grafana", "influxdb", "guide", "flux"]
|
||||
type = "docs"
|
||||
aliases = ["/docs/grafana/latest/datasources/influxdb"]
|
||||
[menu.docs]
|
||||
@ -20,14 +20,18 @@ Grafana ships with a feature-rich data source plugin for InfluxDB. The plugin in
|
||||
2. In the side menu under the `Dashboards` link you should find a link named `Data Sources`.
|
||||
3. Click the `+ Add data source` button in the top header.
|
||||
4. Select *InfluxDB* from the *Type* dropdown.
|
||||
5. Select *InfluxQL* or *Flux* from the `Query Language` list.
|
||||
|
||||
> NOTE: If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
|
||||
> **Note:** If you're not seeing the `Data Sources` link in your side menu it means that your current user does not have the `Admin` role for the current organization.
|
||||
|
||||
|
||||
### InfluxQL (classic InfluxDB query)
|
||||
|
||||
Name | Description
|
||||
------------ | -------------
|
||||
*Name* | The data source name. This is how you refer to the data source in panels and queries.
|
||||
*Default* | Default data source means that it will be pre-selected for new panels.
|
||||
*Url* | The HTTP protocol, IP address and port of your InfluxDB API (InfluxDB API port is by default 8086)
|
||||
*URL* | The HTTP protocol, IP address and port of your InfluxDB API (InfluxDB API port is by default 8086)
|
||||
*Access* | Server (default) = URL needs to be accessible from the Grafana backend/server, Browser = URL needs to be accessible from the browser.
|
||||
*Database* | Name of your InfluxDB database
|
||||
*User* | Name of your database user
|
||||
@ -117,6 +121,61 @@ You can switch to raw query mode by clicking hamburger icon and then `Switch edi
|
||||
You can remove the group by time by clicking on the `time` part and then the `x` icon. You can
|
||||
change the option `Format As` to `Table` if you want to show raw data in the `Table` panel.
|
||||
|
||||
## Flux support
|
||||
|
||||
> Starting in v7.1, Grafana can execute Flux queries.
|
||||
|
||||
The client supports Flux running on InfluxDB 1.8+. See [1.8 compatibility](https://github.com/influxdata/influxdb-client-go/#influxdb-18-api-compatibility) for more information and connection details.
|
||||
|
||||
|
||||
Name | Description
|
||||
------------ | -------------
|
||||
*URL* | The HTTP protocol, IP address and port of your InfluxDB API (InfluxDB 2.0 API port is by default 9999)
|
||||
*Organization* | The [Influx organization](https://v2.docs.influxdata.com/v2.0/organizations/) that will be used for Flux queries. This is also used to for the `v.organization` query macro
|
||||
*Token* | The authentication token used for Flux queries. With Influx 2.0, use the [influx authentication token to function](https://v2.docs.influxdata.com/v2.0/security/tokens/create-token/). For influx 1.8, the token is `username:password`
|
||||
*Default Bucket* | The [Influx bucket](https://v2.docs.influxdata.com/v2.0/organizations/buckets/) that will be used for the `v.defaultBucket` macro in Flux queries
|
||||
|
||||
You can use the [Flux query and scripting language](https://www.influxdata.com/products/flux/). Grafana's Flux query editor is a text editor for raw Flux queries with Macro support.
|
||||
|
||||
|
||||
### Supported macros
|
||||
|
||||
The macros support copying and pasting from [Chronograph](https://www.influxdata.com/time-series-platform/chronograf/).
|
||||
|
||||
Macro example | Description
|
||||
------------ | -------------
|
||||
*`v.timeRangeStart`* | Will be replaced by the start of the currently active time selection. For example, *2020-06-11T13:31:00Z*
|
||||
*`v.timeRangeEnd`* | Will be replaced by the end of the currently active time selection. For example, *2020-06-11T14:31:00Z*
|
||||
*`v.windowPeriod`* | Will be replaced with an interval string compatible with Flux that corresponds to Grafana's calculated interval based on the time range of the active time selection. For example, *5s*
|
||||
*`v.defaultBucket`* | Will be replaced with the data source configuration's "Default Bucket" setting
|
||||
*`v.organization`* | Will be replaced with the data source configuration's "Organization" setting
|
||||
|
||||
For example, the following query will be interpolated as the query that follows it, with interval and time period values changing according to active time selection\):
|
||||
|
||||
Grafana Flux query:
|
||||
|
||||
```flux
|
||||
from(bucket: v.defaultBucket)
|
||||
|> range(start: v.timeRangeStart, stop: v.timeRangeStop)
|
||||
|> filter(fn: (r) => r["_measurement"] == "cpu" or r["_measurement"] == "swap")
|
||||
|> filter(fn: (r) => r["_field"] == "usage_system" or r["_field"] == "free")
|
||||
|> aggregateWindow(every: v.windowPeriod, fn: mean)
|
||||
|> yield(name: "mean")
|
||||
```
|
||||
|
||||
Interpolated query send to Influx:
|
||||
|
||||
```flux
|
||||
from(bucket: "grafana")
|
||||
|> range(start: 2020-06-11T13:59:07Z, stop: 2020-06-11T14:59:07Z)
|
||||
|> filter(fn: (r) => r["_measurement"] == "cpu" or r["_measurement"] == "swap")
|
||||
|> filter(fn: (r) => r["_field"] == "usage_system" or r["_field"] == "free")
|
||||
|> aggregateWindow(every: 2s, fn: mean)
|
||||
|> yield(name: "mean")
|
||||
```
|
||||
|
||||
You can view the interpolated version of a query with the Query Inspector.
|
||||
|
||||
## Querying Logs (BETA)
|
||||
|
||||
> Only available in Grafana v6.3+.
|
||||
|
Loading…
Reference in New Issue
Block a user