Merge remote-tracking branch 'origin/master' into zoltan/span-marker-fix

This commit is contained in:
Zoltán Bedi
2021-02-05 13:36:11 +01:00
345 changed files with 22054 additions and 3917 deletions
+179 -179
View File
File diff suppressed because it is too large Load Diff
+1
View File
@@ -15,6 +15,7 @@ awsconfig
.yarnrc
.yarn/
vendor/
/docs/menu.yaml
# Enterprise emails
/emails/templates/enterprise_*
+41
View File
@@ -1,4 +1,44 @@
<!-- 7.4.0 START -->
# 7.4.0 (2021-02-04)
### Features and enhancements
* **CDN**: Adds support for serving assets over a CDN. [#30691](https://github.com/grafana/grafana/pull/30691), [@torkelo](https://github.com/torkelo)
* **DashboardLinks**: Support variable expression in to tooltip - Issue #30409. [#30569](https://github.com/grafana/grafana/pull/30569), [@huynhsamha](https://github.com/huynhsamha)
* **Explore**: Set Explore's GraphNG to be connected. [#30707](https://github.com/grafana/grafana/pull/30707), [@ivanahuckova](https://github.com/ivanahuckova)
* **InfluxDB**: Add http configuration when selecting InfluxDB v2 flavor. [#30827](https://github.com/grafana/grafana/pull/30827), [@aocenas](https://github.com/aocenas)
* **InfluxDB**: Show all datapoints for dynamically windowed flux query. [#30688](https://github.com/grafana/grafana/pull/30688), [@davkal](https://github.com/davkal)
* **Loki**: Improve live tailing errors. [#30517](https://github.com/grafana/grafana/pull/30517), [@ivanahuckova](https://github.com/ivanahuckova)
### Bug fixes
* **Admin**: Fixes so form values are filled in from backend. [#30544](https://github.com/grafana/grafana/pull/30544), [@hugohaggmark](https://github.com/hugohaggmark)
* **Admin**: Fixes so whole org drop down is visible when adding users to org. [#30481](https://github.com/grafana/grafana/pull/30481), [@hugohaggmark](https://github.com/hugohaggmark)
* **Alerting**: Hides threshold handle for percentual thresholds. [#30431](https://github.com/grafana/grafana/pull/30431), [@hugohaggmark](https://github.com/hugohaggmark)
* **CloudWatch**: Prevent field config from being overwritten. [#30437](https://github.com/grafana/grafana/pull/30437), [@sunker](https://github.com/sunker)
* **Decimals**: Big Improvements to auto decimals and fixes to auto decimals bug found in 7.4-beta1. [#30519](https://github.com/grafana/grafana/pull/30519), [@torkelo](https://github.com/torkelo)
* **Explore**: Fix jumpy live tailing. [#30650](https://github.com/grafana/grafana/pull/30650), [@ivanahuckova](https://github.com/ivanahuckova)
* **Explore**: Fix loading visualisation on the top of the new time series panel. [#30553](https://github.com/grafana/grafana/pull/30553), [@ivanahuckova](https://github.com/ivanahuckova)
* **Footer**: Fixes layout issue in footer. [#30443](https://github.com/grafana/grafana/pull/30443), [@torkelo](https://github.com/torkelo)
* **Graph**: Fixes so only users with correct permissions can add annotations. [#30419](https://github.com/grafana/grafana/pull/30419), [@hugohaggmark](https://github.com/hugohaggmark)
* **Mobile**: Fixes issue scrolling on mobile in chrome. [#30746](https://github.com/grafana/grafana/pull/30746), [@torkelo](https://github.com/torkelo)
* **PanelEdit**: Trigger refresh when changing data source. [#30744](https://github.com/grafana/grafana/pull/30744), [@torkelo](https://github.com/torkelo)
* **Panels**: Fixes so panels are refreshed when scrolling past them fast. [#30784](https://github.com/grafana/grafana/pull/30784), [@hugohaggmark](https://github.com/hugohaggmark)
* **Prometheus**: Fix show query instead of Value if no __name__ and metric. [#30511](https://github.com/grafana/grafana/pull/30511), [@zoltanbedi](https://github.com/zoltanbedi)
* **TimeSeriesPanel**: Fixes default value for Gradient mode. [#30484](https://github.com/grafana/grafana/pull/30484), [@torkelo](https://github.com/torkelo)
* **Variables**: Clears drop down state when leaving dashboard. [#30810](https://github.com/grafana/grafana/pull/30810), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes display value when using capture groups in regex. [#30636](https://github.com/grafana/grafana/pull/30636), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes so queries work for numbers values too. [#30602](https://github.com/grafana/grafana/pull/30602), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes so text format will show All instead of custom all value. [#30730](https://github.com/grafana/grafana/pull/30730), [@hugohaggmark](https://github.com/hugohaggmark)
### Plugin development fixes & changes
* **Plugins**: Fix failing plugin builds because of wrong internal import. [#30439](https://github.com/grafana/grafana/pull/30439), [@aocenas](https://github.com/aocenas)
<!-- 7.4.0 END -->
<!-- 7.4.0-beta1 START -->
# 7.4.0-beta1 (2021-01-20)
@@ -128,6 +168,7 @@ This option to group query variable values into groups by tags has been an exper
### Plugin development fixes & changes
* **AngularPlugins**: Angular controller events emitter is now a separate emitter and not the same as PanelModel events emitter. [#30379](https://github.com/grafana/grafana/pull/30379), [@torkelo](https://github.com/torkelo)
* **FieldConfig API**: Add ability to hide field option or disable it from the overrides. [#29879](https://github.com/grafana/grafana/pull/29879), [@dprokop](https://github.com/dprokop)
* **Select**: Changes default menu placement for Select from auto to bottom. [#29837](https://github.com/grafana/grafana/pull/29837), [@hugohaggmark](https://github.com/hugohaggmark)
* **Collapse**: Allow component children to use height: 100% styling. [#29776](https://github.com/grafana/grafana/pull/29776), [@aocenas](https://github.com/aocenas)
+3
View File
@@ -66,6 +66,9 @@ cert_key =
# Unix socket path
socket = /tmp/grafana.sock
# CDN Url
cdn_url =
#################################### Database ############################
[database]
# You can configure the database connection by specifying type, host, name, user and password
+3
View File
@@ -67,6 +67,9 @@
# Unix socket path
;socket =
# CDN Url
;cdn_url =
#################################### Database ####################################
[database]
# You can configure the database connection by specifying type, host, name, user and password
+6 -1
View File
@@ -25,6 +25,10 @@ brew install node@14
npm install -g yarn
```
### Windows
If you are running Grafana on Windows 10, we recommend installing the Windows Subsystem for Linux (WSL). For installation instructions, refer to the [Microsoft WSL Installation Guide](https://docs.microsoft.com/en-us/windows/wsl/install-win10).
## Download Grafana
We recommend using the Git command-line interface to download the source code for the Grafana project:
@@ -79,7 +83,7 @@ When you log in for the first time, Grafana asks you to change your password.
The Grafana backend includes SQLite which requires GCC to compile. So in order to compile Grafana on Windows you need to install GCC. We recommend [TDM-GCC](http://tdm-gcc.tdragon.net/download). Eventually, if you use [Scoop](https://scoop.sh), you can install GCC through that.
You can simply build the back-end as follows: `go run build.go build`. The Grafana binaries will be in bin\\windows-amd64.
Alternately, if you wish to use the `make` command, install [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm) and use it in a Unix shell (f.ex. Git Bash).
Alternately, if you wish to use the `make` command, install [Make for Windows](http://gnuwin32.sourceforge.net/packages/make.htm) and use it in a Unix shell (f.ex. Git Bash).
## Test Grafana
@@ -102,6 +106,7 @@ go test -v ./pkg/...
```
#### On Windows
Running the backend tests on Windows currently needs some tweaking, so use the build.go script:
```
@@ -27,14 +27,14 @@
"overrides": []
},
"gridPos": {
"h": 16,
"h": 18,
"w": 24,
"x": 0,
"y": 0
},
"id": 11,
"options": {
"content": "## Global variables\n\n* `__dashboard` = `${__dashboard}`\n* `__dashboard.name` = `${__dashboard.name}`\n* `__dashboard.uid` = `${__dashboard.uid}`\n* `__org.name` = `${__org.name}`\n* `__org.id` = `${__org.id}`\n* `__user.id` = `${__user.id}`\n* `__user.login` = `${__user.login}`\n* `__user.email` = `${__user.email}`\n \n## Formats\n\n* `Server:raw` = `${Server:raw}`\n* `Server:regex` = `${Server:regex}`\n* `Server:lucene` = `${Server:lucene}`\n* `Server:glob` = `${Server:glob}`\n* `Server:pipe` = `${Server:pipe}`\n* `Server:distributed` = `${Server:distributed}`\n* `Server:csv` = `${Server:csv}`\n* `Server:html` = `${Server:html}`\n* `Server:json` = `${Server:json}`\n* `Server:percentencode` = `${Server:percentencode}`\n* `Server:singlequote` = `${Server:singlequote}`\n* `Server:doublequote` = `${Server:doublequote}`\n* `Server:sqlstring` = `${Server:sqlstring}`\n* `Server:date` = `${Server:date}`\n* `Server:text` = `${Server:text}`\n\n",
"content": "## Global variables\n\n* `__dashboard` = `${__dashboard}`\n* `__dashboard.name` = `${__dashboard.name}`\n* `__dashboard.uid` = `${__dashboard.uid}`\n* `__org.name` = `${__org.name}`\n* `__org.id` = `${__org.id}`\n* `__user.id` = `${__user.id}`\n* `__user.login` = `${__user.login}`\n* `__user.email` = `${__user.email}`\n \n## Formats\n\n* `Server:raw` = `${Server:raw}`\n* `Server:regex` = `${Server:regex}`\n* `Server:lucene` = `${Server:lucene}`\n* `Server:glob` = `${Server:glob}`\n* `Server:pipe` = `${Server:pipe}`\n* `Server:distributed` = `${Server:distributed}`\n* `Server:csv` = `${Server:csv}`\n* `Server:html` = `${Server:html}`\n* `Server:json` = `${Server:json}`\n* `Server:percentencode` = `${Server:percentencode}`\n* `Server:singlequote` = `${Server:singlequote}`\n* `Server:doublequote` = `${Server:doublequote}`\n* `Server:sqlstring` = `${Server:sqlstring}`\n* `Server:date` = `${Server:date}`\n* `Server:text` = `${Server:text}`\n* `Server:queryparam` = `${Server:queryparam}`\n\n",
"mode": "markdown"
},
"pluginVersion": "7.1.0",
@@ -0,0 +1,40 @@
influxdb:
image: quay.io/influxdb/influxdb:v2.0.3
container_name: influxdb2
ports:
- '8086:8086'
environment:
INFLUXDB_REPORTING_DISABLED: 'true'
volumes:
- ./docker/blocks/influxdb2/influxdb.conf:/etc/influxdb/influxdb.conf
# Use the influx cli to set up an influxdb instance.
influxdb_cli:
links:
- influxdb
image: quay.io/influxdb/influxdb:v2.0.3
# Use these same configurations parameters in your telegraf configuration, mytelegraf.conf.
entrypoint: influx setup --bucket mybucket -t mytoken -o myorg --username=grafana --password=grafana12345 --host=http://influxdb:8086 -f
# Wait for the influxd service in the influxdb container has fully bootstrapped before trying to setup an influxdb instance with the influxdb_cli service.
restart: on-failure:10
depends_on:
- influxdb
fake-influxdb-data:
image: grafana/fake-data-gen
links:
- influxdb
environment:
FD_DATASOURCE: influxdb
FD_PORT: 8086
telegraf:
image: telegraf
links:
- influxdb
depends_on:
- influxdb_cli
volumes:
- ./docker/blocks/influxdb2/telegraf.conf:/etc/telegraf/telegraf.conf:ro
- /var/log:/var/log
- ../data/log:/var/log/grafana
@@ -0,0 +1,93 @@
reporting-disabled = false
[meta]
# Where the metadata/raft database is stored
dir = "/var/lib/influxdb/meta"
retention-autocreate = true
# If log messages are printed for the meta service
logging-enabled = true
pprof-enabled = false
# The default duration for leases.
lease-duration = "1m0s"
[data]
# Controls if this node holds time series data shards in the cluster
enabled = true
dir = "/var/lib/influxdb/data"
# These are the WAL settings for the storage engine >= 0.9.3
wal-dir = "/var/lib/influxdb/wal"
wal-logging-enabled = true
[coordinator]
write-timeout = "10s"
max-concurrent-queries = 0
query-timeout = "0"
log-queries-after = "0"
max-select-point = 0
max-select-series = 0
max-select-buckets = 0
[retention]
enabled = true
check-interval = "30m"
[shard-precreation]
enabled = true
check-interval = "10m"
advance-period = "30m"
[monitor]
store-enabled = true # Whether to record statistics internally.
store-database = "_internal" # The destination database for recorded statistics
store-interval = "10s" # The interval at which to record statistics
[admin]
enabled = true
bind-address = ":8083"
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
[http]
enabled = true
bind-address = ":8086"
auth-enabled = true
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
### Use a separate private key location.
# https-private-key = ""
max-row-limit = 10000
realm = "InfluxDB"
unix-socket-enabled = false # enable http service over unix domain socket
# bind-socket = "/var/run/influxdb.sock"
flux-enabled = true
[subscriber]
enabled = true
[[graphite]]
enabled = false
[[collectd]]
enabled = false
[[opentsdb]]
enabled = false
[[udp]]
enabled = false
[continuous_queries]
log-enabled = true
enabled = true
# run-interval = "1s" # interval for how often continuous queries will be checked if they need to run
File diff suppressed because it is too large Load Diff
+6 -6
View File
@@ -3,22 +3,22 @@
IMAGE = grafana/grafana-docs-dev:latest
CONTENT_PATH = /hugo/content/docs/grafana/latest
LOCAL_STATIC_PATH = ../../website/static
PORT = 3002:3002
PORT = 3002:3002
docs:
docker pull $(IMAGE)
docker run -v $(shell pwd)/sources:$(CONTENT_PATH) -p $(PORT) --rm -it $(IMAGE)
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE)
docs-no-pull:
docker run -v $(shell pwd)/sources:$(CONTENT_PATH) -p $(PORT) --rm -it $(IMAGE)
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE)
docs-test:
docker pull $(IMAGE)
docker run -v $(shell pwd)/sources:$(CONTENT_PATH) --rm -it $(IMAGE) /bin/bash -c 'make prod'
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z --rm -it $(IMAGE) /bin/bash -c 'make prod'
# expects that you have grafana/website checked out in same path as the grafana repo.
docs-local-static:
docker pull $(IMAGE)
if [ ! -d "$(LOCAL_STATIC_PATH)" ]; then echo "local path (website project) $(LOCAL_STATIC_PATH) not found"]; exit 1; fi
docker run -v $(shell pwd)/sources:$(CONTENT_PATH) \
-v $(shell pwd)/$(LOCAL_STATIC_PATH):/hugo/static -p $(PORT) --rm -it $(IMAGE)
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z \
-v $(shell pwd)/$(LOCAL_STATIC_PATH):/hugo/static:Z -p $(PORT) --rm -it $(IMAGE)
-2
View File
@@ -8,9 +8,7 @@ weight = 40
This section includes information for Grafana administrators, team administrators, and users performing administrative tasks:
- [Change password]({{< relref "change-your-password" >}})
- [Change Preferences]({{< relref "preferences" >}})
- [Configuration]({{< relref "configuration" >}})
- [Configure Docker image]({{< relref "configure-docker" >}})
- [Security]({{< relref "security" >}})
+1 -1
View File
@@ -2,7 +2,7 @@
title = "Grafana CLI"
description = "Guide to using grafana-cli"
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
weight = 8
weight = 400
+++
# Grafana CLI
+13 -4
View File
@@ -3,7 +3,7 @@ title = "Configuration"
description = "Configuration documentation"
keywords = ["grafana", "configuration", "documentation"]
aliases = ["/docs/grafana/latest/installation/configuration/"]
weight = 300
weight = 150
+++
# Configuration
@@ -12,7 +12,7 @@ Grafana has a number of configuration options that you can specify in a `.ini` c
> **Note:** You must restart Grafana for any configuration changes to take effect.
To see all settings currently applied to the Grafana server, refer to [View server settings]({{< relref "view-server-settings.md" >}}).
To see all settings currently applied to the Grafana server, refer to [View server settings]({{< relref "view-server/view-server-settings.md" >}}).
## Config file locations
@@ -259,6 +259,15 @@ Path to the certificate key file (if `protocol` is set to `https` or `h2`).
Path where the socket should be created when `protocol=socket`. Make sure that Grafana has appropriate permissions before you change this setting.
### cdn_url
> **Note**: Available in Grafana v7.4 and later versions.
Specify a full HTTP URL address to the root of your Grafana CDN assets. Grafana will add edition and version paths.
For example, given a cdn url like `https://cdn.myserver.com` grafana will try to load a javascript file from
`http://cdn.myserver.com/grafana-oss/v7.4.0/public/build/app.<hash>.js`.
<hr />
## [database]
@@ -1085,7 +1094,7 @@ Configures max number of API annotations that Grafana keeps. Default value is 0,
## [explore]
For more information about this feature, refer to [Explore]({{< relref "../explore/index.md" >}}).
For more information about this feature, refer to [Explore]({{< relref "../explore/_index.md" >}}).
### enabled
@@ -1093,7 +1102,7 @@ Enable or disable the Explore section. Default is `enabled`.
## [metrics]
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "metrics.md" >}}).
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "view-server/internal-metrics.md" >}}).
### enabled
@@ -3,7 +3,7 @@ title = "Configure Grafana Docker image"
description = "Guide for configuring the Grafana Docker image"
keywords = ["grafana", "configuration", "documentation", "docker"]
aliases = ["/docs/grafana/latest/installation/configure-docker/"]
weight = 400
weight = 200
+++
# Configure a Grafana Docker image
@@ -2,7 +2,7 @@
title = "Image rendering"
description = ""
keywords = ["grafana", "image", "rendering", "plugin"]
weight = 8
weight = 300
+++
# Image rendering
@@ -2,7 +2,7 @@
title = "Jaeger instrumentation"
description = "Jaeger traces emitted and propagation by Grafana"
keywords = ["grafana", "jaeger", "tracing"]
weight = 9
weight = 900
+++
# Jaeger instrumentation
+12 -8
View File
@@ -3,7 +3,7 @@ title = "Provisioning"
description = ""
keywords = ["grafana", "provisioning"]
aliases = ["/docs/grafana/latest/installation/provisioning"]
weight = 8
weight = 800
+++
# Provisioning Grafana
@@ -421,13 +421,17 @@ The following sections detail the supported settings and secure settings for eac
#### Alert notification `pushover`
| Name | Secure setting |
| -------- | -------------- |
| apiToken | yes |
| userKey | yes |
| device | |
| retry | |
| expire | |
| Name | Secure setting |
| -------- | -------------- |
| apiToken | yes |
| userKey | yes |
| device | |
| priority | |
| okPriority | |
| retry | |
| expire | |
| sound | |
| okSound | |
#### Alert notification `slack`
@@ -1,21 +0,0 @@
+++
title = "View server settings"
description = "How to view server settings in the Grafana UI"
keywords = ["grafana", "configuration", "server", "settings"]
weight = 350
+++
# View Grafana server settings
If you are a Grafana server admin, then you can use the Settings tab to view the settings applied to your Grafana server by the [Configuration]({{< relref "configuration.md#config-file-locations" >}}) file and any environmental variables.
> **Note:** Only Grafana server admins can access the **Server Admin** menu. For more information about about admin permissions, refer to [Grafana server admin]({{< relref "../permissions/_index.md" >}}).
## View server settings
1. Log in to your Grafana server with an account that has the Grafana Admin flag set.
1. Hover your cursor over the **Server Admin** (shield) icon in the side menu and then click the **Settings** tab.
## Available settings
For a full list of server settings, refer to [Configuration]({{< relref "configuration.md" >}}).
@@ -0,0 +1,8 @@
+++
title = "View server"
weight = 100
+++
# View server information
This setting contains information about tools that Grafana Server Admins can use to learn more about their Grafana servers.
@@ -2,14 +2,15 @@
title = "Internal Grafana metrics"
description = "Internal metrics exposed by Grafana"
keywords = ["grafana", "metrics", "internal metrics"]
weight = 8
aliases = ["/docs/grafana/latest/admin/metrics/"]
weight = 200
+++
# Internal Grafana metrics
Grafana collects some metrics about itself internally. Grafana supports pushing metrics to Graphite or exposing them to be scraped by Prometheus.
For more information about configuration options related to Grafana metrics, refer to [metrics]({{< relref "../administration/configuration/#metrics" >}}) and [metrics.graphite]({{< relref "../administration/configuration/#metrics-graphite" >}}) in [Configuration]({{< relref "../administration/configuration.md" >}}).
For more information about configuration options related to Grafana metrics, refer to [metrics]({{< relref "../../administration/configuration/#metrics" >}}) and [metrics.graphite]({{< relref "../../administration/configuration/#metrics-graphite" >}}) in [Configuration]({{< relref "../../administration/configuration.md" >}}).
## Available metrics
@@ -0,0 +1,22 @@
+++
title = "View server settings"
description = "How to view server settings in the Grafana UI"
keywords = ["grafana", "configuration", "server", "settings"]
aliases = ["/docs/grafana/latest/admin/view-server-settings/"]
weight = 300
+++
# View Grafana server settings
If you are a Grafana server administrator, use the Settings tab to view the settings that are applied to your Grafana server via the [Configuration]({{< relref "../configuration.md#config-file-locations" >}}) file and any environmental variables.
> **Note:** Only Grafana server administrators can access the **Server Admin** menu. For more information about about administrative permissions, refer to [Grafana server admin]({{< relref "../../permissions/_index.md" >}}).
## View server settings
1. Log in to your Grafana server with an account that has the Grafana Admin flag set.
1. Hover your cursor over the **Server Admin** (shield) icon in the side menu and then click the **Settings** tab.
## Available settings
For a full list of server settings, refer to [Configuration]({{< relref "../configuration.md" >}}).
@@ -1,14 +1,15 @@
+++
title = "View server stats"
keywords = ["grafana", "server", "statistics"]
weight = 1150
aliases = ["/docs/grafana/latest/admin/view-server-stats/"]
weight = 400
+++
# View Grafana server stats
If you are a Grafana server admin, then you can view useful statistics about your Grafana server in the Stats tab.
> **Note:** Only Grafana server admins can access the **Server Admin** menu. For more information about about admin permissions, refer to [Grafana server admin]({{< relref "../permissions/_index.md" >}}).
> **Note:** Only Grafana server administrators can access the **Server Admin** menu. For more information about about administrative permissions, refer to [Grafana server admin]({{< relref "../../permissions/_index.md" >}}).
## View server stats
+1 -2
View File
@@ -42,7 +42,7 @@ of core Grafana. Only some data sources are supported right now. They include `G
## Metrics from the alert engine
The alert engine publishes some internal metrics about itself. You can read more about how Grafana publishes [internal metrics]({{< relref "../administration/metrics/" >}}).
The alert engine publishes some internal metrics about itself. You can read more about how Grafana publishes [internal metrics]({{< relref "../administration/view-server/internal-metrics.md" >}}).
Description | Type | Metric name
---------- | ----------- | ----------
@@ -50,4 +50,3 @@ Total number of alerts | counter | `alerting.active_alerts`
Alert execution result | counter | `alerting.result`
Notifications sent counter | counter | `alerting.notifications_sent`
Alert execution timer | timer | `alerting.execution_time`
@@ -20,4 +20,4 @@ This topic explains how you can use alert query labels in alert notifications.
1. Refer to the alert query labels in the alert rule name and/or alert notification message field by using the `${Label}` syntax.
1. Click **Save** in the upper right corner to save the alert rule and the dashboard.
![Alerting notification template](/img/docs/alerting/notification_template.png)
![Alerting notification template](/img/docs/alerting/alert-notification-template-7-4.png)
+19 -1
View File
@@ -62,7 +62,7 @@ Microsoft Teams | `teams` | yes, external only | no
OpsGenie | `opsgenie` | yes, external only | yes
[Pagerduty](#pagerduty) | `pagerduty` | yes, external only | yes
Prometheus Alertmanager | `prometheus-alertmanager` | yes, external only | yes
Pushover | `pushover` | yes | no
[Pushover](#pushover) | `pushover` | yes | no
Sensu | `sensu` | yes, external only | no
[Sensu Go](#sensu-go) | `sensugo` | yes, external only | no
[Slack](#slack) | `slack` | yes | no
@@ -130,6 +130,24 @@ Move any existing rules using `custom_details.myMetric` to `custom_details.queri
This behavior will become the default in a future version of Grafana.
> Using `dedup_key` tag will override Grafana generated `dedup_key` with a custom key.
### Pushover
To set up Pushover, you must provide a user key and an API token. Refer to [What is Pushover and how do I use it](https://support.pushover.net/i7-what-is-pushover-and-how-do-i-use-it) for instructions on how to generate them.
Setting | Description
---------- | -----------
API Token | Application token
User key(s) | A comma-separated list of user keys
Device(s) | A comma-separated list of devices
Priority | The priority alerting nottifications are sent
OK priority | The priority OK notifications are sent; if not set, then OK notifications are sent with the priority set for alerting notifications
Retry | How often (in seconds) the Pushover servers send the same notification to the user. (minimum 30 seconds)
Expire | How many seconds your notification will continue to be retried for (maximum 86400 seconds)
Alerting sound | The sound for alerting notifications
OK sound | The sound for OK notifications
### Webhook
The webhook notification is a simple way to send information about a state change over HTTP to a custom endpoint.
+4
View File
@@ -75,6 +75,10 @@ Customize user login using `login_attribute_path` configuration option. Order of
You can customize the attribute name used to extract the ID token from the returned OAuth token with the `id_token_attribute_name` option.
You can set the user's display name with JMESPath using the `name_attribute_path` configuration option. It operates the same way as the `login_attribute_path` option.
> **Note:** `name_attribute_path` is available in Grafana 7.4+.
## Set up OAuth2 with Auth0
1. Create a new Client in Auth0
+1 -1
View File
@@ -198,7 +198,7 @@ specify a tag or wildcard (leave empty should also work)
## Get Grafana metrics into Graphite
Grafana exposes metrics for Graphite on the `/metrics` endpoint. For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../administration/metrics.md">}}).
Grafana exposes metrics for Graphite on the `/metrics` endpoint. For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../administration/view-server/internal-metrics.md">}}).
## Configure the data source with provisioning
+3 -3
View File
@@ -9,7 +9,7 @@ weight = 800
# Jaeger data source
Grafana ships with built-in support for Jaeger, which provides open source, end-to-end distributed tracing.
Just add it as a data source and you are ready to query your traces in [Explore]({{< relref "../explore/index.md" >}}).
Just add it as a data source and you are ready to query your traces in [Explore]({{< relref "../explore/_index.md" >}}).
## Add data source
@@ -28,7 +28,7 @@ To access Jaeger settings, click the **Configuration** (gear) icon, then click *
> **Note:** This feature is available in Grafana 7.4+.
This is a configuration for the [trace to logs feature]({{< relref "../explore/index.md#trace-to-logs" >}}). Select target data source (at this moment limited to Loki data sources) and select which tags will be used in the logs query.
This is a configuration for the [trace to logs feature]({{< relref "../explore/trace-integration" >}}). Select target data source (at this moment limited to Loki data sources) and select which tags will be used in the logs query.
- **Data source -** Target data source.
- **Tags -** The tags that will be used in the Loki query. Default is `'cluster', 'hostname', 'namespace', 'pod'`.
@@ -37,7 +37,7 @@ This is a configuration for the [trace to logs feature]({{< relref "../explore/i
## Query traces
You can query and display traces from Jaeger via [Explore]({{< relref "../explore/index.md" >}}).
You can query and display traces from Jaeger via [Explore]({{< relref "../explore/_index.md" >}}).
{{< docs-imagebox img="/img/docs/v70/jaeger-query-editor.png" class="docs-image--no-shadow" caption="Screenshot of the Jaeger query editor" >}}
+2 -3
View File
@@ -157,7 +157,7 @@ The step option is useful to limit the number of events returned from your query
Grafana exposes metrics for Prometheus on the `/metrics` endpoint. We also bundle a dashboard within Grafana so you can get started viewing your metrics faster. You can import the bundled dashboard by going to the data source edit page and click the dashboard tab. There you can find a dashboard for Grafana and one for Prometheus. Import and start viewing all the metrics!
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../administration/metrics.md">}}).
For detailed instructions, refer to [Internal Grafana metrics]({{< relref "../administration/view-server/internal-metrics.md">}}).
## Prometheus API
@@ -214,5 +214,4 @@ Exemplars are a way to associate higher cardinality metadata from a specific eve
{{< docs-imagebox img="/img/docs/v74/exemplars.png" class="docs-image--no-shadow" caption="Screenshot showing the detail window of an Exemplar" >}}
Configure Exemplars in the data source settings by adding external or internal links.
{{< docs-imagebox img="/img/docs/v74/exemplars-settings.png" class="docs-image--no-shadow" caption="Screenshot of the Exemplars configuration" >}}
{{< docs-imagebox img="/img/docs/v74/exemplars-setting.png" class="docs-image--no-shadow" caption="Screenshot of the Exemplars configuration" >}}
+3 -3
View File
@@ -8,7 +8,7 @@ weight = 1400
# Tempo data source
Grafana ships with built-in support for Tempo a high volume, minimal dependency trace storage, OSS tracing solution from Grafana Labs. Add it as a data source, and you are ready to query your traces in [Explore]({{< relref "../explore/index.md" >}}).
Grafana ships with built-in support for Tempo a high volume, minimal dependency trace storage, OSS tracing solution from Grafana Labs. Add it as a data source, and you are ready to query your traces in [Explore]({{< relref "../explore/_index.md" >}}).
## Add data source
@@ -27,7 +27,7 @@ To access Tempo settings, click the **Configuration** (gear) icon, then click **
> **Note:** This feature is available in Grafana 7.4+.
This is a configuration for the [trace to logs feature]({{< relref "../explore/index.md#trace-to-logs" >}}). Select target data source (at this moment limited to Loki data sources) and select which tags will be used in the logs query.
This is a configuration for the [trace to logs feature]({{< relref "../explore/trace-integration" >}}). Select target data source (at this moment limited to Loki data sources) and select which tags will be used in the logs query.
- **Data source -** Target data source.
- **Tags -** The tags that will be used in the Loki query. Default is `'cluster', 'hostname', 'namespace', 'pod'`.
@@ -36,7 +36,7 @@ This is a configuration for the [trace to logs feature]({{< relref "../explore/i
## Query traces
You can query and display traces from Tempo via [Explore]({{< relref "../explore/index.md" >}}).
You can query and display traces from Tempo via [Explore]({{< relref "../explore/_index.md" >}}).
To query a particular trace, insert its trace ID into the query text input.
{{< docs-imagebox img="/img/docs/v73/tempo-query-editor.png" class="docs-image--no-shadow" caption="Screenshot of the Tempo query editor" >}}
+1 -1
View File
@@ -28,7 +28,7 @@ To access Zipkin settings, click the **Configuration** (gear) icon, then click *
> **Note:** This feature is available in Grafana 7.4+.
This is a configuration for the [trace to logs feature]({{< relref "../explore/index.md#trace-to-logs" >}}). Select target data source (at this moment limited to Loki data sources) and select which tags will be used in the logs query.
This is a configuration for the [trace to logs feature]({{< relref "../explore/trace-integration" >}}). Select target data source (at this moment limited to Loki data sources) and select which tags will be used in the logs query.
- **Data source -** Target data source.
- **Tags -** The tags that will be used in the Loki query. Default is `'cluster', 'hostname', 'namespace', 'pod'`.
@@ -4,7 +4,7 @@ title = "Add support for Explore queries"
# Add support for Explore queries
This guide explains how to improve support for [Explore]({{< relref "../../explore/index.md" >}}) to an existing data source plugin.
This guide explains how to improve support for [Explore]({{< relref "../../explore/_index.md" >}}) to an existing data source plugin.
This guide assumes that you're already familiar with how to [Build a data source plugin]({{< relref "/tutorials/build-a-data-source-plugin.md" >}}).
@@ -41,7 +41,7 @@ Grafana's backend plugin system exposes a couple of different capabilities, or b
### Query data
The query data capability allows a backend plugin to handle data source queries that are submitted from a [dashboard]({{< relref "../../../dashboards/_index.md" >}}), [Explore]({{< relref "../../../explore/index.md" >}}) or [Grafana Alerting]({{< relref "../../../alerting" >}}). The response contains [data frames]({{< relref "../data-frames.md" >}}), which are used to visualize metrics, logs, and traces. The query data capability is required to implement for a backend data source plugin.
The query data capability allows a backend plugin to handle data source queries that are submitted from a [dashboard]({{< relref "../../../dashboards/_index.md" >}}), [Explore]({{< relref "../../../explore/_index.md" >}}) or [Grafana Alerting]({{< relref "../../../alerting" >}}). The response contains [data frames]({{< relref "../data-frames.md" >}}), which are used to visualize metrics, logs, and traces. The query data capability is required to implement for a backend data source plugin.
### Resources
@@ -46,7 +46,7 @@ frame.add({ time: 1589189388597, content: 'user registered' });
frame.add({ time: 1589189406480, content: 'user logged in' });
```
That's all you need to start returning log data from your data source. Go ahead and try it out in [Explore]({{< relref "../../explore/index.md" >}}) or by adding a [Logs panel]({{< relref "../../panels/visualizations/logs-panel.md" >}}).
That's all you need to start returning log data from your data source. Go ahead and try it out in [Explore]({{< relref "../../explore/_index.md" >}}) or by adding a [Logs panel]({{< relref "../../panels/visualizations/logs-panel.md" >}}).
Congratulations, you just wrote your first logs data source plugin! Next, let's look at a couple of features that can further improve the experience for the user.
@@ -75,7 +75,7 @@ frame.add({ time: 1589189406480, content: 'user logged in' });
You can add additional information about each log line by adding more data frame fields.
If a data frame has more than one text field, then Grafana assumes the first field in the data frame to be the actual log line. Any subsequent text fields are treated as [detected fields]({{< relref "../../explore/index.md#labels-and-detected-fields" >}}).
If a data frame has more than one text field, then Grafana assumes the first field in the data frame to be the actual log line. Any subsequent text fields are treated as [detected fields]({{< relref "../../explore/_index.md#labels-and-detected-fields" >}}).
While you can add any number of custom fields to your data frame, Grafana comes with a couple of dedicated fields: `levels` and `id`. Let's have a closer look at each one.
+2 -3
View File
@@ -80,7 +80,6 @@ GF_SERVER_ROOT_URL=https://grafana.blah.com/
## Step 4. Restart Grafana
To finalize the installation of Grafana Enterprise, restart Grafana to
enable all Grafana Enterprise features.
enable all Grafana Enterprise features. Refer to [restart Grafana]({{< relref "../installation/restart-grafana.md" >}})
topic for more information.
On Linux, when installed as a Systemd service you can restart Grafana
by running `sudo systemctl restart grafana-server.service`.
@@ -133,6 +133,22 @@ Maximum number of concurrent calls to the rendering service.
Scale factor for rendering images. Value `2` is enough for monitor resolutions, `4` would be better for printed material. Setting a higher value affects performance and memory.
### fonts_path
Path to the directory containing font files.
### font_regular
Name of the TrueType font file with regular style.
### font_bold
Name of the TrueType font file with bold style.
### font_italic
Name of the TrueType font file with italic style.
## [auditing]
[Auditing]({{< relref "auditing.md" >}}) allows you to track important changes to your Grafana instance. By default, audit logs are logged to file but the auditing feature also supports sending logs directly to Loki.
@@ -1,5 +1,5 @@
+++
title = "License Expiration"
title = "License expiration"
description = ""
keywords = ["grafana", "licensing"]
weight = 120
@@ -7,7 +7,7 @@ weight = 120
# License expiration
If your license has expired most of Grafana keeps working as normal. Some enterprise functionality stops or runs with reduced functionality and Grafana displays a banner informing the users that Grafana is running on an expired license. Your Grafana admin needs to upload a new license file to restore full functionality.
If your license has expired, most of Grafana keeps working as normal. Some enterprise functionality stops or runs with reduced functionality and Grafana displays a banner informing the users that Grafana is running on an expired license. Your Grafana admin needs to upload a new license file to restore full functionality.
> Replace your license as soon as possible. Running Grafana Enterprise with an expired license is unsupported and can lead to unexpected consequences.
+11 -1
View File
@@ -118,7 +118,9 @@ You can send reports programmatically with the [send report]({{< relref "../http
When generating reports, each panel renders separately before being collected in a PDF. The per panel rendering timeout and number of concurrently rendered panels can be configured.
To modify the panels' clarity you can set a scale factor for the rendered images. A higher scale factor is more legible but will increase the file size of the generated PDF.
To make a panel more legible, you can set a scale factor for the rendered images. However, a higher scale factor increases the file size of the generated PDF.
You can also specify custom fonts that support different Unicode scripts. The DejaVu font is the default used for PDF rendering.
These options are available in the [configuration]({{< relref "../administration/configuration.md">}}) file.
@@ -131,6 +133,14 @@ concurrent_render_limit = 4
# Set the scale factor for rendering images. 2 is enough for monitor resolutions
# 4 would be better for printed material. Setting a higher value affects performance and memory
image_scale_factor = 2
# Path to the directory containing font files
fonts_path =
# Name of the TrueType font file with regular style
font_regular = DejaVuSansCondensed.ttf
# Name of the TrueType font file with bold style
font_bold = DejaVuSansCondensed-Bold.ttf
# Name of the TrueType font file with italic style
font_italic = DejaVuSansCondensed-Oblique.ttf
```
## Report time range
+65
View File
@@ -0,0 +1,65 @@
+++
title = "Explore"
keywords = ["explore", "loki", "logs"]
aliases = ["/docs/grafana/latest/features/explore/"]
weight = 90
+++
# Explore
Grafana's dashboard UI is all about building dashboards for visualization. Explore strips away the dashboard and panel options so that you can focus on the query. It helps you iterate until you have a working query and then think about building a dashboard.
If you just want to explore your data and do not want to create a dashboard, then Explore makes this much easier. If your data source supports graph and table data, then Explore shows the results both as a graph and a table. This allows you to see trends in the data and more details at the same time. See also:
- [Query management in Explore]({{< relref "query-management.md" >}})
- [Logs integration in Explore]({{< relref "logs-integration.md" >}})
- [Trace integration in Explore]({{< relref "trace-integration.md" >}})
## Start exploring
In order to access Explore, you must have an editor or an administrator role. Refer to [Organization roles](https://grafana.com/docs/grafana/latest/permissions/organization_roles/) for more information on what each role has access to.
To access Explore:
1. Click on the Explore icon on the menu bar.
{{< docs-imagebox img="/img/docs/explore/access-explore-7-4.png" max-width= "650px" caption="Screenshot of the new Explore Icon" >}}
An empty Explore tab opens.
Alternately to start with an existing query in a panel, choose the Explore option from the Panel menu. This opens an Explore tab with the query from the panel and allows you to tweak or iterate in the query outside of your dashboard.
{{< docs-imagebox img="/img/docs/explore/panel_dropdown-7-4.png" class="docs-image--no-shadow" max-width= "650px" caption="Screenshot of the new Explore option in the panel menu" >}}
1. Choose your data source from the dropdown in the top left. [Prometheus](https://grafana.com/oss/prometheus/) has a custom Explore implementation, the other data sources use their standard query editor.
1. In the query field, write your query to explore your data. There are three buttons beside the query field, a clear button (X), an add query button (+) and the remove query button (-). Just like the normal query editor, you can add and remove multiple queries.
## Split and compare
The split view provides an easy way to compare graphs and tables side-by-side or to look at related data together on one page.
To open the split view:
1. Click the split button to duplicate the current query and split the page into two side-by-side queries.
It is possible to select another data source for the new query which for example, allows you to compare the same query for two different servers or to compare the staging environment to the production environment.
{{< docs-imagebox img="/img/docs/explore/explore_split-7-4.png" max-width= "950px" caption="Screenshot of Explore option in the panel menu" >}}
In split view, timepickers for both panels can be linked (if you change one, the other gets changed as well) by clicking on one of the time-sync buttons attached to the timepickers. Linking of timepickers helps with keeping the start and the end times of the split view queries in sync. It ensures that you’re looking at the same time interval in both split panels.
To close the newly created query, click on the Close Split button.
## Navigate between Explore and a dashboard
To help accelerate workflows that involve regularly switching from Explore to a dashboard and vice-versa, Grafana provides you with the ability to return to the origin dashboard after navigating to Explore from the panel's dropdown.
After you've navigated to Explore, you should notice a "Back" button in the Explore toolbar. Simply click it to return to the origin dashboard. To bring changes you make in Explore back to the dashboard, click the arrow next to the button to reveal a "Return to panel with changes" menu item.
{{< docs-imagebox img="/img/docs/explore/explore_return_dropdown-7-4.png" class="docs-image--no-shadow" max-width= "400px" caption="Screenshot of the expanded explore return dropdown" >}}
## Share shortened link
> **Note:** Available in Grafana 7.3 and later versions.
The Share shortened link capability allows you to create smaller and simpler URLs of the format /goto/:uid instead of using longer URLs with query parameters. To create a shortened link, click the **Share** option in Explore toolbar. Any shortened links that are never used will be automatically deleted after 7 days.
-338
View File
@@ -1,338 +0,0 @@
+++
title = "Explore"
keywords = ["explore", "loki", "logs"]
aliases = ["/docs/grafana/latest/features/explore/"]
weight = 90
+++
# Explore
Grafana's dashboard UI is all about building dashboards for visualization. Explore strips away all the dashboard and panel options so that you can focus on the query. Iterate until you have a working query and then think about building a dashboard.
> Explore is only available in Grafana 6.0 and above.
For infrastructure monitoring and incident response, you no longer need to switch to other tools to debug what went wrong. Explore allows you to dig deeper into your metrics and logs to find the cause. Grafana's new logging data source, [Loki](https://github.com/grafana/loki) is tightly integrated into Explore and allows you to correlate metrics and logs by viewing them side-by-side. This creates a new debugging workflow where you can:
1. Receive an alert
1. Drill down and examine metrics
1. Drill down again and search logs related to the metric and time interval (and in the future, distributed traces)
If you just want to explore your data and do not want to create a dashboard, then Explore makes this much easier. If your data source supports graph and table data, then Explore shows the results both as a graph and a table. This allows you to see trends in the data and more details at the same time.
## Start exploring
> **Note:** By default, users with the Viewer role cannot edit and do not have access to Explore. Refer to [Organization roles](https://grafana.com/docs/grafana/latest/permissions/organization_roles/) for more information about what each role has access to.
There is an Explore icon on the menu bar to the left. This opens an empty Explore tab.
{{< docs-imagebox img="/img/docs/v65/explore_menu.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore Icon" >}}
If you want to start with an existing query in a panel, choose the Explore option from the Panel menu. This opens an Explore tab with the query from the panel and allows you to tweak or iterate in the query outside of your dashboard.
{{< docs-imagebox img="/img/docs/v65/explore_panel_menu.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
Choose your data source from the dropdown in the top left. [Prometheus](https://grafana.com/oss/prometheus/) has a custom Explore implementation, the other data sources use their standard query editor.
The query field is where you can write your query and explore your data. There are three buttons beside the query field, a clear button (X), an add query button (+) and the remove query button (-). Just like the normal query editor, you can add and remove multiple queries.
## Split and compare
The split view feature is an easy way to compare graphs and tables side-by-side or to look at related data together on one page. Click the split button to duplicate the current query and split the page into two side-by-side queries. It is possible to select another data source for the new query which for example, allows you to compare the same query for two different servers or to compare the staging environment to the production environment.
{{< docs-imagebox img="/img/docs/v65/explore_split.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
In split view, timepickers for both panels can be linked (if you change one, the other gets changed as well) by clicking on one of the time-sync buttons attached to the timepickers. Linking of timepickers helps with keeping the start and the end times of the split view queries in sync and it will ensure that you’re looking at the same time interval in both split panels.
You can close the newly created query by clicking on the Close Split button.
## Share shortened link
> Share shortened link is only available in Grafana 7.3 and above.
The Share shortened link capability allows you to create smaller and simpler URLs of the format /goto/:uid instead of using longer URLs containing complex query parameters. You can create a shortened link by clicking on the **Share** option in Explore toolbar. Please note that any shortened links that are never used will be automatically deleted after 7 days.
## Query history
Query history is a list of queries that you have used in Explore. The history is local to your browser and is not shared. To open and interact with your history, click the **Query history** button in Explore.
### View query history
Query history lets you view the history of your querying. For each individual query, you can:
- Run a query.
- Create and/or edit a comment.
- Copy a query to the clipboard.
- Copy a shortened link with the query to the clipboard.
- Star a query.
### Manage favorite queries
All queries that have been starred in the Query history tab are displayed in the Starred. This allows you to access your favorite queries faster and to reuse these queries without typing them from scratch.
### Sort query history
By default, query history shows you the most recent queries. You can sort your history by date or by data source name in ascending or descending order.
1. Click the **Sort queries by** field.
1. Select one of the following options:
- Newest first
- Oldest first
- Data source A-Z
- Data source Z-A
> **Note:** If you are in split mode, then the chosen sorting mode applies only to the active panel.
### Filter query history
Filter query history in Query history and Starred tab by data source name:
1. Click the **Filter queries for specific data source(s)** field.
1. Select the data source for which you would like to filter your history. You can select multiple data sources.
In **Query history** tab it is also possible to filter queries by date using the slider:
- Use vertical slider to filter queries by date.
- By dragging top handle, adjust start date.
- By dragging top handle, adjust end date.
> **Note:** If you are in split mode, filters are applied only to your currently active panel.
### Search in query history
You can search in your history across queries and your comments. Search is possible for queries in the Query history tab and Starred tab.
1. Click the **Search queries** field.
1. Type the term you are searching for into search field.
### Query history settings
You can customize the query history in the Settings tab. Options are described in the table below.
| Setting | Default value |
| ------------------------------------------------------------- | --------------------------------------- |
| Period of time for which Grafana will save your query history | 1 week |
| Change the default active tab | Query history tab |
| Only show queries for data source currently active in Explore | True |
| Clear query history | Permanently deletes all stored queries. |
> **Note:** Query history settings are global, and applied to both panels in split mode.
## Prometheus-specific Features
The first version of Explore features a custom querying experience for Prometheus. When a query is executed, it actually executes two queries, a normal Prometheus query for the graph and an Instant Query for the table. An Instant Query returns the last value for each time series which shows a good summary of the data shown in the graph.
### Metrics explorer
On the left side of the query field, click **Metrics** to open the Metric Explorer. This shows a hierarchical menu with metrics grouped by their prefix. For example, all Alertmanager metrics are grouped under the `alertmanager` prefix. This is a good starting point if you just want to explore which metrics are available.
{{< docs-imagebox img="/img/docs/v65/explore_metric_explorer.png" class="docs-image--no-shadow" caption="Screenshot of the new Explore option in the panel menu" >}}
### Query field
The Query field supports autocomplete for metric names, function and works mostly the same way as the standard Prometheus query editor. Press the enter key to execute a query.
The autocomplete menu can be triggered by pressing Ctrl+Space. The Autocomplete menu contains a new History section with a list of recently executed queries.
Suggestions can appear under the query field - click on them to update your query with the suggested change.
- For counters (monotonically increasing metrics), a rate function will be suggested.
- For buckets, a histogram function will be suggested.
- For recording rules, possible to expand the rules.
### Table filters
Click on the filter button in the "label" column of a Table panel to add filters to the query expression. You can add filters for multiple queries as well - the filter is added for all the queries.
## Logs integration
Along with metrics, Explore allows you to investigate your logs with the following data sources:
- [Loki](../datasources/loki)
- [InfluxDB](../datasources/influxdb)
- [Elasticsearch](../datasources/elasticsearch)
### Logs visualization
Results of log queries are shown as histograms in the graph and individual logs are displayed below. If the data source does not send histogram data for the requested time range, the logs model computes a time series based on the log row counts bucketed by an automatically calculated time interval and the start of the histogram is then anchored by the first log row's timestamp from the result. The end of the time series is anchored to the time picker's **To** range.
#### Log level
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we parse the log to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level.
**Supported log levels and mapping of log level abbreviation and expressions:**
| Supported expressions | Log level | Color |
| --------------------------- |:-------------:| -----------:|
| emerg | critical | purple |
| fatal | critical | purple |
| alert | critical | purple |
| crit | critical | purple |
| critical | critical | purple |
| err | error | red |
| eror | error | red |
| error | error | red |
| warn | warning | yellow |
| warning | warning | yellow |
| info | info | green |
| information | info | green |
| notice | info | green |
| dbug | debug | blue |
| debug | debug | blue |
| trace | trace | light blue |
| * | unknown | grey |
### Visualization options
You can customize how logs are displayed and select which columns are shown.
#### Time
Shows or hides the time column. This is the timestamp associated with the log line as reported from the data source.
#### Unique labels
Shows or hides the unique labels column that includes only non-common labels. All common labels are displayed above.
#### Wrap lines
Set this to True if you want the display to use line wrapping. If set to False, it will result in horizontal scrolling.
#### Deduping
Log data can be very repetitive and Explore can help by hiding duplicate log lines. There are a few different deduplication algorithms that you can use:
- **Exact -** Exact matches are done on the whole line except for date fields.
- **Numbers -** Matches on the line after stripping out numbers such as durations, IP addresses, and so on.
- **Signature -** The most aggressive deduping, this strips all letters and numbers and matches on the remaining whitespace and punctuation.
#### Flip results order
You can change the order of received logs from the default descending order (newest first) to ascending order (oldest first).
### Labels and detected fields
Each log row has an extendable area with its labels and detected fields, for more robust interaction. For all labels we have added the ability to filter for (positive filter) and filter out (negative filter) selected labels. Each field or label also has a stats icon to display ad-hoc statistics in relation to all displayed logs.
### Toggle detected fields
> **Note:** This feature is only available in Grafana 7.2+.
If your logs are structured in `json` or `logfmt`, then you can show or hide detected fields. Expand a log line and then click the eye icon to show or hide fields.
{{< docs-imagebox img="/img/docs/explore/parsed-fields-7-2.gif" max-width="800px" caption="Toggling detected fields in Explore" >}}
### Loki-specific features
As mentioned, one of the log integrations is for the new open source log aggregation system from Grafana Labs - [Loki](https://github.com/grafana/loki). Loki is designed to be very cost effective, as it does not index the contents of the logs, but rather a set of labels for each log stream. The logs from Loki are queried in a similar way to querying with label selectors in Prometheus. It uses labels to group log streams which can be made to match up with your Prometheus labels. For more information about Grafana Loki, refer to [Grafana Loki](https://github.com/grafana/loki) or the Grafana Labs hosted variant: [Grafana Cloud Logs](https://grafana.com/loki).
See [Loki's data source documentation](../datasources/loki) on how to query for log data.
#### Switch from metrics to logs
If you switch from a Prometheus query to a logs query (you can do a split first to have your metrics and logs side by side) then it will keep the labels from your query that exist in the logs and use those to query the log streams. For example, the following Prometheus query:
`grafana_alerting_active_alerts{job="grafana"}`
after switching to the Logs data source, the query changes to:
`{job="grafana"}`
This will return a chunk of logs in the selected time range that can be grepped/text searched.
#### Live tailing
Use the Live tailing feature to see real-time logs on supported data sources.
Click the **Live** button in the Explore toolbar to switch to Live tail view.
While in Live tail view new logs will come from the bottom of the screen and will have fading contrasting background so you can keep track of what is new. Click the **Pause** button or scroll the logs view to pause the Live tailing and explore previous logs without interruption. Click **Resume** button to resume the Live tailing or click **Stop** button to exit Live tailing and go back to standard Explore view.
{{< docs-imagebox img="/img/docs/v64/explore_live_tailing.gif" class="docs-image--no-shadow" caption="Explore Live tailing in action" >}}
## Tracing integration
> Only available in Grafana v7.0+.
You can visualize traces from tracing data sources in explore. Data sources currently supported:
- [Jaeger]({{< relref "../datasources/jaeger.md" >}})
- [Zipkin]({{< relref "../datasources/zipkin.md" >}})
- [Tempo]({{< relref "../datasources/tempo.md" >}})
- [X-Ray](https://grafana.com/grafana/plugins/grafana-x-ray-datasource)
For information about how to use the query editor see documentation for specific data source.
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-full.png" class="docs-image--no-shadow" caption="Screenshot of the trace view" >}}
##### Header
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-header.png" class="docs-image--no-shadow" caption="Screenshot of the trace view header" >}}
- Header title: Shows the name of the root span and trace ID.
- Search: Highlights spans containing the searched text.
- Metadata: Various metadata about the trace.
##### Minimap
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-minimap.png" class="docs-image--no-shadow" caption="Screenshot of the trace view minimap" >}}
Shows condensed view or the trace timeline. Drag your mouse over the minimap to zoom into smaller time range. Zooming will also update the main timeline, so it is easy to see shorter spans. Hovering over the minimap, when zoomed, will show Reset Selection button which resets the zoom.
##### Timeline
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-timeline.png" class="docs-image--no-shadow" caption="Screenshot of the trace view timeline" >}}
Shows list of spans within the trace. Each span row consists of these components:
- Expand children button: Expands or collapses all the children spans of selected span.
- Service name: Name of the service logged the span.
- Operation name: Name of the operation that this span represents.
- Span duration bar: Visual representation of the operation duration within the trace.
Clicking anywhere on the span row shows span details.
##### Span details
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-span-details.png" class="docs-image--no-shadow" caption="Screenshot of the trace view span details" >}}
- Operation name
- Span metadata
- Tags: Any tags associated with this span.
- Process metadata: Metadata about the process that logged this span.
- Logs: List of logs logged by this span and associated key values. In case of Zipkin logs section shows Zipkin annotations.
##### Trace to logs
> This feature is only available in Grafana 7.4+.
You can navigate from a span in a trace view directly to logs relevant for that span. This is available for Tempo, Jaeger, and Zipkin data source at this moment. See their relevant documentation for instruction how to configure this feature.
![Trace to logs](/img/docs/explore/trace-to-log-7-4.png "Screenshot of the trace to logs")
Click the document icon to open a split view in Explore with the configured data source and query relevant logs for the span.
## Navigate between Explore and a dashboard
To help accelerate workflows that involve regularly switching from Explore to a dashboard and vice-versa, we've added the ability to return to the origin dashboard after navigating to Explore from the panel's dropdown.
{{< docs-imagebox img="/img/docs/v64/panel_dropdown.png" class="docs-image--no-shadow" caption="Screenshot of the panel dropdown" >}}
After you've navigated to Explore, you should notice a "Back" button in the Explore toolbar.
{{< docs-imagebox img="/img/docs/v64/explore_toolbar.png" class="docs-image--no-shadow" caption="Screenshot of the explore toolbar" >}}
Simply clicking the button will return you to the origin dashboard, or, if you'd like to bring changes you make in Explore back to the dashboard, simply click
the arrow next to the button to reveal a "Return to panel with changes" menu item.
{{< docs-imagebox img="/img/docs/v64/explore_return_dropdown.png" class="docs-image--no-shadow" caption="Screenshot of the expanded explore return dropdown" >}}
## Query inspector
To help with debugging queries, Explore allows you to investigate query requests and responses, as well as query statistics, via the Query inspector.
This functionality is similar to the panel inspector [Stats tab]({{< relref "../panels/inspect-panel.md#inspect-query-performance" >}}) and
[Query tab]({{< relref "../panels/inspect-panel.md##view-raw-request-and-response-to-data-source" >}}).
{{< docs-imagebox img="/img/docs/v71/query_inspector_explore.png" class="docs-image--no-shadow" caption="Screenshot of the query inspector button in Explore" >}}
+119
View File
@@ -0,0 +1,119 @@
+++
title = "Logs in Explore"
description = "Logs in Explore"
keywords = ["explore", "logs",]
weight = 15
+++
# Logs in Explore
Along with metrics, Explore allows you to investigate your logs in the following data sources:
- [Elasticsearch]({{< relref "../datasources/elasticsearch.md" >}})
- [InfluxDB]({{< relref "../datasources/influxdb.md" >}})
- [Loki]({{< relref "../datasources/loki.md" >}})
During an infrastructure monitoring and incident response, you can dig deeper into the metrics and logs to find the cause. Explore also allows you to correlate metrics and logs by viewing them side-by-side. This creates a new debugging workflow:
1. Receive an alert.
1. Drill down and examine metrics.
1. Drill down again and search logs related to the metric and time interval (and in the future, distributed traces).
### Logs visualization
Results of log queries are shown as histograms in the graph and individual logs are displayed below. If the data source does not send histogram data for the requested time range, the logs model computes a time series based on the log row counts bucketed by an automatically calculated time interval and the start of the histogram is then anchored by the first log row's timestamp from the result. The end of the time series is anchored to the time picker's **To** range.
#### Log level
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we parse the log to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level.
**Supported log levels and mapping of log level abbreviation and expressions:**
| Supported expressions | Log level | Color |
| --------------------------- |:-------------:| -----------:|
| emerg | critical | purple |
| fatal | critical | purple |
| alert | critical | purple |
| crit | critical | purple |
| critical | critical | purple |
| err | error | red |
| eror | error | red |
| error | error | red |
| warn | warning | yellow |
| warning | warning | yellow |
| info | info | green |
| information | info | green |
| notice | info | green |
| dbug | debug | blue |
| debug | debug | blue |
| trace | trace | light blue |
| * | unknown | grey |
### Visualization options
You can customize how logs are displayed and select which columns are shown.
#### Time
Shows or hides the time column. This is the timestamp associated with the log line as reported from the data source.
#### Unique labels
Shows or hides the unique labels column that includes only non-common labels. All common labels are displayed above.
#### Wrap lines
Set this to True if you want the display to use line wrapping. If set to False, it will result in horizontal scrolling.
#### Deduping
Log data can be very repetitive and Explore can help by hiding duplicate log lines. There are a few different deduplication algorithms that you can use:
- **Exact -** Exact matches are done on the whole line except for date fields.
- **Numbers -** Matches on the line after stripping out numbers such as durations, IP addresses, and so on.
- **Signature -** The most aggressive deduping, this strips all letters and numbers and matches on the remaining whitespace and punctuation.
#### Flip results order
You can change the order of received logs from the default descending order (newest first) to ascending order (oldest first).
### Labels and detected fields
Each log row has an extendable area with its labels and detected fields, for more robust interaction. For all labels we have added the ability to filter for (positive filter) and filter out (negative filter) selected labels. Each field or label also has a stats icon to display ad-hoc statistics in relation to all displayed logs.
### Toggle detected fields
> **Note:** Available in Grafana 7.2 and later versions.
If your logs are structured in `json` or `logfmt`, then you can show or hide detected fields. Expand a log line and then click the eye icon to show or hide fields.
{{< docs-imagebox img="/img/docs/explore/parsed-fields-7-2.gif" max-width="800px" caption="Toggling detected fields in Explore" >}}
### Loki-specific features
As mentioned, one of the log integrations is for the new open source log aggregation system from Grafana Labs - [Loki](https://github.com/grafana/loki). Loki is designed to be very cost effective, as it does not index the contents of the logs, but rather a set of labels for each log stream. The logs from Loki are queried in a similar way to querying with label selectors in Prometheus. It uses labels to group log streams which can be made to match up with your Prometheus labels. For more information about Grafana Loki, refer to [Grafana Loki](https://github.com/grafana/loki) or the Grafana Labs hosted variant: [Grafana Cloud Logs](https://grafana.com/loki).
For more information, refer to Loki's data source documentation]({{< relref "../datasources/loki.md" >}}) on how to query for log data.
#### Switch from metrics to logs
If you switch from a Prometheus query to a logs query (you can do a split first to have your metrics and logs side by side) then it will keep the labels from your query that exist in the logs and use those to query the log streams. For example, the following Prometheus query:
`grafana_alerting_active_alerts{job="grafana"}`
after switching to the Logs data source, the query changes to:
`{job="grafana"}`
This will return a chunk of logs in the selected time range that can be grepped/text searched.
#### Live tailing
Use the Live tailing feature to see real-time logs on supported data sources.
Click the **Live** button in the Explore toolbar to switch to Live tail view.
While in Live tail view new logs will come from the bottom of the screen and will have fading contrasting background so you can keep track of what is new. Click the **Pause** button or scroll the logs view to pause the Live tailing and explore previous logs without interruption. Click **Resume** button to resume the Live tailing or click **Stop** button to exit Live tailing and go back to standard Explore view.
{{< docs-imagebox img="/img/docs/v64/explore_live_tailing.gif" class="docs-image--no-shadow" caption="Explore Live tailing in action" >}}
+105
View File
@@ -0,0 +1,105 @@
+++
title = "Query management"
keywords = ["explore", "loki", "logs"]
weight = 10
+++
# Query management in Explore
To help with debugging queries, Explore allows you to investigate query requests and responses, as well as query statistics, via the Query inspector.
This functionality is similar to the panel inspector [Stats tab]({{< relref "../panels/inspect-panel.md#inspect-query-performance" >}}) and
[Query tab]({{< relref "../panels/inspect-panel.md##view-raw-request-and-response-to-data-source" >}}).
{{< docs-imagebox img="/img/docs/v71/query_inspector_explore.png" class="docs-image--no-shadow" max-width= "550px" caption="Screenshot of the query inspector button in Explore" >}}
## Query history
Query history is a list of queries that you have used in Explore. The history is local to your browser and is not shared. To open and interact with your history, click the **Query history** button in Explore.
### View query history
Query history lets you view the history of your querying. For each individual query, you can:
- Run a query.
- Create and/or edit a comment.
- Copy a query to the clipboard.
- Copy a shortened link with the query to the clipboard.
- Star a query.
### Manage favorite queries
All queries that have been starred in the Query history tab are displayed in the Starred. This allows you to access your favorite queries faster and to reuse these queries without typing them from scratch.
### Sort query history
By default, query history shows you the most recent queries. You can sort your history by date or by data source name in ascending or descending order.
1. Click the **Sort queries by** field.
1. Select one of the following options:
- Newest first
- Oldest first
- Data source A-Z
- Data source Z-A
> **Note:** If you are in split mode, then the chosen sorting mode applies only to the active panel.
### Filter query history
Filter query history in Query history and Starred tab by data source name:
1. Click the **Filter queries for specific data source(s)** field.
1. Select the data source for which you would like to filter your history. You can select multiple data sources.
In **Query history** tab it is also possible to filter queries by date using the slider:
- Use vertical slider to filter queries by date.
- By dragging top handle, adjust start date.
- By dragging top handle, adjust end date.
> **Note:** If you are in split mode, filters are applied only to your currently active panel.
### Search in query history
You can search in your history across queries and your comments. Search is possible for queries in the Query history tab and Starred tab.
1. Click the **Search queries** field.
1. Type the term you are searching for into search field.
### Query history settings
You can customize the query history in the Settings tab. Options are described in the table below.
| Setting | Default value |
| ------------------------------------------------------------- | --------------------------------------- |
| Period of time for which Grafana will save your query history | 1 week |
| Change the default active tab | Query history tab |
| Only show queries for data source currently active in Explore | True |
| Clear query history | Permanently deletes all stored queries. |
> **Note:** Query history settings are global, and applied to both panels in split mode.
## Prometheus-specific Features
The first version of Explore features a custom querying experience for Prometheus. When a query is executed, it actually executes two queries, a normal Prometheus query for the graph and an Instant Query for the table. An Instant Query returns the last value for each time series which shows a good summary of the data shown in the graph.
### Metrics explorer
On the left side of the query field, click **Metrics** to open the Metric Explorer. This shows a hierarchical menu with metrics grouped by their prefix. For example, all Alertmanager metrics are grouped under the `alertmanager` prefix. This is a good starting point if you just want to explore which metrics are available.
{{< docs-imagebox img="/img/docs/v65/explore_metric_explorer.png" class="docs-image--no-shadow" max-width= "800px" caption="Screenshot of the new Explore option in the panel menu" >}}
### Query field
The Query field supports autocomplete for metric names, function and works mostly the same way as the standard Prometheus query editor. Press the enter key to execute a query.
The autocomplete menu can be triggered by pressing Ctrl+Space. The Autocomplete menu contains a new History section with a list of recently executed queries.
Suggestions can appear under the query field - click on them to update your query with the suggested change.
- For counters (monotonically increasing metrics), a rate function will be suggested.
- For buckets, a histogram function will be suggested.
- For recording rules, possible to expand the rules.
### Table filters
Click on the filter button in the "label" column of a Table panel to add filters to the query expression. You can add filters for multiple queries as well - the filter is added for all the queries.
+68
View File
@@ -0,0 +1,68 @@
+++
title = "Tracing in Explore"
description = "Tracing in Explore"
keywords = ["explore", "trace",]
weight = 20
+++
# Tracing in Explore
Explore allows you to visualize traces from tracing data sources. This is available in Grafana v7.0+.
Supported data sources are:
- [Jaeger]({{< relref "../datasources/jaeger.md" >}})
- [Tempo]({{< relref "../datasources/tempo.md" >}})
- [X-Ray](https://grafana.com/grafana/plugins/grafana-x-ray-datasource)
- [Zipkin]({{< relref "../datasources/zipkin.md" >}})
For information on how to configure queries for the data sources listed above, refer to the documentation for specific data source.
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-full.png" class="docs-image--no-shadow" max-width= "900px" caption="Screenshot of the trace view" >}}
##### Header
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-header.png" class="docs-image--no-shadow" max-width= "750px" caption="Screenshot of the trace view header" >}}
- Header title: Shows the name of the root span and trace ID.
- Search: Highlights spans containing the searched text.
- Metadata: Various metadata about the trace.
##### Minimap
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-minimap.png" class="docs-image--no-shadow" max-width= "900px" caption="Screenshot of the trace view minimap" >}}
Shows condensed view or the trace timeline. Drag your mouse over the minimap to zoom into smaller time range. Zooming will also update the main timeline, so it is easy to see shorter spans. Hovering over the minimap, when zoomed, will show Reset Selection button which resets the zoom.
##### Timeline
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-timeline.png" class="docs-image--no-shadow" max-width= "900px" caption="Screenshot of the trace view timeline" >}}
Shows list of spans within the trace. Each span row consists of these components:
- Expand children button: Expands or collapses all the children spans of selected span.
- Service name: Name of the service logged the span.
- Operation name: Name of the operation that this span represents.
- Span duration bar: Visual representation of the operation duration within the trace.
Clicking anywhere on the span row shows span details.
##### Span details
{{< docs-imagebox img="/img/docs/v70/explore-trace-view-span-details.png" class="docs-image--no-shadow" max-width= "900px" caption="Screenshot of the trace view span details" >}}
- Operation name
- Span metadata
- Tags: Any tags associated with this span.
- Process metadata: Metadata about the process that logged this span.
- Logs: List of logs logged by this span and associated key values. In case of Zipkin logs section shows Zipkin annotations.
##### Trace to logs
> **Note:** Available in Grafana 7.4 and later versions.
You can navigate from a span in a trace view directly to logs relevant for that span. This is available for Tempo, Jaeger and Zipkin data source at this moment. their relevant documentation for instruction how to configure this feature.
{{< docs-imagebox img="/img/docs/explore/trace-to-log-7-4.png" class="docs-image--no-shadow" max-width= "600px" caption="Screenshot of the trace view in Explore with icon next to the spans" >}}
Click the document icon to open a split view in Explore with the configured data source and query relevant logs for the span.
+1 -1
View File
@@ -22,7 +22,7 @@ The following sections provide an overview of things you might want to do with y
Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
Refer to [Explore]({{< relref "../explore/index.md" >}}) for more information.
Refer to [Explore]({{< relref "../explore/_index.md" >}}) for more information.
## Alerts
@@ -57,7 +57,7 @@ Prometheus node_exporter is a widely used tool that exposes system metrics. Inst
## Step 5. Check Prometheus metrics in Grafana Explore view
In your Grafana instance, go to the [Explore]({{< relref "../explore/index.md" >}}) view and build queries to experiment with the metrics you want to monitor. Here you can also debug issues related to collecting metrics from Prometheus. Pay special attention to the [Prometheus-specific features]({{< relref "../explore/_index.md#prometheus-specific-features" >}}) to avail custom querying experience for Prometheus.
In your Grafana instance, go to the [Explore]({{< relref "../explore/_index.md" >}}) view and build queries to experiment with the metrics you want to monitor. Here you can also debug issues related to collecting metrics from Prometheus. Pay special attention to the [Prometheus-specific features]({{< relref "../explore/_index.md#prometheus-specific-features" >}}) to avail custom querying experience for Prometheus.
## Step 6. Start building dashboards
@@ -77,6 +77,6 @@ Optionally, play around this dashboard and customize it to:
Now that you have gained some idea of using the pre-packaged MS SQL data source and some test data, the next step is to setup your own instance of MS SQL Server database and data your development or sandbox area. In the previous steps, if you followed along the path of deploying your own instance of MS SQL Server, you are already on your way.
To fetch data from your own instance of MS SQL Server, add the data source using instructions in Step 4 of this topic. In Grafana [Explore]({{< relref "../explore/index.md" >}}) build queries to experiment with the metrics you want to monitor.
To fetch data from your own instance of MS SQL Server, add the data source using instructions in Step 4 of this topic. In Grafana [Explore]({{< relref "../explore/_index.md" >}}) build queries to experiment with the metrics you want to monitor.
Once you have a curated list of queries, create [dashboards]({{< relref "../dashboards/_index.md" >}}) to render metrics from the SQL Server database. For troubleshooting, user permissions, known issues, and query examples, refer to [Using Microsoft SQL Server in Grafana]({{< relref "../datasources/mssql.md" >}}).
@@ -41,7 +41,7 @@ To create your first dashboard:
## Next steps
Continue to experiment with what you have built, try the [explore workflow]({{< relref "../explore/index.md" >}}) or another visualization feature. Refer to [Data sources]({{< relref "../datasources" >}}) for a list of supported data sources and instructions on how to [add a data source]({{< relref "../datasources/add-a-data-source.md" >}}). The following topics will be of interest to you:
Continue to experiment with what you have built, try the [explore workflow]({{< relref "../explore/_index.md" >}}) or another visualization feature. Refer to [Data sources]({{< relref "../datasources" >}}) for a list of supported data sources and instructions on how to [add a data source]({{< relref "../datasources/add-a-data-source.md" >}}). The following topics will be of interest to you:
- [Panels]({{< relref "../panels/_index.md" >}})
- [Dashboards]({{< relref "../dashboards/_index.md" >}})
+2
View File
@@ -17,3 +17,5 @@ This section discusses the hardware and software requirements as well as the pro
- [Install on Windows]({{< relref "windows" >}})
- [Run Docker image]({{< relref "docker" >}})
Refer to [Upgrade Grafana]({{< relref "upgrading.md" >}}) topic. If you need to restart Grafana, refer to the [Restart Grafana]({{< relref "Restart-grafana.md" >}})
topic for detailed information.
@@ -0,0 +1,128 @@
+++
title = "Restart Grafana"
description = "Instructions for restarting Grafana"
keywords = ["grafana", "restart", "documentation"]
weight = 750
+++
# Restart Grafana
Users often need to restart Grafana after they have made configuration changes. This topic provides detailed instructions on how to restart Grafana supported operating systems.
- [Windows](#windows)
- [MacOS](#macos)
- [Linux](#linux)
- [Docker](#docker)
## Windows
To restart Grafana:
1. Open the Services app.
1. Right-click on the **Grafana** service.
1. In the context menu, click **Restart**.
## macOS
Restart methods differ depending on whether you installed Grafana using Homebrew or as standalone macOS binaries.
### Restart Grafana using Homebrew
Use the [Homebrew](http://brew.sh/) restart command:
```bash
brew services restart grafana
```
### Restart standalone macOS binaries
To restart Grafana:
1. Open a terminal and go to the directory where you copied the install setup files.
1. Run the command:
```bash
./bin/grafana-server web
```
## Linux
Restart methods differ depending on whether your Linux system uses `systemd` or `init.d`.
### Restart the server with systemd
To restart the service and verify that the service has started, run the following commands:
```bash
sudo systemctl restart grafana-server
sudo systemctl status grafana-server
```
Alternately, you can configure the Grafana server to restart at boot:
```bash
sudo systemctl enable grafana-server.service
```
> **Note:** SUSE or OpenSUSE users may need to start the server with the systemd method, then use the init.d method to configure Grafana to start at boot.
### Restart the server with init.d
To restart the service, run the following command:
```bash
sudo service grafana-server restart
```
or
```bash
sudo /etc/init.d/grafana-server restart
```
Verify the status:
```bash
sudo service grafana-server status
```
or
```bash
sudo /etc/init.d/grafana-server status
```
Alternately, you can configure the Grafana server to restart at boot:
```bash
sudo update-rc.d grafana-server defaults
```
## Docker
To restart the Grafana service, use the `docker restart` command.
`docker restart grafana`
Alternately, you can use the `docker compose restart` command to restart Grafana. For more information, refer to [docker compose documentation](https://docs.docker.com/compose/).
### Docker compose example
Configure your `docker-compose.yml` file. For example:
```bash
grafana:
image: grafana/grafana:latest
ports:
- "3000:3000"
environment:
- TERM=linux
- GF_INSTALL_PLUGINS=grafana-clock-panel,grafana-piechart-panel,grafana-polystat-panel
```
Start the Grafana server:
`docker-compose up`
This starts the Grafana server along with the three plugins specified in the YAML file.
To restart the running container, use this command:
`docker-compose restart grafana`
+1 -1
View File
@@ -49,6 +49,6 @@ Value-specific variables are available under ``__value`` namespace:
When linking to another dashboard that uses template variables, select variable values for whoever clicks the link.
``var-myvar=${myvar}`` - where ``myvar`` is a name of the template variable that matches one in the current dashboard that you want to use.
``${myvar:queryparams}`` - where ``myvar`` is a name of the template variable that matches one in the current dashboard that you want to use.
If you want to add all of the current dashboard's variables to the URL, then use ``__all_variables``.
+37 -10
View File
@@ -5,25 +5,52 @@ weight = 50
# Manage users
Create users and teams and configure [Permissions]({{< relref "../permissions/_index.md" >}}) to make sure that users only have access to the resources they need.
Grafana offers several options for grouping users. Each level has different tools for managing user accounts and different tasks that they can perform.
Only Administrators can manage users and teams.
One of the most important user management tasks is assigning roles, which govern what [permissions]({{< relref "../permissions/_index.md" >}}) a user has. The correct permissions ensure that users have access to only the resources they need.
## Users
## Server
Users are named accounts in Grafana that can be granted permissions to access resources throughout Grafana.
The highest and broadest level of user group in Grafana is the server. Every user with an account in a Grafana instance is a member of the server group.
- [Add or remove a user]({{< relref "./add-or-remove-user.md" >}})
- [Enable or disable a user]({{< relref "./enable-or-disable-user.md" >}})
Grafana Server Admins are user accounts that have the Grafana Admin option set to **Yes**. They can manage individual user accounts and organizations on their server.
Server Admins can:
- [Manage users]({{< relref "server-admin-manage-users.md" >}})
- [Manage organizations]({{< relref "server-admin-manage-orgs.md" >}})
## Organization
Organizations are groups of users on a server. Users can belong to one or more organizations, but each user must belong to at least one organization.
Data sources, plugins, and dashboards are associated with organizations. This means that you can have a server with two organizations, one with a Prometheus data source and another with an InfluxDB data source. Each organization has separate data and dashboards.
Members of organizations have permissions based on their _role_ in the organization. For more information, refer to [Organization roles]({{< relref "../permissions/organization_roles.md" >}}).
Organization Admins are user accounts that are assigned the Admin role for an organization. They can manage their users and teams in their organization.
Organization Admins can:
- [Manage users]({{< relref "org-admin/_index.md" >}})
- [Manage teams]({{< relref "manage-teams/index.md" >}})
## Teams
Teams allow you to grant permissions for a group of users.
Teams are groups of users within the same organization. Teams allow you to grant permissions for a group of users. They are most often used to manage [permissions for folders and dashboards]({{< relref "../permissions/dashboard_folder_permissions.md" >}}). Enterprise users can use them to apply [data source permissions]({{< relref "../enterprise/datasource_permissions.md" >}}).
- [Create or remove a team]({{< relref "./create-or-remove-team.md" >}})
- [Add or remove a user from a team]({{< relref "./add-or-remove-user-from-team.md" >}})
Teams are mostly managed by Organization Admins. However, if the Grafana server setting [editors_can_admin]({{< relref "../administration/configuration.md#editors_can_admin" >}}) is applied, then users who are assigned the Team Admin role can also manage teams in their organization and users assigned to their teams.
Team Admins can [Manage teams]({{< relref "manage-teams/index.md" >}}).
## Users
Users are named accounts in Grafana with granted permissions to access resources throughout Grafana. All users can manage their own accounts to a limited extent.
Users can:
- [View and edit user profile](user-admin/user-profile.md)
- [Change password](user-admin/change-your-password.md)
- [Switch organizations](user-admin/switch-org.md)
## Learn more
Set up users and teams in our tutorial on how to [Create users and teams](https://grafana.com/tutorials/create-users-and-teams).
@@ -1,25 +0,0 @@
+++
title = "Add or remove a user from a team"
keywords = ["grafana", "configuration", "documentation", "users",
"teams"]
weight = 300
+++
# Add or remove a user from a team
This page explains how to add or remove users from teams in Grafana.
## Add a user to a team
1. In the sidebar, hover your mouse over the **Configuration** (gear) icon and then click **Teams**.
1. Click the team you want to add the user to.
1. Click **Add member**.
1. In the **Add team member** box, select the user you want to add to the team.
1. Click **Add to team**.
## Remove a user from a team
1. In the sidebar, hover your mouse over the **Configuration** (gear) icon and then click **Teams**.
1. Click the team you want to remove the user from.
1. Click **X** to the right of the user's name.
1. Click **Delete** to confirm.
@@ -1,28 +0,0 @@
+++
title = "Add or remove a user"
keywords = ["grafana", "configuration", "documentation", "users"]
weight = 100
+++
# Add or remove a user
This page explains how to add or remove user accounts in Grafana.
For more information, refer to [Users]({{< relref "./_index.md#users" >}}).
## Add a user
1. In the sidebar, hover your mouse over the **Server Admin** (shield) icon and then click **Users**.
1. In the Users tab, click **New user**.
1. In **Name**, enter the name of the user.
1. In **E-mail**, enter the email of the user.
1. In **Username**, enter the username that the user will use to log in.
1. In **Password**, enter a password. The user can change their password once they log in.
1. Click **Create** to create the user account.
## Remove a user
1. In the sidebar, hover your mouse over the **Server Admin** (shield) icon and then click **Users**.
1. Click to select the user you want to remove.
1. Click **Delete User**.
1. Click **Delete user** in the dialog to confirm.
@@ -1,25 +0,0 @@
+++
title = "Create or remove a team"
keywords = ["grafana", "configuration", "documentation", "users",
"teams"]
weight = 400
+++
# Create or remove a team
Create or remove teams to manage groups of users.
For more information, refer to [Teams]({{< relref "./_index.md#teams" >}}).
## Create a team
1. In the sidebar, hover your mouse over the **Configuration** (gear) icon and then click **Teams**.
1. Click **New team**.
1. In **Name**, enter the name of the team.
1. Click **Create**.
## Remove a team
1. In the sidebar, hover your mouse over the **Configuration** (gear) icon and then click **Teams**.
1. Click **X** to the right of the team's name.
1. Click **Delete** to confirm.
@@ -1,22 +0,0 @@
+++
title = "Enable or disable a user"
keywords = ["grafana", "configuration", "documentation", "users"]
weight = 200
+++
# Enable or disable a user
This page explains how to enable or disable user accounts in Grafana.
## Enable a user
1. In the sidebar, hover your mouse over the **Server Admin** (shield) icon and then click **Users**.
1. Click to select the user you want to enable.
1. Click **Enable User**.
## Disable a user
1. In the sidebar, hover your mouse over the **Server Admin** (shield) icon and then click **Users**.
1. Click to select the user you want to disable.
1. Click **Disable User**.
1. Click **Disable user** in the dialog to confirm.
@@ -0,0 +1,89 @@
+++
title = "Manage teams"
aliases =["/docs/grafana/latest/manage-users/add-or-remove-user-from-team/","/docs/grafana/latest/manage-users/create-or-remove-team/"]
weight = 300
+++
# Manage teams
A _team_ is a group of users assigned to an organization on a Grafana server. Each user can belong to more than one organization and more than one team. Teams are generally managed by Organization Admins, but they can also be managed by Editors if the [editors_can_admin]({{< relref "../../administration/configuration.md#editors_can_admin" >}}) server setting is set to `true`. For more information, refer to [Organization roles]({{< relref "../../permissions/organization_roles.md" >}}).
Teams members are assigned one of two permissions:
- Member - Required to be a member of the team.
- Admin - A member of the team that can also manage team membership, change team permissions, change team settings, and add or delete the team.
> **Note:** You must have Organization Admin or Team Admin permissions, or Editor permissions with [editors_can_admin]({{< relref "../../administration/configuration.md#editors_can_admin" >}}) selected, in order to perform the tasks described in this page. Team Admins can only perform tasks that apply to their specific team.
## View team list
See the complete list of teams in your Grafana organization.
{{< docs/shared "manage-users/view-team-list.md" >}}
### Org Admin view
![Team list](/img/docs/manage-users/org-admin-team-list-7-3.png)
### Team Admin view
![Team list](/img/docs/manage-users/team-admin-team-list-7-3.png)
## Create a team
Add a team to your Grafana organization.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click **New Team**.
1. Enter team information:
- **Name -** Enter the name of the new team.
- **Email -** (Optional) Enter the team email.
1. Click **Create**.
{{< /docs/list >}}
## Add a team member
Add an existing user account to a team.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the name of the team that you want to add users to.
1. Click **Add member**.
1. In the **Add team member** list, click the user account that you want to add to the team. You can also type in the field to filter the list.
1. Click **Add to team**.
1. Repeat the process to add more team members.
{{< /docs/list >}}
![Add team member](/img/docs/manage-users/add-team-member-7-3.png)
## Remove a team member
Remove a user account from the team.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the name of the team that you want to remove users from.
1. Click the red **X** next to the name of the user that you want to remove from the team and then click **Delete**.
{{< /docs/list >}}
## Set team member permissions
Change team member permission levels.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the name of the team in which you want to change user permissions.
1. In the team member list, find and click the user account that you want to change. You can use the search field to filter the list if necessary.
1. Click the **Permission** list, and then click the new user permission level.
{{< /docs/list >}}
![Change team member permissions](/img/docs/manage-users/change-team-permissions-7-3.png)
## Delete a team
Permanently delete the team and all special permissions assigned to it.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the red **X** next to the team that you want to delete and then click **Delete**.
{{< /docs/list >}}
@@ -0,0 +1,98 @@
+++
title = "Org admin tasks"
weight = 200
+++
# Manage users as an Org Admin
An _organization_ is a group of users on a Grafana server. Each user can belong to more than one organization. Every member of the organization has a _role_ in that organization that grants them a certain level of permissions. For more information, refer to [Organization roles]({{< relref "../../permissions/organization_roles.md" >}}).
Organization Admins, also called Org Admins, can manage users in their organization. Some of their tasks overlap with the [Server Admin tasks]({{< relref "../server-admin/_index.md" >}}).
> **Note:** You must have Admin permissions in an organization in order to perform the tasks described in this page.
## View organization user account list
See a complete list of users with accounts in your Grafana organization. If necessary, you can use the search field to filter the list.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Users**.
Grafana displays all user accounts on the server, listed in alphabetical order by user name. The following information is displayed:
- **Login -** The value in the **Username** field of the account.
- **Email -** The email associated with the user account.
- **Name -** The value in the **Name** field of the account.
- **Seen -** How long ago the user logged in. If they have never logged in, then the default longest time (10y) is displayed.
- **Role -** The organization role currently assigned to the user.
![Org Admin user list](/img/docs/manage-users/org-user-list-7-3.png)
## Manage organization invitations
Organization Admins can invite users to their Grafana organizations and manage invitations. When an invited user signs in to Grafana, a user account is created for them if one does not already exist.
### Invite user to organization
Invite or add an existing user account to your organization.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Users**.
1. Click **Invite**.
1. Enter the following information:
- **Email or Username -** Either the email or username that the user will use to sign in to Grafana.
- **Name -** (Optional) The value in the **Name** field of the account.
- **Role -** Click the organization role to assign this user. For more information, refer to [Organization roles]({{< relref "../../permissions/organization_roles.md" >}}).
- **Send invite email**
- **Yes -** If your organization has SMTP set up, then Grafana sends an email to the user inviting them to log in to Grafana and join your organization.
- **No -** The user is not sent an invitation, but they can sign in to the Grafana server with the email or username that you entered.
1. Click **Submit**.
![Invite User](/img/docs/manage-users/org-invite-user-7-3.png)
### View pending invitations
Review invitations of users that were invited but have not signed in.
![Pending Invites button](/img/docs/manage-users/pending-invites-button-7-3.png)
> **Note:** The button is only visible if there are unanswered invitations.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Users**.
1. Click **Pending Invites**.
Grafana displays a list of pending invitations. If necessary, you can use the search field to filter the list.
![Pending Invites list](/img/docs/manage-users/pending-invites-list-7-3.png)
### Copy invitation
SME - What does this do? I see the button, but it does not seem to do anything.
### Cancel invitation
Revoke the invitation of a user that was invited but has not logged in.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Users**.
1. Click **Pending Invites**.
1. Click the red **X** next to the invitation that you want to cancel.
## Change organization role
Every user account is assigned an [Organization role]({{< relref "../../permissions/organization_roles.md" >}}). Organization admins can change the role assigned to a user in their organization.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Users**.
1. Find the user account for which you want to change the role. Use the search field to filter the list if necessary.
1. Click the **Role** list in the user account that you want to change. Grafana displays the list of available roles.
1. Click the role that you want to assign.
## Remove user from organization
Remove a user account from your organization. This prevents them from accessing the dashboards and data sources associated with the organization, but it does not remove the user account from the server.
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Users**.
1. Find the user account that you want to delete. Use the search field to filter the list if necessary.
1. Click the red **X** next to remove the user from your organization.
@@ -0,0 +1,14 @@
+++
title = "Server admin tasks"
weight = 100
+++
# Server admin tasks
Grafana Server Admins use the **Server Admin** menu to manage user accounts and organizations set up on the Grafana server.
They perform tasks described in the following pages:
- [Manage users as a Server Admin]({{< relref "server-admin-manage-users.md" >}}) - Describes user management tasks that Grafana Server Admins can perform.
- [Manage organizations as a Server Admin]({{< relref "server-admin-manage-orgs.md" >}}) - Describes organization management tasks that Grafana Server Admins can perform.
- [User API]({{< relref "../../http_api/user.md" >}}) - Manage users or change passwords programmatically.
@@ -0,0 +1,94 @@
+++
title = "Manage organization"
weight = 200
+++
# Manage organizations as a Server Admin
This topic explains organization management tasks performed by Grafana Server Admins.
In order to perform any of these tasks, you must be logged in to Grafana on an account with Grafana Server Admin permissions. For more information about Grafana Admin permissions, refer to [Grafana Server Admin role]({{< relref "../../permissions/_index.md#grafana-server-admin-role" >}})
> **Note:** The Grafana Server Admin role does not exist in Grafana Cloud. Grafana Cloud users cannot perform tasks listed in this section.
## View organization list
See a complete list of organizations set up on your Grafana server.
{{< docs/shared "manage-users/view-server-org-list.md" >}}
Grafana displays all organizations set up on the server, listed in alphabetical order by organization name. The following information is displayed:
- **Id -** The ID number of the organization.
- **Name -** The name of the organization.
![Server Admin organization list](/img/docs/manage-users/server-org-list-7-3.png)
## Create organization
Add an organization to your Grafana server.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list.md" >}}
1. Click **+ New org**.
1. Enter the name of the new organization and then click **Create**.
{{< /docs/list >}}
Two things happen:
- Grafana creates a new organization with you as the sole member and Admin.
- Grafana opens the new organization [Preferences tab]({{< relref "../../administration/preferences.md" >}}).
You can now add users or perform other Organization Admin tasks.
## Delete organization
Permanently remove an organization from your Grafana server.
**Warning:** Deleting the organization also deletes all teams and dashboards for this organization.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list.md" >}}
1. Click the red **X** next to the organization that you want to remove.
1. Click **Delete**.
{{< /docs/list >}}
## Edit an organization
Grafana Server Admins can perform some organization management tasks that are almost identical to Organization Admin tasks, just accessed from a different menu path.
![Server admin Edit Organization](/img/docs/manage-users/server-admin-edit-org-7-3.png)
### View organization members and roles
See which user accounts are assigned to the organization and their assigned roles.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list.md" >}}
1. Click the name of the organization for which you want to view members.
1. Scroll down to the Organization Users section. User accounts are displayed in alphabetical order.
{{< /docs/list >}}
### Change organization name
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list-and-edit.md" >}}
1. In the **Name** field, type the new organization name.
1. Click **Update**.
{{< /docs/list >}}
### Change organization member role
Change the organization role assigned to a user account that is assigned to the organization you are editing.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list-and-edit.md" >}}
1. In the Organization Users section, locate the user account that you want to change the role of.
1. In the **Role** field, select the new role that you want to assign.
{{< /docs/list >}}
## Remove a user from an organization
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list-and-edit.md" >}}
1. In the Organization Users section, locate the user account that you want to change the role of.
1. Click the red **X** next to the user account listing and then click **Delete**.
{{< /docs/list >}}
@@ -0,0 +1,224 @@
+++
title = "Manage users"
weight = 100
aliases =["/docs/grafana/latest/manage-users/add-or-remove-user/","/docs/grafana/latest/manage-users/enable-or-disable-user/"]
+++
# Manage users as a Server Admin
This topic explains user management tasks performed by Grafana Server Admins.
In order to perform any of these tasks, you must be logged in to Grafana on an account with Grafana Server Admin permissions. For more information about Grafana Admin permissions, refer to [Grafana Server Admin role]({{< relref "../../permissions/_index.md#grafana-server-admin-role" >}})
> **Note:** The Grafana Server Admin role does not exist in Grafana Cloud. Grafana Cloud users cannot perform tasks listed in this section.
## View the server user account list
See a complete list of users with accounts on your Grafana server.
{{< docs/shared "manage-users/view-server-user-list.md" >}}
Grafana displays all user accounts on the server, listed in alphabetical order by user name. The following information is displayed:
- **Login -** The value in the **Username** field of the account.
- **Email -** The email associated with the user account.
- **Name -** The value in the **Name** field of the account.
- **Seen -** How long ago the user logged in. If they have never logged in, then the default longest time (10y) is displayed.
- **Server Admin status -** If the user account has **Grafana Admin** option set, then a shield icon is displayed.
- **Account status -** If the account is disabled, then the **Disabled** label is displayed.
![Server Admin user list](/img/docs/manage-users/server-user-list-7-3.png "title")
## View user account details
See all details associated with a specific user account.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the user account you wish to view. If necessary, use the search field at the top of the tab to search for the specific user account that you need.
{{< /docs/list >}}
Each user account contains the following sections.
### User information
This section of the account contains basic user information. Users can change values in these fields on their own account.
- **Name**
- **Email**
- **Username**
- **Password**
![Server Admin user information section](/img/docs/manage-users/server-admin-user-information-7-3.png)
### Permissions
This indicates whether the user account has the Grafana Admin flag applied or not. If it is **Yes**, then the user is a Grafana Server Admin.
![Server Admin Permissions section](/img/docs/manage-users/server-admin-permissions-7-3.png)
### Organisations
This section lists the organizations the user account belongs to and the roles they hold within each organization.
![Server Admin Organizations section](/img/docs/manage-users/server-admin-organisations-7-3.png)
### Sessions
See recent sessions that the user was logged on, including when they logged on and information about the system the logged on with. You can force logouts if necessary.
![Server Admin Sessions section](/img/docs/manage-users/server-admin-sessions-7-3.png)
## Add a user account
Create a new user account at the server level.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click **New user**.
1. Enter the following information:
- **Name -** Required.
- **E-mail -** Optional if a **Username** is entered.
- **Username -** Optional if an **E-mail** is entered.
- **Password -** Required.
1. Click **Create user**.
{{< /docs/list >}}
The user can change all this information after they log in. For instructions, refer to [Grafana user account profile]({{< relref "../user-admin/user-profile.md" >}}) and [Change your password]({{< relref "../user-admin/change-your-password.md" >}}).
## Edit a user account
Change information or settings in an individual user account.
### Edit user information
Edit information on an existing user account, including the user name, email, username, and password.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. In the User information section, click **Edit** next to the field that you want to change.
1. Enter the new value and then click **Save**.
{{< /docs/list >}}
### Change the password on a user account
Users can change their own passwords, but Server Admins can change user passwords as well.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. In the User information section, click **Edit** next to the **Password** field.
1. Enter the new value and then click **Save**. Grafana requires a value at least four characters long in this field.
{{< /docs/list >}}
### Delete a user account
Permanently remove a user account from the server.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. Click **Delete User**.
1. Click **Delete user** to confirm the action.
{{< /docs/list >}}
### Enable or disable a user account
Temporarily turn on or off account access, but do not remove the account from the server.
#### Disable user account
Prevent a user from logging in with this account, but do not delete the account. You might disable an account if a colleague goes on sabbatical.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. Click **Disable User**.
1. Click **Disable user** to confirm the action.
{{< /docs/list >}}
#### Enable a user account
Reactivate a disabled user account.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. Click **Enable User**.
{{< /docs/list >}}
## Add/remove Grafana Admin flag
Give or remove the Grafana Server Admin role from a user account.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. In the Permissions section, click **Change**.
1. Click **Yes** or **No**, depending on whether or not you want this user account to have the Grafana Server Admin role.
1. Click **Change**.
{{< /docs/list >}}
The next time this user logs in, their permissions will be updated.
## Add a user to an organization
Add a user account to an existing organization. User accounts can belong to multiple organizations, but each user account must belong to at least one organization.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. In the Organisations section, click **Add user to organisation**.
1. In the **Add to an organization** window, select the **Organisation** that you are adding the user to.
1. Select the **Role** that the user should have in the organization.
1. Click **Add to organisation**.
{{< /docs/list >}}
## Remove a user from an organization
Remove a user account from an organization that it is currently assigned to.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. In the Organisations section, click **Remove from organisation** next to the organization that you want to remove the user from.
1. Click **Confirm removal**.
{{< /docs/list >}}
## Change organization role
Change the organization role assigned to a user account.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. In the Organisations section, click **Change role** next to the organization that you want to change the user role for.
1. Select the new role and then click **Save**.
{{< /docs/list >}}
## View and manage user sessions
See when a user last logged in and information about how they logged in. You can also force the account to log out of Grafana.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. Scroll down to the Sessions section to view sessions associated with this user account.
{{< /docs/list >}}
## Force a user to log out of Grafana
If you suspect a user account is compromised or is no longer authorized to access the Grafana server, then you can force logout the account.
### Force logout of one device
Log the user account out of one specific device that is logged in to Grafana.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. Scroll down to the Sessions section.
1. Click **Force logout** next to the session entry that you want logged out of Grafana.
1. Click **Confirm logout**.
{{< /docs/list >}}
### Force logout of all devices
Log the user account out of all devices that are logged in to Grafana.
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list-search.md" >}}
1. Scroll down to the Sessions section.
1. Click **Force logout from all devices**.
1. Click **Force logout**.
{{< /docs/list >}}
@@ -0,0 +1,10 @@
+++
title = "User account tasks"
weight = 400
+++
# User account tasks
Grafana allows you to manage certain aspects of your user account, including the user name, email, and password.
You can also view important aspects of your account, such as the organizations and roles assigned and the Grafana sessions associated with the account.
@@ -2,12 +2,13 @@
title = "Change your password"
description = "How to change your Grafana password"
keywords = ["grafana", "password", "change", "preferences"]
weight = 100
aliases = ["/docs/grafana/latest/administration/change-your-password/"]
weight = 200
+++
# Change your Grafana password
You can change your password in the Change Password tab.
You can change your Grafana password in the Change Password tab.
> **Note:** If your Grafana instance uses an external authentication provider, then you might not be able to change your password. Contact your Grafana administrator for more information.
@@ -18,11 +19,3 @@ You can change your password in the Change Password tab.
1. Enter your **Old password** to authorize the change.
1. Enter your **New password** and then **Confirm password**.
1. Click **Change Password**.
## Admin user management resources
Grafana admins can use the following tools:
- Use the [User API]({{< relref "../http_api/user.md" >}}) to change your password programmatically or to manage users.
- The [Manage users]({{< relref "../manage-users/_index.md" >}}) section explains how to manage users and teams.
@@ -0,0 +1,12 @@
+++
title = "Switch organization"
description = "Change which organization you are logged in with"
weight = 300
+++
# Change the organization you are signed in to
When you sign in to Grafana, you are always signed in with a particular organization. If you are assigned to multiple organizations, then you might need to switch which organization you are signed in to. For example, if you need to view a dashboard associated with a different org, then you might switch organizations.
1. Hover your cursor over your user icon in the lower left corner of the screen, then click **Switch**.
1. Next to the organization that you want to sign in to, click **Switch to**.
@@ -0,0 +1,42 @@
+++
title = "User account profile"
description = "View and edit your Grafana user profile"
weight = 100
+++
# Grafana user account profile
You can edit and view important information about your Grafana user account, including your assigned organizations, your sessions, and the information associated with your account.
## Edit your profile
Your profile includes your name, user name, and email address.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. In the Edit Profile section, you can edit any of the following:
- **Name -** Edit this field to change the display name associated with your profile.
- **Email -** Edit this field to change the email address associated with your profile.
- **Username -** Edit this field to change your user name.
1. Click **Save**.
## View your assigned organizations
Every user is a member of at least one organization. You can have different roles in every organization that you are a member of.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. Scroll down to the Organizations section.
- **Name -** The name of the organizations you are a member of in that Grafana instance.
- **Role -** The role you are assigned in the organization. Refer to [Organization roles]({{< relref "../../permissions/organization_roles.md" >}}) about permissions assigned to each role.
- **Current -** Grafana tags the organization that you are currently signed in to as _Current_. If you are part of multiple organizations, then you can click **Select** to switch to that organization.
## View your Grafana sessions
Grafana logs your sessions in each Grafana instance. You can review this section if you suspect someone has misused your Grafana credentials.
1. Navigate to the Preferences tab. Hover your cursor over your user icon in the lower left corner of the screen, and then click **Preferences.**
1. Scroll down to the Sessions section. Grafana displays the following:
- **Last seen -** How long ago you logged on.
- **Logged on -** The date you logged on to the current Grafana instance.
- **IP address -** The IP address that you logged on from.
- **Browser & OS -** The web browser and operating system used to log on to Grafana.
- If you are a Grafana Admin for the instance, then you can revoke a session by clicking the red signout icon in the session row.
@@ -17,7 +17,7 @@ For more information about applying these options, refer to:
- [Configure all fields]({{< relref "configure-all-fields.md" >}})
- [Configure specific fields]({{< relref "configure-specific-fields.md" >}})
> **Note:** We are constantly working to add and expand options for all visualization, so all options might not be available for all visualizations.
> **Note:** We are constantly working to add and expand options for all visualization, so all options might not be available for all visualizations.
## Decimals
@@ -19,7 +19,7 @@ To limit the number of lines rendered, you can use the **Max data points** setti
## Log level
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we parse the log to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level. See [supported log levels and mappings of log level abbreviation and expressions]({{< relref "../../explore/index.md#log-level" >}}).
For logs where a **level** label is specified, we use the value of the label to determine the log level and update color accordingly. If the log doesn't have a level label specified, we parse the log to find out if its content matches any of the supported expressions (see below for more information). The log level is always determined by the first match. In case Grafana is not able to determine a log level, it will be visualized with **unknown** log level. See [supported log levels and mappings of log level abbreviation and expressions]({{< relref "../../explore/_index.md#log-level" >}}).
### Display options
@@ -11,6 +11,7 @@ This section explains all available table field options. They are listed in the
Most field options will not affect the visualization until you click outside of the field option box you are editing or press Enter.
For more information about applying these options, refer to:
- [Configure all fields]({{< relref "../../field-options/configure-all-fields.md" >}})
- [Configure specific fields]({{< relref "../../field-options/configure-specific-fields.md" >}})
@@ -0,0 +1,79 @@
+++
title = "Time series panel"
keywords = ["grafana", "graph panel", "time series panel", "documentation", "guide", "graph"]
weight = 1200
+++
# Time series panel
> **Note:** This is a beta feature. Time series panel is going to replace the Graph panel in the future releases.
Time series panel is a robust visualization to plot time series data. It can render as a line, a path of dots, or a series of bars. This type of graph is versatile enough to display almost any time-series data.
For Time series panel examples, refer to the Grafana Play dashboard [New Features in v7.4](https://play.grafana.org/d/nP8rcffGk/new-features-in-v7-4?orgId=1).
## Data and field options
Time series visualizations allow you to apply:
- [Data transformations]({{< relref "../../transformations/_index.md" >}})
- [Field options and overrides]({{< relref "../../field-options/_index.md" >}})
- [Thresholds]({{< relref "../../thresholds.md" >}})
You can also use field options to create different types of graphs or adjust your axes:
- [Graph time series as lines]({{< relref "graph-time-series-as-lines.md" >}})
- [Graph time series as bars]({{< relref "graph-time-series-as-bars.md" >}})
- [Graph time series as points]({{< relref "graph-time-series-as-points.md" >}})
- [Change axis display]({{< relref "change-axis-display.md" >}})
## Display options
> **Note:** You can migrate Graph panel visualizations to Time series visualizations. To migrate, on the Panel tab, click **Time series** visualization. Grafana transfers all applicable settings. (While in beta, migration is still being refined. It will get better as time goes on!)
### Tooltip mode
When you hover your cursor over the graph, Grafana can display tooltips. Choose how tooltips behave.
- **Single -** The hover tooltip shows only a single series, the one that you are hovering over on the graph.
- **All -** The hover tooltip shows all series in the graph. Grafana highlights the series that you are hovering over in bold in the series list in the tooltip.
- **Hidden -** Do not display the tooltip when you interact with the graph.
> **Note:** Use an override to hide individual series from the tooltip.
### Legend mode
Use these settings to refine how the legend appears in your visualization.
- **List -** Displays the legend as a list. This is a default display mode of the legend.
- **Table -** Displays the legend as a table.
- **Hidden -** Hides the legend.
### Legend placement
Choose where to display the legend.
- **Bottom -** Below the graph.
- **Right -** To the right of the graph.
### Legend calculations
Choose which of the [standard calculations]({{< relref "../../calculations-list.md">}}) to show in the legend. You can have more than one.
## Legend options
The Time series legend has additional features.
### Toggle series
Click on the series label in the legend to isolate the series in the visualization. All other series are hidden in the visualization. The data of the hidden series is still accessible.
Cmd/Ctrl+click on the series label to hide the clicked series and remove the toggle.
> **Note:** This option is persistent when you save the dashboard.
This creates a system override that hides the other series. You can view this override in the Overrides tab. If you delete the override, then it removes the toggle.
### Change series color
Click on the series icon (colored line beside the series label) in the legend to change selected series color.
@@ -0,0 +1,86 @@
+++
title = "Change axis display"
keywords = ["grafana", "time series panel", "documentation", "guide", "graph"]
weight = 400
+++
# Change axis display
> **Note:** This is a beta feature. Time series panel is going to replace the Graph panel in the future releases.
This section explains how to use Time series field options to control the display of axes in the visualization and illustrates what the axis options do.
Use the following field settings to refine how your axes display.
For more information about applying these options, refer to:
- [Configure all fields]({{< relref "../../field-options/configure-all-fields.md" >}})
- [Configure specific fields]({{< relref "../../field-options/configure-specific-fields.md" >}})
Some field options will not affect the visualization until you click outside of the field option box you are editing or press Enter.
## Placement
Select the placement of the Y-axis.
### Auto
Grafana automatically assigns Y-axis to the series. When there are two or more series with different units, then Grafana assigns the left axis to the first unit and right to the following units.
### Left
Display all Y-axes on the left side.
![Left Y-axis example](/img/docs/time-series-panel/axis-placement-left-7-4.png)
### Right
Display all Y-axes on the right side.
![Right Y-axis example](/img/docs/time-series-panel/axis-placement-right-7-4.png)
### Hidden
Hide the Y-axes.
![Hidden Y-axis example](/img/docs/time-series-panel/axis-placement-hidden-7-4.png)
## Label
Set a Y-axis text label.
![Label example](/img/docs/time-series-panel/label-example-7-4.png)
If you have more than one Y-axis, then you can give assign different labels in the Override tab.
## Width
Set a fixed width of the axis. By default, Grafana dynamically calculates the width of an axis.
By setting the width of the axis, data whose axes types are different can share the same display proportions. This makes it easier to compare more than one graph’s worth of data because the axes are not shifted or stretched within visual proximity of each other.
## Soft min and soft max
Set a **Soft min** or **soft max** option for better control of Y-axis limits. By default, Grafana sets the range for the Y-axis automatically based on the dataset.
**Soft min** and **soft max** settings can prevent blips from turning into mountains when the data is mostly flat, and hard min or max derived from standard min and max field options can prevent intermittent spikes from flattening useful detail by clipping the spikes past a defined point.
You can set standard min/max options to define hard limits of the Y-axis. For more information, refer to [Standard field options]({{< relref "../../field-options/standard-field-options.md#max" >}}).
![Label example](/img/docs/time-series-panel/axis-soft-min-max-7-4.png)
## Scale
Set the scale to use for the Y-axis values.
### Linear
Use scale divided into equal parts.
### Logarithmic
Use a logarithmic scale. When this option is chosen, a list appears where you can choose binary (base 2) or common (base 10) logarithmic scale.
## Axis examples
For examples, refer to the Grafana Play dashboard [New Features in v7.4](https://play.grafana.org/d/nP8rcffGk/new-features-in-v7-4?orgId=1).
@@ -0,0 +1,142 @@
+++
title = "Graph time series as bars"
keywords = ["grafana", "time series panel", "documentation", "guide", "graph"]
weight = 200
+++
# Graph time series as bars
> **Note:** This is a beta feature. Time series panel is going to replace the Graph panel in the future releases.
This section explains how to use Time series field options to visualize time series data as bars and illustrates what the options do.
## Create the panel
1. [Add a panel](https://grafana.com/docs/grafana/latest/panels/add-a-panel/). Select the [Time series]({{< relref "_index.md" >}}) visualization.
1. In the [Panel editor](https://grafana.com/docs/grafana/latest/panels/panel-editor/), click the **Field** tab.
1. In Style, click **Bars**.
## Style the bars
Use the following field settings to refine your visualization.
For more information about applying these options, refer to:
- [Configure all fields]({{< relref "../../field-options/configure-all-fields.md" >}})
- [Configure specific fields]({{< relref "../../field-options/configure-specific-fields.md" >}})
Some field options will not affect the visualization until you click outside of the field option box you are editing or press Enter.
### Bar alignment
Set the position of the bar relative to a data point. In the examples below, **Show points** is set to **Always** to make it easier to see the difference this setting makes. The points do not change; the bars change in relationship to the points.
#### Before
![Bar alignment before icon](/img/docs/time-series-panel/bar-alignment-icon-before-7-4.png)
The bar is drawn before the point. The point is placed on the trailing corner of the bar.
![Bar alignment before example](/img/docs/time-series-panel/bar-alignment-before-7-4.png)
#### Center
![Bar alignment center icon](/img/docs/time-series-panel/bar-alignment-icon-center-7-4.png)
The bar is drawn around the point. The point is placed in the center of the bar. This is the default.
![Bar alignment center](/img/docs/time-series-panel/bar-alignment-center-7-4.png)
#### After
![Bar alignment after icon](/img/docs/time-series-panel/bar-alignment-icon-after-7-4.png)
The bar is drawn after the point. The point is placed on the leading corner of the bar.
![Bar alignment after](/img/docs/time-series-panel/bar-alignment-after-7-4.png)
### Line width
Set the thickness of the lines bar outlines, from 0 to 10 pixels. **Fill opacity** is set to 10 in the examples below.
Line thickness set to 1:
![Line thickness 1 example](/img/docs/time-series-panel/bar-graph-thickness-1-7-4.png)
Line thickness set to 7:
![Line thickness 7 example](/img/docs/time-series-panel/bar-graph-thickness-7-7-4.png)
### Fill opacity
Set the opacity of the bar fill, from 0 to 100 percent. In the examples below, the **Line width** is set to 1.
Fill opacity set to 20:
![Fill opacity 20 example](/img/docs/time-series-panel/bar-graph-opacity-20-7-4.png)
Fill opacity set to 95:
![Fill opacity 95 example](/img/docs/time-series-panel/bar-graph-opacity-95-7-4.png)
### Gradient mode
Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard [color scheme](https://grafana.com/docs/grafana/latest/panels/field-options/standard-field-options/#color-scheme) field option.
Gradient appearance is influenced by the **Fill opacity** setting. In the screenshots below, **Fill opacity** is set to 50.
#### None
No gradient fill. This is the default setting.
![Gradient mode none example](/img/docs/time-series-panel/bar-graph-gradient-none-7-4.png)
#### Opacity
Transparency of the gradient is calculated based on the values on the y-axis. Opacity of the fill is increasing with the values on the Y-axis.
![Gradient mode opacity example](/img/docs/time-series-panel/bar-graph-gradient-opacity-7-4.png)
#### Hue
Gradient color is generated based on the hue of the line color.
![Gradient mode hue example](/img/docs/time-series-panel/bar-graph-gradient-hue-7-4.png)
### Show points
Choose when the points should be shown on the graph
#### Auto
Grafana automatically decides whether or not to show the points depending on the density of the data. If the density is low, then points are shown.
#### Always
Show the points no matter how dense the data set is. This example uses a **Line width** of 1. If the line width is thicker than the point size, then the line obscures the points.
##### Point size
Set the size of the points, from 1 to 40 pixels in diameter.
Point size set to 6:
![Show points point size 6 example](/img/docs/time-series-panel/bar-graph-show-points-6-7-4.png)
Point size set to 20:
![Show points point size 20 example](/img/docs/time-series-panel/bar-graph-show-points-20-7-4.png)
#### Never
Never show the points.
![Show points point never example](/img/docs/time-series-panel/bar-graph-show-points-never-7-4.png)
## Bar graph examples
Below are some bar graph examples to give you ideas.
### Hue gradient
![Bars with hue gradient example](/img/docs/time-series-panel/bars-with-hue-gradient-7-4.png)
@@ -0,0 +1,232 @@
+++
title = "Graph time series as lines"
keywords = ["grafana", "time series panel", "documentation", "guide", "graph"]
weight = 100
+++
# Graph time series as lines
> **Note:** This is a beta feature. Time series panel is going to replace the Graph panel in the future releases.
This section explains how to use Time series field options to visualize time series data as lines and illustrates what the options do.
## Create the panel
1. [Add a panel](https://grafana.com/docs/grafana/latest/panels/add-a-panel/). Select the [Time series]({{< relref "_index.md" >}}) visualization.
1. In the [Panel editor](https://grafana.com/docs/grafana/latest/panels/panel-editor/), click the **Field** tab.
1. In Style, click **Lines**.
## Style the lines
Use the following field settings to refine your visualization.
For more information about applying these options, refer to:
- [Configure all fields]({{< relref "../../field-options/configure-all-fields.md" >}})
- [Configure specific fields]({{< relref "../../field-options/configure-specific-fields.md" >}})
Some field options will not affect the visualization until you click outside of the field option box you are editing or press Enter.
### Line interpolation
Choose how Grafana interpolates the series line. The screenshots below show the same data displayed with different line interpolations.
#### Linear
![Linear interpolation icon](/img/docs/time-series-panel/interpolation-icon-linear-7-4.png)
Points are joined by straight lines.
![Linear interpolation example](/img/docs/time-series-panel/interpolation-linear-7-4.png)
#### Smooth
![Smooth interpolation icon](/img/docs/time-series-panel/interpolation-icon-smooth-7-4.png)
Points are joined by curved lines resulting in smooth transitions between points.
![Smooth interpolation example](/img/docs/time-series-panel/interpolation-smooth-7-4.png)
#### Step before
![Step before interpolation icon](/img/docs/time-series-panel/interpolation-icon-step-before-7-4.png)
The line is displayed as steps between points. Points are rendered at the end of the step.
![Step before interpolation example](/img/docs/time-series-panel/interpolation-step-before-7-4.png)
#### Step after
![Step after interpolation icon](/img/docs/time-series-panel/interpolation-icon-step-after-7-4.png)
Line is displayed as steps between points. Points are rendered at the beginning of the step.
![Step after interpolation example](/img/docs/time-series-panel/interpolation-step-after-7-4.png)
### Line width
Set the thickness of the series line, from 0 to 10 pixels.
Line thickness set to 1:
![Line thickness 1 example](/img/docs/time-series-panel/line-graph-thickness-1-7-4.png)
Line thickness set to 7:
![Line thickness 7 example](/img/docs/time-series-panel/line-graph-thickness-7-7-4.png)
### Fill opacity
Set the opacity of the series fill, from 0 to 100 percent.
Fill opacity set to 20:
![Fill opacity 20 example](/img/docs/time-series-panel/line-graph-opacity-20-7-4.png)
Fill opacity set to 95:
![Fill opacity 95 example](/img/docs/time-series-panel/line-graph-opacity-95-7-4.png)
### Gradient mode
Set the mode of the gradient fill. Fill gradient is based on the line color. To change the color, use the standard [color scheme](https://grafana.com/docs/grafana/latest/panels/field-options/standard-field-options/#color-scheme) field option.
Gradient appearance is influenced by the **Fill opacity** setting. In the screenshots below, **Fill opacity** is set to 50.
#### None
No gradient fill. This is the default setting.
![Gradient mode none example](/img/docs/time-series-panel/line-graph-gradient-none-7-4.png)
#### Opacity
Transparency of the gradient is calculated based on the values on the y-axis. Opacity of the fill is increasing with the values on the Y-axis.
![Gradient mode opacity example](/img/docs/time-series-panel/line-graph-gradient-opacity-7-4.png)
#### Hue
Gradient color is generated based on the hue of the line color.
![Gradient mode hue example](/img/docs/time-series-panel/line-graph-gradient-hue-7-4.png)
### Line style
Set the style of the line. To change the color, use the standard [color scheme](https://grafana.com/docs/grafana/latest/panels/field-options/standard-field-options/#color-scheme) field option.
Line style appearance is influenced by the **Line width** and **Fill opacity** settings. In the screenshots below, **Line width** is set to 3 and **Fill opacity** is set to 20.
#### Solid
Display solid line. This is the default setting.
![Line style solid example](/img/docs/time-series-panel/line-graph-line-style-solid-7-4.png)
#### Dash
Display a dashed line. When you choose this option, a list appears so that you can select the length and gap (length, gap) for the line dashes.
Dash spacing set to 10, 10 (default):
![Line style dashed 10, 10 example](/img/docs/time-series-panel/line-graph-line-style-dashed-10-10-7-4.png)
Dash spacing set to 10, 30:
![Line style dashed 10, 30 example](/img/docs/time-series-panel/line-graph-line-style-dashed-10-30-7-4.png)
Dash spacing set to 40, 10:
![Line style dashed 40, 10 example](/img/docs/time-series-panel/line-graph-line-style-dashed-40-10-7-4.png)
#### Dots
Display dotted lines. When you choose this option, a list appears so that you can select the gap (length = 0, gap) for the dot spacing.
Dot spacing set to 0, 10 (default):
![Line style dots 0, 10 example](/img/docs/time-series-panel/line-graph-line-style-dots-0-10-7-4.png)
Dot spacing set to 0, 30:
![Line style dots 0, 30 example](/img/docs/time-series-panel/line-graph-line-style-dots-0-30-7-4.png)
### Null values
Choose how null values (gaps in the data) are displayed on the graph.
#### Gaps
If there is a gap in the series, the line in the graph will be broken and show the gap.
![Null values gaps example](/img/docs/time-series-panel/line-graph-null-gaps-7-4.png)
#### Connected
If there is a gap in the series, the line will skip the gap and connect to the next non-null value.
![Null values connected example](/img/docs/time-series-panel/line-graph-null-connected-7-4.png)
### Show points
Choose when the points should be shown on the graph.
#### Auto
Grafana automatically decides whether or not to show the points depending on the density of the data. If the density is low, then points are shown.
#### Always
Show the points no matter how dense the data set is. This example uses a **Line width** of 1 and 50 data points. If the line width is thicker than the point size, then the line obscures the points.
##### Point size
Set the size of the points, from 1 to 40 pixels in diameter.
Point size set to 4:
![Show points point size 4 example](/img/docs/time-series-panel/line-graph-show-points-4-7-4.png)
Point size set to 10:
![Show points point size 10 example](/img/docs/time-series-panel/line-graph-show-points-10-7-4.png)
#### Never
Never show the points.
![Show points point never example](/img/docs/time-series-panel/line-graph-show-points-never-7-4.png)
## Fill below to
This option is only available as in the Overrides tab.
Fill the area between two series. On the Overrides tab:
1. Select the fields to fill below.
1. In **Add override property**, select **Fill below to**.
1. Select the series that you want the fill to stop at.
A-series filled below to B-series:
![Fill below to example](/img/docs/time-series-panel/line-graph-fill-below-to-7-4.png)
## Line graph examples
Below are some line graph examples to give you ideas.
### Various line styles
This is a graph with different line styles and colors applied to each series and zero fill.
![Various line styles example](/img/docs/time-series-panel/various-line-styles-7-4.png)
### Interpolation modes examples
![Interpolation modes example](/img/docs/time-series-panel/interpolation-modes-examples-7-4.png)
### Fill below example
This graph shows three series: Min, Max, and Value. The Min and Max series have **Line width** set to 0. Max has a **Fill below to** override set to Min, which fills the area between Max and Min with the Max line color.
![Fill below example](/img/docs/time-series-panel/fill-below-to-7-4.png)
@@ -0,0 +1,44 @@
+++
title = "Graph time series as points"
keywords = ["grafana", "time series panel", "documentation", "guide", "graph"]
weight = 300
+++
# Graph time series as points
> **Note:** This is a beta feature. Time series panel is going to replace the Graph panel in the future releases.
This section explains how to use Time series field options to visualize time series data as points and illustrates what the options do.
## Create the panel
1. [Add a panel](https://grafana.com/docs/grafana/latest/panels/add-a-panel/). Select the [Time series]({{< relref "_index.md" >}}) visualization.
1. In the [Panel editor](https://grafana.com/docs/grafana/latest/panels/panel-editor/), click the **Field** tab.
1. In Style, click **Points**.
## Style the points
Use the following field settings to refine your visualization.
For more information about applying these options, refer to:
- [Configure all fields]({{< relref "../../field-options/configure-all-fields.md" >}})
- [Configure specific fields]({{< relref "../../field-options/configure-specific-fields.md" >}})
Some field options will not affect the visualization until you click outside of the field option box you are editing or press Enter.
### Point size
Set the size of the points, from 1 to 40 pixels in diameter.
Point size set to 6:
![Show points point size 6 example](/img/docs/time-series-panel/points-graph-show-points-6-7-4.png)
Point size set to 20:
![Show points point size 20 example](/img/docs/time-series-panel/points-graph-show-points-20-7-4.png)
Point size set to 35:
![Show points point size 35 example](/img/docs/time-series-panel/points-graph-show-points-35-7-4.png)
+6 -4
View File
@@ -11,21 +11,21 @@ weight = 50
What you can do in Grafana is defined by the _permissions_ associated with your user account.
There are three types of permissions:
- Permissions granted as a Grafana server admin
- Permissions granted as a Grafana Server Admin
- Permissions associated with your role in an organization
- Permissions granted to a specific folder or dashboard
You can be granted permissions based on:
- Grafana server admin status.
- Grafana Server Admin status.
- Organization role (Admin, Editor, or Viewer).
- Folder or dashboard permissions assigned to your team (Admin, Editor, or Viewer).
- Folder or dashboard permissions assigned to your user account (Admin, Editor, or Viewer).
- (Grafana Enterprise) Data source permissions. For more information, refer to [Data source permissions]({{< relref "../enterprise/datasource_permissions.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
- (Grafana Cloud) Grafana Cloud has additional roles. For more information, refer to [Grafana Cloud roles and permissions](/docs/grafana-cloud/cloud-portal/cloud-roles/).
## Grafana server admin
## Grafana Server Admin role
Grafana server admins have the **Grafana Admin** flag enabled on their account. They can access the **Server Admin** menu and perform the following tasks:
Grafana server administrators have the **Grafana Admin** flag enabled on their account. They can access the **Server Admin** menu and perform the following tasks:
- Manage users and permissions.
- Create, edit, and delete organizations.
@@ -33,6 +33,8 @@ Grafana server admins have the **Grafana Admin** flag enabled on their account.
- View Grafana server stats, including total users and active sessions.
- Upgrade the server to Grafana Enterprise.
> **Note:** This role does not exist in Grafana Cloud.
## Organization roles
Users can belong to one or more organizations. A user's organization membership is tied to a role that defines what the user is allowed to do in that organization. For more information, refer to [Organization roles]({{< relref "../permissions/organization_roles.md" >}}).
+1
View File
@@ -8,6 +8,7 @@ weight = 10000
Here you can find detailed release notes that list everything that is included in every release as well as notices
about deprecations, breaking changes as well as changes that relate to plugin development.
- [Release notes for 7.4.0]({{< relref "release-notes-7-4-0" >}})
- [Release notes for 7.3.7]({{< relref "release-notes-7-3-7" >}})
- [Release notes for 7.3.6]({{< relref "release-notes-7-3-6" >}})
- [Release notes for 7.3.5]({{< relref "release-notes-7-3-5" >}})
@@ -1,147 +0,0 @@
+++
title = "Release notes for Grafana 7.4.0-beta1"
[_build]
list = false
+++
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 7.4.0-beta1
### Features and enhancements
* **API**: Add ID to snapshot API responses. [#29600](https://github.com/grafana/grafana/pull/29600), [@AgnesToulet](https://github.com/AgnesToulet)
* **AlertListPanel**: Add options to sort by Time(asc) and Time(desc). [#29764](https://github.com/grafana/grafana/pull/29764), [@dboslee](https://github.com/dboslee)
* **AlertListPanel**: Changed alert url to to go the panel view instead of panel edit. [#29060](https://github.com/grafana/grafana/pull/29060), [@zakiharis](https://github.com/zakiharis)
* **Alerting**: Add support for Sensu Go notification channel. [#28012](https://github.com/grafana/grafana/pull/28012), [@nixwiz](https://github.com/nixwiz)
* **Alerting**: Add support for alert notification query label interpolation. [#29908](https://github.com/grafana/grafana/pull/29908), [@wbrowne](https://github.com/wbrowne)
* **Annotations**: Remove annotation_tag entries as part of annotations cleanup. [#29534](https://github.com/grafana/grafana/pull/29534), [@dafydd-t](https://github.com/dafydd-t)
* **Azure Monitor**: Add Microsoft.Network/natGateways. [#29479](https://github.com/grafana/grafana/pull/29479), [@JoeyLemur](https://github.com/JoeyLemur)
* **Backend plugins**: Support Forward OAuth Identity for backend data source plugins. [#27055](https://github.com/grafana/grafana/pull/27055), [@billoley](https://github.com/billoley)
* **Cloud Monitoring**: MQL support. [#26551](https://github.com/grafana/grafana/pull/26551), [@mtanda](https://github.com/mtanda)
* **CloudWatch**: Add 'EventBusName' dimension to CloudWatch 'AWS/Events' namespace. [#28402](https://github.com/grafana/grafana/pull/28402), [@tomdaly](https://github.com/tomdaly)
* **CloudWatch**: Add support for AWS DirectConnect ConnectionErrorCount metric. [#29583](https://github.com/grafana/grafana/pull/29583), [@haeringer](https://github.com/haeringer)
* **CloudWatch**: Add support for AWS/ClientVPN metrics and dimensions. [#29055](https://github.com/grafana/grafana/pull/29055), [@marefr](https://github.com/marefr)
* **CloudWatch**: Added HTTP API Gateway specific metrics and dimensions. [#28780](https://github.com/grafana/grafana/pull/28780), [@karlatkinson](https://github.com/karlatkinson)
* **Configuration**: Add an option to hide certain users in the UI. [#28942](https://github.com/grafana/grafana/pull/28942), [@AgnesToulet](https://github.com/AgnesToulet)
* **Currency**: Adds Indonesian IDR currency. [#28363](https://github.com/grafana/grafana/pull/28363), [@hiddenrebel](https://github.com/hiddenrebel)
* **Dashboards**: Delete related data (permissions, stars, tags, versions, annotations) when deleting a dashboard or a folder. [#28826](https://github.com/grafana/grafana/pull/28826), [@AgnesToulet](https://github.com/AgnesToulet)
* **Dependencies**: Update angularjs to 1.8.2. [#28736](https://github.com/grafana/grafana/pull/28736), [@torkelo](https://github.com/torkelo)
* **Docker**: Use root group in the custom Dockerfile. [#28639](https://github.com/grafana/grafana/pull/28639), [@chugunov](https://github.com/chugunov)
* **Elasticsearch**: Add Moving Function Pipeline Aggregation. [#28131](https://github.com/grafana/grafana/pull/28131), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: Add Support for Serial Differencing Pipeline Aggregation. [#28618](https://github.com/grafana/grafana/pull/28618), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: Deprecate browser access mode. [#29649](https://github.com/grafana/grafana/pull/29649), [@Elfo404](https://github.com/Elfo404)
* **Elasticsearch**: Interpolate variables in Filters Bucket Aggregation. [#28969](https://github.com/grafana/grafana/pull/28969), [@Elfo404](https://github.com/Elfo404)
* **Elasticsearch**: Support extended stats and percentiles in terms order by. [#28910](https://github.com/grafana/grafana/pull/28910), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: View in context feature for logs. [#28764](https://github.com/grafana/grafana/pull/28764), [@simianhacker](https://github.com/simianhacker)
* **Explore/Logs**: Alphabetically sort unique labels, labels and parsed fields. [#29030](https://github.com/grafana/grafana/pull/29030), [@ivanahuckova](https://github.com/ivanahuckova)
* **Explore/Logs**: Update Parsed fields to Detected fields. [#28881](https://github.com/grafana/grafana/pull/28881), [@ivanahuckova](https://github.com/ivanahuckova)
* **Field overrides**: Added matcher to match all fields returned by a specific query. [#28872](https://github.com/grafana/grafana/pull/28872), [@mckn](https://github.com/mckn)
* **Graph**: Add support for spline interpolation (smoothing) added in new time series panel. [#4303](https://github.com/grafana/grafana/issues/4303)
* **Instrumentation**: Add histograms for database queries. [#29662](https://github.com/grafana/grafana/pull/29662), [@dafydd-t](https://github.com/dafydd-t)
* **Jaeger**: Remove browser access mode. [#30349](https://github.com/grafana/grafana/pull/30349), [@zoltanbedi](https://github.com/zoltanbedi)
* **LogsPanel**: Don't show scroll bars when not needed. [#28972](https://github.com/grafana/grafana/pull/28972), [@aocenas](https://github.com/aocenas)
* **Loki**: Add query type and line limit to query editor in dashboard. [#29356](https://github.com/grafana/grafana/pull/29356), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Add query type selector to query editor in Explore. [#28817](https://github.com/grafana/grafana/pull/28817), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Retry web socket connection when connection is closed abnormally. [#29438](https://github.com/grafana/grafana/pull/29438), [@ivanahuckova](https://github.com/ivanahuckova)
* **MS SQL**: Integrated security. [#30369](https://github.com/grafana/grafana/pull/30369), [@daniellee](https://github.com/daniellee)
* **Middleware**: Add CSP support. [#29740](https://github.com/grafana/grafana/pull/29740), [@aknuds1](https://github.com/aknuds1)
* **OAuth**: Configurable user name attribute. [#28286](https://github.com/grafana/grafana/pull/28286), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **PanelEditor**: Render panel field config categories as separate option group sections. [#30301](https://github.com/grafana/grafana/pull/30301), [@dprokop](https://github.com/dprokop)
* **Postgres**: SSL certification. [#30352](https://github.com/grafana/grafana/pull/30352), [@ying-jeanne](https://github.com/ying-jeanne)
* **Prometheus**: Add support for Exemplars. [#28057](https://github.com/grafana/grafana/pull/28057), [@zoltanbedi](https://github.com/zoltanbedi)
* **Prometheus**: Improve autocomplete performance and remove disabling of dynamic label lookup. [#30199](https://github.com/grafana/grafana/pull/30199), [@ivanahuckova](https://github.com/ivanahuckova)
* **Prometheus**: Update default query type option to "Both" in Explore query editor. [#28935](https://github.com/grafana/grafana/pull/28935), [@ivanahuckova](https://github.com/ivanahuckova)
* **Prometheus**: Use customQueryParameters for all queries. [#28949](https://github.com/grafana/grafana/pull/28949), [@alexbumbacea](https://github.com/alexbumbacea)
* **Security**: Prefer server cipher suites for http2. [#29379](https://github.com/grafana/grafana/pull/29379), [@bergquist](https://github.com/bergquist)
* **Security**: Remove insecure cipher suit as default option. [#29378](https://github.com/grafana/grafana/pull/29378), [@bergquist](https://github.com/bergquist)
* **StatPanels**: Add new calculation option for percentage difference. [#26369](https://github.com/grafana/grafana/pull/26369), [@jedstar](https://github.com/jedstar)
* **StatPanels**: Change default stats option to "Last (not null)". [#28617](https://github.com/grafana/grafana/pull/28617), [@ryantxu](https://github.com/ryantxu)
* **Table**: migrate old-table config to new table config. [#30142](https://github.com/grafana/grafana/pull/30142), [@jackw](https://github.com/jackw)
* **Templating**: Custom variable edit UI, change options input into textarea. [#28322](https://github.com/grafana/grafana/pull/28322), [@darrylsepeda](https://github.com/darrylsepeda)
* **TimeSeriesPanel**: The new graph panel now supports y-axis value mapping. [#30272](https://github.com/grafana/grafana/pull/30272), [@torkelo](https://github.com/torkelo)
* **Tracing**: Tag spans with user login and datasource name instead of id. [#29183](https://github.com/grafana/grafana/pull/29183), [@bergquist](https://github.com/bergquist)
* **Transformations**: Add "Rename By Regex" transformer. [#29281](https://github.com/grafana/grafana/pull/29281), [@simianhacker](https://github.com/simianhacker)
* **Transformations**: Added new transform for excluding and including rows based on their values. [#26884](https://github.com/grafana/grafana/pull/26884), [@Totalus](https://github.com/Totalus)
* **Transforms**: Add sort by transformer. [#30370](https://github.com/grafana/grafana/pull/30370), [@ryantxu](https://github.com/ryantxu)
* **Variables**: Add deprecation warning for value group tags. [#30160](https://github.com/grafana/grafana/pull/30160), [@torkelo](https://github.com/torkelo)
* **Variables**: Added __user.email to global variable. [#28853](https://github.com/grafana/grafana/pull/28853), [@mckn](https://github.com/mckn)
* **Variables**: Adds description field. [#29332](https://github.com/grafana/grafana/pull/29332), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Adds variables inspection. [#25214](https://github.com/grafana/grafana/pull/25214), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: New Variables are stored immediately. [#29178](https://github.com/grafana/grafana/pull/29178), [@hugohaggmark](https://github.com/hugohaggmark)
* **Zipkin**: Remove browser access mode. [#30360](https://github.com/grafana/grafana/pull/30360), [@zoltanbedi](https://github.com/zoltanbedi)
### Bug fixes
* **API**: Query database from /api/health endpoint. [#28349](https://github.com/grafana/grafana/pull/28349), [@ceh](https://github.com/ceh)
* **Alerting**: Return proper status code when trying to create alert notification channel with duplicate name or uid. [#28043](https://github.com/grafana/grafana/pull/28043), [@jgulick48](https://github.com/jgulick48)
* **Auth**: Fix default maximum lifetime an authenticated user can be logged in. [#30030](https://github.com/grafana/grafana/pull/30030), [@papagian](https://github.com/papagian)
* **Backend**: Fix IPv6 address parsing erroneous. [#28585](https://github.com/grafana/grafana/pull/28585), [@taciomcosta](https://github.com/taciomcosta)
* **CloudWatch**: Make sure stats grow horizontally and not vertically in the Query Editor. [#30106](https://github.com/grafana/grafana/pull/30106), [@sunker](https://github.com/sunker)
* **Cloudwatch**: Fix issue with field calculation transform not working properly with Cloudwatch data. [#28761](https://github.com/grafana/grafana/pull/28761), [@torkelo](https://github.com/torkelo)
* **Dashboards**: Hide playlist edit functionality from viewers and snapshots link from unauthenticated users. [#28992](https://github.com/grafana/grafana/pull/28992), [@jackw](https://github.com/jackw)
* **Data source proxy**: Convert 401 HTTP status code from data source to 400. [#28962](https://github.com/grafana/grafana/pull/28962), [@aknuds1](https://github.com/aknuds1)
* **Decimals**: Improving auto decimals logic for high numbers and scaled units. [#30262](https://github.com/grafana/grafana/pull/30262), [@torkelo](https://github.com/torkelo)
* **Elasticsearch**: Fix date histogram auto interval handling for alert queries. [#30049](https://github.com/grafana/grafana/pull/30049), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: Fix index pattern not working with multiple base sections. [#28348](https://github.com/grafana/grafana/pull/28348), [@tomdaly](https://github.com/tomdaly)
* **Explore**: Clear errors after running a new query. [#30367](https://github.com/grafana/grafana/pull/30367), [@ivanahuckova](https://github.com/ivanahuckova)
* **Graph**: Fixes stacking issues like floating bars when data is not aligned. [#29051](https://github.com/grafana/grafana/pull/29051), [@torkelo](https://github.com/torkelo)
* **Graph**: Staircase and null value=null calculates auto Y-Min incorrectly (fixed in new Time series panel). [#12995](https://github.com/grafana/grafana/issues/12995)
* **Graph**: Staircase mode, do now draw line segment from zero when drawing null values as null (Fixed in new Time series panel). [#17838](https://github.com/grafana/grafana/issues/17838)
* **Image uploader**: Fix uploading of images to GCS. [#26493](https://github.com/grafana/grafana/pull/26493), [@gastonqiu](https://github.com/gastonqiu)
* **Influx**: Fixes issue with many queries being issued as you type in the variable query field. [#29968](https://github.com/grafana/grafana/pull/29968), [@dprokop](https://github.com/dprokop)
* **Logs Panel**: Fix inconsistent highlighting. [#28971](https://github.com/grafana/grafana/pull/28971), [@ivanahuckova](https://github.com/ivanahuckova)
* **Logs Panel**: Fixes problem dragging scrollbar inside logs panel. [#28974](https://github.com/grafana/grafana/pull/28974), [@aocenas](https://github.com/aocenas)
* **Loki**: Fix hiding of series in table if labels have number values. [#30185](https://github.com/grafana/grafana/pull/30185), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Lower min step to 1ms. [#30135](https://github.com/grafana/grafana/pull/30135), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Remove showing of unique labels with the empty string value. [#30363](https://github.com/grafana/grafana/pull/30363), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Timeseries should not produce 0-values for missing data. [#30116](https://github.com/grafana/grafana/pull/30116), [@davkal](https://github.com/davkal)
* **Plugins**: Fix panic when using complex dynamic URLs in app plugin routes. [#27977](https://github.com/grafana/grafana/pull/27977), [@cinaglia](https://github.com/cinaglia)
* **Prometheus**: Fix link to Prometheus graph in dashboard. [#29543](https://github.com/grafana/grafana/pull/29543), [@ivanahuckova](https://github.com/ivanahuckova)
* **Provisioning**: Build paths in an os independent way. [#29143](https://github.com/grafana/grafana/pull/29143), [@amattheisen](https://github.com/amattheisen)
* **Provisioning**: Fixed problem with getting started panel being added to custom home dashboard. [#28750](https://github.com/grafana/grafana/pull/28750), [@torkelo](https://github.com/torkelo)
* **SAML**: Fixes bug in processing SAML response with empty <Issuer> element by updating saml library (Enterprise). [#29991](https://github.com/grafana/grafana/pull/29991), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **SQL**: Define primary key for tables without it. [#22255](https://github.com/grafana/grafana/pull/22255), [@azhiltsov](https://github.com/azhiltsov)
* **Tracing**: Fix issue showing more than 300 spans. [#29377](https://github.com/grafana/grafana/pull/29377), [@zoltanbedi](https://github.com/zoltanbedi)
* **Units**: Changes FLOP/s to FLOPS and some other rates per second units get /s suffix. [#28825](https://github.com/grafana/grafana/pull/28825), [@Berbe](https://github.com/Berbe)
* **Variables**: Fixes Constant variable persistence confusion. [#29407](https://github.com/grafana/grafana/pull/29407), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes Textbox current value persistence. [#29481](https://github.com/grafana/grafana/pull/29481), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes loading with a custom all value in url. [#28958](https://github.com/grafana/grafana/pull/28958), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes so clicking on Selected in drop down will exclude All value from selection. [#29844](https://github.com/grafana/grafana/pull/29844), [@hugohaggmark](https://github.com/hugohaggmark)
### Breaking changes
#### Constant variables
In order to minimize the confusion with Constant variable usage, we've removed the ability to make Constant variables visible. This change will also migrate __`all`__ existing __`visible`__ Constant variables to Textbox variables because which we think this is a more appropriate type of variable for this use case.
Issue [#29407](https://github.com/grafana/grafana/issues/29407)
#### Plugin compatibility
We have upgraded AngularJS from version 1.6.6 to 1.8.2. Due to this upgrade some old angular plugins might stop working and will require a small update. This is due to the deprecation and removal of pre-assigned bindings. So if your custom angular controllers expect component bindings in the controller constructor you need to move this code to an `$onInit` function. For more details on how to migrate AngularJS code open the [migration guide](https://docs.angularjs.org/guide/migration) and search for **pre-assigning bindings**.
In order not to break all angular panel plugins and data sources we have some custom [angular inject behavior](https://github.com/grafana/grafana/blob/master/public/app/core/injectorMonkeyPatch.ts) that makes sure that bindings for these controllers are still set before constructor is called so many old angular panels and data source plugins will still work. Issue [#28736](https://github.com/grafana/grafana/issues/28736)
### Deprecations
#### Query variable value group tags
This option to group query variable values into groups by tags has been an experimental feature since it was introduced. It was introduced to work around the lack of tags support in time series databases at the time. Now that tags (ie. labels) are the norm there is no longer any great need for this feature. This feature will be removed in Grafana v8 later this year. Issue [#30160](https://github.com/grafana/grafana/issues/30160)
### Plugin development fixes & changes
* **FieldConfig API**: Add ability to hide field option or disable it from the overrides. [#29879](https://github.com/grafana/grafana/pull/29879), [@dprokop](https://github.com/dprokop)
* **Select**: Changes default menu placement for Select from auto to bottom. [#29837](https://github.com/grafana/grafana/pull/29837), [@hugohaggmark](https://github.com/hugohaggmark)
* **Collapse**: Allow component children to use height: 100% styling. [#29776](https://github.com/grafana/grafana/pull/29776), [@aocenas](https://github.com/aocenas)
* **DataSourceWithBackend**: Throw error if health check fails in DataSourceWithBackend. [#29743](https://github.com/grafana/grafana/pull/29743), [@aocenas](https://github.com/aocenas)
* **NodeGraph**: Add node graph visualization. [#29706](https://github.com/grafana/grafana/pull/29706), [@aocenas](https://github.com/aocenas)
* **FieldColor**: Handling color changes when switching panel types. [#28875](https://github.com/grafana/grafana/pull/28875), [@dprokop](https://github.com/dprokop)
* **CodeEditor**: Added support for javascript language. [#28818](https://github.com/grafana/grafana/pull/28818), [@ae3e](https://github.com/ae3e)
* **grafana/toolkit**: Allow builds with lint warnings. [#28810](https://github.com/grafana/grafana/pull/28810), [@dprokop](https://github.com/dprokop)
* **grafana/toolkit**: Drop console and debugger statements by default when building plugin. [#28776](https://github.com/grafana/grafana/pull/28776), [@dprokop](https://github.com/dprokop)
* **Card**: Add new Card component. [#28216](https://github.com/grafana/grafana/pull/28216), [@Clarity-89](https://github.com/Clarity-89)
* **FieldConfig**: Implementation slider editor (#27592). [#28007](https://github.com/grafana/grafana/pull/28007), [@isaozlerfm](https://github.com/isaozlerfm)
* **MutableDataFrame**: Remove unique field name constraint and values field index and unused/seldom used stuff. [#27573](https://github.com/grafana/grafana/pull/27573), [@torkelo](https://github.com/torkelo)
+167 -129
View File
@@ -6,142 +6,180 @@ list = false
<!-- Auto generated by update changelog github action -->
# Release notes for Grafana 7.4.0-beta1
# Release notes for Grafana 7.4.0
### Features and enhancements
* ** MSSQL**: Integrated security. [#30369](https://github.com/grafana/grafana/pull/30369), [@daniellee](https://github.com/daniellee)
* **API**: Add ID to snapshot API responses. [#29600](https://github.com/grafana/grafana/pull/29600), [@AgnesToulet](https://github.com/AgnesToulet)
* **AlertListPanel**: Add options to sort by Time(asc) and Time(desc). [#29764](https://github.com/grafana/grafana/pull/29764), [@dboslee](https://github.com/dboslee)
* **AlertListPanel**: Changed alert url to to go the panel view instead of panel edit. [#29060](https://github.com/grafana/grafana/pull/29060), [@zakiharis](https://github.com/zakiharis)
* **Alerting**: Add support for Sensu Go notification channel. [#28012](https://github.com/grafana/grafana/pull/28012), [@nixwiz](https://github.com/nixwiz)
* **Alerting**: Evaluate data templating in alert rule name and message. [#29908](https://github.com/grafana/grafana/pull/29908), [@wbrowne](https://github.com/wbrowne)
* **Annotations**: Remove annotation_tag entries as part of annotations cleanup. [#29534](https://github.com/grafana/grafana/pull/29534), [@dafydd-t](https://github.com/dafydd-t)
* **Azure Monitor**: Add Microsoft.Network/natGateways. [#29479](https://github.com/grafana/grafana/pull/29479), [@JoeyLemur](https://github.com/JoeyLemur)
* **Backend plugins**: Support Forward OAuth Identity for backend data source plugins. [#27055](https://github.com/grafana/grafana/pull/27055), [@billoley](https://github.com/billoley)
* **Cloud Monitoring**: MQL support. [#26551](https://github.com/grafana/grafana/pull/26551), [@mtanda](https://github.com/mtanda)
* **CloudWatch**: Add 'EventBusName' dimension to CloudWatch 'AWS/Events' namespace. [#28402](https://github.com/grafana/grafana/pull/28402), [@tomdaly](https://github.com/tomdaly)
* **CloudWatch**: Add support for AWS DirectConnect ConnectionErrorCount metric. [#29583](https://github.com/grafana/grafana/pull/29583), [@haeringer](https://github.com/haeringer)
* **CloudWatch**: Add support for AWS/ClientVPN metrics and dimensions. [#29055](https://github.com/grafana/grafana/pull/29055), [@marefr](https://github.com/marefr)
* **CloudWatch**: Added HTTP API Gateway specific metrics and dimensions. [#28780](https://github.com/grafana/grafana/pull/28780), [@karlatkinson](https://github.com/karlatkinson)
* **Configuration**: Add an option to hide certain users in the UI. [#28942](https://github.com/grafana/grafana/pull/28942), [@AgnesToulet](https://github.com/AgnesToulet)
* **Currency**: Adds Indonesian IDR currency. [#28363](https://github.com/grafana/grafana/pull/28363), [@hiddenrebel](https://github.com/hiddenrebel)
* **Dashboards**: Delete related data (permissions, stars, tags, versions, annotations) when deleting a dashboard or a folder. [#28826](https://github.com/grafana/grafana/pull/28826), [@AgnesToulet](https://github.com/AgnesToulet)
* **Dependencies**: Update angularjs to 1.8.2. [#28736](https://github.com/grafana/grafana/pull/28736), [@torkelo](https://github.com/torkelo)
* **Docker**: Use root group in the custom Dockerfile. [#28639](https://github.com/grafana/grafana/pull/28639), [@chugunov](https://github.com/chugunov)
* **Elasticsearch**: Add Moving Function Pipeline Aggregation. [#28131](https://github.com/grafana/grafana/pull/28131), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: Add Support for Serial Differencing Pipeline Aggregation. [#28618](https://github.com/grafana/grafana/pull/28618), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: Deprecate browser access mode. [#29649](https://github.com/grafana/grafana/pull/29649), [@Elfo404](https://github.com/Elfo404)
* **Elasticsearch**: Interpolate variables in Filters Bucket Aggregation. [#28969](https://github.com/grafana/grafana/pull/28969), [@Elfo404](https://github.com/Elfo404)
* **Elasticsearch**: Support extended stats and percentiles in terms order by. [#28910](https://github.com/grafana/grafana/pull/28910), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: View in context feature for logs. [#28764](https://github.com/grafana/grafana/pull/28764), [@simianhacker](https://github.com/simianhacker)
* **Explore/Logs**: Alphabetically sort unique labels, labels and parsed fields. [#29030](https://github.com/grafana/grafana/pull/29030), [@ivanahuckova](https://github.com/ivanahuckova)
* **Explore/Logs**: Update Parsed fields to Detected fields. [#28881](https://github.com/grafana/grafana/pull/28881), [@ivanahuckova](https://github.com/ivanahuckova)
* **Field overrides**: Added matcher to match all fields returned by a specific query. [#28872](https://github.com/grafana/grafana/pull/28872), [@mckn](https://github.com/mckn)
* **Graph**: Add support for spline interpolation (smoothing) added in new time series panel. [#4303](https://github.com/grafana/grafana/issues/4303)
* **Instrumentation**: Add histograms for database queries. [#29662](https://github.com/grafana/grafana/pull/29662), [@dafydd-t](https://github.com/dafydd-t)
* **Jaeger**: Remove browser access mode. [#30349](https://github.com/grafana/grafana/pull/30349), [@zoltanbedi](https://github.com/zoltanbedi)
* **LogsPanel**: Don't show scroll bars when not needed. [#28972](https://github.com/grafana/grafana/pull/28972), [@aocenas](https://github.com/aocenas)
* **Loki**: Add query type and line limit to query editor in dashboard. [#29356](https://github.com/grafana/grafana/pull/29356), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Add query type selector to query editor in Explore. [#28817](https://github.com/grafana/grafana/pull/28817), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Retry web socket connection when connection is closed abnormally. [#29438](https://github.com/grafana/grafana/pull/29438), [@ivanahuckova](https://github.com/ivanahuckova)
* **Middleware**: Add CSP support. [#29740](https://github.com/grafana/grafana/pull/29740), [@aknuds1](https://github.com/aknuds1)
* **OAuth**: Configurable user name attribute. [#28286](https://github.com/grafana/grafana/pull/28286), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **PanelEditor**: Render panel field config categories as separate option group sections. [#30301](https://github.com/grafana/grafana/pull/30301), [@dprokop](https://github.com/dprokop)
* **Prometheus**: Add support for Exemplars. [#28057](https://github.com/grafana/grafana/pull/28057), [@zoltanbedi](https://github.com/zoltanbedi)
* **Prometheus**: Improve autocomplete performance and remove disabling of dynamic label lookup. [#30199](https://github.com/grafana/grafana/pull/30199), [@ivanahuckova](https://github.com/ivanahuckova)
* **Prometheus**: Update default query type option to "Both" in Explore query editor. [#28935](https://github.com/grafana/grafana/pull/28935), [@ivanahuckova](https://github.com/ivanahuckova)
* **Prometheus**: Use customQueryParameters for all queries. [#28949](https://github.com/grafana/grafana/pull/28949), [@alexbumbacea](https://github.com/alexbumbacea)
* **Security**: Prefer server cipher suites for http2. [#29379](https://github.com/grafana/grafana/pull/29379), [@bergquist](https://github.com/bergquist)
* **Security**: Remove insecure cipher suit as default option. [#29378](https://github.com/grafana/grafana/pull/29378), [@bergquist](https://github.com/bergquist)
* **StatPanels**: Add new calculation option for percentage difference. [#26369](https://github.com/grafana/grafana/pull/26369), [@jedstar](https://github.com/jedstar)
* **StatPanels**: Change default stats option to "Last (not null)". [#28617](https://github.com/grafana/grafana/pull/28617), [@ryantxu](https://github.com/ryantxu)
* **Table**: migrate old-table config to new table config. [#30142](https://github.com/grafana/grafana/pull/30142), [@jackw](https://github.com/jackw)
* **Templating**: Custom variable edit UI, change options input into textarea. [#28322](https://github.com/grafana/grafana/pull/28322), [@darrylsepeda](https://github.com/darrylsepeda)
* **TimeSeriesPanel**: The new graph panel now supports y-axis value mapping. [#30272](https://github.com/grafana/grafana/pull/30272), [@torkelo](https://github.com/torkelo)
* **Tracing**: Tag spans with user login and datasource name instead of id. [#29183](https://github.com/grafana/grafana/pull/29183), [@bergquist](https://github.com/bergquist)
* **Transformations**: Added new transform for excluding and including rows based on their values. [#26884](https://github.com/grafana/grafana/pull/26884), [@Totalus](https://github.com/Totalus)
* **Transforms**: Add sort by transformer. [#30370](https://github.com/grafana/grafana/pull/30370), [@ryantxu](https://github.com/ryantxu)
* **Variables**: Add deprecation warning for value group tags. [#30160](https://github.com/grafana/grafana/pull/30160), [@torkelo](https://github.com/torkelo)
* **Variables**: Added __user.email to global variable. [#28853](https://github.com/grafana/grafana/pull/28853), [@mckn](https://github.com/mckn)
* **Variables**: Adds description field. [#29332](https://github.com/grafana/grafana/pull/29332), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Adds variables inspection. [#25214](https://github.com/grafana/grafana/pull/25214), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: New Variables are stored immediately. [#29178](https://github.com/grafana/grafana/pull/29178), [@hugohaggmark](https://github.com/hugohaggmark)
* **Zipkin**: Remove browser access mode. [#30360](https://github.com/grafana/grafana/pull/30360), [@zoltanbedi](https://github.com/zoltanbedi)
* **postgres SSL certification**. [#30352](https://github.com/grafana/grafana/pull/30352), [@ying-jeanne](https://github.com/ying-jeanne)
- **CDN**: Adds support for serving assets over a CDN. [#30691](https://github.com/grafana/grafana/pull/30691), [@torkelo](https://github.com/torkelo)
- **DashboardLinks**: Support variable expression in to tooltip - Issue #30409. [#30569](https://github.com/grafana/grafana/pull/30569), [@huynhsamha](https://github.com/huynhsamha)
- **Explore**: Set Explore's GraphNG to be connected. [#30707](https://github.com/grafana/grafana/pull/30707), [@ivanahuckova](https://github.com/ivanahuckova)
- **InfluxDB**: Add http configuration when selecting InfluxDB v2 flavor. [#30827](https://github.com/grafana/grafana/pull/30827), [@aocenas](https://github.com/aocenas)
- **InfluxDB**: Show all datapoints for dynamically windowed flux query. [#30688](https://github.com/grafana/grafana/pull/30688), [@davkal](https://github.com/davkal)
- **Loki**: Improve live tailing errors. [#30517](https://github.com/grafana/grafana/pull/30517), [@ivanahuckova](https://github.com/ivanahuckova)
### Bug fixes
* **API**: Query database from /api/health endpoint. [#28349](https://github.com/grafana/grafana/pull/28349), [@ceh](https://github.com/ceh)
* **Alerting**: Return proper status code when trying to create alert notification channel with duplicate name or uid. [#28043](https://github.com/grafana/grafana/pull/28043), [@jgulick48](https://github.com/jgulick48)
* **Auth**: Fix default maximum lifetime an authenticated user can be logged in. [#30030](https://github.com/grafana/grafana/pull/30030), [@papagian](https://github.com/papagian)
* **Backend**: Fix IPv6 address parsing erroneous. [#28585](https://github.com/grafana/grafana/pull/28585), [@taciomcosta](https://github.com/taciomcosta)
* **CloudWatch**: Make sure stats grow horizontally and not vertically in the Query Editor. [#30106](https://github.com/grafana/grafana/pull/30106), [@sunker](https://github.com/sunker)
* **Cloudwatch**: Fix issue with field calculation transform not working properly with Cloudwatch data. [#28761](https://github.com/grafana/grafana/pull/28761), [@torkelo](https://github.com/torkelo)
* **Dashboards**: Hide playlist edit functionality from viewers and snapshots link from unauthenticated users. [#28992](https://github.com/grafana/grafana/pull/28992), [@jackw](https://github.com/jackw)
* **Data source proxy**: Convert 401 HTTP status code from data source to 400. [#28962](https://github.com/grafana/grafana/pull/28962), [@aknuds1](https://github.com/aknuds1)
* **Decimals**: Improving auto decimals logic for high numbers and scaled units. [#30262](https://github.com/grafana/grafana/pull/30262), [@torkelo](https://github.com/torkelo)
* **Elasticsearch**: Fix date histogram auto interval handling for alert queries. [#30049](https://github.com/grafana/grafana/pull/30049), [@simianhacker](https://github.com/simianhacker)
* **Elasticsearch**: Fix index pattern not working with multiple base sections. [#28348](https://github.com/grafana/grafana/pull/28348), [@tomdaly](https://github.com/tomdaly)
* **Explore**: Clear errors after running a new query. [#30367](https://github.com/grafana/grafana/pull/30367), [@ivanahuckova](https://github.com/ivanahuckova)
* **Graph**: Fixes stacking issues like floating bars when data is not aligned. [#29051](https://github.com/grafana/grafana/pull/29051), [@torkelo](https://github.com/torkelo)
* **Graph**: Staircase and null value=null calculates auto Y-Min incorrectly (fixed in new Time series panel). [#12995](https://github.com/grafana/grafana/issues/12995)
* **Graph**: Staircase mode, do now draw line segment from zero when drawing null values as null (Fixed in new Time series panel). [#17838](https://github.com/grafana/grafana/issues/17838)
* **Image uploader**: Fix uploading of images to GCS. [#26493](https://github.com/grafana/grafana/pull/26493), [@gastonqiu](https://github.com/gastonqiu)
* **Influx**: Fixes issue with many queries being issued as you type in the variable query field. [#29968](https://github.com/grafana/grafana/pull/29968), [@dprokop](https://github.com/dprokop)
* **Logs Panel**: Fix inconsistent highlighting. [#28971](https://github.com/grafana/grafana/pull/28971), [@ivanahuckova](https://github.com/ivanahuckova)
* **Logs Panel**: Fixes problem dragging scrollbar inside logs panel. [#28974](https://github.com/grafana/grafana/pull/28974), [@aocenas](https://github.com/aocenas)
* **Loki**: Fix hiding of series in table if labels have number values. [#30185](https://github.com/grafana/grafana/pull/30185), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Lower min step to 1ms. [#30135](https://github.com/grafana/grafana/pull/30135), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Remove showing of unique labels with the empty string value. [#30363](https://github.com/grafana/grafana/pull/30363), [@ivanahuckova](https://github.com/ivanahuckova)
* **Loki**: Timeseries should not produce 0-values for missing data. [#30116](https://github.com/grafana/grafana/pull/30116), [@davkal](https://github.com/davkal)
* **Plugins**: Fix panic when using complex dynamic URLs in app plugin routes. [#27977](https://github.com/grafana/grafana/pull/27977), [@cinaglia](https://github.com/cinaglia)
* **Prometheus**: Fix link to Prometheus graph in dashboard. [#29543](https://github.com/grafana/grafana/pull/29543), [@ivanahuckova](https://github.com/ivanahuckova)
* **Provisioning**: Build paths in an os independent way. [#29143](https://github.com/grafana/grafana/pull/29143), [@amattheisen](https://github.com/amattheisen)
* **Provisioning**: Fixed problem with getting started panel being added to custom home dashboard. [#28750](https://github.com/grafana/grafana/pull/28750), [@torkelo](https://github.com/torkelo)
* **SAML**: Fixes bug in processing SAML response with empty <Issuer> element by updating saml library (Enterprise). [#29991](https://github.com/grafana/grafana/pull/29991), [@alexanderzobnin](https://github.com/alexanderzobnin)
* **SQL**: Define primary key for tables without it. [#22255](https://github.com/grafana/grafana/pull/22255), [@azhiltsov](https://github.com/azhiltsov)
* **Tracing**: Fix issue showing more than 300 spans. [#29377](https://github.com/grafana/grafana/pull/29377), [@zoltanbedi](https://github.com/zoltanbedi)
* **Units**: Changes FLOP/s to FLOPS and some other rates per second units get /s suffix. [#28825](https://github.com/grafana/grafana/pull/28825), [@Berbe](https://github.com/Berbe)
* **Variables**: Fixes Constant variable persistence confusion. [#29407](https://github.com/grafana/grafana/pull/29407), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes Textbox current value persistence. [#29481](https://github.com/grafana/grafana/pull/29481), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes loading with a custom all value in url. [#28958](https://github.com/grafana/grafana/pull/28958), [@hugohaggmark](https://github.com/hugohaggmark)
* **Variables**: Fixes so clicking on Selected in drop down will exclude All value from selection. [#29844](https://github.com/grafana/grafana/pull/29844), [@hugohaggmark](https://github.com/hugohaggmark)
### Breaking changes
#### Constant variables
In order to minimize the confusion with Constant variable usage, we've removed the ability to make Constant variables visible. This change will also migrate __`all`__ existing __`visible`__ Constant variables to Textbox variables because which we think this is a more appropriate type of variable for this use case.
Issue [#29407](https://github.com/grafana/grafana/issues/29407)
#### Plugin compatibility
We have upgraded AngularJS from version 1.6.6 to 1.8.2. Due to this upgrade some old angular plugins might stop working and will require a small update. This is due to the deprecation and removal of pre-assigned bindings. So if your custom angular controllers expect component bindings in the controller constructor you need to move this code to an `$onInit` function. For more details on how to migrate AngularJS code open the [migration guide](https://docs.angularjs.org/guide/migration) and search for **pre-assigning bindings**.
In order not to break all angular panel plugins and data sources we have some custom [angular inject behavior](https://github.com/grafana/grafana/blob/master/public/app/core/injectorMonkeyPatch.ts) that makes sure that bindings for these controllers are still set before constructor is called so many old angular panels and data source plugins will still work. Issue [#28736](https://github.com/grafana/grafana/issues/28736)
### Deprecations
#### Query variable value group tags
This option to group query variable values into groups by tags has been an experimental feature since it was introduced. It was introduced to work around the lack of tags support in time series databases at the time. Now that tags (ie. labels) are the norm there is no longer any great need for this feature. This feature will be removed in Grafana v8 later this year. Issue [#30160](https://github.com/grafana/grafana/issues/30160)
- **Admin**: Fixes so form values are filled in from backend. [#30544](https://github.com/grafana/grafana/pull/30544), [@hugohaggmark](https://github.com/hugohaggmark)
- **Admin**: Fixes so whole org drop down is visible when adding users to org. [#30481](https://github.com/grafana/grafana/pull/30481), [@hugohaggmark](https://github.com/hugohaggmark)
- **Alerting**: Hides threshold handle for percentual thresholds. [#30431](https://github.com/grafana/grafana/pull/30431), [@hugohaggmark](https://github.com/hugohaggmark)
- **CloudWatch**: Prevent field config from being overwritten. [#30437](https://github.com/grafana/grafana/pull/30437), [@sunker](https://github.com/sunker)
- **Decimals**: Big Improvements to auto decimals and fixes to auto decimals bug found in 7.4-beta1. [#30519](https://github.com/grafana/grafana/pull/30519), [@torkelo](https://github.com/torkelo)
- **Explore**: Fix jumpy live tailing. [#30650](https://github.com/grafana/grafana/pull/30650), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore**: Fix loading visualisation on the top of the new time series panel. [#30553](https://github.com/grafana/grafana/pull/30553), [@ivanahuckova](https://github.com/ivanahuckova)
- **Footer**: Fixes layout issue in footer. [#30443](https://github.com/grafana/grafana/pull/30443), [@torkelo](https://github.com/torkelo)
- **Graph**: Fixes so only users with correct permissions can add annotations. [#30419](https://github.com/grafana/grafana/pull/30419), [@hugohaggmark](https://github.com/hugohaggmark)
- **Mobile**: Fixes issue scrolling on mobile in chrome. [#30746](https://github.com/grafana/grafana/pull/30746), [@torkelo](https://github.com/torkelo)
- **PanelEdit**: Trigger refresh when changing data source. [#30744](https://github.com/grafana/grafana/pull/30744), [@torkelo](https://github.com/torkelo)
- **Panels**: Fixes so panels are refreshed when scrolling past them fast. [#30784](https://github.com/grafana/grafana/pull/30784), [@hugohaggmark](https://github.com/hugohaggmark)
- **Prometheus**: Fix show query instead of Value if no **name** and metric. [#30511](https://github.com/grafana/grafana/pull/30511), [@zoltanbedi](https://github.com/zoltanbedi)
- **TimeSeriesPanel**: Fixes default value for Gradient mode. [#30484](https://github.com/grafana/grafana/pull/30484), [@torkelo](https://github.com/torkelo)
- **Variables**: Clears drop down state when leaving dashboard. [#30810](https://github.com/grafana/grafana/pull/30810), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Fixes display value when using capture groups in regex. [#30636](https://github.com/grafana/grafana/pull/30636), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Fixes so queries work for numbers values too. [#30602](https://github.com/grafana/grafana/pull/30602), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Fixes so text format will show All instead of custom all value. [#30730](https://github.com/grafana/grafana/pull/30730), [@hugohaggmark](https://github.com/hugohaggmark)
### Plugin development fixes & changes
* **FieldConfig API**: Add ability to hide field option or disable it from the overrides. [#29879](https://github.com/grafana/grafana/pull/29879), [@dprokop](https://github.com/dprokop)
* **Select**: Changes default menu placement for Select from auto to bottom. [#29837](https://github.com/grafana/grafana/pull/29837), [@hugohaggmark](https://github.com/hugohaggmark)
* **Collapse**: Allow component children to use height: 100% styling. [#29776](https://github.com/grafana/grafana/pull/29776), [@aocenas](https://github.com/aocenas)
* **DataSourceWithBackend**: Throw error if health check fails in DataSourceWithBackend. [#29743](https://github.com/grafana/grafana/pull/29743), [@aocenas](https://github.com/aocenas)
* **NodeGraph**: Add node graph visualization. [#29706](https://github.com/grafana/grafana/pull/29706), [@aocenas](https://github.com/aocenas)
* **FieldColor**: Handling color changes when switching panel types. [#28875](https://github.com/grafana/grafana/pull/28875), [@dprokop](https://github.com/dprokop)
* **CodeEditor**: Added support for javascript language. [#28818](https://github.com/grafana/grafana/pull/28818), [@ae3e](https://github.com/ae3e)
* **grafana/toolkit**: Allow builds with lint warnings. [#28810](https://github.com/grafana/grafana/pull/28810), [@dprokop](https://github.com/dprokop)
* **grafana/toolkit**: Drop console and debugger statements by default when building plugin. [#28776](https://github.com/grafana/grafana/pull/28776), [@dprokop](https://github.com/dprokop)
* **Card**: Add new Card component. [#28216](https://github.com/grafana/grafana/pull/28216), [@Clarity-89](https://github.com/Clarity-89)
* **FieldConfig**: Implementation slider editor (#27592). [#28007](https://github.com/grafana/grafana/pull/28007), [@isaozlerfm](https://github.com/isaozlerfm)
* **MutableDataFrame**: Remove unique field name constraint and values field index and unused/seldom used stuff. [#27573](https://github.com/grafana/grafana/pull/27573), [@torkelo](https://github.com/torkelo)
- **Plugins**: Fix failing plugin builds because of wrong internal import. [#30439](https://github.com/grafana/grafana/pull/30439), [@aocenas](https://github.com/aocenas)
<!-- 7.4.0-beta1 START -->
# 7.4.0-beta1 (2021-01-20)
### Features and enhancements
- **API**: Add ID to snapshot API responses. [#29600](https://github.com/grafana/grafana/pull/29600), [@AgnesToulet](https://github.com/AgnesToulet)
- **AlertListPanel**: Add options to sort by Time(asc) and Time(desc). [#29764](https://github.com/grafana/grafana/pull/29764), [@dboslee](https://github.com/dboslee)
- **AlertListPanel**: Changed alert url to to go the panel view instead of panel edit. [#29060](https://github.com/grafana/grafana/pull/29060), [@zakiharis](https://github.com/zakiharis)
- **Alerting**: Add support for Sensu Go notification channel. [#28012](https://github.com/grafana/grafana/pull/28012), [@nixwiz](https://github.com/nixwiz)
- **Alerting**: Add support for alert notification query label interpolation. [#29908](https://github.com/grafana/grafana/pull/29908), [@wbrowne](https://github.com/wbrowne)
- **Annotations**: Remove annotation_tag entries as part of annotations cleanup. [#29534](https://github.com/grafana/grafana/pull/29534), [@dafydd-t](https://github.com/dafydd-t)
- **Azure Monitor**: Add Microsoft.Network/natGateways. [#29479](https://github.com/grafana/grafana/pull/29479), [@JoeyLemur](https://github.com/JoeyLemur)
- **Backend plugins**: Support Forward OAuth Identity for backend data source plugins. [#27055](https://github.com/grafana/grafana/pull/27055), [@billoley](https://github.com/billoley)
- **Cloud Monitoring**: MQL support. [#26551](https://github.com/grafana/grafana/pull/26551), [@mtanda](https://github.com/mtanda)
- **CloudWatch**: Add 'EventBusName' dimension to CloudWatch 'AWS/Events' namespace. [#28402](https://github.com/grafana/grafana/pull/28402), [@tomdaly](https://github.com/tomdaly)
- **CloudWatch**: Add support for AWS DirectConnect ConnectionErrorCount metric. [#29583](https://github.com/grafana/grafana/pull/29583), [@haeringer](https://github.com/haeringer)
- **CloudWatch**: Add support for AWS/ClientVPN metrics and dimensions. [#29055](https://github.com/grafana/grafana/pull/29055), [@marefr](https://github.com/marefr)
- **CloudWatch**: Added HTTP API Gateway specific metrics and dimensions. [#28780](https://github.com/grafana/grafana/pull/28780), [@karlatkinson](https://github.com/karlatkinson)
- **Configuration**: Add an option to hide certain users in the UI. [#28942](https://github.com/grafana/grafana/pull/28942), [@AgnesToulet](https://github.com/AgnesToulet)
- **Currency**: Adds Indonesian IDR currency. [#28363](https://github.com/grafana/grafana/pull/28363), [@hiddenrebel](https://github.com/hiddenrebel)
- **Dashboards**: Delete related data (permissions, stars, tags, versions, annotations) when deleting a dashboard or a folder. [#28826](https://github.com/grafana/grafana/pull/28826), [@AgnesToulet](https://github.com/AgnesToulet)
- **Dependencies**: Update angularjs to 1.8.2. [#28736](https://github.com/grafana/grafana/pull/28736), [@torkelo](https://github.com/torkelo)
- **Docker**: Use root group in the custom Dockerfile. [#28639](https://github.com/grafana/grafana/pull/28639), [@chugunov](https://github.com/chugunov)
- **Elasticsearch**: Add Moving Function Pipeline Aggregation. [#28131](https://github.com/grafana/grafana/pull/28131), [@simianhacker](https://github.com/simianhacker)
- **Elasticsearch**: Add Support for Serial Differencing Pipeline Aggregation. [#28618](https://github.com/grafana/grafana/pull/28618), [@simianhacker](https://github.com/simianhacker)
- **Elasticsearch**: Deprecate browser access mode. [#29649](https://github.com/grafana/grafana/pull/29649), [@Elfo404](https://github.com/Elfo404)
- **Elasticsearch**: Interpolate variables in Filters Bucket Aggregation. [#28969](https://github.com/grafana/grafana/pull/28969), [@Elfo404](https://github.com/Elfo404)
- **Elasticsearch**: Support extended stats and percentiles in terms order by. [#28910](https://github.com/grafana/grafana/pull/28910), [@simianhacker](https://github.com/simianhacker)
- **Elasticsearch**: View in context feature for logs. [#28764](https://github.com/grafana/grafana/pull/28764), [@simianhacker](https://github.com/simianhacker)
- **Explore/Logs**: Alphabetically sort unique labels, labels and parsed fields. [#29030](https://github.com/grafana/grafana/pull/29030), [@ivanahuckova](https://github.com/ivanahuckova)
- **Explore/Logs**: Update Parsed fields to Detected fields. [#28881](https://github.com/grafana/grafana/pull/28881), [@ivanahuckova](https://github.com/ivanahuckova)
- **Field overrides**: Added matcher to match all fields returned by a specific query. [#28872](https://github.com/grafana/grafana/pull/28872), [@mckn](https://github.com/mckn)
- **Graph**: Add support for spline interpolation (smoothing) added in new time series panel. [#4303](https://github.com/grafana/grafana/issues/4303)
- **Instrumentation**: Add histograms for database queries. [#29662](https://github.com/grafana/grafana/pull/29662), [@dafydd-t](https://github.com/dafydd-t)
- **Jaeger**: Remove browser access mode. [#30349](https://github.com/grafana/grafana/pull/30349), [@zoltanbedi](https://github.com/zoltanbedi)
- **LogsPanel**: Don't show scroll bars when not needed. [#28972](https://github.com/grafana/grafana/pull/28972), [@aocenas](https://github.com/aocenas)
- **Loki**: Add query type and line limit to query editor in dashboard. [#29356](https://github.com/grafana/grafana/pull/29356), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Add query type selector to query editor in Explore. [#28817](https://github.com/grafana/grafana/pull/28817), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Retry web socket connection when connection is closed abnormally. [#29438](https://github.com/grafana/grafana/pull/29438), [@ivanahuckova](https://github.com/ivanahuckova)
- **MS SQL**: Integrated security. [#30369](https://github.com/grafana/grafana/pull/30369), [@daniellee](https://github.com/daniellee)
- **Middleware**: Add CSP support. [#29740](https://github.com/grafana/grafana/pull/29740), [@aknuds1](https://github.com/aknuds1)
- **OAuth**: Configurable user name attribute. [#28286](https://github.com/grafana/grafana/pull/28286), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **PanelEditor**: Render panel field config categories as separate option group sections. [#30301](https://github.com/grafana/grafana/pull/30301), [@dprokop](https://github.com/dprokop)
- **Postgres**: SSL certification. [#30352](https://github.com/grafana/grafana/pull/30352), [@ying-jeanne](https://github.com/ying-jeanne)
- **Prometheus**: Add support for Exemplars. [#28057](https://github.com/grafana/grafana/pull/28057), [@zoltanbedi](https://github.com/zoltanbedi)
- **Prometheus**: Improve autocomplete performance and remove disabling of dynamic label lookup. [#30199](https://github.com/grafana/grafana/pull/30199), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Update default query type option to "Both" in Explore query editor. [#28935](https://github.com/grafana/grafana/pull/28935), [@ivanahuckova](https://github.com/ivanahuckova)
- **Prometheus**: Use customQueryParameters for all queries. [#28949](https://github.com/grafana/grafana/pull/28949), [@alexbumbacea](https://github.com/alexbumbacea)
- **Security**: Prefer server cipher suites for http2. [#29379](https://github.com/grafana/grafana/pull/29379), [@bergquist](https://github.com/bergquist)
- **Security**: Remove insecure cipher suit as default option. [#29378](https://github.com/grafana/grafana/pull/29378), [@bergquist](https://github.com/bergquist)
- **StatPanels**: Add new calculation option for percentage difference. [#26369](https://github.com/grafana/grafana/pull/26369), [@jedstar](https://github.com/jedstar)
- **StatPanels**: Change default stats option to "Last (not null)". [#28617](https://github.com/grafana/grafana/pull/28617), [@ryantxu](https://github.com/ryantxu)
- **Table**: migrate old-table config to new table config. [#30142](https://github.com/grafana/grafana/pull/30142), [@jackw](https://github.com/jackw)
- **Templating**: Custom variable edit UI, change options input into textarea. [#28322](https://github.com/grafana/grafana/pull/28322), [@darrylsepeda](https://github.com/darrylsepeda)
- **TimeSeriesPanel**: The new graph panel now supports y-axis value mapping. [#30272](https://github.com/grafana/grafana/pull/30272), [@torkelo](https://github.com/torkelo)
- **Tracing**: Tag spans with user login and datasource name instead of id. [#29183](https://github.com/grafana/grafana/pull/29183), [@bergquist](https://github.com/bergquist)
- **Transformations**: Add "Rename By Regex" transformer. [#29281](https://github.com/grafana/grafana/pull/29281), [@simianhacker](https://github.com/simianhacker)
- **Transformations**: Added new transform for excluding and including rows based on their values. [#26884](https://github.com/grafana/grafana/pull/26884), [@Totalus](https://github.com/Totalus)
- **Transforms**: Add sort by transformer. [#30370](https://github.com/grafana/grafana/pull/30370), [@ryantxu](https://github.com/ryantxu)
- **Variables**: Add deprecation warning for value group tags. [#30160](https://github.com/grafana/grafana/pull/30160), [@torkelo](https://github.com/torkelo)
- **Variables**: Added \_\_user.email to global variable. [#28853](https://github.com/grafana/grafana/pull/28853), [@mckn](https://github.com/mckn)
- **Variables**: Adds description field. [#29332](https://github.com/grafana/grafana/pull/29332), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Adds variables inspection. [#25214](https://github.com/grafana/grafana/pull/25214), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: New Variables are stored immediately. [#29178](https://github.com/grafana/grafana/pull/29178), [@hugohaggmark](https://github.com/hugohaggmark)
- **Zipkin**: Remove browser access mode. [#30360](https://github.com/grafana/grafana/pull/30360), [@zoltanbedi](https://github.com/zoltanbedi)
### Bug fixes
- **API**: Query database from /api/health endpoint. [#28349](https://github.com/grafana/grafana/pull/28349), [@ceh](https://github.com/ceh)
- **Alerting**: Return proper status code when trying to create alert notification channel with duplicate name or uid. [#28043](https://github.com/grafana/grafana/pull/28043), [@jgulick48](https://github.com/jgulick48)
- **Auth**: Fix default maximum lifetime an authenticated user can be logged in. [#30030](https://github.com/grafana/grafana/pull/30030), [@papagian](https://github.com/papagian)
- **Backend**: Fix IPv6 address parsing erroneous. [#28585](https://github.com/grafana/grafana/pull/28585), [@taciomcosta](https://github.com/taciomcosta)
- **CloudWatch**: Make sure stats grow horizontally and not vertically in the Query Editor. [#30106](https://github.com/grafana/grafana/pull/30106), [@sunker](https://github.com/sunker)
- **Cloudwatch**: Fix issue with field calculation transform not working properly with Cloudwatch data. [#28761](https://github.com/grafana/grafana/pull/28761), [@torkelo](https://github.com/torkelo)
- **Dashboards**: Hide playlist edit functionality from viewers and snapshots link from unauthenticated users. [#28992](https://github.com/grafana/grafana/pull/28992), [@jackw](https://github.com/jackw)
- **Data source proxy**: Convert 401 HTTP status code from data source to 400. [#28962](https://github.com/grafana/grafana/pull/28962), [@aknuds1](https://github.com/aknuds1)
- **Decimals**: Improving auto decimals logic for high numbers and scaled units. [#30262](https://github.com/grafana/grafana/pull/30262), [@torkelo](https://github.com/torkelo)
- **Elasticsearch**: Fix date histogram auto interval handling for alert queries. [#30049](https://github.com/grafana/grafana/pull/30049), [@simianhacker](https://github.com/simianhacker)
- **Elasticsearch**: Fix index pattern not working with multiple base sections. [#28348](https://github.com/grafana/grafana/pull/28348), [@tomdaly](https://github.com/tomdaly)
- **Explore**: Clear errors after running a new query. [#30367](https://github.com/grafana/grafana/pull/30367), [@ivanahuckova](https://github.com/ivanahuckova)
- **Graph**: Fixes stacking issues like floating bars when data is not aligned. [#29051](https://github.com/grafana/grafana/pull/29051), [@torkelo](https://github.com/torkelo)
- **Graph**: Staircase and null value=null calculates auto Y-Min incorrectly (fixed in new Time series panel). [#12995](https://github.com/grafana/grafana/issues/12995)
- **Graph**: Staircase mode, do now draw line segment from zero when drawing null values as null (Fixed in new Time series panel). [#17838](https://github.com/grafana/grafana/issues/17838)
- **Image uploader**: Fix uploading of images to GCS. [#26493](https://github.com/grafana/grafana/pull/26493), [@gastonqiu](https://github.com/gastonqiu)
- **Influx**: Fixes issue with many queries being issued as you type in the variable query field. [#29968](https://github.com/grafana/grafana/pull/29968), [@dprokop](https://github.com/dprokop)
- **Logs Panel**: Fix inconsistent highlighting. [#28971](https://github.com/grafana/grafana/pull/28971), [@ivanahuckova](https://github.com/ivanahuckova)
- **Logs Panel**: Fixes problem dragging scrollbar inside logs panel. [#28974](https://github.com/grafana/grafana/pull/28974), [@aocenas](https://github.com/aocenas)
- **Loki**: Fix hiding of series in table if labels have number values. [#30185](https://github.com/grafana/grafana/pull/30185), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Lower min step to 1ms. [#30135](https://github.com/grafana/grafana/pull/30135), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Remove showing of unique labels with the empty string value. [#30363](https://github.com/grafana/grafana/pull/30363), [@ivanahuckova](https://github.com/ivanahuckova)
- **Loki**: Timeseries should not produce 0-values for missing data. [#30116](https://github.com/grafana/grafana/pull/30116), [@davkal](https://github.com/davkal)
- **Plugins**: Fix panic when using complex dynamic URLs in app plugin routes. [#27977](https://github.com/grafana/grafana/pull/27977), [@cinaglia](https://github.com/cinaglia)
- **Prometheus**: Fix link to Prometheus graph in dashboard. [#29543](https://github.com/grafana/grafana/pull/29543), [@ivanahuckova](https://github.com/ivanahuckova)
- **Provisioning**: Build paths in an os independent way. [#29143](https://github.com/grafana/grafana/pull/29143), [@amattheisen](https://github.com/amattheisen)
- **Provisioning**: Fixed problem with getting started panel being added to custom home dashboard. [#28750](https://github.com/grafana/grafana/pull/28750), [@torkelo](https://github.com/torkelo)
- **SAML**: Fixes bug in processing SAML response with empty <Issuer> element by updating saml library (Enterprise). [#29991](https://github.com/grafana/grafana/pull/29991), [@alexanderzobnin](https://github.com/alexanderzobnin)
- **SQL**: Define primary key for tables without it. [#22255](https://github.com/grafana/grafana/pull/22255), [@azhiltsov](https://github.com/azhiltsov)
- **Tracing**: Fix issue showing more than 300 spans. [#29377](https://github.com/grafana/grafana/pull/29377), [@zoltanbedi](https://github.com/zoltanbedi)
- **Units**: Changes FLOP/s to FLOPS and some other rates per second units get /s suffix. [#28825](https://github.com/grafana/grafana/pull/28825), [@Berbe](https://github.com/Berbe)
- **Variables**: Fixes Constant variable persistence confusion. [#29407](https://github.com/grafana/grafana/pull/29407), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Fixes Textbox current value persistence. [#29481](https://github.com/grafana/grafana/pull/29481), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Fixes loading with a custom all value in url. [#28958](https://github.com/grafana/grafana/pull/28958), [@hugohaggmark](https://github.com/hugohaggmark)
- **Variables**: Fixes so clicking on Selected in drop down will exclude All value from selection. [#29844](https://github.com/grafana/grafana/pull/29844), [@hugohaggmark](https://github.com/hugohaggmark)
### Breaking changes
#### Constant variables
In order to minimize the confusion with Constant variable usage, we've removed the ability to make Constant variables visible. This change will also migrate **`all`** existing **`visible`** Constant variables to Textbox variables because which we think this is a more appropriate type of variable for this use case.
Issue [#29407](https://github.com/grafana/grafana/issues/29407)
#### Plugin compatibility
We have upgraded AngularJS from version 1.6.6 to 1.8.2. Due to this upgrade some old angular plugins might stop working and will require a small update. This is due to the deprecation and removal of pre-assigned bindings. So if your custom angular controllers expect component bindings in the controller constructor you need to move this code to an `$onInit` function. For more details on how to migrate AngularJS code open the [migration guide](https://docs.angularjs.org/guide/migration) and search for **pre-assigning bindings**.
In order not to break all angular panel plugins and data sources we have some custom [angular inject behavior](https://github.com/grafana/grafana/blob/master/public/app/core/injectorMonkeyPatch.ts) that makes sure that bindings for these controllers are still set before constructor is called so many old angular panels and data source plugins will still work. Issue [#28736](https://github.com/grafana/grafana/issues/28736)
### Deprecations
#### Query variable value group tags
This option to group query variable values into groups by tags has been an experimental feature since it was introduced. It was introduced to work around the lack of tags support in time series databases at the time. Now that tags (ie. labels) are the norm there is no longer any great need for this feature. This feature will be removed in Grafana v8 later this year. Issue [#30160](https://github.com/grafana/grafana/issues/30160)
### Plugin development fixes & changes
- **AngularPlugins**: Angular controller events emitter is now a separate emitter and not the same as PanelModel events emitter. [#30379](https://github.com/grafana/grafana/pull/30379), [@torkelo](https://github.com/torkelo)
- **FieldConfig API**: Add ability to hide field option or disable it from the overrides. [#29879](https://github.com/grafana/grafana/pull/29879), [@dprokop](https://github.com/dprokop)
- **Select**: Changes default menu placement for Select from auto to bottom. [#29837](https://github.com/grafana/grafana/pull/29837), [@hugohaggmark](https://github.com/hugohaggmark)
- **Collapse**: Allow component children to use height: 100% styling. [#29776](https://github.com/grafana/grafana/pull/29776), [@aocenas](https://github.com/aocenas)
- **DataSourceWithBackend**: Throw error if health check fails in DataSourceWithBackend. [#29743](https://github.com/grafana/grafana/pull/29743), [@aocenas](https://github.com/aocenas)
- **NodeGraph**: Add node graph visualization. [#29706](https://github.com/grafana/grafana/pull/29706), [@aocenas](https://github.com/aocenas)
- **FieldColor**: Handling color changes when switching panel types. [#28875](https://github.com/grafana/grafana/pull/28875), [@dprokop](https://github.com/dprokop)
- **CodeEditor**: Added support for javascript language. [#28818](https://github.com/grafana/grafana/pull/28818), [@ae3e](https://github.com/ae3e)
- **grafana/toolkit**: Allow builds with lint warnings. [#28810](https://github.com/grafana/grafana/pull/28810), [@dprokop](https://github.com/dprokop)
- **grafana/toolkit**: Drop console and debugger statements by default when building plugin. [#28776](https://github.com/grafana/grafana/pull/28776), [@dprokop](https://github.com/dprokop)
- **Card**: Add new Card component. [#28216](https://github.com/grafana/grafana/pull/28216), [@Clarity-89](https://github.com/Clarity-89)
- **FieldConfig**: Implementation slider editor (#27592). [#28007](https://github.com/grafana/grafana/pull/28007), [@isaozlerfm](https://github.com/isaozlerfm)
- **MutableDataFrame**: Remove unique field name constraint and values field index and unused/seldom used stuff. [#27573](https://github.com/grafana/grafana/pull/27573), [@torkelo](https://github.com/torkelo)
<!-- 7.4.0-beta1 END -->
+34 -6
View File
@@ -2,12 +2,40 @@
title: Shared Content
---
```
npm i
```
Use test.md to experiment and test formats and syntax.
Syntax to invoke this file would be the following, minus the backslash:
## Standalone text
When you have a chunk of text or steps that stand alone, not part of an ordered or unordered list. This includes headings, paragraphs, full lists, and combinations of those content types.
The syntax to invoke this file would be the following, minus the backslash:
```
\{{< docs/shared "example" >}}
```
\{{< docs/shared "example.md" >}}
```
## Part of a list
When you have steps that you want to use in more than one numbered list. This format does not work as well for unordered lists, but it does work.
### Ordered list
Below is an example from the docs, with backslashes added. The initial spaces are not necessary for the numbered list to work and make no difference in the output, but they aid in code readability.
```
\{{< docs/list >}}
\{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the user account that you want to edit. If necessary, use the search field to find the account.
\{{< /docs/list >}}
```
You cannot use short codes in an ordered list with sublists. The shortcode breaks the sublist indentation.
### Unordered list
All unordered list steps included as part of a list will appear as second-level lists (with the hollow circle bullet) rather than first-level lists (solid circle bullet), even if the list is not indented in the shared file or the document file.
{{< docs/list >}}
{{< docs/shared "test.md" >}}
- Bullet text
{{< /docs/list >}}
@@ -0,0 +1,8 @@
---
title: View org list as server admin
---
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-org-list.md" >}}
1. Click the name of the organization that you want to edit.
{{< /docs/list >}}
@@ -0,0 +1,6 @@
---
title: View org list as server admin
---
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears.
1. Click **Orgs**.
@@ -0,0 +1,8 @@
---
title: View user list and search - list format
---
{{< docs/list >}}
{{< docs/shared "manage-users/view-server-user-list.md" >}}
1. Click the user account that you want to edit. If necessary, use the search field to find the account.
{{< /docs/list >}}
@@ -0,0 +1,6 @@
---
title: View user list as server admin
---
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears.
1. Click **Users**.
@@ -0,0 +1,6 @@
---
title: View team list
---
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
1. Click **Teams**. Grafana displays the team list.
+3 -3
View File
@@ -2,6 +2,6 @@
title: Shared Content
---
1. Step one
2. Step two
3. Step three
Intro text
- test bullet 1
- test bullet 2
@@ -0,0 +1,6 @@
---
title: View user list
---
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears.
1. Click **Orgs**.
@@ -0,0 +1,7 @@
---
title: View user list
---
1. Hover your cursor over the **Server Admin** (shield) icon until a menu appears.
1. Click **Users**.
1. Click the user account that you want to edit. If necessary, use the search field to find the account.
@@ -149,3 +149,13 @@ servers = ["test1", "test2"]
String to interpolate: '${servers:text}'
Interpolation result: "test1 + test2"
```
## Query parameters
Formats single- and multi-valued variables into their query parameter representation. Example: `var-foo=value1&var-foo=value2`
```bash
servers = ["test1", "test2"]
String to interpolate: '${servers:queryparam}'
Interpolation result: "var-servers=test1&var-servers=test2"
```
+1 -1
View File
@@ -34,7 +34,7 @@ Support for Flux and Influx v2 has been added. The InfluxData blog post, [How to
## Query history search
In Grafana v 7.1 we are introducing search functionality in Query history. You can search across queries and your comments. It is especially useful in combination with a time filter and data source filter. Read more about [Query history here]({{< relref "../explore/index.md#query-history" >}}).
In Grafana v 7.1 we are introducing search functionality in Query history. You can search across queries and your comments. It is especially useful in combination with a time filter and data source filter. Read more about [Query history here]({{< relref "../explore/_index.md#query-history" >}}).
{{< docs-imagebox img="/img/docs/v71/query_history_search.gif" max-width="800px" caption="Query history search" >}}
+2 -2
View File
@@ -95,7 +95,7 @@ The [Queries]({{< relref "../panels/queries.md" >}}) topic has been updated as a
## Inspect queries in Explore
You can enjoy all the details query inspector gave you in dashboards now in Explore as well. You can open query inspector tab with the button next to query history. See [Query inspector in Explore]({{< relref "../explore/index.md#query-inspector" >}}) for more details.
You can enjoy all the details query inspector gave you in dashboards now in Explore as well. You can open query inspector tab with the button next to query history. See [Query inspector in Explore]({{< relref "../explore/_index.md#query-inspector" >}}) for more details.
## \$\_\_rate_interval for Prometheus
@@ -107,7 +107,7 @@ With this awesome contribution from one of our community members, you can now to
{{< docs-imagebox img="/img/docs/v72/explore-toggle-parsed-fields.gif" max-width="800px" caption="Toggling parsed fields in Explore" >}}
The [Toggle parsed fields]({{< relref "../explore/index.md#toggle-detected-fields" >}}) section has been added to [Explore]({{< relref "../explore/index.md" >}}) as a result of this feature.
The [Toggle parsed fields]({{< relref "../explore/_index.md#toggle-detected-fields" >}}) section has been added to [Explore]({{< relref "../explore/_index.md" >}}) as a result of this feature.
## Sensitive alert channel settings are now encrypted
+34 -10
View File
@@ -1,8 +1,7 @@
+++
title = "What's New in Grafana v7.4"
description = "Feature and improvement highlights for Grafana v7.3"
keywords = ["grafana", "new", "documentation", "7.3", "release notes"]
aliases = ["/docs/grafana/latest/guides/whats-new-in-v7-3/"]
description = "Feature and improvement highlights for Grafana v7.4"
keywords = ["grafana", "new", "documentation", "7.4", "release notes"]
weight = -31
[_build]
list = false
@@ -28,6 +27,14 @@ Apart from major performance improvements, the new Time series panel implements
{{< figure src="/img/docs/v74/timeseries_panel.png" max-width="900px" caption="Time series panel" >}}
The following documentation topics were added for this feature:
- [Time series panel]({{< relref "../panels/visualizations/time-series/_index.md" >}})
- [Graph time series as lines]({{< relref "../panels/visualizations/time-series/graph-time-series-as-lines.md" >}})
- [Graph time series as bars]({{< relref "../panels/visualizations/time-series/graph-time-series-as-bars.md" >}})
- [Graph time series as points]({{< relref "../panels/visualizations/time-series/graph-time-series-as-points" >}})
- [Change axis display]({{< relref "../panels/visualizations/time-series/change-axis-display.md" >}})
### Node graph panel visualization (Beta)
_Node graph_ is a new panel type that can visualize directed graphs or network in dashboards, but also in Explore. It uses directed force layout to effectively position the nodes so it can help with displaying complex infrastructure maps, hierarchies, or execution diagrams.
@@ -64,19 +71,21 @@ For more information, refer to [Add a field override]({{< relref "../panels/fiel
### Exemplar support
Grafana graphs now support Prometheus [exemplars]({{< relref "../datasources/prometheus.md#exemplars" >}}). They are displayed as diamonds in the graph visualization.
Grafana graphs now support Prometheus _exemplars_. They are displayed as diamonds in the graph visualization.
> **Note:** Support for exemplars will be added in version Prometheus 2.25+,
> **Note:** Support for exemplars will be added in version Prometheus 2.25+.
{{< figure src="/img/docs/v74/exemplars.png" max-width="900px" caption="Exemplar example" >}}
For more information, refer to [Exemplars]({{< relref "../datasources/prometheus.md#exemplars" >}}).
### Trace to logs
You can now navigate from a span in a trace view directly to logs relevant for that span. This feature is available for the Tempo, Jaeger, and Zipkin data sources.
The following topics were updated as a result of this feature:
- [Explore]({{< relref "../explore/index.md#trace-to-logs" >}})
- [Explore]({{< relref "../explore/trace-integration.md" >}})
- [Jaeger]({{< relref "../datasources/jaeger.md#trace-to-logs" >}})
- [Tempo]({{< relref "../datasources/tempo.md#trace-to-logs" >}})
- [Zipkin]({{< relref "../datasources/zipkin.md#trace-to-logs" >}})
@@ -112,6 +121,7 @@ You can lock down what can be done in the frontend code. Lock down what can be l
### Hide users in UI
You can now use the `hidden_users` configuration setting to hide specific users in the UI. For example, this feature can be used to hide users that are used for automation purposes.
[Configuration]({{< relref "../administration/configuration.md#hidden_users" >}}) has been updated for this feature.
### Elasticsearch data source updates
@@ -125,6 +135,8 @@ Grafana 7.4 includes the following enhancements
> **Note:** We have deprecated browser access mode. It will be removed in a future release.
For more information, refer to the [Elasticsearch docs]({{<relref "../datasources/elasticsearch.md">}}).
### Azure Monitor updates
The Azure Monitor query type was renamed to Metrics and Azure Logs Analytics was renamed to Logs to match the service names in Azure and align the concepts with the rest of Grafana.
@@ -139,7 +151,7 @@ Unlike the visual query builder, MQL allows you to control the time range and pe
MQL uses a set of operations and functions. Operations are linked together using the common pipe mechanism, where the output of one operation becomes the input to the next. Linking operations makes it possible to build up complex queries incrementally.
Once query type Metrics is selected in the Cloud Monitoring query editor, you can toggle between the editor modes for visual query builder and MQL. For more information, refer to the [Google Cloud Monitoring docs]({{<relref "../datasources/google-cloud-monitoring/_index.md/#out-of-the-box-dashboards">}}).
Once query type Metrics is selected in the Cloud Monitoring query editor, you can toggle between the editor modes for visual query builder and MQL. For more information, refer to the [Google Cloud Monitoring docs]({{< relref "../datasources/google-cloud-monitoring/_index.md#out-of-the-box-dashboards" >}}).
Many thanks to [mtanda](https://github.com/mtanda) this contribution!
@@ -149,7 +161,9 @@ Google Cloud Monitoring data source ships with pre-configured dashboards for som
{{< docs-imagebox img="/img/docs/google-cloud-monitoring/curated-dashboards-7-4.png" max-width= "650px" >}}
If you want to customize a dashboard, we recommend that you save it under a different name. Otherwise the dashboard will be overwritten when a new version of the dashboard is released. For more information, refer to the [Google Cloud Monitoring docs]({{<relref "../datasources/google-cloud-monitoring/_index.md/#out-of-the-box-dashboards">}}).
If you want to customize a dashboard, we recommend that you save it under a different name. Otherwise the dashboard will be overwritten when a new version of the dashboard is released.
For more information, refer to the [Google Cloud Monitoring docs]({{< relref "../datasources/google-cloud-monitoring/_index.md/#out-of-the-box-dashboards" >}}).
### Query Editor Help
@@ -177,22 +191,32 @@ After the number of Viewers or Editors has reached its license limit, only Admin
Grafana Enterprise license tokens update automatically on a daily basis, which means you no longer need to manually update your license, and the process for adding additional users to a license is smoother than it was before.
Refer to [Licensing restrictions](../enterprise/license-restrictions.md) for more information.
### Export usage insights to Loki
You can now export usage insights logs to Loki and query them from Grafana. Usage insights logs include dashboard visits, data source views, queries and errors, and more. See [Export logs of usage insights]({{< relref "../enterprise/usage-insights/export-logs.md" >}}) for more information.
You can now export usage insights logs to Loki and query them from Grafana. Usage insights logs include dashboard visits, data source views, queries and errors, and more.
For more information, refer to [Export logs of usage insights]({{< relref "../enterprise/usage-insights/export-logs.md" >}}).
### New audit log events
New log out events are logged based on when a token expires or is revoked, as well as [SAML Single Logout]({{< relref "../enterprise/saml.md#single-logout" >}}). A `tokenId` field was added to all audit logs to help understand which session was logged out of. [Auditing]({{< relref "../enterprise/auditing.md" >}}) was updated to reflect these changes.
New log out events are logged based on when a token expires or is revoked, as well as [SAML Single Logout]({{< relref "../enterprise/saml.md#single-logout" >}}). A `tokenId` field was added to all audit logs to help understand which session was logged out of.
Also, a counter for audit log writing actions with status (success / failure) and logger (loki / file / console) labels was added.
[Auditing]({{< relref "../enterprise/auditing.md" >}}) was updated to reflect these changes.
### Reports support Unicode
You can now select a font, other than the default, for Unicode-based scripts. As a result, an automatically generated PDF of a dashboard, which contains for example Chinese or Cyrillic text, can display them. Because the size of a report increases as additional fonts are added, this feature is not on by default.
[Reporting]({{< relref "../enterprise/reporting.md#rendering-configuration" >}}) was updated as a result of this change.
## Breaking changes
The following Grafana 7.4 changes might break previous functionality.
### Plugin compatibility
We have upgraded AngularJS from version 1.6.6 to 1.8.2. Due to this upgrade some old angular plugins might stop working and will require a small update. This is due to the deprecation and removal of pre-assigned bindings. So if your custom angular controllers expect component bindings in the controller constructor you need to move this code to an $onInit function. For more details on how to migrate AngularJS code open the migration guide and search for pre-assigning bindings.
@@ -35,11 +35,12 @@ e2e.scenario({
`Server:sqlstring = 'A''A"A','BB\\\B','CCC'`,
`Server:date = null`,
`Server:text = All`,
`Server:queryparam = var-Server=All`,
];
e2e()
.get('.markdown-html li')
.should('have.length', 23)
.should('have.length', 24)
.each((element) => {
items.push(element.text());
})
+13 -13
View File
@@ -75,36 +75,36 @@ const expectDrawerTabsAndContent = () => {
expect(li.text()).equals('Data');
});
e2e.components.PanelInspector.Data.content().should('be.visible');
e2e.components.PanelInspector.Stats.content().should('not.be.visible');
e2e.components.PanelInspector.Json.content().should('not.be.visible');
e2e.components.PanelInspector.Query.content().should('not.be.visible');
e2e.components.PanelInspector.Stats.content().should('not.exist');
e2e.components.PanelInspector.Json.content().should('not.exist');
e2e.components.PanelInspector.Query.content().should('not.exist');
// other tabs should also be visible, click on each to see if we get any console errors
e2e.components.Tab.title('Stats').should('be.visible').click();
e2e.components.PanelInspector.Stats.content().should('be.visible');
e2e.components.PanelInspector.Data.content().should('not.be.visible');
e2e.components.PanelInspector.Json.content().should('not.be.visible');
e2e.components.PanelInspector.Query.content().should('not.be.visible');
e2e.components.PanelInspector.Data.content().should('not.exist');
e2e.components.PanelInspector.Json.content().should('not.exist');
e2e.components.PanelInspector.Query.content().should('not.exist');
e2e.components.Tab.title('JSON').should('be.visible').click();
e2e.components.PanelInspector.Json.content().should('be.visible');
e2e.components.PanelInspector.Data.content().should('not.be.visible');
e2e.components.PanelInspector.Stats.content().should('not.be.visible');
e2e.components.PanelInspector.Query.content().should('not.be.visible');
e2e.components.PanelInspector.Data.content().should('not.exist');
e2e.components.PanelInspector.Stats.content().should('not.exist');
e2e.components.PanelInspector.Query.content().should('not.exist');
e2e.components.Tab.title('Query').should('be.visible').click();
e2e.components.PanelInspector.Query.content().should('be.visible');
e2e.components.PanelInspector.Data.content().should('not.be.visible');
e2e.components.PanelInspector.Stats.content().should('not.be.visible');
e2e.components.PanelInspector.Json.content().should('not.be.visible');
e2e.components.PanelInspector.Data.content().should('not.exist');
e2e.components.PanelInspector.Stats.content().should('not.exist');
e2e.components.PanelInspector.Json.content().should('not.exist');
});
};
const expectDrawerClose = () => {
// close using close button
e2e.components.Drawer.General.close().click();
e2e.components.Drawer.General.title(`Inspect: ${PANEL_UNDER_TEST}`).should('not.be.visible');
e2e.components.Drawer.General.title(`Inspect: ${PANEL_UNDER_TEST}`).should('not.exist');
};
const expectDrawerExpandAndContract = (viewPortWidth: number) => {
+11 -11
View File
@@ -27,7 +27,7 @@ e2e.scenario({
});
e2e.components.QueryTab.content().should('be.visible');
e2e.components.TransformTab.content().should('not.exist');
e2e.components.AlertTab.content().should('not.be.visible');
e2e.components.AlertTab.content().should('not.exist');
// Bottom pane tabs
// Can change to Transform tab
@@ -36,8 +36,8 @@ e2e.scenario({
expect(li.text()).equals('Transform0'); // there's no transform so therefore Transform + 0
});
e2e.components.Transforms.card('Merge').scrollIntoView().should('be.visible');
e2e.components.QueryTab.content().should('not.be.visible');
e2e.components.AlertTab.content().should('not.be.visible');
e2e.components.QueryTab.content().should('not.exist');
e2e.components.AlertTab.content().should('not.exist');
// Can change to Alerts tab (graph panel is the default vis so the alerts tab should be rendered)
e2e.components.Tab.title('Alert').should('be.visible').click();
@@ -45,7 +45,7 @@ e2e.scenario({
expect(li.text()).equals('Alert0'); // there's no alert so therefore Alert + 0
});
e2e.components.AlertTab.content().should('be.visible');
e2e.components.QueryTab.content().should('not.be.visible');
e2e.components.QueryTab.content().should('not.exist');
e2e.components.TransformTab.content().should('not.exist');
e2e.components.Tab.title('Query').should('be.visible').click();
@@ -56,18 +56,18 @@ e2e.scenario({
// Can toggle on/off sidebar
e2e.components.PanelEditor.OptionsPane.close().should('be.visible');
e2e.components.PanelEditor.OptionsPane.open().should('not.be.visible');
e2e.components.PanelEditor.OptionsPane.open().should('not.exist');
// close options pane
e2e.components.PanelEditor.OptionsPane.close().click();
e2e.components.PanelEditor.OptionsPane.open().should('be.visible');
e2e.components.PanelEditor.OptionsPane.close().should('not.be.visible');
e2e.components.PanelEditor.OptionsPane.content().should('not.be.visible');
e2e.components.PanelEditor.OptionsPane.close().should('not.exist');
e2e.components.PanelEditor.OptionsPane.content().should('not.exist');
// open options pane
e2e.components.PanelEditor.OptionsPane.open().click();
e2e.components.PanelEditor.OptionsPane.close().should('be.visible');
e2e.components.PanelEditor.OptionsPane.open().should('not.be.visible');
e2e.components.PanelEditor.OptionsPane.open().should('not.exist');
e2e.components.PanelEditor.OptionsPane.content().should('be.visible');
// Can change visualisation type
@@ -86,7 +86,7 @@ e2e.scenario({
});
// Data pane should not be rendered
e2e.components.PanelEditor.DataPane.content().should('not.be.visible');
e2e.components.PanelEditor.DataPane.content().should('not.exist');
// Change to Table panel
e2e.components.PluginVisualization.item('Table').scrollIntoView().should('be.visible').click();
@@ -103,12 +103,12 @@ e2e.scenario({
e2e.components.PanelEditor.OptionsPane.tab('Field').click();
e2e.components.FieldConfigEditor.content().should('be.visible');
e2e.components.OverridesConfigEditor.content().should('not.be.visible');
e2e.components.OverridesConfigEditor.content().should('not.exist');
e2e.components.PanelEditor.OptionsPane.tab('Field').should('be.visible');
e2e.components.PanelEditor.OptionsPane.tab('Overrides').should('be.visible').click();
e2e.components.OverridesConfigEditor.content().should('be.visible');
e2e.components.FieldConfigEditor.content().should('not.be.visible');
e2e.components.FieldConfigEditor.content().should('not.exist');
},
});
+1 -1
View File
@@ -29,7 +29,7 @@ e2e.scenario({
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('apiPostQuery');
+2 -2
View File
@@ -17,7 +17,7 @@ e2e.scenario({
e2e.components.Select.option().should('be.visible').first().click();
e2e.components.Select.input().should('be.visible').should('have.focus');
e2e.components.Select.input().should('exist').should('have.focus');
});
e2e.pages.Dashboard.Settings.General.title().click();
@@ -25,7 +25,7 @@ e2e.scenario({
e2e.components.FolderPicker.container()
.should('be.visible')
.within(() => {
e2e.components.Select.input().should('be.visible').should('not.have.focus');
e2e.components.Select.input().should('exist').should('not.have.focus');
});
},
});
@@ -0,0 +1,30 @@
import { e2e } from '@grafana/e2e';
describe('Trace view', () => {
it('Can lazy load big traces', () => {
e2e.flows.login('admin', 'admin');
e2e().intercept('GET', '/api/datasources/proxy/29/api/traces/long-trace', {
fixture: 'long-trace-response.json',
});
e2e.pages.Explore.visit();
e2e.components.DataSourcePicker.container()
.should('be.visible')
.within(() => {
e2e.components.Select.input().should('be.visible').click();
e2e().contains('gdev-jaeger').scrollIntoView().should('be.visible').click();
});
e2e.components.QueryField.container().should('be.visible').type('long-trace');
e2e.components.RefreshPicker.runButton().should('be.visible').click();
e2e.components.TraceViewer.spanBar().should('have.length', 100);
e2e.pages.Explore.General.scrollBar().scrollTo('center');
// After scrolling we should have 140 spans instead of the first 100
e2e.components.TraceViewer.spanBar().should('have.length', 140);
});
});
@@ -10,7 +10,7 @@ describe('Variables - Load options from Url', () => {
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('query');
@@ -63,7 +63,7 @@ describe('Variables - Load options from Url', () => {
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('query');
@@ -127,7 +127,7 @@ describe('Variables - Load options from Url', () => {
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('query');
@@ -95,27 +95,34 @@ describe('Variables - Add variable', () => {
.type('*')
.blur();
e2e.pages.Dashboard.Settings.Variables.Edit.QueryVariable.queryOptionsRegExInput()
.should('be.visible')
.type('/.*C.*/')
.blur();
e2e.pages.Dashboard.Settings.Variables.Edit.General.previewOfValuesOption().should('exist');
e2e.pages.Dashboard.Settings.Variables.Edit.General.submitButton().should('be.visible').click();
e2e().wait(500);
e2e().wait(1500);
e2e.components.BackButton.backArrow().should('be.visible').click({ force: true });
e2e.pages.Dashboard.SubMenu.submenuItemLabels('a label').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts('A').eq(1).should('be.visible').click();
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownDropDown()
.should('be.visible')
e2e.pages.Dashboard.SubMenu.submenuItem()
.should('have.length', 4)
.eq(3)
.within(() => {
e2e().get('.variable-option').should('have.length', 3);
});
e2e().get('.variable-link-wrapper').should('be.visible').click();
e2e().wait(500);
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownDropDown()
.should('be.visible')
.within(() => {
e2e().get('.variable-option').should('have.length', 1);
});
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('A').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('B').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('C').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('C').should('be.visible');
});
});
it('adding a multi value query variable', () => {
@@ -142,6 +149,11 @@ describe('Variables - Add variable', () => {
.type('*')
.blur();
e2e.pages.Dashboard.Settings.Variables.Edit.QueryVariable.queryOptionsRegExInput()
.should('be.visible')
.type('/.*C.*/')
.blur();
e2e.pages.Dashboard.Settings.Variables.Edit.General.selectionOptionsMultiSwitch()
.click({ force: true })
.should('be.checked');
@@ -163,21 +175,21 @@ describe('Variables - Add variable', () => {
e2e.components.BackButton.backArrow().should('be.visible').click({ force: true });
e2e().wait(500);
e2e.pages.Dashboard.SubMenu.submenuItemLabels('a label').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownValueLinkTexts('A').eq(1).should('be.visible').click();
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownDropDown()
.should('be.visible')
e2e.pages.Dashboard.SubMenu.submenuItem()
.should('have.length', 4)
.eq(3)
.within(() => {
e2e().get('.variable-option').should('have.length', 4);
});
e2e().get('.variable-link-wrapper').should('be.visible').click();
e2e().wait(500);
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownDropDown()
.should('be.visible')
.within(() => {
e2e().get('.variable-option').should('have.length', 2);
});
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('All').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('A').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('B').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('C').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('All').should('be.visible');
e2e.pages.Dashboard.SubMenu.submenuItemValueDropDownOptionTexts('C').should('be.visible');
});
});
});
@@ -10,7 +10,7 @@ describe('Variables - Set options from ui', () => {
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('query');
@@ -68,7 +68,7 @@ describe('Variables - Set options from ui', () => {
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('query');
@@ -123,7 +123,7 @@ describe('Variables - Set options from ui', () => {
e2e()
.route({
method: 'POST',
url: '/api/tsdb/query',
url: '/api/ds/query',
})
.as('query');
+6 -4
View File
@@ -34,6 +34,7 @@ require (
github.com/getsentry/sentry-go v0.9.0
github.com/go-macaron/binding v0.0.0-20190806013118-0b4f37bab25b
github.com/go-macaron/gzip v0.0.0-20160222043647-cad1c6580a07
github.com/go-sourcemap/sourcemap v2.1.3+incompatible
github.com/go-sql-driver/mysql v1.5.0
github.com/go-stack/stack v1.8.0
github.com/gobwas/glob v0.2.3
@@ -42,11 +43,12 @@ require (
github.com/google/go-cmp v0.5.4
github.com/google/uuid v1.2.0
github.com/gosimple/slug v1.9.0
github.com/grafana/grafana-aws-sdk v0.0.0-20210112151715-f082803d987a
github.com/grafana/grafana-plugin-model v0.0.0-20190930120109-1fc953a61fb4
github.com/grafana/grafana-plugin-sdk-go v0.83.0
github.com/grafana/loki v1.6.2-0.20201026154740-6978ee5d7387
github.com/grpc-ecosystem/go-grpc-middleware v1.2.1
github.com/hashicorp/go-hclog v0.14.1
github.com/hashicorp/go-hclog v0.15.0
github.com/hashicorp/go-plugin v1.4.0
github.com/hashicorp/go-version v1.2.1
github.com/inconshreveable/log15 v0.0.0-20180818164646-67afb5ed74ec
@@ -85,20 +87,20 @@ require (
golang.org/x/oauth2 v0.0.0-20200902213428-5d25da1a8d43
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9
golang.org/x/time v0.0.0-20200630173020-3af7569d3a1e
gonum.org/v1/gonum v0.6.0
gonum.org/v1/gonum v0.8.2
google.golang.org/api v0.33.0
google.golang.org/appengine v1.6.7 // indirect
google.golang.org/genproto v0.0.0-20201022181438-0ff5f38871d5 // indirect
google.golang.org/grpc v1.35.0
gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect
gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d // indirect
gopkg.in/ini.v1 v1.57.0
gopkg.in/ini.v1 v1.62.0
gopkg.in/ldap.v3 v3.0.2
gopkg.in/macaron.v1 v1.4.0
gopkg.in/mail.v2 v2.3.1
gopkg.in/redis.v5 v5.2.9
gopkg.in/square/go-jose.v2 v2.5.1
gopkg.in/yaml.v2 v2.3.0
gopkg.in/yaml.v2 v2.4.0
xorm.io/core v0.7.3
xorm.io/xorm v0.8.1
)

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