mirror of
https://github.com/grafana/grafana.git
synced 2026-01-10 22:14:04 +08:00
Compare commits
318 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f9548d33f8 | ||
|
|
72a13b0fd9 | ||
|
|
bdc02d887d | ||
|
|
5f94620d7c | ||
|
|
3a22eba17f | ||
|
|
2b00a15709 | ||
|
|
f854430ca6 | ||
|
|
2047786936 | ||
|
|
e057471d95 | ||
|
|
8c1aa4e50b | ||
|
|
4deceb0aa7 | ||
|
|
42665ac87f | ||
|
|
ac56c21aad | ||
|
|
f7892a41d1 | ||
|
|
b3edba4a37 | ||
|
|
4f4921ad01 | ||
|
|
587bbf20d3 | ||
|
|
6636a56199 | ||
|
|
d30dc44312 | ||
|
|
72999ff49a | ||
|
|
cf157c123c | ||
|
|
abe5ae6834 | ||
|
|
dda21296dd | ||
|
|
73091fa92e | ||
|
|
f6f22b95c1 | ||
|
|
9ba26bd359 | ||
|
|
bbcc5bdd93 | ||
|
|
36fa2841d6 | ||
|
|
93982e4e6a | ||
|
|
abfd8792e5 | ||
|
|
27e188c48c | ||
|
|
7ec3928392 | ||
|
|
30a521aade | ||
|
|
299618ebe6 | ||
|
|
7883f9b001 | ||
|
|
403ad6923a | ||
|
|
e663f6c35e | ||
|
|
0720a4ad4b | ||
|
|
ea85e74011 | ||
|
|
b43e6e64e1 | ||
|
|
17882d7c36 | ||
|
|
e57ab953f8 | ||
|
|
10f04e19f0 | ||
|
|
f3ee84b3c6 | ||
|
|
46d6c7ae3a | ||
|
|
8faaacd80d | ||
|
|
5860269b82 | ||
|
|
4b9583c58b | ||
|
|
d6c8b011f1 | ||
|
|
c98610dce5 | ||
|
|
516386219c | ||
|
|
9c4964279c | ||
|
|
03b1cf763d | ||
|
|
d9b5c5f4c6 | ||
|
|
10569aad42 | ||
|
|
7df263ff2e | ||
|
|
fa1b189beb | ||
|
|
e7c8704090 | ||
|
|
d3a33de503 | ||
|
|
e08bfdfcf6 | ||
|
|
a31430a3dd | ||
|
|
e1999d51cd | ||
|
|
ead3a002df | ||
|
|
4d450ab910 | ||
|
|
1c6fcb8ed4 | ||
|
|
a63895ff24 | ||
|
|
df86048b6d | ||
|
|
aaa2a821ae | ||
|
|
267d53a56a | ||
|
|
575f3bd49c | ||
|
|
31971fab4f | ||
|
|
57ad341af1 | ||
|
|
bac45b3aee | ||
|
|
7ee08a5c50 | ||
|
|
4da046bde5 | ||
|
|
f966a06342 | ||
|
|
ca772d2fbe | ||
|
|
6e8be826ba | ||
|
|
12ddd7294a | ||
|
|
58ea79a30b | ||
|
|
61ff98096d | ||
|
|
ee1556e4fa | ||
|
|
8e3111aa47 | ||
|
|
6991330eda | ||
|
|
7ea31b5173 | ||
|
|
613940a0c8 | ||
|
|
1c8a50b369 | ||
|
|
c69fb85c7e | ||
|
|
e7e110c140 | ||
|
|
f938fc9d0d | ||
|
|
0d00936ba7 | ||
|
|
5736569768 | ||
|
|
594b5cdd95 | ||
|
|
9be71e5175 | ||
|
|
9d5b13b565 | ||
|
|
47f924d915 | ||
|
|
73a881c954 | ||
|
|
77b7420f54 | ||
|
|
ecf4e45659 | ||
|
|
c9c7f0d653 | ||
|
|
56cb8a6ee8 | ||
|
|
384eaed327 | ||
|
|
ad08393729 | ||
|
|
14eb47f749 | ||
|
|
816923e94d | ||
|
|
4dc28cfec5 | ||
|
|
85c62f07c7 | ||
|
|
5c2e0c374c | ||
|
|
72904519fa | ||
|
|
91356c9af3 | ||
|
|
e50192e9fd | ||
|
|
783b7129ff | ||
|
|
5da3e81bd3 | ||
|
|
f7352810e0 | ||
|
|
5a15fec112 | ||
|
|
15f8efdaec | ||
|
|
30f8d97b48 | ||
|
|
6ba3cceb79 | ||
|
|
056ef7da7f | ||
|
|
f485d0a1df | ||
|
|
727470dee3 | ||
|
|
7b81fef14e | ||
|
|
7127d4f3b9 | ||
|
|
0b1547e326 | ||
|
|
bed1e36dcc | ||
|
|
ad705086cf | ||
|
|
5335cdf4e5 | ||
|
|
f5a52c8f0e | ||
|
|
b42544526e | ||
|
|
1a16d949d8 | ||
|
|
9077c0989c | ||
|
|
e01756ceed | ||
|
|
cda38a1ca4 | ||
|
|
fe6088e60e | ||
|
|
a8784574ef | ||
|
|
2b7f0d950c | ||
|
|
b7e4a27e96 | ||
|
|
ae78664449 | ||
|
|
4db98cbc0f | ||
|
|
46f377635e | ||
|
|
3f37ea5dc8 | ||
|
|
7e273e82c5 | ||
|
|
83691de11a | ||
|
|
2b6932a2b4 | ||
|
|
58aa232a1b | ||
|
|
225534841f | ||
|
|
7ad83a3b84 | ||
|
|
1570bdd838 | ||
|
|
1ca625f41f | ||
|
|
31d483a567 | ||
|
|
57a4796c22 | ||
|
|
0a5f051dd1 | ||
|
|
260510273b | ||
|
|
13532b62d3 | ||
|
|
24abde9816 | ||
|
|
810d7007c4 | ||
|
|
62984d2aa0 | ||
|
|
007110c599 | ||
|
|
5cf1b561cf | ||
|
|
155602e49c | ||
|
|
81249c68ac | ||
|
|
8ff6d2ae7c | ||
|
|
e12c571abf | ||
|
|
a4b7019ff0 | ||
|
|
41ce629a25 | ||
|
|
8aa9921c9f | ||
|
|
d80ffe3ef9 | ||
|
|
30abded215 | ||
|
|
db83d5f398 | ||
|
|
0404d07666 | ||
|
|
b4d343e162 | ||
|
|
c75abb084c | ||
|
|
d7146dd127 | ||
|
|
9f639403e6 | ||
|
|
1d0dd0338c | ||
|
|
55a0db984d | ||
|
|
b2a8f8123d | ||
|
|
baeaab2f11 | ||
|
|
27aacde173 | ||
|
|
727d739d14 | ||
|
|
8455617ffb | ||
|
|
654ac6cd8a | ||
|
|
6f752ababb | ||
|
|
b8882237ed | ||
|
|
8de24779ad | ||
|
|
510345aad1 | ||
|
|
e94626a6cc | ||
|
|
3403afb533 | ||
|
|
8bcbf85453 | ||
|
|
386016ccb9 | ||
|
|
17637cea7c | ||
|
|
ae071d7abc | ||
|
|
d131bcb792 | ||
|
|
0e207c2010 | ||
|
|
f05f7db37d | ||
|
|
d726a9648f | ||
|
|
139fc62eaf | ||
|
|
1780f86fc7 | ||
|
|
439b0cad43 | ||
|
|
2e4c921868 | ||
|
|
5a71779ea1 | ||
|
|
a8c188402a | ||
|
|
803670872a | ||
|
|
38963eced5 | ||
|
|
4d7d7e7830 | ||
|
|
282ffe37c9 | ||
|
|
b79aea0cbe | ||
|
|
2d876e90b9 | ||
|
|
81c35a7c32 | ||
|
|
55b87d5ed6 | ||
|
|
8c9b6efb05 | ||
|
|
661169720a | ||
|
|
714bf79b93 | ||
|
|
2458371602 | ||
|
|
782a6afd92 | ||
|
|
52027d1402 | ||
|
|
170fa40d67 | ||
|
|
b297cbfc06 | ||
|
|
21c1d14e91 | ||
|
|
b884c106e9 | ||
|
|
32023f7122 | ||
|
|
1437520da2 | ||
|
|
04aded642e | ||
|
|
7a11627606 | ||
|
|
3d60298d48 | ||
|
|
65521e7aea | ||
|
|
de53863a6b | ||
|
|
c11e54766c | ||
|
|
61a9937027 | ||
|
|
ef5286dd77 | ||
|
|
7ba0b172ce | ||
|
|
d3703273c0 | ||
|
|
2b220ad0cb | ||
|
|
2bbab19dd4 | ||
|
|
5a0a148dcb | ||
|
|
9eb271207d | ||
|
|
c8cf2c65e4 | ||
|
|
5fa57d2c1e | ||
|
|
ea2a7a4068 | ||
|
|
30ee2bedf2 | ||
|
|
4270f44664 | ||
|
|
5e01fbde03 | ||
|
|
58cdf2e48a | ||
|
|
d74552e02f | ||
|
|
8410c327a4 | ||
|
|
b12ca99511 | ||
|
|
4bdebf338c | ||
|
|
8680534e33 | ||
|
|
d34331f060 | ||
|
|
275185d9df | ||
|
|
74a22daa49 | ||
|
|
6e078879ce | ||
|
|
d53f59f0bf | ||
|
|
42cf94df03 | ||
|
|
05c94f1c5b | ||
|
|
07be773161 | ||
|
|
9f3a952fce | ||
|
|
8172672e96 | ||
|
|
f5ba14f546 | ||
|
|
083ebae58d | ||
|
|
0f6c4d1756 | ||
|
|
4f68c4ee8b | ||
|
|
6037562c9a | ||
|
|
a3dda795f9 | ||
|
|
cc45b5b699 | ||
|
|
3adad3c21a | ||
|
|
a32d25bbe3 | ||
|
|
86dec7c602 | ||
|
|
7a7bee20af | ||
|
|
94e5ee70a5 | ||
|
|
379391e06f | ||
|
|
40f6d41324 | ||
|
|
dc0e3491ed | ||
|
|
fdfed19810 | ||
|
|
b9b6cafb89 | ||
|
|
847361027f | ||
|
|
09afbd762a | ||
|
|
896353268d | ||
|
|
0e86b3afe9 | ||
|
|
923fcd4337 | ||
|
|
de582ef5ab | ||
|
|
51e6b11ecf | ||
|
|
04fb50f8cc | ||
|
|
a271e24b3d | ||
|
|
5e4a2b3294 | ||
|
|
1e47c5857c | ||
|
|
c53ae81011 | ||
|
|
bab20e613d | ||
|
|
89b365f8b1 | ||
|
|
ec552dd6b8 | ||
|
|
95b7cabe00 | ||
|
|
3b70755095 | ||
|
|
7068dddd94 | ||
|
|
38ec1ea5e3 | ||
|
|
43ea988ec2 | ||
|
|
ced2d228f7 | ||
|
|
98095a6af2 | ||
|
|
29c141d4c3 | ||
|
|
25382580fe | ||
|
|
7feaf4b32c | ||
|
|
5610aee184 | ||
|
|
e15ee039e1 | ||
|
|
c5409af19c | ||
|
|
8bd0d15170 | ||
|
|
f09a065020 | ||
|
|
6c1463e3ae | ||
|
|
65c0f4e787 | ||
|
|
c45b49cb92 | ||
|
|
11a69c499f | ||
|
|
f6dca21a46 | ||
|
|
c90230a194 | ||
|
|
fb9571b348 | ||
|
|
7fff085d21 | ||
|
|
3dac951598 | ||
|
|
79d76996aa | ||
|
|
1b3a248142 | ||
|
|
bfe04d4d1a | ||
|
|
dc1e759ce5 |
@@ -6818,9 +6818,7 @@ exports[`better eslint`] = {
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "15"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "16"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "17"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "18"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "19"],
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "20"]
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "18"]
|
||||
],
|
||||
"public/app/plugins/datasource/tempo/traceql/autocomplete.ts:5381": [
|
||||
[0, 0, 0, "Do not use any type assertions.", "0"],
|
||||
@@ -7792,9 +7790,7 @@ exports[`better eslint`] = {
|
||||
[0, 0, 0, "Do not use any type assertions.", "16"],
|
||||
[0, 0, 0, "Do not use any type assertions.", "17"],
|
||||
[0, 0, 0, "Do not use any type assertions.", "18"],
|
||||
[0, 0, 0, "Do not use any type assertions.", "19"],
|
||||
[0, 0, 0, "Do not use any type assertions.", "20"],
|
||||
[0, 0, 0, "Do not use any type assertions.", "21"]
|
||||
[0, 0, 0, "Do not use any type assertions.", "19"]
|
||||
],
|
||||
"public/app/plugins/panel/histogram/Histogram.tsx:5381": [
|
||||
[0, 0, 0, "Unexpected any. Specify a different type.", "0"],
|
||||
|
||||
@@ -2,9 +2,8 @@
|
||||
init_cmds = [
|
||||
["make", "gen-go"],
|
||||
["make", "gen-jsonnet"],
|
||||
["GO_BUILD_DEV=1", "make", "build-cli"],
|
||||
["GO_BUILD_DEV=1", "make", "build-server"],
|
||||
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
|
||||
["GO_BUILD_DEV=1", "make", "build-go"],
|
||||
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
|
||||
]
|
||||
watch_all = true
|
||||
follow_symlinks = true
|
||||
@@ -20,6 +19,6 @@ build_delay = 1500
|
||||
cmds = [
|
||||
["make", "gen-go"],
|
||||
["make", "gen-jsonnet"],
|
||||
["GO_BUILD_DEV=1", "make", "build-server"],
|
||||
["./bin/grafana-server", "-packaging=dev", "cfg:app_mode=development"]
|
||||
["GO_BUILD_DEV=1", "make", "build-go"],
|
||||
["./bin/grafana", "server", "-packaging=dev", "cfg:app_mode=development"]
|
||||
]
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
.dockerignore
|
||||
.git
|
||||
.gitignore
|
||||
.github
|
||||
.vscode
|
||||
bin
|
||||
data*
|
||||
|
||||
65
.drone.star
65
.drone.star
@@ -3,20 +3,55 @@
|
||||
# 2. Login to drone and export the env variables (token and server) shown here: https://drone.grafana.net/account
|
||||
# 3. Run `make drone`
|
||||
# More information about this process here: https://github.com/grafana/deployment_tools/blob/master/docs/infrastructure/drone/signing.md
|
||||
"""
|
||||
This module returns a Drone configuration including pipelines and secrets.
|
||||
"""
|
||||
|
||||
load('scripts/drone/events/pr.star', 'pr_pipelines')
|
||||
load('scripts/drone/events/main.star', 'main_pipelines')
|
||||
load('scripts/drone/pipelines/docs.star', 'docs_pipelines')
|
||||
load('scripts/drone/events/release.star', 'release_pipelines', 'publish_artifacts_pipelines', 'publish_npm_pipelines', 'publish_packages_pipeline', 'artifacts_page_pipeline')
|
||||
load('scripts/drone/pipelines/publish_images.star', 'publish_image_pipelines_public', 'publish_image_pipelines_security')
|
||||
load('scripts/drone/version.star', 'version_branch_pipelines')
|
||||
load('scripts/drone/events/cron.star', 'cronjobs')
|
||||
load('scripts/drone/vault.star', 'secrets')
|
||||
load("scripts/drone/events/pr.star", "pr_pipelines")
|
||||
load("scripts/drone/events/main.star", "main_pipelines")
|
||||
load(
|
||||
"scripts/drone/events/release.star",
|
||||
"artifacts_page_pipeline",
|
||||
"enterprise2_pipelines",
|
||||
"enterprise_pipelines",
|
||||
"oss_pipelines",
|
||||
"publish_artifacts_pipelines",
|
||||
"publish_npm_pipelines",
|
||||
"publish_packages_pipeline",
|
||||
)
|
||||
load(
|
||||
"scripts/drone/pipelines/publish_images.star",
|
||||
"publish_image_pipelines_public",
|
||||
"publish_image_pipelines_security",
|
||||
)
|
||||
load("scripts/drone/pipelines/github.star", "publish_github_pipeline")
|
||||
load("scripts/drone/pipelines/aws_marketplace.star", "publish_aws_marketplace_pipeline")
|
||||
load("scripts/drone/version.star", "version_branch_pipelines")
|
||||
load("scripts/drone/events/cron.star", "cronjobs")
|
||||
load("scripts/drone/vault.star", "secrets")
|
||||
|
||||
def main(ctx):
|
||||
edition = 'oss'
|
||||
return pr_pipelines(edition=edition) + main_pipelines(edition=edition) + release_pipelines() + \
|
||||
publish_image_pipelines_public() + publish_image_pipelines_security() + \
|
||||
publish_artifacts_pipelines('security') + publish_artifacts_pipelines('public') + \
|
||||
publish_npm_pipelines('public') + publish_packages_pipeline() + artifacts_page_pipeline() + \
|
||||
version_branch_pipelines() + cronjobs(edition=edition) + secrets()
|
||||
def main(_ctx):
|
||||
return (
|
||||
pr_pipelines() +
|
||||
main_pipelines() +
|
||||
oss_pipelines() +
|
||||
enterprise_pipelines() +
|
||||
enterprise2_pipelines() +
|
||||
enterprise2_pipelines(
|
||||
prefix = "custom-",
|
||||
trigger = {"event": ["custom"]},
|
||||
) +
|
||||
publish_image_pipelines_public() +
|
||||
publish_image_pipelines_security() +
|
||||
publish_github_pipeline("public") +
|
||||
publish_github_pipeline("security") +
|
||||
publish_aws_marketplace_pipeline("public") +
|
||||
publish_artifacts_pipelines("security") +
|
||||
publish_artifacts_pipelines("public") +
|
||||
publish_npm_pipelines() +
|
||||
publish_packages_pipeline() +
|
||||
artifacts_page_pipeline() +
|
||||
version_branch_pipelines() +
|
||||
cronjobs() +
|
||||
secrets()
|
||||
)
|
||||
|
||||
2130
.drone.yml
2130
.drone.yml
File diff suppressed because it is too large
Load Diff
3
.github/pr-commands.json
vendored
3
.github/pr-commands.json
vendored
@@ -66,8 +66,7 @@
|
||||
"scripts/build/**/*",
|
||||
"scripts/*.sh",
|
||||
"Makefile",
|
||||
"Dockerfile",
|
||||
"Dockerfile.ubuntu"
|
||||
"Dockerfile"
|
||||
],
|
||||
"action": "updateLabel",
|
||||
"addLabel": "type/build-packaging"
|
||||
|
||||
@@ -8,6 +8,8 @@ on:
|
||||
pull_request:
|
||||
paths-ignore:
|
||||
- "packages/**"
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
detect:
|
||||
|
||||
@@ -7,6 +7,8 @@ on:
|
||||
pull_request:
|
||||
paths:
|
||||
- 'packages/**'
|
||||
branches:
|
||||
- 'main'
|
||||
|
||||
jobs:
|
||||
buildPR:
|
||||
|
||||
2
.github/workflows/doc-validator.yml
vendored
2
.github/workflows/doc-validator.yml
vendored
@@ -7,7 +7,7 @@ jobs:
|
||||
doc-validator:
|
||||
runs-on: "ubuntu-latest"
|
||||
container:
|
||||
image: "grafana/doc-validator:latest"
|
||||
image: "grafana/doc-validator:v1.5.0"
|
||||
steps:
|
||||
- name: "Checkout code"
|
||||
uses: "actions/checkout@v3"
|
||||
|
||||
38
.github/workflows/publish-technical-documentation-next.yml
vendored
Normal file
38
.github/workflows/publish-technical-documentation-next.yml
vendored
Normal file
@@ -0,0 +1,38 @@
|
||||
name: "publish-technical-documentation-next"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- "main"
|
||||
paths:
|
||||
- "docs/sources/**"
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
sync:
|
||||
if: "github.repository == 'grafana/grafana'"
|
||||
runs-on: "ubuntu-latest"
|
||||
steps:
|
||||
- name: "Checkout Grafana repo"
|
||||
uses: "actions/checkout@v3"
|
||||
|
||||
- name: "Clone website-sync Action"
|
||||
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
|
||||
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
|
||||
# GitHub administrator to update the organization secret.
|
||||
# The IT helpdesk can update the organization secret.
|
||||
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
|
||||
|
||||
- name: "Publish to website repository (next)"
|
||||
uses: "./.github/actions/website-sync"
|
||||
id: "publish-next"
|
||||
with:
|
||||
repository: "grafana/website"
|
||||
branch: "master"
|
||||
host: "github.com"
|
||||
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires.
|
||||
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
|
||||
# GitHub administrator to update the organization secret.
|
||||
# The IT helpdesk can update the organization secret.
|
||||
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
|
||||
source_folder: "docs/sources"
|
||||
target_folder: "content/docs/grafana/next"
|
||||
68
.github/workflows/publish-technical-documentation-release.yml
vendored
Normal file
68
.github/workflows/publish-technical-documentation-release.yml
vendored
Normal file
@@ -0,0 +1,68 @@
|
||||
name: "publish-technical-documentation-release"
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- v[0-9]+.[0-9]+.x
|
||||
tags:
|
||||
- v[0-9]+.[0-9]+.[0-9]+
|
||||
paths:
|
||||
- "docs/sources/**"
|
||||
workflow_dispatch:
|
||||
jobs:
|
||||
sync:
|
||||
if: "github.repository == 'grafana/grafana'"
|
||||
runs-on: "ubuntu-latest"
|
||||
steps:
|
||||
- name: "Checkout Grafana repo"
|
||||
uses: "actions/checkout@v3"
|
||||
with:
|
||||
fetch-depth: 0
|
||||
|
||||
- name: "Checkout Actions library"
|
||||
uses: "actions/checkout@v3"
|
||||
with:
|
||||
repository: "grafana/grafana-github-actions"
|
||||
path: "./actions"
|
||||
|
||||
- name: "Install Actions from library"
|
||||
run: "npm install --production --prefix ./actions"
|
||||
|
||||
- name: "Determine if there is a matching release tag"
|
||||
id: "has-matching-release-tag"
|
||||
uses: "./actions/has-matching-release-tag"
|
||||
with:
|
||||
ref_name: "${{ github.ref_name }}"
|
||||
release_tag_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)$"
|
||||
release_branch_regexp: "^v(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.x$"
|
||||
|
||||
- name: "Determine technical documentation version"
|
||||
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
|
||||
uses: "./actions/docs-target"
|
||||
id: "target"
|
||||
with:
|
||||
ref_name: "${{ github.ref_name }}"
|
||||
|
||||
- name: "Clone website-sync Action"
|
||||
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
|
||||
# WEBSITE_SYNC_TOKEN is a fine-grained GitHub Personal Access Token that expires.
|
||||
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
|
||||
# GitHub administrator to update the organization secret.
|
||||
# The IT helpdesk can update the organization secret.
|
||||
run: "git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.WEBSITE_SYNC_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync"
|
||||
|
||||
- name: "Publish to website repository (release)"
|
||||
if: "steps.has-matching-release-tag.outputs.bool == 'true'"
|
||||
uses: "./.github/actions/website-sync"
|
||||
id: "publish-release"
|
||||
with:
|
||||
repository: "grafana/website"
|
||||
branch: "master"
|
||||
host: "github.com"
|
||||
# PUBLISH_TO_WEBSITE_TOKEN is a fine-grained GitHub Personal Access Token that expires.
|
||||
# It must be regenerated in the grafanabot GitHub account and requires a Grafana organization
|
||||
# GitHub administrator to update the organization secret.
|
||||
# The IT helpdesk can update the organization secret.
|
||||
github_pat: "grafanabot:${{ secrets.PUBLISH_TO_WEBSITE_TOKEN }}"
|
||||
source_folder: "docs/sources"
|
||||
target_folder: "content/docs/grafana/${{ steps.target.outputs.target }}"
|
||||
47
.github/workflows/publish.yml
vendored
47
.github/workflows/publish.yml
vendored
@@ -1,47 +0,0 @@
|
||||
name: publish_docs
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths:
|
||||
- 'docs/sources/**'
|
||||
- 'packages/grafana-*/**'
|
||||
|
||||
jobs:
|
||||
build:
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v3
|
||||
- run: git clone --single-branch --no-tags --depth 1 -b master https://grafanabot:${{ secrets.GH_BOT_ACCESS_TOKEN }}@github.com/grafana/website-sync ./.github/actions/website-sync
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v3.5.1
|
||||
with:
|
||||
node-version: '16'
|
||||
- name: Get yarn cache directory path
|
||||
id: yarn-cache-dir-path
|
||||
run: echo "dir=$(yarn config get cacheFolder)" >> $GITHUB_OUTPUT
|
||||
- uses: actions/cache@v3.0.11
|
||||
with:
|
||||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
||||
key: yarn-${{ hashFiles('**/yarn.lock') }}
|
||||
restore-keys: |
|
||||
yarn-
|
||||
- run: yarn install --immutable
|
||||
- name: publish-to-git
|
||||
uses: ./.github/actions/website-sync
|
||||
id: publish
|
||||
with:
|
||||
repository: grafana/website
|
||||
branch: master
|
||||
host: github.com
|
||||
github_pat: '${{ secrets.GH_BOT_ACCESS_TOKEN }}'
|
||||
source_folder: docs/sources
|
||||
target_folder: content/docs/grafana/next
|
||||
allow_no_changes: 'true'
|
||||
- shell: bash
|
||||
run: |
|
||||
test -n "${{ steps.publish.outputs.commit_hash }}"
|
||||
test -n "${{ steps.publish.outputs.working_directory }}"
|
||||
176
CHANGELOG.md
176
CHANGELOG.md
@@ -1,3 +1,179 @@
|
||||
<!-- 9.3.8 START -->
|
||||
|
||||
# 9.3.8 (2023-02-28)
|
||||
|
||||
<!-- 9.3.8 END -->
|
||||
|
||||
<!-- 9.3.7 START -->
|
||||
|
||||
# 9.3.7 (2023-02-28)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Alerting:** Validate that tags are 100 characters or less. [#62335](https://github.com/grafana/grafana/pull/62335), [@grobinson-grafana](https://github.com/grobinson-grafana)
|
||||
- **Expressions:** Fixes the issue showing expressions editor. [#62510](https://github.com/grafana/grafana/pull/62510), [@itsmylife](https://github.com/itsmylife)
|
||||
- **Logs:** Fix stats not being updated when log results change. [#62317](https://github.com/grafana/grafana/pull/62317), [@svennergr](https://github.com/svennergr)
|
||||
- **Plugins:** Fix circular reference in customOptions leading to MarshalJSON errors. [#62328](https://github.com/grafana/grafana/pull/62328), [@yoziru](https://github.com/yoziru)
|
||||
- **Time Series Panel:** Fix legend text selection in Firefox. [#60809](https://github.com/grafana/grafana/pull/60809), [@codeincarnate](https://github.com/codeincarnate)
|
||||
|
||||
<!-- 9.3.7 END -->
|
||||
<!-- 9.3.6 START -->
|
||||
|
||||
# 9.3.6 (2023-01-26)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **QueryEditorRow:** Fixes issue loading query editor when data source variable selected. [#61927](https://github.com/grafana/grafana/pull/61927), [@torkelo](https://github.com/torkelo)
|
||||
|
||||
<!-- 9.3.6 END -->
|
||||
<!-- 9.3.4 START -->
|
||||
|
||||
# 9.3.4 (2023-01-25)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Prometheus:** Add default editor configuration. [#61510](https://github.com/grafana/grafana/pull/61510), [@itsmylife](https://github.com/itsmylife)
|
||||
- **TextPanel:** Refactor to functional component (#60885). [#61937](https://github.com/grafana/grafana/pull/61937), [@ryantxu](https://github.com/ryantxu)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Alerting:** Fix webhook to use correct key for decrypting token. [#61717](https://github.com/grafana/grafana/pull/61717), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **Alerting:** Set error annotation on EvaluationError regardless of underlying error type. [#61506](https://github.com/grafana/grafana/pull/61506), [@alexweav](https://github.com/alexweav)
|
||||
- **Datasources:** Fix Proxy by UID Failing for UIDs with a Hyphen. [#61723](https://github.com/grafana/grafana/pull/61723), [@csmarchbanks](https://github.com/csmarchbanks)
|
||||
- **Elasticsearch:** Fix creating of span link with no tags. [#61753](https://github.com/grafana/grafana/pull/61753), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Elasticsearch:** Fix failing requests when using SigV4. [#61923](https://github.com/grafana/grafana/pull/61923), [@svennergr](https://github.com/svennergr)
|
||||
- **Elasticsearch:** Fix toggle-settings are not shown correctly. [#61751](https://github.com/grafana/grafana/pull/61751), [@svennergr](https://github.com/svennergr)
|
||||
- **Explore:** Be sure time range key bindings are mounted after clear. [#61892](https://github.com/grafana/grafana/pull/61892), [@gelicia](https://github.com/gelicia)
|
||||
- **Explore:** Unsync time ranges when a pane is closed. [#61369](https://github.com/grafana/grafana/pull/61369), [@Elfo404](https://github.com/Elfo404)
|
||||
- **Logs:** Lines with long words do not break properly. [#61707](https://github.com/grafana/grafana/pull/61707), [@svennergr](https://github.com/svennergr)
|
||||
- **Loki:** Fix misaligned derived fields settings. [#61475](https://github.com/grafana/grafana/pull/61475), [@svennergr](https://github.com/svennergr)
|
||||
- **Query Builder:** Fix max width of input component to prevent overflows. [#61798](https://github.com/grafana/grafana/pull/61798), [@matyax](https://github.com/matyax)
|
||||
- **Search:** Auto focus input elements. [#61443](https://github.com/grafana/grafana/pull/61443), [@ryantxu](https://github.com/ryantxu)
|
||||
- **Search:** Fix empty folder message showing when by starred dashboards. [#61610](https://github.com/grafana/grafana/pull/61610), [@eledobleefe](https://github.com/eledobleefe)
|
||||
- **Table Panel:** Fix image of image cell overflowing table cell and cells ignoring text alignment setting when a data link is added. [#59392](https://github.com/grafana/grafana/pull/59392), [@oscarkilhed](https://github.com/oscarkilhed)
|
||||
|
||||
<!-- 9.3.4 END -->
|
||||
<!-- 9.3.2 START -->
|
||||
|
||||
# 9.3.2 (unreleased)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Graphite:** Process multiple queries to Graphite plugin. [#59608](https://github.com/grafana/grafana/pull/59608), [@mmandrus](https://github.com/mmandrus)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **API:** Fix delete user failure due to quota not enabled. [#59875](https://github.com/grafana/grafana/pull/59875), [@papagian](https://github.com/papagian)
|
||||
- **Accessibility:** Improved keyboard accessibility in BarGauge. [#59382](https://github.com/grafana/grafana/pull/59382), [@lpskdl](https://github.com/lpskdl)
|
||||
- **Accessibility:** Improved keyboard accessibility in BigValue. [#59830](https://github.com/grafana/grafana/pull/59830), [@lpskdl](https://github.com/lpskdl)
|
||||
- **Alerting:** Use the QuotaTargetSrv instead of the QuotaTarget in quota check. [#60026](https://github.com/grafana/grafana/pull/60026), [@joeblubaugh](https://github.com/joeblubaugh)
|
||||
- **AzureMonitor:** Automate location retrieval. [#59602](https://github.com/grafana/grafana/pull/59602), [@aangelisc](https://github.com/aangelisc)
|
||||
- **AzureMonitor:** Fix bad request when setting dimensions. [#59700](https://github.com/grafana/grafana/pull/59700), [@andresmgot](https://github.com/andresmgot)
|
||||
- **BarChart:** Fix value mappings. [#60066](https://github.com/grafana/grafana/pull/60066), [@leeoniya](https://github.com/leeoniya)
|
||||
- **Build:** Streamline and sync dockerfiles. [#58101](https://github.com/grafana/grafana/pull/58101), [@DanCech](https://github.com/DanCech)
|
||||
- **Build:** Unified dockerfile for all builds. [#59173](https://github.com/grafana/grafana/pull/59173), [@DanCech](https://github.com/DanCech)
|
||||
- **CloudWatch:** Fix - make sure dimensions are propagated to alert query editor. [#58281](https://github.com/grafana/grafana/pull/58281), [@conorevans](https://github.com/conorevans)
|
||||
- **Cloudwatch:** Fix deeplink with default region (#60260). [#60274](https://github.com/grafana/grafana/pull/60274), [@iwysiu](https://github.com/iwysiu)
|
||||
- **Command Palette:** Fix not being able to type if triggered whilst another modal is open. [#59728](https://github.com/grafana/grafana/pull/59728), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Command Palette:** Maintain page state when changing theme. [#59787](https://github.com/grafana/grafana/pull/59787), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Dashboards:** Fix 'Make Editable' button not working in Dashboard Settings. [#60306](https://github.com/grafana/grafana/pull/60306), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Dashboards:** Show error when data source is missing. [#60099](https://github.com/grafana/grafana/pull/60099), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Datasource:** Fix - apply default query also to queries in new panels. [#59625](https://github.com/grafana/grafana/pull/59625), [@sunker](https://github.com/sunker)
|
||||
- **Dropdown:** Menu now closes correctly when selecting options on touch devices. [#60181](https://github.com/grafana/grafana/pull/60181), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Influx:** Query segment menus now position correctly near the bottom of the screen. [#60087](https://github.com/grafana/grafana/pull/60087), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Login:** Fix failure to login a new user via an external provider if quota are enabled. [#60015](https://github.com/grafana/grafana/pull/60015), [@papagian](https://github.com/papagian)
|
||||
- **Loki/Prometheus:** Fix wrong queries executed in split view. [#60172](https://github.com/grafana/grafana/pull/60172), [@svennergr](https://github.com/svennergr)
|
||||
- **Loki:** Fix wrongly escaped label values when using LabelFilter. [#59812](https://github.com/grafana/grafana/pull/59812), [@svennergr](https://github.com/svennergr)
|
||||
- **Navigation:** Prevent app crash when importing a dashboard with a uid of `home`. [#59874](https://github.com/grafana/grafana/pull/59874), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Panel Edit:** Fix data links edit icons being off screen when provided title is too long. [#59829](https://github.com/grafana/grafana/pull/59829), [@dprokop](https://github.com/dprokop)
|
||||
- **Prometheus:** Fix exemplar fill color to match series color in time series. [#59908](https://github.com/grafana/grafana/pull/59908), [@gtk-grafana](https://github.com/gtk-grafana)
|
||||
- **Prometheus:** Fix exemplars not respecting corresponding series display status. [#59743](https://github.com/grafana/grafana/pull/59743), [@gtk-grafana](https://github.com/gtk-grafana)
|
||||
- **StateTimeline:** Fix negative infinity legend/tooltip from thresholds. [#60279](https://github.com/grafana/grafana/pull/60279), [@leeoniya](https://github.com/leeoniya)
|
||||
- **Table:** Fixes row border style not showing and colored rows blending together. [#59660](https://github.com/grafana/grafana/pull/59660), [@torkelo](https://github.com/torkelo)
|
||||
- **Tempo:** Fix TraceQL autocomplete issues (#60058). [#60125](https://github.com/grafana/grafana/pull/60125), [@CrypticSignal](https://github.com/CrypticSignal)
|
||||
- **TimePicker:** Prevent TimePicker overflowing viewport on small screens. [#59808](https://github.com/grafana/grafana/pull/59808), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **TimeRangePicker:** Fix recently ranges only not showing all recent ranges. [#59836](https://github.com/grafana/grafana/pull/59836), [@joshhunt](https://github.com/joshhunt)
|
||||
- **TimeZonePicker:** Scroll menu correctly when using keyboard controls. [#60008](https://github.com/grafana/grafana/pull/60008), [@ashharrison90](https://github.com/ashharrison90)
|
||||
|
||||
<!-- 9.3.2 END -->
|
||||
<!-- 9.3.1 START -->
|
||||
|
||||
# 9.3.1 (2022-11-30)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Connections:** Update "Your connections/Data sources" page. [#58589](https://github.com/grafana/grafana/pull/58589), [@mikkancso](https://github.com/mikkancso)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Accessibility:** Increase badge constrast to be WCAG AA compliant. [#59531](https://github.com/grafana/grafana/pull/59531), [@eledobleefe](https://github.com/eledobleefe)
|
||||
|
||||
<!-- 9.3.1 END -->
|
||||
<!-- 9.3.0 START -->
|
||||
|
||||
# 9.3.0 (2022-11-30)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Alerting:** Enable interpolation for notification policies in file provisioning. [#58956](https://github.com/grafana/grafana/pull/58956), [@JohnnyQQQQ](https://github.com/JohnnyQQQQ)
|
||||
- **Azure Monitor Logs:** Avoid warning when the response is empty. [#59211](https://github.com/grafana/grafana/pull/59211), [@andresmgot](https://github.com/andresmgot)
|
||||
- **Azure Monitor:** Add support to customized routes. [#54829](https://github.com/grafana/grafana/pull/54829), [@ms-hujia](https://github.com/ms-hujia)
|
||||
- **Canvas:** Add icon value mapping. [#59013](https://github.com/grafana/grafana/pull/59013), [@nmarrs](https://github.com/nmarrs)
|
||||
- **CloudWatch:** Cross-account querying support. [#59362](https://github.com/grafana/grafana/pull/59362), [@sunker](https://github.com/sunker)
|
||||
- **Docs:** Update `merge-pull-request.md` regarding backport policies. [#59239](https://github.com/grafana/grafana/pull/59239), [@dsotirakis](https://github.com/dsotirakis)
|
||||
- **GaugePanel:** Setting the neutral-point of a gauge. [#53989](https://github.com/grafana/grafana/pull/53989), [@sfranzis](https://github.com/sfranzis)
|
||||
- **Geomap:** Improve location editor. [#58017](https://github.com/grafana/grafana/pull/58017), [@drew08t](https://github.com/drew08t)
|
||||
- **Internationalization:** Enable internationalization by default. [#59204](https://github.com/grafana/grafana/pull/59204), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Logs:** Add `Download logs` button to log log-browser. [#55163](https://github.com/grafana/grafana/pull/55163), [@svennergr](https://github.com/svennergr)
|
||||
- **Loki:** Add `gzip` compression to resource calls. [#59059](https://github.com/grafana/grafana/pull/59059), [@svennergr](https://github.com/svennergr)
|
||||
- **Loki:** Add improvements to loki label browser. [#59387](https://github.com/grafana/grafana/pull/59387), [@gwdawson](https://github.com/gwdawson)
|
||||
- **Loki:** Make label browser accessible in query builder. [#58525](https://github.com/grafana/grafana/pull/58525), [@gwdawson](https://github.com/gwdawson)
|
||||
- **Loki:** Remove raw query toggle. [#59125](https://github.com/grafana/grafana/pull/59125), [@gwdawson](https://github.com/gwdawson)
|
||||
- **Middleware:** Add CSP Report Only support. [#58074](https://github.com/grafana/grafana/pull/58074), [@jcalisto](https://github.com/jcalisto)
|
||||
- **Navigation:** Prevent viewer role accessing dashboard creation, import and folder creation. [#58842](https://github.com/grafana/grafana/pull/58842), [@lpskdl](https://github.com/lpskdl)
|
||||
- **OAuth:** Refactor OAuth parameters handling to support obtaining refresh tokens for Google OAuth. [#58782](https://github.com/grafana/grafana/pull/58782), [@mgyongyosi](https://github.com/mgyongyosi)
|
||||
- **Oauth:** Display friendly error message when role_attribute_strict=true and no valid role found. [#57818](https://github.com/grafana/grafana/pull/57818), [@kalleep](https://github.com/kalleep)
|
||||
- **Preferences:** Add confirmation modal when saving org preferences. [#59119](https://github.com/grafana/grafana/pull/59119), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
|
||||
- **PublicDashboards:** Orphaned public dashboard deletion script added. [#57917](https://github.com/grafana/grafana/pull/57917), [@juanicabanas](https://github.com/juanicabanas)
|
||||
- **Query Editor:** Hide overflow for long query names. [#58840](https://github.com/grafana/grafana/pull/58840), [@zuchka](https://github.com/zuchka)
|
||||
- **Reports:** Configurable timezone. (Enterprise)
|
||||
- **Solo Panel:** Configurable timezone. [#59153](https://github.com/grafana/grafana/pull/59153), [@spinillos](https://github.com/spinillos)
|
||||
- **TablePanel:** Add support for Count calculation per column or per entire dataset. [#58134](https://github.com/grafana/grafana/pull/58134), [@mdvictor](https://github.com/mdvictor)
|
||||
- **Tempo:** Send the correct start time when making a TraceQL query. [#59128](https://github.com/grafana/grafana/pull/59128), [@CrypticSignal](https://github.com/CrypticSignal)
|
||||
- **Various Panels:** Remove beta label from Bar Chart, Candlestick, Histogram, State Timeline, & Status History Panels. [#58557](https://github.com/grafana/grafana/pull/58557), [@codeincarnate](https://github.com/codeincarnate)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Access Control:** Clear user's permission cache after resource creation. [#59307](https://github.com/grafana/grafana/pull/59307), [@grafanabot](https://github.com/grafanabot)
|
||||
- **Access Control:** Clear user's permission cache after resource creation. [#59101](https://github.com/grafana/grafana/pull/59101), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
|
||||
- **Accessibility:** Improve keyboard accessibility in `AnnoListPanel`. [#58971](https://github.com/grafana/grafana/pull/58971), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Accessibility:** Improve keyboard accessibility in `Collapse`. [#59022](https://github.com/grafana/grafana/pull/59022), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Accessibility:** Improve keyboard accessibility in `GettingStarted` panel. [#58966](https://github.com/grafana/grafana/pull/58966), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Accessibility:** Improve keyboard accessibility of `FilterPill`. [#58976](https://github.com/grafana/grafana/pull/58976), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Admin:** Fix broken links to image assets in email templates. [#58729](https://github.com/grafana/grafana/pull/58729), [@zuchka](https://github.com/zuchka)
|
||||
- **Azure Monitor:** Fix namespace selection for storageaccounts. [#56449](https://github.com/grafana/grafana/pull/56449), [@andresmgot](https://github.com/andresmgot)
|
||||
- **Calcs:** Fix difference percent in legend. [#59243](https://github.com/grafana/grafana/pull/59243), [@zoltanbedi](https://github.com/zoltanbedi)
|
||||
- **DataLinks:** Improve Data-Links AutoComplete Logic. [#58934](https://github.com/grafana/grafana/pull/58934), [@zuchka](https://github.com/zuchka)
|
||||
- **Explore:** Fix a11y issue with logs navigation buttons. [#58944](https://github.com/grafana/grafana/pull/58944), [@Elfo404](https://github.com/Elfo404)
|
||||
- **Heatmap:** Fix blurry text & rendering. [#59260](https://github.com/grafana/grafana/pull/59260), [@leeoniya](https://github.com/leeoniya)
|
||||
- **Heatmap:** Fix tooltip y range of top and bottom buckets in calculated heatmaps. [#59172](https://github.com/grafana/grafana/pull/59172), [@leeoniya](https://github.com/leeoniya)
|
||||
- **Logs:** Fix misalignment of LogRows. [#59279](https://github.com/grafana/grafana/pull/59279), [@svennergr](https://github.com/svennergr)
|
||||
- **Navigation:** Stop clearing search state when opening a result in a new tab. [#58880](https://github.com/grafana/grafana/pull/58880), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **OptionsUI:** SliderValueEditor does not get auto focused on slider change. [#59209](https://github.com/grafana/grafana/pull/59209), [@eledobleefe](https://github.com/eledobleefe)
|
||||
- **PanelEdit:** Fixes bug with not remembering panel options pane collapse/expand state. [#59265](https://github.com/grafana/grafana/pull/59265), [@torkelo](https://github.com/torkelo)
|
||||
- **Query Caching:** Skip 207 status codes. (Enterprise)
|
||||
- **Quota:** Fix failure in store due to missing scope parameters. [#58874](https://github.com/grafana/grafana/pull/58874), [@papagian](https://github.com/papagian)
|
||||
- **Quota:** Fix failure when checking session limits. [#58865](https://github.com/grafana/grafana/pull/58865), [@papagian](https://github.com/papagian)
|
||||
- **Reports:** Fix time preview. (Enterprise)
|
||||
- **StateTimeline:** Prevent label text from overflowing state rects. [#59169](https://github.com/grafana/grafana/pull/59169), [@leeoniya](https://github.com/leeoniya)
|
||||
- **Tempo:** Fix search table duration unit. [#58642](https://github.com/grafana/grafana/pull/58642), [@joey-grafana](https://github.com/joey-grafana)
|
||||
- **TraceView:** Fix broken rendering when scrolling in Dashboard panel in Firefox. [#56642](https://github.com/grafana/grafana/pull/56642), [@zdg-github](https://github.com/zdg-github)
|
||||
|
||||
### Plugin development fixes & changes
|
||||
|
||||
- **GrafanaUI:** Add disabled option for menu items. [#58980](https://github.com/grafana/grafana/pull/58980), [@going-confetti](https://github.com/going-confetti)
|
||||
|
||||
<!-- 9.3.0 END -->
|
||||
<!-- 9.3.0-beta1 START -->
|
||||
|
||||
# 9.3.0-beta1 (2022-11-15)
|
||||
|
||||
164
Dockerfile
164
Dockerfile
@@ -1,94 +1,166 @@
|
||||
FROM node:16-alpine3.15 as js-builder
|
||||
# syntax=docker/dockerfile:1
|
||||
|
||||
ARG BASE_IMAGE=alpine:3.15
|
||||
ARG JS_IMAGE=node:16-alpine3.15
|
||||
ARG GO_IMAGE=golang:1.19.4-alpine3.17
|
||||
|
||||
ARG GO_SRC=go-builder
|
||||
ARG JS_SRC=js-builder
|
||||
|
||||
FROM ${JS_IMAGE} as js-builder
|
||||
|
||||
ENV NODE_OPTIONS=--max_old_space_size=8000
|
||||
|
||||
WORKDIR /grafana
|
||||
WORKDIR /tmp/grafana
|
||||
|
||||
COPY package.json yarn.lock .yarnrc.yml ./
|
||||
COPY .yarn .yarn
|
||||
COPY packages packages
|
||||
COPY plugins-bundled plugins-bundled
|
||||
|
||||
RUN apk add --update python3 make g++\
|
||||
&& rm -rf /var/cache/apk/*
|
||||
|
||||
RUN yarn install
|
||||
|
||||
COPY tsconfig.json .eslintrc .editorconfig .browserslistrc .prettierrc.js babel.config.json .linguirc ./
|
||||
COPY public public
|
||||
COPY tools tools
|
||||
COPY scripts scripts
|
||||
COPY emails emails
|
||||
|
||||
ENV NODE_ENV production
|
||||
RUN yarn build
|
||||
|
||||
FROM golang:1.19.3-alpine3.15 as go-builder
|
||||
FROM ${GO_IMAGE} as go-builder
|
||||
|
||||
RUN apk add --no-cache gcc g++ make
|
||||
# Install build dependencies
|
||||
RUN if grep -i -q alpine /etc/issue; then \
|
||||
apk add --no-cache gcc g++ make binutils-gold; \
|
||||
fi
|
||||
|
||||
WORKDIR /grafana
|
||||
WORKDIR /tmp/grafana
|
||||
|
||||
COPY go.mod go.sum embed.go Makefile build.go package.json ./
|
||||
COPY go.* ./
|
||||
COPY .bingo .bingo
|
||||
|
||||
RUN go mod download && \
|
||||
go install github.com/bwplotka/bingo@latest && \
|
||||
bingo get
|
||||
|
||||
COPY embed.go Makefile build.go package.json ./
|
||||
COPY cue.mod cue.mod
|
||||
COPY kinds kinds
|
||||
COPY local local
|
||||
COPY packages/grafana-schema packages/grafana-schema
|
||||
COPY public/app/plugins public/app/plugins
|
||||
COPY public/api-spec.json public/api-spec.json
|
||||
COPY pkg pkg
|
||||
COPY scripts scripts
|
||||
COPY cue.mod cue.mod
|
||||
COPY .bingo .bingo
|
||||
COPY conf conf
|
||||
COPY .github .github
|
||||
|
||||
RUN go mod verify
|
||||
RUN make build-go
|
||||
|
||||
# Final stage
|
||||
FROM alpine:3.15.6
|
||||
FROM ${BASE_IMAGE} as tgz-builder
|
||||
|
||||
LABEL maintainer="Grafana team <hello@grafana.com>"
|
||||
WORKDIR /tmp/grafana
|
||||
|
||||
ARG GRAFANA_TGZ="grafana-latest.linux-x64-musl.tar.gz"
|
||||
|
||||
COPY ${GRAFANA_TGZ} /tmp/grafana.tar.gz
|
||||
|
||||
# add -v to make tar print every file it extracts
|
||||
RUN tar x -z -f /tmp/grafana.tar.gz --strip-components=1
|
||||
|
||||
# helpers for COPY --from
|
||||
FROM ${GO_SRC} as go-src
|
||||
FROM ${JS_SRC} as js-src
|
||||
|
||||
# Final stage
|
||||
FROM ${BASE_IMAGE}
|
||||
|
||||
LABEL maintainer="Grafana Labs <hello@grafana.com>"
|
||||
|
||||
ARG GF_UID="472"
|
||||
ARG GF_GID="0"
|
||||
|
||||
ENV PATH="/usr/share/grafana/bin:$PATH" \
|
||||
GF_PATHS_CONFIG="/etc/grafana/grafana.ini" \
|
||||
GF_PATHS_DATA="/var/lib/grafana" \
|
||||
GF_PATHS_HOME="/usr/share/grafana" \
|
||||
GF_PATHS_LOGS="/var/log/grafana" \
|
||||
GF_PATHS_PLUGINS="/var/lib/grafana/plugins" \
|
||||
GF_PATHS_PROVISIONING="/etc/grafana/provisioning"
|
||||
GF_PATHS_CONFIG="/etc/grafana/grafana.ini" \
|
||||
GF_PATHS_DATA="/var/lib/grafana" \
|
||||
GF_PATHS_HOME="/usr/share/grafana" \
|
||||
GF_PATHS_LOGS="/var/log/grafana" \
|
||||
GF_PATHS_PLUGINS="/var/lib/grafana/plugins" \
|
||||
GF_PATHS_PROVISIONING="/etc/grafana/provisioning"
|
||||
|
||||
WORKDIR $GF_PATHS_HOME
|
||||
|
||||
RUN apk add --no-cache ca-certificates bash tzdata musl-utils
|
||||
RUN apk info -vv | sort
|
||||
# Install dependencies
|
||||
RUN if grep -i -q alpine /etc/issue; then \
|
||||
apk add --no-cache ca-certificates bash tzdata musl-utils && \
|
||||
apk info -vv | sort; \
|
||||
elif grep -i -q ubuntu /etc/issue; then \
|
||||
DEBIAN_FRONTEND=noninteractive && \
|
||||
apt-get update && \
|
||||
apt-get install -y ca-certificates curl tzdata && \
|
||||
apt-get autoremove -y && \
|
||||
rm -rf /var/lib/apt/lists/*; \
|
||||
else \
|
||||
echo 'ERROR: Unsupported base image' && /bin/false; \
|
||||
fi
|
||||
|
||||
COPY conf ./conf
|
||||
# glibc support for alpine x86_64 only
|
||||
RUN if grep -i -q alpine /etc/issue && [ `arch` = "x86_64" ]; then \
|
||||
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-2.35-r0.apk \
|
||||
-O /tmp/glibc-2.35-r0.apk && \
|
||||
wget https://github.com/sgerrand/alpine-pkg-glibc/releases/download/2.35-r0/glibc-bin-2.35-r0.apk \
|
||||
-O /tmp/glibc-bin-2.35-r0.apk && \
|
||||
apk add --no-cache --allow-untrusted /tmp/glibc-2.35-r0.apk /tmp/glibc-bin-2.35-r0.apk && \
|
||||
rm -f /lib64/ld-linux-x86-64.so.2 && \
|
||||
ln -s /usr/glibc-compat/lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2 && \
|
||||
rm -f /tmp/glibc-2.35-r0.apk && \
|
||||
rm -f /tmp/glibc-bin-2.35-r0.apk && \
|
||||
rm -f /lib/ld-linux-x86-64.so.2 && \
|
||||
rm -f /etc/ld.so.cache; \
|
||||
fi
|
||||
|
||||
COPY --from=go-src /tmp/grafana/conf ./conf
|
||||
|
||||
RUN if [ ! $(getent group "$GF_GID") ]; then \
|
||||
addgroup -S -g $GF_GID grafana; \
|
||||
fi
|
||||
if grep -i -q alpine /etc/issue; then \
|
||||
addgroup -S -g $GF_GID grafana; \
|
||||
else \
|
||||
addgroup --system --gid $GF_GID grafana; \
|
||||
fi; \
|
||||
fi && \
|
||||
GF_GID_NAME=$(getent group $GF_GID | cut -d':' -f1) && \
|
||||
mkdir -p "$GF_PATHS_HOME/.aws" && \
|
||||
if grep -i -q alpine /etc/issue; then \
|
||||
adduser -S -u $GF_UID -G "$GF_GID_NAME" grafana; \
|
||||
else \
|
||||
adduser --system --uid $GF_UID --ingroup "$GF_GID_NAME" grafana; \
|
||||
fi && \
|
||||
mkdir -p "$GF_PATHS_PROVISIONING/datasources" \
|
||||
"$GF_PATHS_PROVISIONING/dashboards" \
|
||||
"$GF_PATHS_PROVISIONING/notifiers" \
|
||||
"$GF_PATHS_PROVISIONING/plugins" \
|
||||
"$GF_PATHS_PROVISIONING/access-control" \
|
||||
"$GF_PATHS_PROVISIONING/alerting" \
|
||||
"$GF_PATHS_LOGS" \
|
||||
"$GF_PATHS_PLUGINS" \
|
||||
"$GF_PATHS_DATA" && \
|
||||
cp conf/sample.ini "$GF_PATHS_CONFIG" && \
|
||||
cp conf/ldap.toml /etc/grafana/ldap.toml && \
|
||||
chown -R "grafana:$GF_GID_NAME" "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
|
||||
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
|
||||
|
||||
RUN export GF_GID_NAME=$(getent group $GF_GID | cut -d':' -f1) && \
|
||||
mkdir -p "$GF_PATHS_HOME/.aws" && \
|
||||
adduser -S -u $GF_UID -G "$GF_GID_NAME" grafana && \
|
||||
mkdir -p "$GF_PATHS_PROVISIONING/datasources" \
|
||||
"$GF_PATHS_PROVISIONING/dashboards" \
|
||||
"$GF_PATHS_PROVISIONING/notifiers" \
|
||||
"$GF_PATHS_PROVISIONING/plugins" \
|
||||
"$GF_PATHS_PROVISIONING/access-control" \
|
||||
"$GF_PATHS_PROVISIONING/alerting" \
|
||||
"$GF_PATHS_LOGS" \
|
||||
"$GF_PATHS_PLUGINS" \
|
||||
"$GF_PATHS_DATA" && \
|
||||
cp "$GF_PATHS_HOME/conf/sample.ini" "$GF_PATHS_CONFIG" && \
|
||||
cp "$GF_PATHS_HOME/conf/ldap.toml" /etc/grafana/ldap.toml && \
|
||||
chown -R "grafana:$GF_GID_NAME" "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
|
||||
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
|
||||
|
||||
COPY --from=go-builder /grafana/bin/*/grafana-server /grafana/bin/*/grafana-cli ./bin/
|
||||
COPY --from=js-builder /grafana/public ./public
|
||||
COPY --from=js-builder /grafana/tools ./tools
|
||||
COPY --from=go-src /tmp/grafana/bin/grafana* /tmp/grafana/bin/*/grafana* ./bin/
|
||||
COPY --from=js-src /tmp/grafana/public ./public
|
||||
|
||||
EXPOSE 3000
|
||||
|
||||
COPY ./packaging/docker/run.sh /run.sh
|
||||
ARG RUN_SH=./packaging/docker/run.sh
|
||||
|
||||
USER grafana
|
||||
COPY ${RUN_SH} /run.sh
|
||||
|
||||
USER "$GF_UID"
|
||||
ENTRYPOINT [ "/run.sh" ]
|
||||
|
||||
@@ -21,7 +21,7 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN yarn build
|
||||
|
||||
FROM golang:1.19.3 AS go-builder
|
||||
FROM golang:1.19.4 AS go-builder
|
||||
|
||||
WORKDIR /src/grafana
|
||||
|
||||
@@ -77,7 +77,7 @@ RUN mkdir -p "$GF_PATHS_HOME/.aws" && \
|
||||
chown -R grafana:grafana "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING" && \
|
||||
chmod -R 777 "$GF_PATHS_DATA" "$GF_PATHS_HOME/.aws" "$GF_PATHS_LOGS" "$GF_PATHS_PLUGINS" "$GF_PATHS_PROVISIONING"
|
||||
|
||||
COPY --from=go-builder /src/grafana/bin/*/grafana-server /src/grafana/bin/*/grafana-cli bin/
|
||||
COPY --from=go-builder /src/grafana/bin/*/grafana-server /src/grafana/bin/*/grafana-cli /grafana/bin/*/grafana bin/
|
||||
COPY --from=js-builder /usr/src/app/public public
|
||||
COPY --from=js-builder /usr/src/app/tools tools
|
||||
|
||||
|
||||
17
Makefile
17
Makefile
@@ -7,7 +7,7 @@ WIRE_TAGS = "oss"
|
||||
-include local/Makefile
|
||||
include .bingo/Variables.mk
|
||||
|
||||
.PHONY: all deps-go deps-js deps build-go build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue
|
||||
.PHONY: all deps-go deps-js deps build-go build-backend build-server build-cli build-js build build-docker-full build-docker-full-ubuntu lint-go golangci-lint test-go test-js gen-ts test run run-frontend clean devenv devenv-down protobuf drone help gen-go gen-cue
|
||||
|
||||
GO = go
|
||||
GO_FILES ?= ./pkg/...
|
||||
@@ -82,6 +82,10 @@ build-go: $(MERGED_SPEC_TARGET) gen-go ## Build all Go binaries.
|
||||
@echo "build go files"
|
||||
$(GO) run build.go $(GO_BUILD_FLAGS) build
|
||||
|
||||
build-backend: ## Build Grafana backend.
|
||||
@echo "build backend"
|
||||
$(GO) run build.go $(GO_BUILD_FLAGS) build-backend
|
||||
|
||||
build-server: ## Build Grafana server.
|
||||
@echo "build server"
|
||||
$(GO) run build.go $(GO_BUILD_FLAGS) build-server
|
||||
@@ -154,12 +158,17 @@ shellcheck: $(SH_FILES) ## Run checks for shell scripts.
|
||||
|
||||
build-docker-full: ## Build Docker image for development.
|
||||
@echo "build docker container"
|
||||
docker build --tag grafana/grafana:dev .
|
||||
DOCKER_BUILDKIT=1 \
|
||||
docker build \
|
||||
--tag grafana/grafana:dev .
|
||||
|
||||
build-docker-full-ubuntu: ## Build Docker image based on Ubuntu for development.
|
||||
@echo "build docker container"
|
||||
docker build --tag grafana/grafana:dev-ubuntu -f ./Dockerfile.ubuntu .
|
||||
|
||||
DOCKER_BUILDKIT=1 \
|
||||
docker build \
|
||||
--build-arg BASE_IMAGE=ubuntu:20.04 \
|
||||
--build-arg GO_IMAGE=golang:1.19.4 \
|
||||
--tag grafana/grafana:dev-ubuntu .
|
||||
|
||||
##@ Services
|
||||
|
||||
|
||||
@@ -907,7 +907,8 @@ max_attempts = 3
|
||||
min_interval = 10s
|
||||
|
||||
[unified_alerting.screenshots]
|
||||
# Enable screenshots in notifications. This option requires the Grafana Image Renderer plugin.
|
||||
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
|
||||
# plugin, or set up Grafana to use a remote rendering service.
|
||||
# For more information on configuration options, refer to [rendering].
|
||||
capture = false
|
||||
|
||||
@@ -1343,3 +1344,14 @@ index_update_interval = 10s
|
||||
# Move a specific app plugin page (referenced by its `path` field) to a specific navigation section
|
||||
# Format: <Page URL> = <Section ID> <Sort Weight>
|
||||
[navigation.app_standalone_pages]
|
||||
|
||||
|
||||
#################################### Secure Socks5 Datasource Proxy #####################################
|
||||
[secure_socks_datasource_proxy]
|
||||
enabled = false
|
||||
root_ca_cert =
|
||||
client_key =
|
||||
client_cert =
|
||||
server_name =
|
||||
# The address of the socks5 proxy datasources should connect to
|
||||
proxy_address =
|
||||
@@ -23,7 +23,7 @@ apiVersion: 1
|
||||
# # evaluation - should be obtained via the API
|
||||
# data:
|
||||
# - refId: A
|
||||
# datasourceUid: "-100"
|
||||
# datasourceUid: "__expr__"
|
||||
# model:
|
||||
# conditions:
|
||||
# - evaluator:
|
||||
@@ -40,7 +40,7 @@ apiVersion: 1
|
||||
# type: query
|
||||
# datasource:
|
||||
# type: __expr__
|
||||
# uid: "-100"
|
||||
# uid: "__expr__"
|
||||
# expression: 1==0
|
||||
# intervalMs: 1000
|
||||
# maxDataPoints: 43200
|
||||
|
||||
@@ -388,7 +388,7 @@
|
||||
# Set this value to automatically add new users to the provided organization (if auto_assign_org above is set to true)
|
||||
;auto_assign_org_id = 1
|
||||
|
||||
# Default role new users will be automatically assigned (if disabled above is set to true)
|
||||
# Default role new users will be automatically assigned (if auto_assign_org above is set to true)
|
||||
;auto_assign_org_role = Viewer
|
||||
|
||||
# Require email validation before sign up completes
|
||||
@@ -1269,3 +1269,13 @@
|
||||
[navigation.app_standalone_pages]
|
||||
# The following will move the page with the path "/a/my-app-id/starred-content" from `my-app-id` to the `starred` section
|
||||
# /a/my-app-id/starred-content = starred
|
||||
|
||||
#################################### Secure Socks5 Datasource Proxy #####################################
|
||||
[secure_socks_datasource_proxy]
|
||||
; enabled = false
|
||||
; root_ca_cert =
|
||||
; client_key =
|
||||
; client_cert =
|
||||
; server_name =
|
||||
# The address of the socks5 proxy datasources should connect to
|
||||
; proxy_address =
|
||||
@@ -135,6 +135,14 @@ Some examples when backport is not required:
|
||||
|
||||
- The change is supposed to be released in the next major/minor release, e.g. v8.0.0, but the release branch, e.g. v8.0.x, has not yet been created.
|
||||
|
||||
#### Required labels
|
||||
|
||||
To ensure that we don't backport pull requests that don't need to be backported, i.e. implement new features, and only backport pull requests that address bugs, have a product approval, or refer to docs changes, backport labels need to be followed by either:
|
||||
|
||||
- `type/bug` label: Pull requests which address bugs,
|
||||
- `product-approved` label: Urgent fixes which need product approval, in order to get merged,
|
||||
- `type/docs` label: Docs changes`.
|
||||
|
||||
> **Note:** You can still backport a pull request after it's been merged.
|
||||
|
||||
## Doing the actual merge
|
||||
|
||||
@@ -24,7 +24,6 @@
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 0,
|
||||
"id": 61,
|
||||
"links": [
|
||||
{
|
||||
"asDropdown": true,
|
||||
@@ -49,6 +48,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -105,7 +106,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -157,6 +159,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -214,7 +218,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -274,6 +279,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -331,7 +338,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -410,6 +418,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -466,7 +476,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -518,6 +529,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -575,7 +588,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -635,6 +649,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -692,7 +708,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -771,6 +788,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -859,7 +878,8 @@
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"isVisible": true,
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -914,6 +934,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -1002,7 +1024,8 @@
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"isVisible": true,
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -1058,6 +1081,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -1113,7 +1138,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -1163,6 +1189,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -1220,7 +1248,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -1248,6 +1277,8 @@
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
@@ -1305,7 +1336,8 @@
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
@@ -1325,9 +1357,549 @@
|
||||
],
|
||||
"title": "Always show points between gaps",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "auto",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 11,
|
||||
"w": 24,
|
||||
"x": 0,
|
||||
"y": 30
|
||||
},
|
||||
"id": 18,
|
||||
"maxDataPoints": 150,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "100,52,82,50,93,117,97,139,172,152,177,213,237,248,249,275,272,295,339,317,274,272,225,240,214,179,170,161,117,99,79,100,107,147,195,153,144,143,117,76,88,43,65,114,155,170,187,236,214,245,255,260,262,264,268,287,297,310,332,339,303,316,317,330,323,352,383,367,334,306,289,311,269,319,313,350,374,346,391,348,386,352,328,303,298,305,346,323,313,296,274,252,301,337,357,360,383,384,339,332,346,394,428,463,461,476,478,491,522,487,536,547,593,595,614,632,588,594,584,566,529,541,586,621,618,635,682,684,693,648,658,659,628,618,662,638,652,665,673,651,653,675,685,709,749,721,707,750,712,724,734,753,716,694,732,741,694,702,732,746,748,700,707,690,668,659,646,677,688,701,670,625,628,611,587,570,589,621,598,604"
|
||||
}
|
||||
],
|
||||
"title": "Low density (wide)",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "auto",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 12,
|
||||
"x": 0,
|
||||
"y": 41
|
||||
},
|
||||
"id": 20,
|
||||
"maxDataPoints": 150,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "100,52,82,50,93,117,97,139,172,152,177,213,237,248,249,275,272,295,339,317,274,272,225,240,214,179,170,161,117,99,79,100,107,147,195,153,144,143,117,76,88,43,65,114,155,170,187,236,214,245,255,260,262,264,268,287,297,310,332,339,303,316,317,330,323,352,383,367,334,306,289,311,269,319,313,350,374,346,391,348,386,352,328,303,298,305,346,323,313,296,274,252,301,337,357,360,383,384,339,332,346,394,428,463,461,476,478,491,522,487,536,547,593,595,614,632,588,594,584,566,529,541,586,621,618,635,682,684,693,648,658,659,628,618,662,638,652,665,673,651,653,675,685,709,749,721,707,750,712,724,734,753,716,694,732,741,694,702,732,746,748,700,707,690,668,659,646,677,688,701,670,625,628,611,587,570,589,621,598,604"
|
||||
}
|
||||
],
|
||||
"title": "Higher density (narrow)",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "auto",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 12,
|
||||
"x": 12,
|
||||
"y": 41
|
||||
},
|
||||
"id": 22,
|
||||
"maxDataPoints": 150,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "100,52,82,50,93,117,97,139,172,152,177,213,237,248,249,275,272,295,339,317,274,272,225,240,214,179,170,161,117,99,79,100,107,147,195,153,144,143,117,76,88,43,65,114,155,170,187,236,214,245,255,260,262,264,268,287,297,310,332,339,303,316,317,330,323,352,383,367,334,306,289,311,269,,,350,,,391,348,386,352,328,303,298,,346,,313,,274,252,301,337,357,360,383,384,339,332,346,394,428,463,461,476,478,491,522,487,536,547,593,595,614,632,588,594,584,566,529,541,586,621,618,635,682,684,693,648,658,659,628,618,,,652,665,673,,,675,,,749,721,707,750,712,724,734,753,716,694,732,741,694,702,732,746,748,700,707,690,668,659,646,677,688,701,670,625,628,611,587,570,589,621,598,604"
|
||||
}
|
||||
],
|
||||
"title": "Higher density (with gap-point-gap)",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "auto",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 8,
|
||||
"x": 0,
|
||||
"y": 51
|
||||
},
|
||||
"id": 24,
|
||||
"maxDataPoints": 150,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
|
||||
}
|
||||
],
|
||||
"title": "Higher density (mostly nulls)",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "auto",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 8,
|
||||
"x": 8,
|
||||
"y": 51
|
||||
},
|
||||
"id": 26,
|
||||
"maxDataPoints": 150,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": ",,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,"
|
||||
}
|
||||
],
|
||||
"title": "Higher density (mostly nulls, one point)",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisCenteredZero": false,
|
||||
"axisColorMode": "text",
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "line",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 5,
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
},
|
||||
"showPoints": "auto",
|
||||
"spanNulls": false,
|
||||
"stacking": {
|
||||
"group": "A",
|
||||
"mode": "none"
|
||||
},
|
||||
"thresholdsStyle": {
|
||||
"mode": "off"
|
||||
}
|
||||
},
|
||||
"mappings": [],
|
||||
"thresholds": {
|
||||
"mode": "absolute",
|
||||
"steps": [
|
||||
{
|
||||
"color": "green"
|
||||
},
|
||||
{
|
||||
"color": "red",
|
||||
"value": 80
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 10,
|
||||
"w": 8,
|
||||
"x": 16,
|
||||
"y": 51
|
||||
},
|
||||
"id": 28,
|
||||
"maxDataPoints": 150,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom",
|
||||
"showLegend": true
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"refId": "A",
|
||||
"scenarioId": "csv_metric_values",
|
||||
"stringInput": "8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,8"
|
||||
}
|
||||
],
|
||||
"title": "Higher density (mostly nulls, no leading/trailing)",
|
||||
"type": "timeseries"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 36,
|
||||
"schemaVersion": 37,
|
||||
"style": "dark",
|
||||
"tags": [
|
||||
"gdev",
|
||||
|
||||
@@ -1,27 +1,28 @@
|
||||
.PHONY: pull docs docs-quick docs-no-pull docs-test docs-local-static
|
||||
|
||||
IMAGE = grafana/grafana-docs-dev:latest
|
||||
CONTENT_PATH = /hugo/content/docs/grafana/next
|
||||
PODMAN = $(shell if command -v podman >/dev/null 2>&1; then echo podman; else echo docker; fi)
|
||||
IMAGE = grafana/docs-base:latest
|
||||
CONTENT_PATH = /hugo/content/docs/grafana/latest
|
||||
LOCAL_STATIC_PATH = ../../website/static
|
||||
PORT = 3002:3002
|
||||
|
||||
pull:
|
||||
docker pull $(IMAGE)
|
||||
$(PODMAN) pull $(IMAGE)
|
||||
|
||||
docs: pull
|
||||
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server"
|
||||
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) make server
|
||||
|
||||
docs-quick: pull
|
||||
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server-quick"
|
||||
docs-preview: pull
|
||||
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) make server BUILD_DRAFTS=true
|
||||
|
||||
docs-no-pull:
|
||||
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) /bin/bash -c "make server"
|
||||
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z -p $(PORT) --rm -it $(IMAGE) make server
|
||||
|
||||
docs-test: pull
|
||||
docker run -v $(shell pwd)/sources:$(CONTENT_PATH):Z --rm -it $(IMAGE) /bin/bash -c 'make prod'
|
||||
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z --rm -it $(IMAGE) make prod
|
||||
|
||||
# expects that you have grafana/website checked out in same path as the grafana repo.
|
||||
docs-local-static: pull
|
||||
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):Z \
|
||||
$(PODMAN) run --init -v $(shell pwd)/sources:$(CONTENT_PATH):Z \
|
||||
-v $(shell pwd)/$(LOCAL_STATIC_PATH):/hugo/static:Z -p $(PORT) --rm -it $(IMAGE)
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/
|
||||
- /docs/grafana/latest/guides/reference/admin/
|
||||
- /docs/grafana/v1.1/
|
||||
- /docs/grafana/v3.1/
|
||||
- guides/reference/admin/
|
||||
description: Guides, Installation and Feature Documentation
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -71,8 +70,8 @@ title: Grafana documentation
|
||||
<h4>Provisioning</h4>
|
||||
<p>Learn how to automate your Grafana configuration.</p>
|
||||
</a>
|
||||
<a href="{{< relref "whatsnew/whats-new-in-v9-2/" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>What's new in v9.2</h4>
|
||||
<a href="{{< relref "whatsnew/whats-new-in-v9-3/" >}}" class="nav-cards__item nav-cards__item--guide">
|
||||
<h4>What's new in v9.3</h4>
|
||||
<p>Explore the features and enhancements in the latest release.</p>
|
||||
</a>
|
||||
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/
|
||||
description: Administration
|
||||
title: Administration
|
||||
weight: 40
|
||||
@@ -11,3 +9,5 @@ weight: 40
|
||||
This section includes information for Grafana administrators, team administrators, and users performing administrative tasks:
|
||||
|
||||
{{< section >}}
|
||||
|
||||
For information about authorization and authentication for your Grafana Cloud Stack and Grafana Cloud Portal, refer to [Grafana Cloud Access Policies](/docs/grafana-cloud/authentication-and-permissions/access-policies/).
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/api-keys/about-api-keys/
|
||||
- /docs/grafana/latest/administration/api-keys/
|
||||
- /docs/grafana/latest/administration/api-keys/create-api-key/
|
||||
- about-api-keys/
|
||||
- create-api-key/
|
||||
description: This section contains information about API keys in Grafana
|
||||
keywords:
|
||||
- API keys
|
||||
@@ -48,7 +47,7 @@ This topic shows you how to create an API key using the Grafana UI. You can also
|
||||
## Migrate API Keys to Grafana service accounts
|
||||
|
||||
You can migrate one or all API keys to [Grafana service accounts]({{< relref "../service-accounts/" >}}). When you migrate an API key to a service account, a service account will be created with a service account token.
|
||||
The API key will continue to work, and you can find it in the [Grafana service account tokens]({{< relref "../service-accounts/#service-account-benefits/#service-account-tokens" >}}) details.
|
||||
The API key will continue to work, and you can find it in the [Grafana service account tokens]({{< relref "../service-accounts/#service-account-tokens" >}}) details.
|
||||
For more information about benefits of service accounts, refer to [Grafana service account benefits]({{< relref "../service-accounts/#service-account-benefits" >}}).
|
||||
|
||||
You can choose to migrate a single API key or all API keys. Note that when you migrate all API keys, you can't create new API keys anymore and will have to use service accounts instead.
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/datasources/add-a-data-source/
|
||||
- /docs/grafana/latest/datasources/datasource_permissions/
|
||||
- /docs/grafana/latest/features/datasources/add-a-data-source/
|
||||
- /docs/grafana/latest/enterprise/datasource_permissions/
|
||||
- /docs/grafana/latest/permissions/datasource_permissions/
|
||||
- /docs/grafana/latest/administration/data-source-management/
|
||||
- /docs/grafana/latest/enterprise/query-caching/
|
||||
title: Data source management
|
||||
- ../datasources/add-a-data-source/
|
||||
- ../datasources/datasource_permissions/
|
||||
- ../enterprise/datasource_permissions/
|
||||
- ../enterprise/query-caching/
|
||||
- ../features/datasources/add-a-data-source/
|
||||
- ../permissions/datasource_permissions/
|
||||
description: Data source management information for Grafana administrators
|
||||
title: Data source management
|
||||
weight: 100
|
||||
---
|
||||
|
||||
@@ -127,7 +126,7 @@ You can make a panel retrieve fresh data more frequently by increasing the **Max
|
||||
|
||||
### Data sources that work with query caching
|
||||
|
||||
Query caching works for all [Enterprise data sources](https://grafana.com/grafana/plugins/?type=datasource&enterprise=1) as well as the following [built-in data sources]({{< relref "../../datasources/" >}}):
|
||||
Query caching works for all [Enterprise data sources](/grafana/plugins/?type=datasource&enterprise=1) as well as the following [built-in data sources]({{< relref "../../datasources/" >}}):
|
||||
|
||||
- CloudWatch Metrics
|
||||
- Google Cloud Monitoring
|
||||
@@ -195,7 +194,7 @@ To view available data source plugins, go to the [plugin catalog](/grafana/plugi
|
||||
For details about the plugin catalog, refer to [Plugin management]({{< relref "../../administration/plugin-management/" >}}).
|
||||
|
||||
You can further filter the plugin catalog's results for data sources provided by the Grafana community, Grafana Labs, and partners.
|
||||
If you use [Grafana Enterprise]{{< relref "../../enterprise/" >}}, you can also filter by Enterprise-supported plugins.
|
||||
If you use [Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise/" >}}), you can also filter by Enterprise-supported plugins.
|
||||
|
||||
For more documentation on a specific data source plugin's features, including its query language and editor, refer to its plugin catalog page.
|
||||
|
||||
|
||||
@@ -1,20 +1,19 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/license/
|
||||
- /docs/grafana/latest/enterprise/activate-license/
|
||||
- /docs/grafana/latest/enterprise/license/activate-license/
|
||||
- /docs/grafana/latest/enterprise/license-expiration/
|
||||
- /docs/grafana/latest/enterprise/license/license-expiration/
|
||||
- /docs/grafana/latest/enterprise/license-restrictions/
|
||||
- /docs/grafana/latest/enterprise/license/license-restrictions/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/license-restrictions/
|
||||
- ../enterprise/activate-license/
|
||||
- ../enterprise/license-expiration/
|
||||
- ../enterprise/license-restrictions/
|
||||
- ../enterprise/license/
|
||||
- ../enterprise/license/activate-license/
|
||||
- ../enterprise/license/license-expiration/
|
||||
- ../enterprise/license/license-restrictions/
|
||||
- license-restrictions/
|
||||
description: Activate and manage a Grafana Enterprise license
|
||||
keywords:
|
||||
- grafana
|
||||
- licensing
|
||||
- enterprise
|
||||
title: Enterprise licensing
|
||||
title: Grafana Enterprise license
|
||||
weight: 500
|
||||
---
|
||||
|
||||
@@ -22,7 +21,7 @@ weight: 500
|
||||
|
||||
When you become a Grafana Enterprise customer, you gain access to Grafana's premium observability features, including enterprise data source plugins, reporting, and role-based access control. In order to use these [enhanced features of Grafana Enterprise]({{< relref "../../introduction/grafana-enterprise" >}}), you must purchase and activate a Grafana Enterprise license.
|
||||
|
||||
To purchase a license directly from Grafana Labs, [Contact a Grafana Labs representative](https://grafana.com/contact?about=grafana-enterprise). To activate an Enterprise license purchased from Grafana Labs, refer to [Activate an Enterprise license]({{< ref "#activate-an-enterprise-license" >}}).
|
||||
To purchase a license directly from Grafana Labs, [Contact a Grafana Labs representative](/contact?about=grafana-enterprise). To activate an Enterprise license purchased from Grafana Labs, refer to [Activate an Enterprise license]({{< relref "#activate-an-enterprise-license" >}}).
|
||||
|
||||
You can also purchase a Grafana Enterprise license through the AWS Marketplace. To learn more about activating a license purchased through AWS, refer to [Activate a Grafana Enterprise license purchased through AWS Marketplace]({{< relref "./activate-aws-marketplace-license/" >}}).
|
||||
|
||||
@@ -36,7 +35,7 @@ Follow these steps to activate your Grafana Enterprise license:
|
||||
|
||||
To download your Grafana Enterprise license:
|
||||
|
||||
1. Sign in to your [Grafana Cloud](https://grafana.com) account.
|
||||
1. Sign in to your [Grafana Cloud](/) account.
|
||||
1. Go to **My Account** and select an organization from the drop-down menu at the top left of the page. On the Overview page for each organization, you can see a section for Grafana Enterprise licenses. Click **Details** next to a license.
|
||||
1. At the bottom of the license details page, select **Download token** to download the `license.jwt` file that contains your license.
|
||||
|
||||
@@ -81,9 +80,9 @@ environment variable.
|
||||
|
||||
### Step 3. Ensure that the license file's root URL matches the root_url configuration option
|
||||
|
||||
Update the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root-url" >}}) in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).
|
||||
Update the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root_url" >}}) in your configuration. It should be the URL that users type in their browsers to access the frontend, not the node hostname(s).
|
||||
|
||||
This is important, because as part of the validation checks at startup, Grafana compares the license URL to the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root-url" >}}) in your configuration.
|
||||
This is important, because as part of the validation checks at startup, Grafana compares the license URL to the [`root_url`]({{< relref "../../setup-grafana/configure-grafana/#root_url" >}}) in your configuration.
|
||||
|
||||
In your configuration file:
|
||||
|
||||
@@ -119,7 +118,7 @@ If your license has expired, most of Grafana keeps working as normal. Some enter
|
||||
|
||||
The configuration file's location may also be overridden by the `GF_ENTERPRISE_LICENSE_PATH` environment variable.
|
||||
|
||||
2. Log in to your [Grafana Cloud Account](https://grafana.com/login) and make sure you're in the correct organization in the dropdown at the top of the page.
|
||||
2. Log in to your [Grafana Cloud Account](/login) and make sure you're in the correct organization in the dropdown at the top of the page.
|
||||
3. Under the **Grafana Enterprise** section in the menu bar to the left, choose licenses and download the currently valid license with which you want to run Grafana. If you cannot see a valid license on Grafana.com, please contact your account manager at Grafana Labs to renew your subscription.
|
||||
4. Replace the current `license.jwt`-file with the one you've just downloaded.
|
||||
5. [Restart Grafana]({{< relref "../../setup-grafana/restart-grafana/" >}}).
|
||||
@@ -222,7 +221,7 @@ Your license is controlled by the following rules:
|
||||
|
||||
**License expiration date:** The license includes an expiration date, which is the date when a license becomes inactive.
|
||||
|
||||
As the license expiration date approaches, you will see a banner in Grafana that encourages you to renew. To learn about how to renew your license and what happens in Grafana when a license expires, refer to [License expiration]({{< ref "#license-expiration" >}}).
|
||||
As the license expiration date approaches, you will see a banner in Grafana that encourages you to renew. To learn about how to renew your license and what happens in Grafana when a license expires, refer to [License expiration]({{< relref "#license-expiration" >}}).
|
||||
|
||||
**Grafana License URL:** Your license does not work with an instance of Grafana with a different root URL.
|
||||
|
||||
@@ -242,6 +241,6 @@ Usage billing involves a contractual agreement between you and Grafana Labs, and
|
||||
|
||||
### Request a change to your license
|
||||
|
||||
To increase the number of licensed users within Grafana, extend a license, or change your licensed URL, contact [Grafana support](https://grafana.com/profile/org#support) or your Grafana Labs account team. They will update your license, which you can activate from within Grafana.
|
||||
To increase the number of licensed users within Grafana, extend a license, or change your licensed URL, contact [Grafana support](/profile/org#support) or your Grafana Labs account team. They will update your license, which you can activate from within Grafana.
|
||||
|
||||
For instructions about how to activate your license after it is updated, refer to [Activate an Enterprise license]({{< ref "#activate-an-enterprise-license" >}}).
|
||||
For instructions about how to activate your license after it is updated, refer to [Activate an Enterprise license]({{< relref "#activate-an-enterprise-license" >}}).
|
||||
|
||||
@@ -1,17 +1,17 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/
|
||||
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/
|
||||
description: Activate your Grafana Enterprise license purchased in AWS Marketplace to take advantage of Grafana Enterprise observability features
|
||||
- ../../enterprise/activate-aws-marketplace-license/about-ge-license-through-aws/
|
||||
- ../../enterprise/license/activate-aws-marketplace-license/
|
||||
- ../../enterprise/license/activate-aws-marketplace-license/about-ge-license-through-aws/
|
||||
description: Activate your Grafana Enterprise license purchased in AWS Marketplace
|
||||
to take advantage of Grafana Enterprise observability features
|
||||
keywords:
|
||||
- grafana
|
||||
- aws
|
||||
- marketplace
|
||||
- enterprise
|
||||
- license
|
||||
title: Enterprise licenses through AWS Marketplace
|
||||
title: Activate a Grafana Enterprise license purchased through AWS Marketplace
|
||||
weight: 400
|
||||
---
|
||||
|
||||
@@ -28,7 +28,7 @@ You can deploy Grafana Enterprise in the following ways:
|
||||
|
||||
In each case, you must activate the Grafana Enterprise license purchased in AWS Marketplace to take advantage of Grafana Enterprise observability features. Grafana Enterprise licenses purchased through AWS Marketplace are subject to the same [restrictions]({{< relref "../#license-restrictions" >}}) as Grafana Enterprise licensed purchased directly from Grafana Labs.
|
||||
|
||||
> To purchase a license directly from Grafana Labs or learn more about other Grafana offerings, [Contact a Grafana Labs representative](https://grafana.com/contact?about=grafana-enterprise).
|
||||
> To purchase a license directly from Grafana Labs or learn more about other Grafana offerings, [Contact a Grafana Labs representative](/contact?about=grafana-enterprise).
|
||||
|
||||
## Before you begin
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-ecs/
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-ecs/
|
||||
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-ecs/
|
||||
- ../../../enterprise/license/activate-aws-marketplace-license/activate-license-on-ecs/
|
||||
description: Activate a Grafana Enterprise license from AWS Marketplace on ECS
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-eks/
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-eks/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-eks/
|
||||
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-eks/
|
||||
- ../../../enterprise/license/activate-aws-marketplace-license/activate-license-on-eks/
|
||||
description: Activate a Grafana Enterprise license from AWS Marketplace on EKS
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
|
||||
- ../../../enterprise/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
|
||||
- ../../../enterprise/license/activate-aws-marketplace-license/activate-license-on-instance-outside-aws/
|
||||
description: Activate a Grafana Enterprise license from AWS on an instance deployed
|
||||
outside of AWS
|
||||
keywords:
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
|
||||
- ../../../enterprise/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
|
||||
- ../../../enterprise/license/activate-aws-marketplace-license/manage-license-in-aws-marketplace/
|
||||
description: Manage your Grafana Enterprise license in AWS Marketplace
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -39,4 +38,4 @@ You can use AWS Marketplace to make the following modifications to your Grafana
|
||||
|
||||
This action retrieves updated license information from AWS.
|
||||
|
||||
> To learn more about licensing and active users, refer to [Understanding Grafana Enterprise licensing]({{< relref "../#license-restrictions" >}}).
|
||||
> To learn more about licensing and active users, refer to [Activate a Grafana Enterprise license purchased through AWS Marketplace]({{< relref "../" >}}).
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/activate-aws-marketplace-license/transfer-ge-license/
|
||||
- /docs/grafana/latest/enterprise/license/activate-aws-marketplace-license/transfer-ge-license/
|
||||
- /docs/grafana/latest/administration/enterprise-licensing/activate-aws-marketplace-license/transfer-ge-license/
|
||||
- ../../../enterprise/activate-aws-marketplace-license/transfer-ge-license/
|
||||
- ../../../enterprise/license/activate-aws-marketplace-license/transfer-ge-license/
|
||||
description: Transfer your AWS Marketplace Grafana Enterprise license
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-organizations/
|
||||
- /docs/grafana/latest/manage-users/server-admin/
|
||||
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-orgs/
|
||||
- /docs/grafana/latest/administration/organization-management/
|
||||
- ../manage-users/server-admin/
|
||||
- ../manage-users/server-admin/server-admin-manage-orgs/
|
||||
- manage-organizations/
|
||||
description: Describes how to use organizations to isolate dashboard to users and
|
||||
teams.
|
||||
keywords:
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/preferences/
|
||||
- /docs/grafana/latest/administration/preferences/change-grafana-name/
|
||||
- /docs/grafana/latest/administration/preferences/change-grafana-theme/
|
||||
- /docs/grafana/latest/administration/preferences/change-grafana-timezone/
|
||||
- /docs/grafana/latest/administration/change-home-dashboard/
|
||||
- /docs/grafana/latest/administration/preferences/change-home-dashboard/
|
||||
- /docs/grafana/latest/administration/organization-preferences/
|
||||
- change-home-dashboard/
|
||||
- preferences/
|
||||
- preferences/change-grafana-name/
|
||||
- preferences/change-grafana-theme/
|
||||
- preferences/change-grafana-timezone/
|
||||
- preferences/change-home-dashboard/
|
||||
title: Organization preferences
|
||||
weight: 500
|
||||
---
|
||||
@@ -101,7 +100,7 @@ Here is an example of the light theme.
|
||||
|
||||
### Change server UI theme
|
||||
|
||||
Grafana server administrators can change the Grafana UI theme for all users on the server by setting the [default_theme]({{< relref "../../setup-grafana/configure-grafana/#default-theme" >}}) option in the Grafana configuration file.
|
||||
As a Grafana server administrator, you can change the default Grafana UI theme for all users who are on the server by setting the [default_theme]({{< relref "../../setup-grafana/configure-grafana/#default_theme" >}}) option in the Grafana configuration file.
|
||||
|
||||
To see what the current settings are, refer to [View server settings]({{< relref "../stats-and-license#view-server-settings" >}}).
|
||||
|
||||
@@ -111,17 +110,18 @@ Organization administrators can change the UI theme for all users in an organiza
|
||||
|
||||
1. Hover your cursor over the **Configuration** (gear) icon.
|
||||
1. Click **Preferences**.
|
||||
1. In the Preferences section, select the **UI theme**.
|
||||
1. In the **Preferences** section, select the **UI theme**.
|
||||
1. Click **Save**.
|
||||
|
||||
### Change team UI theme
|
||||
|
||||
Organization and team administrators can change the UI theme for all users in a team.
|
||||
Organization and team administrators can change the UI theme for all users on a team.
|
||||
|
||||
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
|
||||
1. Click **Teams**. Grafana displays the team list.
|
||||
1. Click on the team that you want to change the UI theme for and then navigate to the **Settings** tab.
|
||||
1. In the Preferences section, select the **UI theme**.
|
||||
1. Click the team for which you want to change the UI theme.
|
||||
1. Click **Settings**.
|
||||
1. In the **Preferences** section, select the **UI theme**.
|
||||
1. Click **Save**.
|
||||
|
||||
### Change your personal UI theme
|
||||
@@ -129,7 +129,7 @@ Organization and team administrators can change the UI theme for all users in a
|
||||
You can change the UI theme for your user account. This setting overrides UI theme settings at higher levels.
|
||||
|
||||
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
|
||||
1. In the Preferences section, select the **UI theme**.
|
||||
1. In the **Preferences** section, select the **UI theme**.
|
||||
1. Click **Save**.
|
||||
|
||||
## Change the Grafana default timezone
|
||||
@@ -140,7 +140,7 @@ Some tasks require certain permissions. For more information about roles, refer
|
||||
|
||||
### Set server timezone
|
||||
|
||||
Grafana server administrators can choose a default timezone for all users on the server by setting the [default_timezone]({{< relref "../../setup-grafana/configure-grafana/#default-timezone" >}}) option in the Grafana configuration file.
|
||||
Grafana server administrators can choose a default timezone for all users on the server by setting the [default_timezone]({{< relref "../../setup-grafana/configure-grafana/#default_timezone" >}}) option in the Grafana configuration file.
|
||||
|
||||
### Set organization timezone
|
||||
|
||||
@@ -148,17 +148,18 @@ Organization administrators can choose a default timezone for their organization
|
||||
|
||||
1. Hover your cursor over the **Configuration** (gear) icon.
|
||||
1. Click **Preferences**.
|
||||
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level. Refer to [Time range controls]({{< relref "../../dashboards/manage-dashboards/#configure-dashboard-time-range-controls" >}}) for more information about Grafana time settings.
|
||||
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level.
|
||||
1. Click **Save**.
|
||||
|
||||
### Set team timezone
|
||||
|
||||
Organization administrators and team administrators can choose a default timezone for all users in a team.
|
||||
Organization administrators and team administrators can choose a default timezone for all users on a team.
|
||||
|
||||
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
|
||||
1. Click **Teams**. Grafana displays the team list.
|
||||
1. Click on the team you that you want to change the timezone for and then navigate to the **Settings** tab.
|
||||
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level. Refer to [[Time range controls]({{< relref "../../dashboards/manage-dashboards/#configure-dashboard-time-range-controls" >}}) for more information about Grafana time settings.
|
||||
1. Click the team for which you want to change the timezone.
|
||||
1. Click **Settings**
|
||||
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level.
|
||||
1. Click **Save**.
|
||||
|
||||
### Set your personal timezone
|
||||
@@ -166,7 +167,7 @@ Organization administrators and team administrators can choose a default timezon
|
||||
You can change the timezone for your user account. This setting overrides timezone settings at higher levels.
|
||||
|
||||
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
|
||||
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level. Refer to [Time range controls]({{< relref "../../dashboards/manage-dashboards/#configure-dashboard-time-range-controls" >}}) for more information about Grafana time settings.
|
||||
1. Click to select an option in the **Timezone** list. **Default** is either the browser local timezone or the timezone selected at a higher level.
|
||||
1. Click **Save**.
|
||||
|
||||
## Change the default home dashboard
|
||||
@@ -207,7 +208,7 @@ default_home_dashboard_path = data/main-dashboard.json
|
||||
|
||||
### Set the home dashboard for your organization
|
||||
|
||||
Organization administrators can choose a home dashboard for their organization.
|
||||
Organization administrators can choose a default home dashboard for their organization.
|
||||
|
||||
1. Navigate to the dashboard you want to set as the home dashboard.
|
||||
1. Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.
|
||||
@@ -218,13 +219,14 @@ Organization administrators can choose a home dashboard for their organization.
|
||||
|
||||
### Set home dashboard for your team
|
||||
|
||||
Organization administrators and Team Admins can choose a home dashboard for a team.
|
||||
Organization administrators and Team Admins can set a default home dashboard for all users on a team.
|
||||
|
||||
1. Navigate to the dashboard you want to set as the home dashboard.
|
||||
1. Click the star next to the dashboard title to mark the dashboard as a favorite if it is not already.
|
||||
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
|
||||
1. Click **Teams**. Grafana displays the team list.
|
||||
1. Click on the team that you want to change the home dashboard for and then navigate to the **Settings** tab.
|
||||
1. Click the team for which you want to change the home dashboard.
|
||||
1. Click **Settings**.
|
||||
1. In the **Home Dashboard** field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.
|
||||
1. Click **Save**.
|
||||
|
||||
@@ -237,3 +239,37 @@ You can choose your own personal home dashboard. This setting overrides all home
|
||||
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
|
||||
1. In the **Home Dashboard** field, select the dashboard that you want to use for your home dashboard. Options include all starred dashboards.
|
||||
1. Click **Save**.
|
||||
|
||||
## Change Grafana language
|
||||
|
||||
### Change server language
|
||||
|
||||
Grafana server administrators can change the default Grafana UI language for all users on the server by setting the [default_language]({{< relref "../../setup-grafana/configure-grafana/#default_language" >}}) option in the Grafana configuration file.
|
||||
|
||||
### Change organization language
|
||||
|
||||
Organization administrators can change the language for all users in an organization.
|
||||
|
||||
1. Hover your cursor over the **Configuration** (gear) icon.
|
||||
1. Click **Preferences**.
|
||||
1. In the **Preferences** section, select the **Language**.
|
||||
1. Click **Save**.
|
||||
|
||||
### Change team language
|
||||
|
||||
Organization and team administrators can set a default language for all users on a team.
|
||||
|
||||
1. Hover your cursor over the **Configuration** (gear) icon in the side menu.
|
||||
1. Click **Teams**. Grafana displays the team list.
|
||||
1. Click the team for which you want to change the language.
|
||||
1. Click **Settings**
|
||||
1. In the **Preferences** section, select the **Language**.
|
||||
1. Click **Save**.
|
||||
|
||||
### Change your personal language
|
||||
|
||||
You can change the language for your user account. This setting overrides language settings at higher levels.
|
||||
|
||||
1. On the left menu, hover your cursor over your avatar and then click **Preferences**.
|
||||
1. In the **Preferences** section, select the **language**.
|
||||
1. Click **Save**.
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/plugins/
|
||||
- /docs/grafana/latest/plugins/catalog/
|
||||
- /docs/grafana/latest/plugins/installation/
|
||||
- /docs/grafana/latest/plugins/plugin-signature-verification/
|
||||
- /docs/grafana/latest/plugins/plugin-signatures/
|
||||
- /docs/grafana/latest/administration/plugin-management/
|
||||
- ../plugins/
|
||||
- ../plugins/catalog/
|
||||
- ../plugins/installation/
|
||||
- ../plugins/plugin-signature-verification/
|
||||
- ../plugins/plugin-signatures/
|
||||
title: Plugin management
|
||||
weight: 600
|
||||
---
|
||||
@@ -14,13 +13,13 @@ weight: 600
|
||||
|
||||
Besides the wide range of visualizations and data sources that are available immediately after you install Grafana, you can extend your Grafana experience with _plugins_.
|
||||
|
||||
You can [install]({{< ref "#install-a-plugin" >}}) one of the plugins built by the Grafana community, or [build one yourself]({{< relref "../../developers/plugins/" >}}).
|
||||
You can [install]({{< relref "#install-a-plugin" >}}) one of the plugins built by the Grafana community, or [build one yourself]({{< relref "../../developers/plugins/" >}}).
|
||||
|
||||
Grafana supports three types of plugins: [panels](https://grafana.com/grafana/plugins?type=panel), [data sources](https://grafana.com/grafana/plugins?type=datasource), and [apps](https://grafana.com/grafana/plugins?type=app).
|
||||
Grafana supports three types of plugins: [panels](/grafana/plugins?type=panel), [data sources](/plugins?type=datasource), and [apps](/grafana/plugins?type=app).
|
||||
|
||||
## Panel plugins
|
||||
|
||||
Add new visualizations to your dashboard with panel plugins, such as the [Worldmap Panel](https://grafana.com/grafana/plugins/grafana-worldmap-panel), [Clock](https://grafana.com/grafana/plugins/grafana-clock-panel), and [Pie Chart](https://grafana.com/grafana/plugins/grafana-piechart-panel).
|
||||
Add new visualizations to your dashboard with panel plugins, such as the [Worldmap Panel](/grafana/plugins/grafana-worldmap-panel), [Clock](/grafana/plugins/grafana-clock-panel), and [Pie Chart](/grafana/plugins/grafana-piechart-panel).
|
||||
|
||||
Use panel plugins when you want to:
|
||||
|
||||
@@ -30,7 +29,7 @@ Use panel plugins when you want to:
|
||||
|
||||
## Data source plugins
|
||||
|
||||
Data source plugins add support for new databases, such as [Google BigQuery](https://grafana.com/grafana/plugins/doitintl-bigquery-datasource).
|
||||
Data source plugins add support for new databases, such as [Google BigQuery](/grafana/plugins/doitintl-bigquery-datasource).
|
||||
|
||||
Data source plugins communicate with external sources of data and return the data in a format that Grafana understands. By adding a data source plugin, you can immediately use the data in any of your existing dashboards.
|
||||
|
||||
@@ -38,7 +37,7 @@ Use data source plugins when you want to import data from external systems.
|
||||
|
||||
## App plugins
|
||||
|
||||
Applications, or _app plugins_, bundle data sources and panels to provide a cohesive experience, such as the [Zabbix](https://grafana.com/grafana/plugins/alexanderzobnin-zabbix-app) app.
|
||||
Applications, or _app plugins_, bundle data sources and panels to provide a cohesive experience, such as the [Zabbix](/grafana/plugins/alexanderzobnin-zabbix-app) app.
|
||||
|
||||
Apps can also add custom pages for things like control panels.
|
||||
|
||||
@@ -123,7 +122,7 @@ When the update is complete, you see a confirmation message that the uninstall w
|
||||
|
||||
Grafana supports data source, panel, and app plugins. Having panels as plugins makes it easy to create and add any kind of panel, to show your data, or improve your favorite dashboards. Apps enable the bundling of data sources, panels, dashboards, and Grafana pages into a cohesive experience.
|
||||
|
||||
1. In a web browser, navigate to the official [Grafana Plugins page](https://grafana.com/plugins) and find a plugin that you want to install.
|
||||
1. In a web browser, navigate to the official [Grafana Plugins page](/plugins) and find a plugin that you want to install.
|
||||
1. Click the plugin, and then click the **Installation** tab.
|
||||
|
||||
### Install plugin on Grafana Cloud
|
||||
@@ -140,7 +139,7 @@ Follow the instructions on the Install tab. You can either install the plugin wi
|
||||
|
||||
For more information about Grafana CLI plugin commands, refer to [Plugin commands]({{< relref "../../cli/#plugins-commands" >}}).
|
||||
|
||||
As of Grafana v8.0, a plugin catalog app was introduced in order to make managing plugins easier. For more information, refer to [Plugin catalog]({{< ref "#plugin-catalog" >}}).
|
||||
As of Grafana v8.0, a plugin catalog app was introduced in order to make managing plugins easier. For more information, refer to [Plugin catalog]({{< relref "#plugin-catalog" >}}).
|
||||
|
||||
#### Install a packaged plugin
|
||||
|
||||
@@ -200,4 +199,4 @@ WARN[06-01|16:45:59] Running an unsigned plugin pluginID=<plugin id>
|
||||
|
||||
## Learn more
|
||||
|
||||
- Browse the available [Plugins](https://grafana.com/grafana/plugins)
|
||||
- Browse the available [Plugins](/grafana/plugins)
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/provisioning/
|
||||
- /docs/grafana/latest/installation/provisioning/
|
||||
- ../installation/provisioning/
|
||||
description: Describes provisioning settings for Grafana using configuration files.
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -392,11 +391,11 @@ providers:
|
||||
|
||||
## Alerting
|
||||
|
||||
For information on provisioning Grafana Alerting, refer to [Provision Grafana Alerting resources](https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/).
|
||||
For information on provisioning Grafana Alerting, refer to [Provision Grafana Alerting resources]({{< relref "../../alerting/set-up/provision-alerting-resources/" >}}).
|
||||
|
||||
## Alert Notification Channels
|
||||
|
||||
> **Note:** Alert Notification Channels are part of legacy alerting, which is deprecated and will be removed in Grafana 10. Use the Provision contact points section in [Create and manage alerting resources using file provisioning](https://grafana.com/docs/grafana/latest/alerting/set-up/provision-alerting-resources/file-provisioning/).
|
||||
> **Note:** Alert Notification Channels are part of legacy alerting, which is deprecated and will be removed in Grafana 10. Use the Provision contact points section in [Create and manage alerting resources using file provisioning]({{< relref "../../alerting/set-up/provision-alerting-resources/file-provisioning" >}}).
|
||||
|
||||
Alert Notification Channels can be provisioned by adding one or more YAML config files in the [`provisioning/notifiers`](/administration/configuration/#provisioning) directory.
|
||||
|
||||
@@ -643,6 +642,7 @@ The following sections detail the supported settings and secure settings for eac
|
||||
|
||||
## Grafana Enterprise
|
||||
|
||||
Grafana Enterprise supports provisioning for the following resources:
|
||||
Grafana Enterprise supports:
|
||||
|
||||
- [Role-based access control provisioning]({{< relref "../roles-and-permissions/access-control/rbac-provisioning/" >}})
|
||||
- [Provisioning role-based access control with Grafana]({{< relref "../roles-and-permissions/access-control/rbac-grafana-provisioning/" >}})
|
||||
- [Provisioning role-based access control with Terraform]({{< relref "../roles-and-permissions/access-control/rbac-terraform-provisioning/" >}})
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/recorded-queries/
|
||||
- /docs/grafana/latest/administration/recorded-queries/
|
||||
- ../enterprise/recorded-queries/
|
||||
description: Grafana Enterprise recorded queries
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -24,11 +23,11 @@ For our plugins that do not return time series, it might be useful to plot histo
|
||||
|
||||
> **Note:** An administrator must configure a Prometheus data source and associate it with a [Remote write target](#remote-write-target) before recorded queries can be used.
|
||||
|
||||
Recorded queries only work with backend data source plugins. Refer to [Backend data source plugin](https://grafana.com/tutorials/build-a-data-source-backend-plugin/) for more information about backend data source plugins. You can recorded three types of queries:
|
||||
Recorded queries only work with backend data source plugins. Refer to [Backend data source plugin](/tutorials/build-a-data-source-backend-plugin/) for more information about backend data source plugins. You can recorded three types of queries:
|
||||
|
||||
- single row and column - A query that returns a single row and column.
|
||||
- row count - A query that returns meaningful rows to be counted.
|
||||
- expression - Any expression. To learn more about creating and using expressions, see [Expressions](https://grafana.com/docs/grafana/latest/panels/expressions/).
|
||||
- expression - Any expression. To learn more about creating and using expressions, see [Write expression queries]({{< relref "../../panels-visualizations/query-transform-data/expression-queries" >}}).
|
||||
|
||||
After a recorded query is created or enabled, it immediately creates a snapshot and continues to create snapshots at the set interval. The recorded query stops taking snapshots when it is disabled, deleted, or when Grafana is not running. Data points are gathered in the backend by running the recorded query and forwarding each result to a remote-write enabled Prometheus instance.
|
||||
|
||||
@@ -40,7 +39,7 @@ To use a recorded query, create one and add it to a dashboard. After that, it ca
|
||||
|
||||
1. Find/create a query you want to record on a dashboard in an edit panel. The query must only return one row and column. If it returns more, you can still record the number of results returned using the “count” option.
|
||||
- The query's data source must be a backend data source.
|
||||
- Expressions can be used to aggregate data from a time series query. Refer to [Expressions](https://grafana.com/docs/grafana/latest/panels/expressions/) to learn more about creating and using expressions.
|
||||
- Expressions can be used to aggregate data from a time series query. Refer to [Write expression queries]({{< relref "../../panels-visualizations/query-transform-data/expression-queries" >}}) to learn more about creating and using expressions.
|
||||
1. Click the record query button located in the top right of the query editor.
|
||||
1. Enter recorded query information. All fields are required unless otherwise indicated.
|
||||
- Name - Name of the recorded query.
|
||||
@@ -60,7 +59,7 @@ You can add existing recorded queries to panels in a dashboard. For each recorde
|
||||
1. If you want to filter recorded queries by data source, select a data source from the filter by data source drop down menu.
|
||||
1. Click the `Add` button on your recorded query to add it to the panel.
|
||||
|
||||
After adding your recorded query to the panel, the panel data source will become `-- Mixed --`. Your recorded query is represented by a `Prometheus` query with a name label matching your recorded query name. Refer to [Prometheus](https://grafana.com/docs/grafana/latest/datasources/prometheus/) to learn more about the `Prometheus` data source.
|
||||
After adding your recorded query to the panel, the panel data source will become `-- Mixed --`. Your recorded query is represented by a `Prometheus` query with a name label matching your recorded query name. Refer to [Prometheus]({{< relref "../../datasources/prometheus/" >}}) to learn more about the `Prometheus` data source.
|
||||
|
||||
If after adding a recorded query, a query with a `-- Mixed --` data source instead of `Prometheus` data source appears, this could mean that a Prometheus remote write target was not set up for recorded queries. Refer to [Remote write target](#remote-write-target) to set up a remote write point.
|
||||
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/about-users-and-permissions/
|
||||
- /docs/grafana/latest/manage-users/
|
||||
- /docs/grafana/latest/permissions/
|
||||
- /docs/grafana/latest/permissions/organization_roles/
|
||||
- /docs/grafana/latest/permissions/overview/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/
|
||||
- ../manage-users/
|
||||
- ../permissions/
|
||||
- ../permissions/organization_roles/
|
||||
- ../permissions/overview/
|
||||
- manage-users-and-permissions/about-users-and-permissions/
|
||||
description: Information about Grafana user, team, and organization roles and permissions
|
||||
title: Roles and permissions
|
||||
weight: 300
|
||||
@@ -27,7 +26,7 @@ You can assign a user one of three types of permissions:
|
||||
|
||||
A Grafana server administrator manages server-wide settings and access to resources such as organizations, users, and licenses. Grafana includes a default server administrator that you can use to manage all of Grafana, or you can divide that responsibility among other server administrators that you create.
|
||||
|
||||
> **Note:** The server administrator role does not mean that the user is also a Grafana [organization administrator]({{< ref "#organization-roles" >}}).
|
||||
> **Note:** The server administrator role does not mean that the user is also a Grafana [organization administrator]({{< relref "#organization-roles" >}}).
|
||||
|
||||
A server administrator can perform the following tasks:
|
||||
|
||||
@@ -124,7 +123,7 @@ For more information about assigning administrator permissions to editors, refer
|
||||
If you have access to the Grafana server, you can modify the default viewer role so that viewers can:
|
||||
|
||||
- Edit and preview dashboards, but cannot save their changes or create new dashboards.
|
||||
- Access and use [Explore]({{< ref "/explore" >}}).
|
||||
- Access and use [Explore]({{< relref "../../explore" >}}).
|
||||
|
||||
Extending the viewer role is useful for public Grafana installations where you want anonymous users to be able to edit panels and queries, but not be able to save or create new dashboards.
|
||||
|
||||
|
||||
@@ -1,10 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/
|
||||
- /docs/grafana/latest/enterprise/access-control/
|
||||
- /docs/grafana/latest/enterprise/access-control/about-rbac/
|
||||
- /docs/grafana/latest/enterprise/access-control/roles/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/
|
||||
- ../../enterprise/access-control/
|
||||
- ../../enterprise/access-control/about-rbac/
|
||||
- ../../enterprise/access-control/roles/
|
||||
description: Role-based access control (RBAC) provides a standardized way of granting,
|
||||
changing, and revoking access so that users can view and modify Grafana resources,
|
||||
such as users and reports.
|
||||
@@ -15,7 +13,7 @@ weight: 120
|
||||
|
||||
# Role-based access control (RBAC)
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
RBAC provides a standardized way of granting, changing, and revoking access when it comes to viewing and modifying Grafana resources, such as dashboards, reports, and administrative settings.
|
||||
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/assign-rbac-roles/
|
||||
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/manage-built-in-role-assignments/
|
||||
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/manage-user-role-assignments/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/assign-rbac-roles/
|
||||
- ../../../enterprise/access-control/assign-rbac-roles/
|
||||
- ../../../enterprise/access-control/manage-role-assignments/manage-built-in-role-assignments/
|
||||
- ../../../enterprise/access-control/manage-role-assignments/manage-user-role-assignments/
|
||||
description: Learn how to assign RBAC roles to users and teams in Grafana.
|
||||
menuTitle: Assign RBAC roles
|
||||
title: Assign Grafana RBAC roles
|
||||
@@ -12,7 +11,7 @@ weight: 40
|
||||
|
||||
# Assign RBAC roles
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
In this topic you'll learn how to use the role picker, provisioning, and the HTTP API to assign fixed and custom roles to users and teams.
|
||||
|
||||
@@ -66,7 +65,7 @@ Instead of using the Grafana role picker, you can use file-based provisioning to
|
||||
|
||||
**Before you begin:**
|
||||
|
||||
- Refer to [Role provisioning]({{< relref "./rbac-provisioning/#rbac-provisioning" >}})
|
||||
- Refer to [Role provisioning]({{< relref "./rbac-grafana-provisioning/" >}})
|
||||
- Ensure that the team to which you are adding the fixed role exists. For more information about creating teams, refer to [Manage teams]({{< relref "../../../team-management/" >}})
|
||||
|
||||
**To assign a role to a team:**
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/configure-rbac/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/configure-rbac/
|
||||
- ../../../enterprise/access-control/configure-rbac/
|
||||
description: Learn how to configure RBAC.
|
||||
menuTitle: Configure RBAC
|
||||
title: Configure RBAC in Grafana
|
||||
@@ -10,7 +9,7 @@ weight: 30
|
||||
|
||||
# Configure RBAC in Grafana
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
The table below describes all RBAC configuration options. Like any other Grafana configuration, you can apply these options as [environment variables]({{< relref "../../../../setup-grafana/configure-grafana/#configure-with-environment-variables" >}}).
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/custom-role-actions-scopes/
|
||||
- /docs/grafana/latest/enterprise/access-control/permissions/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/custom-role-actions-scopes/
|
||||
- ../../../enterprise/access-control/custom-role-actions-scopes/
|
||||
- ../../../enterprise/access-control/permissions/
|
||||
description: Learn about Grafana RBAC permissions, actions, and scopes.
|
||||
menuTitle: RBAC permissions, actions, and scopes
|
||||
title: Grafana RBAC permissions, actions, and scopes
|
||||
@@ -11,7 +10,7 @@ weight: 80
|
||||
|
||||
# RBAC permissions, actions, and scopes
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
A permission is comprised of an action and a scope. When creating a custom role, consider the actions the user can perform and the resource(s) on which they can perform those actions.
|
||||
|
||||
@@ -160,7 +159,7 @@ The following list contains role-based access control scopes.
|
||||
| `orgs:*` <br> `orgs:id:*` | Restrict an action to a set of organizations. For example, `orgs:*` matches any organization and `orgs:id:1` matches the organization whose ID is `1`. |
|
||||
| `permissions:type:delegate` | The scope is only applicable for roles associated with the Access Control itself and indicates that you can delegate your permissions only, or a subset of it, by creating a new role or making an assignment. |
|
||||
| `permissions:type:escalate` | The scope is required to trigger the reset of basic roles permissions. It indicates that users might acquire additional permissions they did not previously have. |
|
||||
| `provisioners:*` | Restrict an action to a set of provisioners. For example, `provisioners:*` matches any provisioner, and `provisioners:accesscontrol` matches the role-based access control [provisioner]({{< relref "./rbac-provisioning/" >}}). |
|
||||
| `provisioners:*` | Restrict an action to a set of provisioners. For example, `provisioners:*` matches any provisioner, and `provisioners:accesscontrol` matches the role-based access control [provisioner]({{< relref "./rbac-grafana-provisioning/" >}}). |
|
||||
| `reports:*` <br> `reports:id:*` | Restrict an action to a set of reports. For example, `reports:*` matches any report and `reports:id:1` matches the report whose ID is `1`. |
|
||||
| `roles:*` <br> `roles:uid:*` | Restrict an action to a set of roles. For example, `roles:*` matches any role and `roles:uid:randomuid` matches only the role whose UID is `randomuid`. |
|
||||
| `services:accesscontrol` | Restrict an action to target only the role-based access control service. You can use this in conjunction with the `status:accesscontrol` actions. |
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/manage-rbac-roles/
|
||||
- /docs/grafana/latest/enterprise/access-control/manage-role-assignments/
|
||||
- /docs/grafana/latest/enterprise/access-control/provisioning/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/manage-rbac-roles/
|
||||
- ../../../enterprise/access-control/manage-rbac-roles/
|
||||
- ../../../enterprise/access-control/manage-role-assignments/
|
||||
- ../../../enterprise/access-control/provisioning/
|
||||
description: Learn how to view permissions associated with roles, create custom roles,
|
||||
and update and delete roles in Grafana.
|
||||
menuTitle: Manage RBAC roles
|
||||
@@ -13,7 +12,7 @@ weight: 50
|
||||
|
||||
# Manage RBAC roles
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
This section includes instructions for how to view permissions associated with roles, create custom roles, and update and delete roles.
|
||||
|
||||
@@ -91,7 +90,7 @@ Create a custom role when basic roles and fixed roles do not meet your permissio
|
||||
|
||||
- [Plan your RBAC rollout strategy]({{< relref "./plan-rbac-rollout-strategy/" >}}).
|
||||
- Determine which permissions you want to add to the custom role. To see a list of actions and scope, refer to [RBAC permissions, actions, and scopes]({{< relref "./custom-role-actions-scopes/" >}}).
|
||||
- [Enable role provisioning]({{< relref "./rbac-provisioning/" >}}).
|
||||
- [Enable role provisioning]({{< relref "./rbac-grafana-provisioning/" >}}).
|
||||
- Ensure that you have permissions to create a custom role.
|
||||
- By default, the Grafana Admin role has permission to create custom roles.
|
||||
- A Grafana Admin can delegate the custom role privilege to another user by creating a custom role with the relevant permissions and adding the `permissions:type:delegate` scope.
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/plan-rbac-rollout-strategy/
|
||||
- /docs/grafana/latest/enterprise/access-control/usage-scenarios/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/plan-rbac-rollout-strategy/
|
||||
- ../../../enterprise/access-control/plan-rbac-rollout-strategy/
|
||||
- ../../../enterprise/access-control/usage-scenarios/
|
||||
description: Plan your RBAC rollout strategy before you begin assigning roles to users
|
||||
and teams.
|
||||
menuTitle: Plan your RBAC rollout strategy
|
||||
@@ -12,7 +11,7 @@ weight: 20
|
||||
|
||||
# Plan your RBAC rollout strategy
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
An RBAC rollout strategy helps you determine _how_ you want to implement RBAC prior to assigning RBAC roles to users and teams.
|
||||
|
||||
@@ -83,7 +82,7 @@ We've compiled the following permissions rollout scenarios based on current Graf
|
||||
### Provide internal viewer employees with the ability to use Explore, but prevent external viewer contractors from using Explore
|
||||
|
||||
1. In Grafana, create a team with the name `Internal employees`.
|
||||
1. Assign the `fixed:datasources:querier` role to the `Internal employees` team.
|
||||
1. Assign the `fixed:datasources:explorer` role to the `Internal employees` team.
|
||||
1. Add internal employees to the `Internal employees` team, or map them from a SAML, LDAP, or Oauth team using [Team Sync]({{< relref "../../../../setup-grafana/configure-security/configure-team-sync/" >}}).
|
||||
1. Assign the viewer role to both internal employees and contractors.
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/fine-grained-access-control-references/
|
||||
- /docs/grafana/latest/enterprise/access-control/rbac-fixed-basic-role-definitions/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-fixed-basic-role-definitions/
|
||||
- ../../../enterprise/access-control/fine-grained-access-control-references/
|
||||
- ../../../enterprise/access-control/rbac-fixed-basic-role-definitions/
|
||||
description: This topic includes a table that lists permission associated with Grafana
|
||||
fixed and basic roles.
|
||||
menuTitle: RBAC role definitions
|
||||
@@ -12,7 +11,7 @@ weight: 70
|
||||
|
||||
# RBAC role definitions
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
The following tables list permissions associated with basic and fixed roles.
|
||||
|
||||
@@ -21,7 +20,7 @@ The following tables list permissions associated with basic and fixed roles.
|
||||
| Basic role | Associated fixed roles | Description |
|
||||
| ------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
|
||||
| Grafana Admin | `fixed:roles:reader`<br>`fixed:roles:writer`<br>`fixed:users:reader`<br>`fixed:users:writer`<br>`fixed:org.users:reader`<br>`fixed:org.users:writer`<br>`fixed:ldap:reader`<br>`fixed:ldap:writer`<br>`fixed:stats:reader`<br>`fixed:settings:reader`<br>`fixed:settings:writer`<br>`fixed:provisioning:writer`<br>`fixed:organization:reader`<br>`fixed:organization:maintainer`<br>`fixed:licensing:reader`<br>`fixed:licensing:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Grafana server administrator]({{< relref "../#grafana-server-administrators" >}}) assignments. |
|
||||
| Admin | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br>`fixed:dashboards:reader`<br>`fixed:dashboards:writer`<br>`fixed:dashboards.permissions:reader`<br>`fixed:dashboards.permissions:writer`<br>`fixed:folders:reader`<br>`fixes:folders:writer`<br>`fixed:folders.permissions:reader`<br>`fixed:folders.permissions:writer`<br>`fixed:alerting:writer`<br>`fixed:apikeys:reader`<br>`fixed:apikeys:writer`<br>`fixed:alerting.provisioning:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Grafana organization administrator]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
|
||||
| Admin | `fixed:reports:reader`<br>`fixed:reports:writer`<br>`fixed:datasources:reader`<br>`fixed:datasources:writer`<br>`fixed:organization:writer`<br>`fixed:datasources.permissions:reader`<br>`fixed:datasources.permissions:writer`<br>`fixed:teams:writer`<br>`fixed:dashboards:reader`<br>`fixed:dashboards:writer`<br>`fixed:dashboards.permissions:reader`<br>`fixed:dashboards.permissions:writer`<br>`fixed:folders:reader`<br>`fixed:folders:writer`<br>`fixed:folders.permissions:reader`<br>`fixed:folders.permissions:writer`<br>`fixed:alerting:writer`<br>`fixed:apikeys:reader`<br>`fixed:apikeys:writer`<br>`fixed:alerting.provisioning:writer`<br>`fixed:datasources.caching:reader`<br>`fixed:datasources.caching:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Grafana organization administrator]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
|
||||
| Editor | `fixed:datasources:explorer`<br>`fixed:dashboards:creator`<br>`fixed:folders:creator`<br>`fixed:annotations:writer`<br>`fixed:teams:creator` if the `editors_can_admin` configuration flag is enabled<br>`fixed:alerting:writer`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Editor]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
|
||||
| Viewer | `fixed:datasources:id:reader`<br>`fixed:organization:reader`<br>`fixed:annotations:reader`<br>`fixed:annotations.dashboard:writer`<br>`fixed:alerting:reader`<br>`fixed:plugins.app:reader`<br>`fixed:dashboards.insights:reader`<br>`fixed:datasources.insights:reader` | Default [Viewer]({{< relref "../#organization-users-and-permissions" >}}) assignments. |
|
||||
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/rbac-provisioning/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-provisioning/
|
||||
- /docs/grafana/latest/administration/roles-and-permissions/access-control/rbac-grafana-provisioning
|
||||
description: Learn about RBAC Grafana provisioning and view an example YAML provisioning file
|
||||
that configures Grafana role assignments.
|
||||
- ../../../enterprise/access-control/rbac-provisioning/
|
||||
- rbac-provisioning/
|
||||
description: Learn about RBAC Grafana provisioning and view an example YAML provisioning
|
||||
file that configures Grafana role assignments.
|
||||
menuTitle: Provisioning RBAC with Grafana
|
||||
title: Provisioning RBAC with Grafana
|
||||
weight: 60
|
||||
@@ -12,7 +11,7 @@ weight: 60
|
||||
|
||||
# Provisioning RBAC with Grafana
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
You can create, change or remove [Custom roles]({{< relref "./manage-rbac-roles/#create-custom-roles-using-provisioning" >}}) and create or remove [basic role assignments]({{< relref "./assign-rbac-roles/#assign-a-fixed-role-to-a-basic-role-using-provisioning" >}}), by adding one or more YAML configuration files in the `provisioning/access-control/` directory.
|
||||
|
||||
@@ -26,13 +25,17 @@ Grafana performs provisioning during startup. After you make a change to the con
|
||||
|
||||
1. Sign in to the Grafana server.
|
||||
|
||||
2. Locate the Grafana provisioning folder.
|
||||
1. Locate the Grafana provisioning folder.
|
||||
|
||||
3. Create a new YAML in the following folder: **provisioning/access-control**. For example, `provisioning/access-control/custom-roles.yml`
|
||||
1. Create a new YAML in the following folder: **provisioning/access-control**. For example, `provisioning/access-control/custom-roles.yml`
|
||||
|
||||
4. Add RBAC provisioning details to the configuration file. See [manage RBAC roles]({{< relref "./manage-rbac-roles/" >}}) and [assign RBAC roles]({{< relref "./assign-rbac-roles/" >}}) for instructions, and see this [example role provisioning file]({{< relref "./rbac-provisioning/#example" >}}) for a complete example of a provisioning file.
|
||||
1. Add RBAC provisioning details to the configuration file.
|
||||
|
||||
5. Reload the provisioning configuration file.
|
||||
Refer to [Manage RBAC roles]({{< relref "./manage-rbac-roles/" >}}) and [Assign RBAC roles]({{< relref "./assign-rbac-roles/" >}}) for instructions.
|
||||
|
||||
Refer to [example role provisioning file]({{< relref "#example-role-configuration-file-using-grafana-provisioning" >}}) for a complete example of a provisioning file.
|
||||
|
||||
1. Reload the provisioning configuration file.
|
||||
|
||||
For more information about reloading the provisioning configuration at runtime, refer to [Reload provisioning configurations]({{< relref "../../../../developers/http_api/admin/#reload-provisioning-configurations" >}}).
|
||||
|
||||
@@ -46,7 +49,7 @@ The following example shows a complete YAML configuration file that:
|
||||
- Assign roles to teams
|
||||
- Revoke assignments of roles to teams
|
||||
|
||||
## Example
|
||||
### Example
|
||||
|
||||
```yaml
|
||||
---
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/enterprise/access-control/rbac-provisioning/rbac-terraform-provisioning
|
||||
description: Learn about RBAC Terraform provisioning and view an example of provisioning configuration
|
||||
for Grafana roles and role assignments.
|
||||
- ../../../enterprise/access-control/rbac-provisioning/rbac-terraform-provisioning/
|
||||
description: Learn about RBAC Terraform provisioning and view an example of provisioning
|
||||
configuration for Grafana roles and role assignments.
|
||||
menuTitle: Provisioning RBAC with Terraform
|
||||
title: Provisioning RBAC with Terraform
|
||||
weight: 60
|
||||
@@ -10,7 +10,7 @@ weight: 60
|
||||
|
||||
# Provisioning RBAC with Terraform
|
||||
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced]({{< ref "/docs/grafana-cloud" >}}).
|
||||
> **Note:** Available in [Grafana Enterprise]({{< relref "../../../../introduction/grafana-enterprise/" >}}) and [Grafana Cloud Advanced](/docs/grafana-cloud).
|
||||
|
||||
You can create, change or remove [Custom roles](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/role) and create or remove [basic and custom role assignments](https://registry.terraform.io/providers/grafana/grafana/latest/docs/resources/role_assignment), by using [Terraform's Grafana provider](https://registry.terraform.io/providers/grafana/grafana/latest/docs).
|
||||
|
||||
@@ -22,15 +22,15 @@ You can create, change or remove [Custom roles](https://registry.terraform.io/pr
|
||||
|
||||
## Create a Service Account Token for provisioning
|
||||
|
||||
We recommend using service account tokens for provisioning. [Service accounts](https://grafana.com/docs/grafana/latest/administration/service-accounts/) support fine grained permissions, which allows you to easily authenticate and use the minimum set of permissions needed to provision your RBAC infrastructure.
|
||||
We recommend using service account tokens for provisioning. [Service accounts]({{< relref "../../../service-accounts/" >}}) support fine grained permissions, which allows you to easily authenticate and use the minimum set of permissions needed to provision your RBAC infrastructure.
|
||||
|
||||
To create a service account token for provisioning, complete the following steps.
|
||||
|
||||
1. [Create a new service account](https://grafana.com/docs/grafana/latest/administration/service-accounts/#create-a-service-account-in-grafana) for your CI pipeline.
|
||||
1. [Assign permissions to service account](https://grafana.com/docs/grafana/latest/administration/service-accounts/#assign-roles-to-a-service-account-in-grafana):
|
||||
1. You will need roles “Role reader”, "Role writer" and roles including any permissions that will be provisioned. For example, to create or assign a role that allows creating users, a service account needs permissions to create users.
|
||||
1. Alternatively, you can assign "Admin" basic role to the service account.
|
||||
1. [Create a new service account token](https://grafana.com/docs/grafana/latest/administration/service-accounts/#to-add-a-token-to-a-service-account) for use in Terraform.
|
||||
1. [Create a new service account]({{< relref "../../../service-accounts/#create-a-service-account-in-grafana" >}}) for your CI pipeline.
|
||||
1. [Assign permissions to service account]({{< relref "../../../service-accounts/#assign-roles-to-a-service-account-in-grafana" >}}):
|
||||
- You will need roles “Role reader”, "Role writer" and roles including any permissions that will be provisioned. For example, to create or assign a role that allows creating users, a service account needs permissions to create users.
|
||||
- Alternatively, you can assign "Admin" basic role to the service account.
|
||||
1. [Create a new service account token]({{< relref "../../../service-accounts/#to-add-a-token-to-a-service-account" >}}) for use in Terraform.
|
||||
|
||||
Alternatively, you can use basic authentication. To view all the supported authentication formats, see [here](https://registry.terraform.io/providers/grafana/grafana/latest/docs#authentication).
|
||||
|
||||
@@ -105,7 +105,7 @@ resource "grafana_role" "my_new_role" {
|
||||
The following example shows how to provision role assignments.
|
||||
In this example a team, user and service account are provisioned, and the custom role from the previous example is assigned to them.
|
||||
|
||||
1. Extend the configuration file from the [previous example]({{##}}) with the following:
|
||||
1. Extend the configuration file from the [previous example](#provision-custom-roles) with the following:
|
||||
|
||||
```terraform
|
||||
resource "grafana_team" "test_team" {
|
||||
@@ -148,4 +148,4 @@ Similarly, you can look up and use `id`s of users, teams and service accounts th
|
||||
|
||||
[RBAC setup with Grafana provisioning]({{< relref "./rbac-grafana-provisioning">}})
|
||||
|
||||
[Grafana Cloud Terraform provisioning](https://grafana.com/docs/grafana-cloud/infrastructure-as-code/terraform/)
|
||||
[Grafana Cloud Terraform provisioning](/docs/grafana-cloud/infrastructure-as-code/terraform/)
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/service-accounts/
|
||||
- /docs/grafana/latest/administration/service-accounts/about-service-accounts/
|
||||
- /docs/grafana/latest/administration/service-accounts/add-service-account-token/
|
||||
- /docs/grafana/latest/administration/service-accounts/create-service-account/
|
||||
- /docs/grafana/latest/administration/service-accounts/enable-service-accounts/
|
||||
- about-service-accounts/
|
||||
- add-service-account-token/
|
||||
- create-service-account/
|
||||
- enable-service-accounts/
|
||||
description: This page contains information about service accounts in Grafana
|
||||
keywords:
|
||||
- API keys
|
||||
|
||||
@@ -1,11 +1,10 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/view-server/
|
||||
- /docs/grafana/latest/admin/view-server-settings/
|
||||
- /docs/grafana/latest/administration/view-server/view-server-settings/
|
||||
- /docs/grafana/latest/admin/view-server-stats/
|
||||
- /docs/grafana/latest/administration/view-server/view-server-stats/
|
||||
- /docs/grafana/latest/administration/stats-and-license/
|
||||
- ../admin/view-server-settings/
|
||||
- ../admin/view-server-stats/
|
||||
- view-server/
|
||||
- view-server/view-server-settings/
|
||||
- view-server/view-server-stats/
|
||||
description: How to view server settings in the Grafana UI
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-teams/
|
||||
- /docs/grafana/latest/manage-users/add-or-remove-user-from-team/
|
||||
- /docs/grafana/latest/manage-users/create-or-remove-team/
|
||||
- /docs/grafana/latest/manage-users/manage-teams/
|
||||
- /docs/grafana/latest/administration/team-management/
|
||||
- ../manage-users/add-or-remove-user-from-team/
|
||||
- ../manage-users/create-or-remove-team/
|
||||
- ../manage-users/manage-teams/
|
||||
- manage-users-and-permissions/manage-teams/
|
||||
title: Team management
|
||||
weight: 400
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/
|
||||
- manage-users-and-permissions/
|
||||
title: User management
|
||||
weight: 200
|
||||
---
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/
|
||||
- /docs/grafana/latest/permissions/dashboard_folder_permissions/
|
||||
- /docs/grafana/latest/administration/user-management/manage-dashboard-permissions/
|
||||
- ../../permissions/dashboard_folder_permissions/
|
||||
- ../manage-users-and-permissions/manage-dashboard-permissions/
|
||||
title: Manage dashboard permissions
|
||||
weight: 500
|
||||
---
|
||||
|
||||
@@ -1,13 +1,12 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/
|
||||
- /docs/grafana/latest/manage-users/org-admin/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/
|
||||
- /docs/grafana/latest/administration/user-management/manage-org-users/
|
||||
- ../../manage-users/org-admin/
|
||||
- ../manage-users-and-permissions/manage-org-users/
|
||||
- ../manage-users-and-permissions/manage-org-users/change-user-org-permissions/
|
||||
- ../manage-users-and-permissions/manage-org-users/invite-user-join-org/
|
||||
- ../manage-users-and-permissions/manage-org-users/manage-pending-invites/
|
||||
- ../manage-users-and-permissions/manage-org-users/remove-user-from-org/
|
||||
- ../manage-users-and-permissions/manage-org-users/view-list-org-users/
|
||||
title: Manage users in an organization
|
||||
weight: 400
|
||||
---
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/
|
||||
- /docs/grafana/latest/manage-users/server-admin/
|
||||
- /docs/grafana/latest/manage-users/server-admin/server-admin-manage-users/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-edit-user-account/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-user-account-details/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/
|
||||
- /docs/grafana/latest/administration/user-management/server-user-management/
|
||||
- ../../manage-users/server-admin/
|
||||
- ../../manage-users/server-admin/server-admin-manage-users/
|
||||
- ../manage-users-and-permissions/manage-server-users/
|
||||
- ../manage-users-and-permissions/manage-server-users/add-user/
|
||||
- ../manage-users-and-permissions/manage-server-users/force-user-logout/
|
||||
- ../manage-users-and-permissions/manage-server-users/view-edit-user-account/
|
||||
- ../manage-users-and-permissions/manage-server-users/view-list-users/
|
||||
- ../manage-users-and-permissions/manage-server-users/view-user-account-details/
|
||||
title: Server user management
|
||||
weight: 100
|
||||
---
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-remove-user-to-org/
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user-to-org/
|
||||
- /docs/grafana/latest/administration/user-management/server-user-management/add-remove-user-to-org/
|
||||
- ../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org/
|
||||
- ../../manage-users-and-permissions/manage-server-users/add-user-to-org/
|
||||
description: Describes how a Grafana server administrator can add or remove users
|
||||
in an organization
|
||||
title: Add or remove a user in an organization
|
||||
description: Describes how a Grafana server administrator can add or remove users in an organization
|
||||
weight: 30
|
||||
---
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
|
||||
- /docs/grafana/latest/administration/user-management/server-user-management/assign-remove-server-admin-privileges/
|
||||
- ../../manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
|
||||
description: Describes how to assign and remove Grafana administrator privileges from
|
||||
a server user.
|
||||
title: Assign or remove Grafana server administrator privileges
|
||||
description: Describes how to assign and remove Grafana administrator privileges from a server user.
|
||||
weight: 20
|
||||
---
|
||||
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/
|
||||
- /docs/grafana/latest/administration/user-management/server-user-management/change-user-org-permissions/
|
||||
- ../../manage-users-and-permissions/manage-server-users/change-user-org-permissions/
|
||||
title: Change a user's organization permissions
|
||||
weight: 50
|
||||
---
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
|
||||
- /docs/grafana/latest/administration/user-management/server-user-management/grant-editor-admin-permissions/
|
||||
- ../../manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
|
||||
title: Grant editors administrator permissions
|
||||
weight: 60
|
||||
---
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/change-your-password/
|
||||
- /docs/grafana/latest/administration/manage-user-preferences/
|
||||
- /docs/grafana/latest/administration/user-management/user-preferences/
|
||||
- ../change-your-password/
|
||||
- ../manage-user-preferences/
|
||||
description: Learn how to update your user preferences and switch organizations
|
||||
keywords:
|
||||
- password
|
||||
@@ -29,9 +28,7 @@ You can change your Grafana password at any time.
|
||||
|
||||
1. Sign in to Grafana.
|
||||
1. Hover your mouse over the user icon in the lower-left corner of the page.
|
||||
1. Click **Change Password**.
|
||||
Grafana opens the **Change Password** tab.
|
||||
|
||||
1. Click **Change Password**. Grafana opens the **Change Password** tab.
|
||||
1. Enter your old password and a new password.
|
||||
1. Confirm your new password.
|
||||
1. Click **Change Password**.
|
||||
@@ -54,6 +51,7 @@ You can choose the way you would like data to appear in Grafana, including the U
|
||||
- **Home dashboard** refers to the dashboard you see when you sign in to Grafana. By default, this is set to the Home dashboard.
|
||||
- **Timezone** is used by dashboards when you set time ranges, so that you view data in your timezone instead of UTC.
|
||||
- **Week start** is the first day of the week you want to use in dashboard time ranges, for example, `This week`.
|
||||
- **Language** determines the language used for parts of the Grafana interface.
|
||||
|
||||
**To edit your preferences**:
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting/
|
||||
- /docs/grafana/latest/about-alerting
|
||||
- about-alerting/
|
||||
- unified-alerting/alerting/
|
||||
title: Alerting
|
||||
weight: 114
|
||||
---
|
||||
@@ -69,6 +68,4 @@ With mute timings, you can specify a time interval when you don’t want new not
|
||||
|
||||
- [Role-based access control]({{< relref "../administration/roles-and-permissions/access-control/" >}}) in Grafana Enterprise.
|
||||
|
||||
- [Alertmanager]({{< relref "fundamentals/alertmanager/" >}})
|
||||
|
||||
- [High availability](https://grafana.com/docs/grafana/next/alerting/fundamentals/high-availability/)
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/
|
||||
- /docs/grafana/latest/alerting/old-alerting/create-alerts/
|
||||
- /docs/grafana/latest/alerting/rules/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/
|
||||
- old-alerting/create-alerts/
|
||||
- rules/
|
||||
- unified-alerting/alerting-rules/
|
||||
title: Manage your alert rules
|
||||
weight: 130
|
||||
---
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/
|
||||
- ../unified-alerting/alerting-rules/create-grafana-managed-rule/
|
||||
description: Create Grafana managed alert rule
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
|
||||
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
|
||||
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
|
||||
description: Create Grafana Mimir or Loki managed recording rule
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/create-mimir-loki-managed-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
|
||||
- ../unified-alerting/alerting-rules/create-cortex-loki-managed-recording-rule/
|
||||
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-recording-rule/
|
||||
- ../unified-alerting/alerting-rules/create-mimir-loki-managed-rule/
|
||||
description: Create Grafana Mimir or Loki managed alerting rule
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/edit-mimir-loki-namespace-group/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
|
||||
- ../unified-alerting/alerting-rules/edit-cortex-loki-namespace-group/
|
||||
- ../unified-alerting/alerting-rules/edit-mimir-loki-namespace-group/
|
||||
description: Edit Grafana Mimir or Loki rule groups and namespaces
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/rule-list/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/
|
||||
- /docs/grafana/latest/alerting/view-alert-rules/
|
||||
- /docs/grafana/latest/alerting/alerting-rules/view-alert-rules
|
||||
- ../unified-alerting/alerting-rules/rule-list/
|
||||
- ../view-alert-rules/
|
||||
- rule-list/
|
||||
description: Manage alerting rules
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/state-and-health/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/state-and-health/
|
||||
- /docs/grafana/latest/alerting/view-state-health/
|
||||
- ../fundamentals/state-and-health/
|
||||
- ../unified-alerting/alerting-rules/state-and-health/
|
||||
- ../view-state-health/
|
||||
description: State and Health of alerting rules
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/difference-old-new/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/difference-old-new/
|
||||
- unified-alerting/difference-old-new/
|
||||
description: What's New with Grafana alerts
|
||||
draft: true
|
||||
keywords:
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/
|
||||
- /docs/grafana/latest/alerting/metrics/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/
|
||||
- metrics/
|
||||
- unified-alerting/fundamentals/
|
||||
title: Explore Alerting
|
||||
weight: 105
|
||||
---
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/alert-rules/
|
||||
description: About Grafana alert rules
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/alert-rules/alert-instances/
|
||||
description: Learn about Grafana alert instances
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/alert-rules/alert-rule-types/
|
||||
description: Learn about the different alert rule types
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/fundamentals/alert-rules/message-templating
|
||||
- ../../contact-points/message-templating/
|
||||
- ../../message-templating/
|
||||
- ../../unified-alerting/message-templating/
|
||||
description: Message templating
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/alert-rules/organising-alerts/
|
||||
description: Learn how to organize alert rules
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/alertmanager/
|
||||
- /docs/grafana/latest/alerting/metrics/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/
|
||||
- ../metrics/
|
||||
- ../unified-alerting/fundamentals/alertmanager/
|
||||
title: Alertmanager
|
||||
weight: 116
|
||||
---
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/
|
||||
- /docs/grafana/latest/alerting/fundamentals/annotation-label/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/
|
||||
- ../alerting-rules/alert-annotation-label/
|
||||
- ../unified-alerting/alerting-rules/alert-annotation-label/
|
||||
description: Annotations and labels for alerting
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/example-template-functions/
|
||||
- /docs/grafana/latest/alerting/fundamentals/annotation-label/example-template-functions/
|
||||
- ../../contact-points/message-templating/example-template-functions/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/annotation-label/how-to-use-labels/
|
||||
description: Learn about labels and label matchers in alerting
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/annotation-label/labels-and-label-matchers/
|
||||
description: Learn about labels and label matchers in alerting
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/template-functions/
|
||||
- /docs/grafana/latest/alerting/message-templating/template-functions/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/
|
||||
- /docs/grafana/latest/alerting/fundamentals/annotation-label/template-functions/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/annotation-label/template-functions/
|
||||
- ../../contact-points/message-templating/template-functions/
|
||||
- ../../message-templating/template-functions/
|
||||
- ../../unified-alerting/fundamentals/annotation-label/template-functions/
|
||||
- ../../unified-alerting/message-templating/template-functions/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/annotation-label/variables-label-annotation/
|
||||
description: Learn about templating of labels and annotations
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -87,3 +85,17 @@ The following template variables are available when expanding labels and annotat
|
||||
| $labels | The labels from the query or condition. For example, `{{ $labels.instance }}` and `{{ $labels.job }}`. This is unavailable when the rule uses a [classic condition]({{< relref "../../alerting-rules/create-grafana-managed-rule/#single-and-multi-dimensional-rule" >}}). |
|
||||
| $values | The values of all reduce and math expressions that were evaluated for this alert rule. For example, `{{ $values.A }}`, `{{ $values.A.Labels }}` and `{{ $values.A.Value }}` where `A` is the `refID` of the reduce or math expression. If the rule uses a classic condition instead of a reduce and math expression, then `$values` contains the combination of the `refID` and position of the condition. |
|
||||
| $value | The value string of the alert instance. For example, `[ var='A' labels={instance=foo} value=10 ]`. |
|
||||
|
||||
### Labels with dots
|
||||
|
||||
If a label contains a dot (full stop or period) in its name then the following will not work:
|
||||
|
||||
```
|
||||
Instance {{ $labels.instance.name }} has been down for more than 5 minutes
|
||||
```
|
||||
|
||||
This is because we are printing a non-existing field `name` in `$labels.instance` rather than `instance.name` in `$labels`. Instead we can use the `index` function to print `instance.name`:
|
||||
|
||||
```
|
||||
Instance {{ index $labels "instance.name" }} has been down for more than 5 minutes
|
||||
```
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/data-source-alerting/
|
||||
description: Data sources in Grafana Alerting
|
||||
title: Data sources
|
||||
weight: 100
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/evaluate-grafana-alerts/
|
||||
- /docs/grafana/latest/alerting/metrics/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/evaluate-grafana-alerts/
|
||||
- ../metrics/
|
||||
- ../unified-alerting/fundamentals/evaluate-grafana-alerts/
|
||||
title: Alerting on numeric data
|
||||
weight: 116
|
||||
---
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/high-availability/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/high-availability/
|
||||
- ../high-availability/
|
||||
- ../unified-alerting/high-availability/
|
||||
description: High availability
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/contact-points/
|
||||
- /docs/grafana/latest/alerting/fundamentals/contact-points/contact-point-types/
|
||||
- ../contact-points/
|
||||
- ../notifications/
|
||||
- ../unified-alerting/contact-points/
|
||||
- contact-points/contact-point-types/
|
||||
description: Create or edit contact point
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -11,19 +12,35 @@ keywords:
|
||||
- contact point
|
||||
- notification channel
|
||||
- create
|
||||
title: Contact points
|
||||
title: Notifications
|
||||
weight: 410
|
||||
---
|
||||
|
||||
# Contact points
|
||||
# Notifications
|
||||
|
||||
Use contact points to define how your contacts are notified when an alert rule fires. A contact point can have one or more contact point types, for example, email, slack, webhook, and so on. When an alert rule fires, a notification is sent to all contact point types listed for a contact point. Contact points can be configured for the Grafana Alertmanager as well as external alertmanagers.
|
||||
Notifications are sent when an alert is firing or has been resolved. You use notification policies to configure how and where a notification is sent; how often a notification should be sent; and whether alerts should all be sent in the same notification, sent in grouped notifications based on a set of labels, or as separate notifications.
|
||||
|
||||
You can also use message templating to customize notification messages for contact point types.
|
||||
## Notification policies
|
||||
|
||||
## Supported contact point types
|
||||
Notification policies control when and where notifications are sent. A notification policy can choose to send all alerts together in the same notification, send alerts in grouped notifications based on a set of labels, or send alerts as separate notifications. You can configure each notification policy to control how often notifications should be sent as well as having one or more mute timings to inhibit notifications at certain times of the day and on certain days of the week.
|
||||
|
||||
The following table lists the contact point types supported by Grafana.
|
||||
Notification policies are organized in a tree structure where at the root of the tree there is a notification policy called the root policy. There can be only one root policy and the root policy cannot be deleted.
|
||||
|
||||
Specific routing policies are children of the root policy and can be used to match either all alerts or a subset of alerts based on a set of matching labels. A notification policy matches an alert when its matching labels match the labels in the alert.
|
||||
|
||||
A specific routing policy can have its own child policies, called nested policies, which allow for additional matching of alerts. An example of a specific routing policy could be sending infrastructure alerts to the Ops team; while a child policy might send high priority alerts to Pagerduty and low priority alerts as emails.
|
||||
|
||||
All alerts, irrespective of their labels, match the root policy. However, when the root policy receives an alert it looks at each specific routing policy and sends the alert to the first specific routing policy that matches the alert. If the specific routing policy has further child policies, then it can attempt to the match the alert against one of its nested policies. If no nested policies match the alert then the specific routing policy is the matching policy. If there are no specific routing policies, or no specific routing policies match the alert, then the root policy is the matching policy.
|
||||
|
||||
## Contact points
|
||||
|
||||
Contact points contain the configuration for sending notifications. A contact point is a list of integrations, each of which sends a notification to a particular email address, service or URL. Contact points can have multiple integrations of the same kind, or a combination of integrations of different kinds. For example, a contact point could contain a Pagerduty integration; an email and Slack integration; or a Pagerduty integration, a Slack integration, and two email integrations. You can also configure a contact point with no integrations; in which case no notifications are sent.
|
||||
|
||||
A contact point cannot send notifications until it has been added to a notification policy. A notification policy can only send alerts to one contact point, but a contact point can be added to a number of notification policies at the same time. When an alert matches a notification policy, the alert is sent to the contact point in that notification policy, which then sends a notification to each integration in its configuration.
|
||||
|
||||
### Supported integrations
|
||||
|
||||
The following table contains the integrations supported in Grafana:
|
||||
|
||||
| Name | Type | Grafana Alertmanager | Other Alertmanagers |
|
||||
| ------------------------------------------------ | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
@@ -48,8 +65,14 @@ The following table lists the contact point types supported by Grafana.
|
||||
| [WeCom](#wecom) | `wecom` | Supported | N/A |
|
||||
| [Zenduty](https://www.zenduty.com/) | `webhook` | Supported | N/A |
|
||||
|
||||
## Useful links
|
||||
## Templating notifications
|
||||
|
||||
[Manage contact points](https://grafana.com/docs/grafana/next/alerting/manage-notifications/create-contact-point/)
|
||||
You can customize notifications with templates. For example, templates can be used to change the subject and message of an email, or the title and message of notifications sent to Slack.
|
||||
|
||||
[Create and edit message templates](https://grafana.com/docs/grafana/next/alerting/manage-notifications/create-message-template/)
|
||||
Templates are not limited to an individual integration or contact point, but instead can be used in a number of integrations in the same contact point and even integrations across different contact points. For example, a Grafana user can create a template called `custom_subject_or_title` and use it for both templating subjects in emails and titles of Slack messages without having to create two separate templates.
|
||||
|
||||
All notifications templates are written in [Go's templating language](https://pkg.go.dev/text/template), and are in the Contact points tab on the Alerting page.
|
||||
|
||||
## Silences
|
||||
|
||||
You can use silences to mute notifications from one or more firing rules. Silences do not stop alerts from firing or being resolved, or hide firing alerts in the user interface. A silence lasts as long as its duration which can be configured in minutes, hours, days, months or years.
|
||||
@@ -1,24 +0,0 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/silences/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/silences/
|
||||
- /docs/grafana/latest/alerting/fundamentals/silences
|
||||
description: Silences
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- silence
|
||||
- mute
|
||||
title: Silences
|
||||
weight: 420
|
||||
---
|
||||
|
||||
# Silences
|
||||
|
||||
Use silences to stop notifications from one or more alerting rules. Silences do not prevent alert rules from being evaluated. They also do not stop alert instances from being shown in the user interface. Silences only stop notifications from getting created. A silence lasts for only a specified window of time.
|
||||
|
||||
You can configure Grafana managed silences as well as silences for an external Alertmanager data source.
|
||||
|
||||
## Useful links
|
||||
|
||||
[Create silences](https://grafana.com/docs/grafana/latest/alerting/manage-notifications/create-silence/)
|
||||
@@ -1,6 +1,5 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/state-and-health/
|
||||
- /docs/grafana/llatest/alerting/unified-alerting/alerting-rules/state-and-health/
|
||||
description: State and Health of alerting rules
|
||||
keywords:
|
||||
|
||||
@@ -1,6 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/manage-notifications
|
||||
description: Manage alert notifications
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/create-contact-point/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/contact-points/delete-contact-point/
|
||||
- /docs/grafana/latest/alerting/contact-points/edit-contact-point/
|
||||
- /docs/grafana/latest/alerting/contact-points/test-contact-point/
|
||||
- /docs/grafana/latest/alerting/manage-notifications/create-contact-point/
|
||||
- ../contact-points/create-contact-point/
|
||||
- ../contact-points/delete-contact-point/
|
||||
- ../contact-points/edit-contact-point/
|
||||
- ../contact-points/test-contact-point/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
|
||||
@@ -1,21 +1,17 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/create-message-template/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/delete-message-template/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/edit-message-template/
|
||||
- /docs/grafana/latest/alerting/manage-notifications/create-message-template/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/example-template/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/fundamentals/contact-points/example-template/
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/template-data/
|
||||
- /docs/grafana/latest/alerting/message-templating/template-data/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/
|
||||
- /docs/grafana/latest/alerting/fundamentals/contact-points/template-data/
|
||||
- ../contact-points/message-templating/
|
||||
- ../contact-points/message-templating/create-message-template/
|
||||
- ../contact-points/message-templating/delete-message-template/
|
||||
- ../contact-points/message-templating/edit-message-template/
|
||||
- ../contact-points/message-templating/example-template/
|
||||
- ../contact-points/message-templating/template-data/
|
||||
- ../fundamentals/contact-points/example-template/
|
||||
- ../fundamentals/contact-points/template-data/
|
||||
- ../message-templating/
|
||||
- ../message-templating/template-data/
|
||||
- ../unified-alerting/message-templating/
|
||||
- ../unified-alerting/message-templating/template-data/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/notifications/
|
||||
- /docs/grafana/latest/alerting/old-alerting/notifications/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/notifications/
|
||||
- /docs/grafana/latest/alerting/manage-notifications/create-notification-policy/
|
||||
- ../notifications/
|
||||
- ../old-alerting/notifications/
|
||||
- ../unified-alerting/notifications/
|
||||
description: Notification policies
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/silences/create-silence/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/silences/
|
||||
- /docs/grafana/latest/alerting/silences/edit-silence/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/silences/
|
||||
- /docs/grafana/latest/alerting/silences/linking-to-silence-form/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/silences/
|
||||
- /docs/grafana/latest/alerting/silences/remove-silence/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/silences/
|
||||
- ../silences/create-silence/
|
||||
- ../silences/edit-silence/
|
||||
- ../silences/linking-to-silence-form/
|
||||
- ../silences/remove-silence/
|
||||
- ../unified-alerting/silences/
|
||||
description: Add silence alert notification
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
description:
|
||||
keywords:
|
||||
- grafana
|
||||
@@ -44,7 +43,8 @@ When using Grafana as its own cloud storage service screenshots are copied from
|
||||
|
||||
Having installed either the image rendering plugin, or set up Grafana to use a remote rendering service, set `capture` in `[unified_alerting.screenshots]` to `true`:
|
||||
|
||||
# Enable screenshots in notifications. This option requires the Grafana Image Renderer plugin.
|
||||
# Enable screenshots in notifications. You must have either installed the Grafana image rendering
|
||||
# plugin, or set up Grafana to use a remote rendering service.
|
||||
# For more information on configuration options, refer to [rendering].
|
||||
capture = false
|
||||
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/notifications/mute-timings/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/notifications/mute-timings/
|
||||
- /docs/grafana/latest/alerting/manage-notifications/mute-timings/
|
||||
- ../notifications/mute-timings/
|
||||
- ../unified-alerting/notifications/mute-timings/
|
||||
description: Mute timings
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,13 +1,10 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alert-groups/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
|
||||
- /docs/grafana/latest/alerting/alert-groups/filter-alerts/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
|
||||
- /docs/grafana/latest/alerting/alert-groups/
|
||||
- /docs/grafana/latest/alerting/alert-groups/view-alert-grouping/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
|
||||
- -docs/grafana/latest/alerting/manage-notifications/view-alert-groups/
|
||||
- ../alert-groups/
|
||||
- ../alert-groups/filter-alerts/
|
||||
- ../alert-groups/view-alert-grouping/
|
||||
- ../unified-alerting/alert-groups/
|
||||
description: Alert groups
|
||||
keywords:
|
||||
- grafana
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
---
|
||||
aliases:
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
|
||||
@@ -1,10 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/contact-points/notifiers/webhook-notifier/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/fundamentals/contact-points/webhook-notifier/
|
||||
- ../contact-points/notifiers/webhook-notifier/
|
||||
- ../fundamentals/contact-points/webhook-notifier/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
|
||||
@@ -1,9 +1,8 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/migrating-alerts/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/difference-old-new/
|
||||
- /docs/grafana/latest/alerting/difference-old-new/
|
||||
- difference-old-new/
|
||||
- unified-alerting/
|
||||
- unified-alerting/difference-old-new/
|
||||
description: Upgrade Grafana alerts
|
||||
title: Upgrade Alerting
|
||||
weight: 110
|
||||
|
||||
@@ -1,8 +1,7 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/migrating-alerts/disable-alerting/
|
||||
- /docs/grafana/latest/alerting/disable-alerting/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/disable-alerting/
|
||||
- ../disable-alerting/
|
||||
- ../unified-alerting/disable-alerting/
|
||||
description: Disable alerting in Grafana
|
||||
title: Disable alerting in Grafana
|
||||
weight: 105
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user