mirror of
https://github.com/grafana/grafana.git
synced 2025-12-22 20:54:34 +08:00
Compare commits
205 Commits
docs/add-d
...
v9.0.0-bet
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dfc3325c06 | ||
|
|
d6e6647d24 | ||
|
|
c3ad379563 | ||
|
|
371d9bc3b8 | ||
|
|
9564129300 | ||
|
|
760b9ac9d0 | ||
|
|
4a5d5e6ead | ||
|
|
0ab03dbf3a | ||
|
|
d929d745f1 | ||
|
|
bb801de9ed | ||
|
|
4f284f167e | ||
|
|
7bcbf45c66 | ||
|
|
22673382b5 | ||
|
|
92d995d658 | ||
|
|
67cbd5015d | ||
|
|
f404191ccb | ||
|
|
635a6b69b3 | ||
|
|
9486bde991 | ||
|
|
15780f779d | ||
|
|
ed169da58c | ||
|
|
b9621d08a5 | ||
|
|
8d34a58a72 | ||
|
|
d4fde160a1 | ||
|
|
fc4018048e | ||
|
|
78d5e3e0dd | ||
|
|
b051551f4d | ||
|
|
301fdc64bf | ||
|
|
7320c53ab7 | ||
|
|
51d25ebd50 | ||
|
|
e51a0e209e | ||
|
|
29e903e5e2 | ||
|
|
d7b61a6002 | ||
|
|
e22600d077 | ||
|
|
c3313972b9 | ||
|
|
7dd89a4689 | ||
|
|
493d43449c | ||
|
|
ccee1f7f18 | ||
|
|
742abc8129 | ||
|
|
8217167b03 | ||
|
|
93efb1a343 | ||
|
|
ce10741d76 | ||
|
|
e674c9a2d1 | ||
|
|
d5e9967809 | ||
|
|
d8eb9fcb9c | ||
|
|
afec2786fc | ||
|
|
3422f70f66 | ||
|
|
ce6fb9f083 | ||
|
|
131f42d59a | ||
|
|
3e7a2111e6 | ||
|
|
b342fe6e30 | ||
|
|
1c870e9908 | ||
|
|
e61e26d774 | ||
|
|
a34e81b6fd | ||
|
|
0ba2bf2653 | ||
|
|
2fc2a15fab | ||
|
|
cac5a1945f | ||
|
|
063c5095eb | ||
|
|
63c1a2706f | ||
|
|
77dccd54ca | ||
|
|
f591c64661 | ||
|
|
8efd4350b4 | ||
|
|
1c335d1da7 | ||
|
|
08b84c11cb | ||
|
|
a96aac39f3 | ||
|
|
835928cd01 | ||
|
|
ffa5873529 | ||
|
|
56818c16fd | ||
|
|
6e93f497b2 | ||
|
|
382eaaa773 | ||
|
|
3b5511db2b | ||
|
|
338f6797b2 | ||
|
|
39f461ea78 | ||
|
|
b2e73b866f | ||
|
|
c011b15d1c | ||
|
|
f7e8809763 | ||
|
|
d344b69fbb | ||
|
|
e58aac1b77 | ||
|
|
a4431a7cbf | ||
|
|
4371c45dff | ||
|
|
3061d57220 | ||
|
|
f5ede594f4 | ||
|
|
c14d7aa4a3 | ||
|
|
a51f51f7a8 | ||
|
|
5c19011dc1 | ||
|
|
849a0932e8 | ||
|
|
cc536ea6e9 | ||
|
|
2508cb4751 | ||
|
|
d71e30a692 | ||
|
|
8a4eed5fb6 | ||
|
|
088125ae28 | ||
|
|
445909a759 | ||
|
|
e3127d4070 | ||
|
|
b8ec4346aa | ||
|
|
7de6880ba4 | ||
|
|
9cb10d735f | ||
|
|
4b5adfb1ba | ||
|
|
adac77dd1f | ||
|
|
3c7e0f36d3 | ||
|
|
a482c055a0 | ||
|
|
6d107a7f41 | ||
|
|
c73b1787ec | ||
|
|
a8dbc1eaa0 | ||
|
|
a87062e4e6 | ||
|
|
199b1467aa | ||
|
|
cf7ed5ed22 | ||
|
|
1d83694679 | ||
|
|
8c91d4e6e2 | ||
|
|
326c48347e | ||
|
|
606323212e | ||
|
|
f7d8974f52 | ||
|
|
50ada76a7d | ||
|
|
5820ac0d76 | ||
|
|
2a2982f9cc | ||
|
|
4e90a72115 | ||
|
|
d145bf358e | ||
|
|
ed06e3e4f9 | ||
|
|
27b20676af | ||
|
|
6949f6dddc | ||
|
|
f8012e6789 | ||
|
|
c960454bd4 | ||
|
|
64feb04206 | ||
|
|
9a33b19662 | ||
|
|
fd8c11f51d | ||
|
|
36ad4fa677 | ||
|
|
e2f34a611c | ||
|
|
f9be87ea17 | ||
|
|
ba0beb8596 | ||
|
|
c0d4512f4c | ||
|
|
9370bad798 | ||
|
|
30b77e9716 | ||
|
|
0b7e5aa9cf | ||
|
|
5d23308a22 | ||
|
|
e2a60b86f2 | ||
|
|
6054bd0e2c | ||
|
|
afa40190d4 | ||
|
|
9f3ade9472 | ||
|
|
7e4327d254 | ||
|
|
ccd1270f28 | ||
|
|
5fd9fee933 | ||
|
|
c3cc01912b | ||
|
|
243a6cfb6c | ||
|
|
94274ac0ec | ||
|
|
0b05659c69 | ||
|
|
8656591303 | ||
|
|
bdfc7f2a37 | ||
|
|
05cd2af454 | ||
|
|
7e99d6dc46 | ||
|
|
9f9f8c3a23 | ||
|
|
073f747679 | ||
|
|
1c67b35d6b | ||
|
|
a4948e1018 | ||
|
|
db1c49a95b | ||
|
|
83b73db401 | ||
|
|
e3a35bd2ff | ||
|
|
80bf4e2dba | ||
|
|
3fac10229b | ||
|
|
4e35edcf07 | ||
|
|
60ddede835 | ||
|
|
2630dcaea5 | ||
|
|
4c6cfdcb7d | ||
|
|
d3433be585 | ||
|
|
236dabfc1d | ||
|
|
dd1d1dae04 | ||
|
|
0a07d97dd1 | ||
|
|
324dcae868 | ||
|
|
09a93b17d9 | ||
|
|
e5248a2aa7 | ||
|
|
7ac8527dac | ||
|
|
7db4119b48 | ||
|
|
0726a56956 | ||
|
|
1a69cc5b21 | ||
|
|
81bf734191 | ||
|
|
4a6b94ae8e | ||
|
|
4bd6f62dfd | ||
|
|
1d4e2d12da | ||
|
|
8f8be23032 | ||
|
|
0cc75cc593 | ||
|
|
9e622ec87c | ||
|
|
f966aa3474 | ||
|
|
961a8c23de | ||
|
|
823a3bfbf9 | ||
|
|
c0286409c6 | ||
|
|
7106106e3b | ||
|
|
a2f5457463 | ||
|
|
ef458b79d0 | ||
|
|
fc79360e15 | ||
|
|
8d6b47f11d | ||
|
|
6ab3724a12 | ||
|
|
312b57aa76 | ||
|
|
49e653dbaf | ||
|
|
b5da0dcf39 | ||
|
|
9854234c66 | ||
|
|
0769151da2 | ||
|
|
1e2708cbcf | ||
|
|
8957e0e7ef | ||
|
|
d77a09e2d8 | ||
|
|
0704838c95 | ||
|
|
b8544741aa | ||
|
|
4dd08e7da6 | ||
|
|
ba4c292f67 | ||
|
|
992d6aeed4 | ||
|
|
d1b8e51871 | ||
|
|
fd5ba6514b | ||
|
|
f89df6e171 | ||
|
|
19a5bdc7e1 |
@@ -125,12 +125,9 @@ exports[`no enzyme tests`] = {
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationAction.test.tsx:3032694716": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:2026575657": [
|
||||
"public/app/core/components/QueryOperationRow/QueryOperationRow.test.tsx:3743889097": [
|
||||
[0, 26, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/Select/FolderPicker.test.tsx:993468764": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/core/components/Select/MetricSelect.test.tsx:3351544014": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
@@ -173,9 +170,6 @@ exports[`no enzyme tests`] = {
|
||||
"public/app/features/dimensions/editors/ThresholdsEditor/ThresholdsEditor.test.tsx:4164297658": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/explore/RichHistory/RichHistoryStarredTab.test.tsx:523695501": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/folders/FolderSettingsPage.test.tsx:1109052730": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
@@ -203,7 +197,7 @@ exports[`no enzyme tests`] = {
|
||||
"public/app/features/teams/TeamSettings.test.tsx:2043271249": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersListPage.test.tsx:3908145117": [
|
||||
"public/app/features/users/UsersListPage.test.tsx:2518052139": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/features/users/UsersTable.test.tsx:263958312": [
|
||||
@@ -212,11 +206,11 @@ exports[`no enzyme tests`] = {
|
||||
"public/app/plugins/datasource/cloud-monitoring/components/Aggregation.test.tsx:3822406835": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:1224072551": [
|
||||
"public/app/plugins/datasource/cloudwatch/components/ConfigEditor.test.tsx:227258837": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:2097436158": [
|
||||
[1, 19, 13, "RegExp match", "2409514259"]
|
||||
"public/app/plugins/datasource/cloudwatch/components/LogsQueryField.test.tsx:1501504663": [
|
||||
[2, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/elasticsearch/configuration/ConfigEditor.test.tsx:3481855642": [
|
||||
[0, 26, 13, "RegExp match", "2409514259"]
|
||||
@@ -224,7 +218,7 @@ exports[`no enzyme tests`] = {
|
||||
"public/app/plugins/datasource/elasticsearch/configuration/DataLinks.test.tsx:248699332": [
|
||||
[0, 17, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:3456478975": [
|
||||
"public/app/plugins/datasource/influxdb/components/ConfigEditor.test.tsx:57753101": [
|
||||
[0, 19, 13, "RegExp match", "2409514259"]
|
||||
],
|
||||
"public/app/plugins/datasource/loki/components/LokiExploreQueryEditor.test.tsx:1488067923": [
|
||||
|
||||
460
.drone.yml
460
.drone.yml
File diff suppressed because it is too large
Load Diff
228
CHANGELOG.md
228
CHANGELOG.md
@@ -1,3 +1,231 @@
|
||||
<!-- 9.0.0-beta2 START -->
|
||||
|
||||
# 9.0.0-beta2 (2022-05-31)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Alerting:** Add legacy indicator to navbar. [#49511](https://github.com/grafana/grafana/pull/49511), [@peterholmberg](https://github.com/peterholmberg)
|
||||
- **Alerting:** Add templated subject config to email notifier. [#49742](https://github.com/grafana/grafana/pull/49742), [@JacobsonMT](https://github.com/JacobsonMT)
|
||||
- **Alerting:** Enable Unified Alerting for open source and enterprise. [#49834](https://github.com/grafana/grafana/pull/49834), [@grobinson-grafana](https://github.com/grobinson-grafana)
|
||||
- **Alerting:** Make alertmanager datasource stable. [#49485](https://github.com/grafana/grafana/pull/49485), [@gillesdemey](https://github.com/gillesdemey)
|
||||
- **Angular:** Remove deprecated angular modal support and libs. [#49781](https://github.com/grafana/grafana/pull/49781), [@torkelo](https://github.com/torkelo)
|
||||
- **AuthProxy:** Remove deprecated ldap_sync_ttl setting. [#49902](https://github.com/grafana/grafana/pull/49902), [@kalleep](https://github.com/kalleep)
|
||||
- **Build:** Enable long term caching for frontend assets. [#47625](https://github.com/grafana/grafana/pull/47625), [@jackw](https://github.com/jackw)
|
||||
- **Chore:** Remove deprecated TextDisplayOptions export. [#49705](https://github.com/grafana/grafana/pull/49705), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **Chore:** Remove deprecated `surface` prop from IconButton. [#49715](https://github.com/grafana/grafana/pull/49715), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **Chore:** Remove usage of deprecated getColorForTheme function. [#49519](https://github.com/grafana/grafana/pull/49519), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **DatePicker:** Add minDate prop. [#49503](https://github.com/grafana/grafana/pull/49503), [@alexanderzobnin](https://github.com/alexanderzobnin)
|
||||
- **Notification history:** Enable by default. [#49502](https://github.com/grafana/grafana/pull/49502), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Prometheus:** Add pluginVersion to query. [#49414](https://github.com/grafana/grafana/pull/49414), [@toddtreece](https://github.com/toddtreece)
|
||||
- **Prometheus:** Enable prometheusStreamingJSONParser by default. [#49475](https://github.com/grafana/grafana/pull/49475), [@toddtreece](https://github.com/toddtreece)
|
||||
- **Prometheus:** Predefined scopes for Azure authentication. [#49557](https://github.com/grafana/grafana/pull/49557), [@kostrse](https://github.com/kostrse)
|
||||
- **Prometheus:** Streaming JSON parser performance improvements. [#48792](https://github.com/grafana/grafana/pull/48792), [@toddtreece](https://github.com/toddtreece)
|
||||
- **ValueMapping:** Add support for regex replacement over multiple lines. [#49607](https://github.com/grafana/grafana/pull/49607), [@ashharrison90](https://github.com/ashharrison90)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Accessibility:** Pressing escape in a Modal or DashboardSettings correctly closes the overlay. [#49500](https://github.com/grafana/grafana/pull/49500), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **Alerting:** Validate alert notification UID length. [#45546](https://github.com/grafana/grafana/pull/45546), [@wbrowne](https://github.com/wbrowne)
|
||||
- **BackendSrv:** Throw an error when fetching an invalid JSON. [#47493](https://github.com/grafana/grafana/pull/47493), [@leventebalogh](https://github.com/leventebalogh)
|
||||
- **Fix:** Timeseries migration regex override. [#49629](https://github.com/grafana/grafana/pull/49629), [@zoltanbedi](https://github.com/zoltanbedi)
|
||||
- **Loki:** Fix unwrap parsing in query builder. [#49732](https://github.com/grafana/grafana/pull/49732), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **Navigation:** Position hamburger menu correctly in mobile view. [#49603](https://github.com/grafana/grafana/pull/49603), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **PanelEditor:** Fixes issue with Table view and multi data frames. [#49854](https://github.com/grafana/grafana/pull/49854), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
|
||||
- **Preferences:** Fix updating of preferences for Navbar and Query History. [#49677](https://github.com/grafana/grafana/pull/49677), [@ivanahuckova](https://github.com/ivanahuckova)
|
||||
- **TimeRange:** Fixes issue when zooming out on a timerange with timespan 0. [#49622](https://github.com/grafana/grafana/pull/49622), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
|
||||
- **Variables:** Fixes DS variables not being correctly used in panel queries. [#49323](https://github.com/grafana/grafana/pull/49323), [@JoaoSilvaGrafana](https://github.com/JoaoSilvaGrafana)
|
||||
|
||||
### Breaking changes
|
||||
|
||||
Drop support for deprecated setting ldap_sync_ttl under [auth.proxy]
|
||||
Only sync_ttl will work from now on Issue [#49902](https://github.com/grafana/grafana/issues/49902)
|
||||
|
||||
Removes support for deprecated `heading` and `description` props. Moving forward, the `Card.Heading` and `Card.Description` components should be used. Issue [#49885](https://github.com/grafana/grafana/issues/49885)
|
||||
|
||||
Removes the deprecated `link` variant from the `Button` component.
|
||||
To migrate, replace any usage of `variant="link"` with `fill="text"`. Issue [#49843](https://github.com/grafana/grafana/issues/49843)
|
||||
|
||||
Removes the deprecated `surface` prop from the `IconButton` component. This prop hasn't actually done anything for a while, so it should be safe to just remove any instances of its usage.
|
||||
Issue [#49715](https://github.com/grafana/grafana/issues/49715)
|
||||
|
||||
Removes the deprecated `TextDisplayOptions` export from `@grafana/data` in favor of `VizTextDisplayOptions` from `@grafana/schema`. To migrate, just replace usage of `TextDisplayOptions` with `VizTextDisplayOptions`. Issue [#49705](https://github.com/grafana/grafana/issues/49705)
|
||||
|
||||
Removed support for the deprecated `getColorForTheme(color: string, theme: GrafanaTheme)` function in favor of the
|
||||
`theme.visualization.getColorByName(color: string)` method. The output of this method is identical to the removed function, so migration should just be a matter of rewriting calls of `getColorForTheme(myColor, myTheme)` to `myTheme.visualization.getColorByName(myColor)`.
|
||||
Issue [#49519](https://github.com/grafana/grafana/issues/49519)
|
||||
|
||||
In the Prometheus data source, for consistency and performance reasons, we changed how we represent `NaN` (not a number) values received from Prometheus. In the past versions, we converted these to `null` in the frontend (for dashboard and explore), and kept as `NaN` in the alerting path. Starting with this version, we will always keep it as `NaN`. This change should be mostly invisible for the users. Issue [#49475](https://github.com/grafana/grafana/issues/49475)
|
||||
|
||||
Plugins using custom Webpack configs could potentially break due to the changes between webpack@4 and webpack@5. Please refer to the [official migration guide](https://webpack.js.org/migrate/5/) for assistance.
|
||||
|
||||
Webpack 5 does not include polyfills for node.js core modules by default (e.g. `buffer`, `stream`, `os`). This can result in failed builds for plugins. If polyfills are required it is recommended to create a custom webpack config in the root of the plugin repo and add the required fallbacks:
|
||||
|
||||
```js
|
||||
// webpack.config.js
|
||||
|
||||
module.exports.getWebpackConfig = (config, options) => ({
|
||||
...config,
|
||||
resolve: {
|
||||
...config.resolve,
|
||||
fallback: {
|
||||
os: require.resolve('os-browserify/browser'),
|
||||
stream: require.resolve('stream-browserify'),
|
||||
timers: require.resolve('timers-browserify'),
|
||||
},
|
||||
},
|
||||
});
|
||||
```
|
||||
|
||||
Please refer to the webpack build error messages or the [official migration guide](https://webpack.js.org/migrate/5/) for assistance with fallbacks.
|
||||
|
||||
**Which issue(s) this PR fixes**:
|
||||
|
||||
<!--
|
||||
|
||||
- Automatically closes linked issue when the Pull Request is merged.
|
||||
|
||||
Usage: "Fixes #<issue number>", or "Fixes (paste link of issue)"
|
||||
|
||||
-->
|
||||
|
||||
Fixes #
|
||||
|
||||
**Special notes for your reviewer**:
|
||||
|
||||
It does not bump the following dependencies to the very latest due to the latest versions being ES modules:
|
||||
|
||||
- ora
|
||||
- globby
|
||||
- execa
|
||||
- chalk
|
||||
Issue [#47826](https://github.com/grafana/grafana/issues/47826)
|
||||
|
||||
We have changed the internals of `backendSrv.fetch()` to throw an error when the response is an incorrect JSON.
|
||||
|
||||
```javascript
|
||||
// PREVIOUSLY: this was returning with an empty object {} - in case the response is an invalid JSON
|
||||
return await getBackendSrv().post(`${API_ROOT}/${id}/install`);
|
||||
|
||||
// AFTER THIS CHANGE: the following will throw an error - in case the response is an invalid JSON
|
||||
return await getBackendSrv().post(`${API_ROOT}/${id}/install`);
|
||||
```
|
||||
|
||||
**When is the response handled as JSON?**
|
||||
|
||||
- If the response has the `"Content-Type: application/json"` header, OR
|
||||
- If the backendSrv options ([`BackendSrvRequest`](https://github.com/grafana/grafana/blob/e237ff20a996c7313632b2e28f38032012f0e340/packages/grafana-runtime/src/services/backendSrv.ts#L8)) specify the response as JSON: `{ responseType: 'json' }`
|
||||
|
||||
**How does it work after this change?**
|
||||
|
||||
- In case it is recognised as a JSON response and the response is empty, it returns an empty object `{}`
|
||||
- In case it is recognised as a JSON response and it has formatting errors, it throws an error
|
||||
|
||||
**How to migrate?**
|
||||
Make sure to handle possible errors on the callsite where using `backendSrv.fetch()` (or any other `backendSrv` methods). Issue [#47493](https://github.com/grafana/grafana/issues/47493)
|
||||
|
||||
### Plugin development fixes & changes
|
||||
|
||||
- **UI/Card:** Remove deprecated props. [#49885](https://github.com/grafana/grafana/pull/49885), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **UI/Button:** Remove deprecated "link" variant. [#49843](https://github.com/grafana/grafana/pull/49843), [@kaydelaney](https://github.com/kaydelaney)
|
||||
- **Toolkit:** Bump dependencies. [#47826](https://github.com/grafana/grafana/pull/47826), [@jackw](https://github.com/jackw)
|
||||
|
||||
<!-- 9.0.0-beta2 END -->
|
||||
|
||||
<!-- 9.0.0-beta1 START -->
|
||||
|
||||
# 9.0.0-beta1 (2022-05-24)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **AccessControl:** Add setting for permission cache. (Enterprise)
|
||||
- **AccessControl:** Check dashboard permissions for reports. (Enterprise)
|
||||
- **Auth:** Remove grafana ui dependency to the aws sdk. [#43559](https://github.com/grafana/grafana/pull/43559), [@sunker](https://github.com/sunker)
|
||||
- **BasicRoles:** Add API endpoint to reset basic roles permissions to factory. (Enterprise)
|
||||
- **LDAP Mapping:** Allow Grafana Admin mapping without org role. [#37189](https://github.com/grafana/grafana/pull/37189), [@krzysdabro](https://github.com/krzysdabro)
|
||||
- **Licensing:** Only enforce total number of users. (Enterprise)
|
||||
- **Loki:** do not convert NaN to null. [#45389](https://github.com/grafana/grafana/pull/45389), [@gabor](https://github.com/gabor)
|
||||
- **Report:** API support for multiple dashboards. (Enterprise)
|
||||
- **Report:** Support sending embedded image in the report email. (Enterprise)
|
||||
- **Report:** UI for multiple dashboards. (Enterprise)
|
||||
- **Reporting:** Remove redundant empty attachment when export to CSV is enabled. (Enterprise)
|
||||
- **SAML:** Implement Name Templates for assertion_attribute_name option. (Enterprise)
|
||||
- **SSE/Alerting:** Support prom instant vector responses. [#44865](https://github.com/grafana/grafana/pull/44865), [@kylebrandt](https://github.com/kylebrandt)
|
||||
- **Tracing:** Add trace to metrics config behind feature toggle. [#46298](https://github.com/grafana/grafana/pull/46298), [@connorlindsey](https://github.com/connorlindsey)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Fix:** Prevent automatic parsing of string data types to numbers. [#46035](https://github.com/grafana/grafana/pull/46035), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Prometheus:** Fix inconsistent labels in exemplars resulting in marshal json error. [#46135](https://github.com/grafana/grafana/pull/46135), [@hanjm](https://github.com/hanjm)
|
||||
|
||||
### Breaking changes
|
||||
|
||||
In the Loki data source, for consistency and performance reasons, we changed how we represent `NaN` (not a number) values received from Loki. In the past versions, we converted these to `null` in the frontend (for dashboard and explore), and kept as `NaN` in the alerting path. Starting with this version, we will always keep it as `NaN`. This change should be mostly invisible for the users. Issue [#45389](https://github.com/grafana/grafana/issues/45389)
|
||||
|
||||
The dependency to [grafana/aws-sdk](https://github.com/grafana/grafana-aws-sdk-react) is moved from [grafana/ui](https://github.com/grafana/grafana/blob/main/packages/grafana-ui/package.json) to the plugin. This means that any plugin that use SIGV4 auth need to pass a SIGV4 editor component as a prop to the `DataSourceHttpSettings` component. Issue [#43559](https://github.com/grafana/grafana/issues/43559)
|
||||
|
||||
<!-- 9.0.0-beta1 END -->
|
||||
<!-- 8.5.4 START -->
|
||||
|
||||
# 8.5.4 (2022-05-30)
|
||||
|
||||
### Features and enhancements
|
||||
|
||||
- **Alerting:** Remove disabled flag for data source when migrating alerts. [#48559](https://github.com/grafana/grafana/pull/48559), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **Alerting:** Show notification tab of legacy alerting only to editor. [#49624](https://github.com/grafana/grafana/pull/49624), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **Alerting:** Update migration to migrate only alerts that belong to existing org\dashboard. [#49192](https://github.com/grafana/grafana/pull/49192), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **AzureMonitor:** Do not quote variables when a custom "All" variable option is used. [#49428](https://github.com/grafana/grafana/pull/49428), [@andresmgot](https://github.com/andresmgot)
|
||||
- **AzureMonitor:** Update allowed namespaces. [#48468](https://github.com/grafana/grafana/pull/48468), [@jcolladokuri](https://github.com/jcolladokuri)
|
||||
- **CloudMonitor:** Correctly encode default project response. [#49510](https://github.com/grafana/grafana/pull/49510), [@aangelisc](https://github.com/aangelisc)
|
||||
- **Cloudwatch:** Add support for new AWS/RDS EBS\* metrics. [#48798](https://github.com/grafana/grafana/pull/48798), [@szymonpk](https://github.com/szymonpk)
|
||||
- **InfluxDB:** Use backend for influxDB by default via feature toggle. [#48453](https://github.com/grafana/grafana/pull/48453), [@yesoreyeram](https://github.com/yesoreyeram)
|
||||
- **Legend:** Use correct unit for percent and count calculations. [#49004](https://github.com/grafana/grafana/pull/49004), [@dprokop](https://github.com/dprokop)
|
||||
- **LokI:** use millisecond steps in Grafana 8.5.x. [#48630](https://github.com/grafana/grafana/pull/48630), [@gabor](https://github.com/gabor)
|
||||
- **Plugins:** Introduce HTTP 207 Multi Status response to api/ds/query. [#48550](https://github.com/grafana/grafana/pull/48550), [@wbrowne](https://github.com/wbrowne)
|
||||
- **Reporting:** Improve PDF file size using grid layout. (Enterprise)
|
||||
- **Transformations:** Add an All Unique Values Reducer. [#48653](https://github.com/grafana/grafana/pull/48653), [@josiahg](https://github.com/josiahg)
|
||||
- **Transformers:** avoid error when the ExtractFields source field is missing. [#49368](https://github.com/grafana/grafana/pull/49368), [@wardbekker](https://github.com/wardbekker)
|
||||
- **[v8.5.x] Alerting:** Update migration to migrate only alerts that belong to existing org\dashboard. [#49199](https://github.com/grafana/grafana/pull/49199), [@grafanabot](https://github.com/grafanabot)
|
||||
- **[v8.5.x] Reporting:** Improve PDF file size using grid layout. (Enterprise)
|
||||
|
||||
### Bug fixes
|
||||
|
||||
- **Alerting:** Allow disabling override timings for notification policies. [#48648](https://github.com/grafana/grafana/pull/48648), [@gillesdemey](https://github.com/gillesdemey)
|
||||
- **Alerting:** Allow serving images from custom url path. [#49022](https://github.com/grafana/grafana/pull/49022), [@gillesdemey](https://github.com/gillesdemey)
|
||||
- **Alerting:** Apply Custom Headers to datasource queries. [#47860](https://github.com/grafana/grafana/pull/47860), [@joeblubaugh](https://github.com/joeblubaugh)
|
||||
- **Alerting:** Fix RBAC actions for notification policies. [#49185](https://github.com/grafana/grafana/pull/49185), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **Alerting:** Fix access to alerts for viewer with editor permissions when RBAC is disabled. [#49270](https://github.com/grafana/grafana/pull/49270), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **Alerting:** Fix anonymous access to alerting. [#49203](https://github.com/grafana/grafana/pull/49203), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **Alerting:** correctly show all alerts in a folder. [#48684](https://github.com/grafana/grafana/pull/48684), [@gillesdemey](https://github.com/gillesdemey)
|
||||
- **AzureMonitor:** Fixes metric definition for Azure Storage queue/file/blob/table resources. [#49101](https://github.com/grafana/grafana/pull/49101), [@aangelisc](https://github.com/aangelisc)
|
||||
- **Dashboard:** Fix dashboard update permission check. [#48746](https://github.com/grafana/grafana/pull/48746), [@IevaVasiljeva](https://github.com/IevaVasiljeva)
|
||||
- **DashboardExport:** Fix exporting and importing dashboards where query data source ended up as incorrect. [#48410](https://github.com/grafana/grafana/pull/48410), [@torkelo](https://github.com/torkelo)
|
||||
- **FileUpload:** clicking the `Upload file` button now opens the modal correctly. [#48766](https://github.com/grafana/grafana/pull/48766), [@ashharrison90](https://github.com/ashharrison90)
|
||||
- **GrafanaUI:** Fix color of links in error Tooltips in light theme. [#49327](https://github.com/grafana/grafana/pull/49327), [@joshhunt](https://github.com/joshhunt)
|
||||
- **LibraryPanels:** Fix library panels not connecting properly in imported dashboards. [#49161](https://github.com/grafana/grafana/pull/49161), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Loki:** Improve unpack parser handling. [#49074](https://github.com/grafana/grafana/pull/49074), [@gabor](https://github.com/gabor)
|
||||
- **RolePicker:** Fix menu position on smaller screens. [#48429](https://github.com/grafana/grafana/pull/48429), [@Clarity-89](https://github.com/Clarity-89)
|
||||
- **TimeRange:** Fixes updating time range from url and browser history. [#48657](https://github.com/grafana/grafana/pull/48657), [@torkelo](https://github.com/torkelo)
|
||||
- **TimeSeries:** Fix detection & rendering of sparse datapoints. [#48841](https://github.com/grafana/grafana/pull/48841), [@leeoniya](https://github.com/leeoniya)
|
||||
- **Timeseries:** Fix outside range stale state. [#49633](https://github.com/grafana/grafana/pull/49633), [@ryantxu](https://github.com/ryantxu)
|
||||
- **Tooltip:** Fix links not legible in Tooltips when using light theme. [#48748](https://github.com/grafana/grafana/pull/48748), [@joshhunt](https://github.com/joshhunt)
|
||||
- **Tooltip:** Sort decimals using standard numeric compare. [#49084](https://github.com/grafana/grafana/pull/49084), [@dprokop](https://github.com/dprokop)
|
||||
- **Transforms:** Labels to fields, fix label picker layout. [#49304](https://github.com/grafana/grafana/pull/49304), [@torkelo](https://github.com/torkelo)
|
||||
- **Variables:** Fixes issue with data source variables not updating queries with variable. [#49478](https://github.com/grafana/grafana/pull/49478), [@torkelo](https://github.com/torkelo)
|
||||
- **[v8.5.x] Alerting:** Fix RBAC actions for notification policies (#49185). [#49348](https://github.com/grafana/grafana/pull/49348), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
- **[v8.5.x] Alerting:** Fix access to alerts for viewer with editor permissions when RBAC is disabled. [#49427](https://github.com/grafana/grafana/pull/49427), [@konrad147](https://github.com/konrad147)
|
||||
- **[v8.5.x] Alerting:** Fix anonymous access to alerting. [#49268](https://github.com/grafana/grafana/pull/49268), [@yuri-tceretian](https://github.com/yuri-tceretian)
|
||||
|
||||
### Breaking changes
|
||||
|
||||
For a data source query made via /api/ds/query :
|
||||
|
||||
- If the `DatasourceQueryMultiStatus` feature is enabled and
|
||||
- The data source response has an error set as part of the `DataResponse`, the resulting HTTP status code is now `207 Multi Status` instead of `400 Bad gateway`
|
||||
- If the `DatasourceQueryMultiStatus` feature is **not** enabled and
|
||||
- The data source response has an error set as part of the `DataResponse`, the resulting HTTP status code is `400 Bad Request` (no breaking change)
|
||||
--> Issue [#48550](https://github.com/grafana/grafana/issues/48550)
|
||||
|
||||
<!-- 8.5.4 END -->
|
||||
<!-- 8.5.3 START -->
|
||||
|
||||
# 8.5.3
|
||||
|
||||
@@ -20,7 +20,7 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN yarn build
|
||||
|
||||
FROM golang:1.17.9-alpine3.15 as go-builder
|
||||
FROM golang:1.17.11-alpine3.15 as go-builder
|
||||
|
||||
RUN apk add --no-cache gcc g++ make
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ COPY emails emails
|
||||
ENV NODE_ENV production
|
||||
RUN yarn build
|
||||
|
||||
FROM golang:1.17.9 AS go-builder
|
||||
FROM golang:1.17.11 AS go-builder
|
||||
|
||||
WORKDIR /src/grafana
|
||||
|
||||
|
||||
@@ -17,6 +17,8 @@ packages/grafana-toolkit/
|
||||
packages/grafana-ui/
|
||||
packages/jaeger-ui-components/
|
||||
packaging/
|
||||
pkg/coremodel/
|
||||
pkg/framework/coremodel/
|
||||
grafana-mixin/
|
||||
cue/
|
||||
```
|
||||
|
||||
4
Makefile
4
Makefile
@@ -50,7 +50,7 @@ $(SPEC_TARGET): $(API_DEFINITION_FILES) ## Generate API spec
|
||||
-x "github.com/prometheus/alertmanager" \
|
||||
-i /grafana/pkg/api/docs/tags.json
|
||||
|
||||
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET)
|
||||
swagger-api-spec: gen-go $(SPEC_TARGET) $(MERGED_SPEC_TARGET) validate-api-spec
|
||||
|
||||
$(NGALERT_SPEC_TARGET):
|
||||
+$(MAKE) -C pkg/services/ngalert/api/tooling api.json
|
||||
@@ -67,7 +67,7 @@ ensure_go-swagger_mac:
|
||||
-x "github.com/prometheus/alertmanager" \
|
||||
-i pkg/api/docs/tags.json
|
||||
|
||||
swagger-api-spec-mac: gen-go --swagger-api-spec-mac $(MERGED_SPEC_TARGET)
|
||||
swagger-api-spec-mac: gen-go --swagger-api-spec-mac $(MERGED_SPEC_TARGET) validate-api-spec
|
||||
|
||||
validate-api-spec: $(MERGED_SPEC_TARGET) ## Validate API spec
|
||||
docker run --rm -it \
|
||||
|
||||
@@ -305,7 +305,7 @@ content_security_policy = false
|
||||
# $ROOT_PATH is server.root_url without the protocol.
|
||||
content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
|
||||
|
||||
# Controls if old angular plugins are supported or not. This will be disabled by default in Grafana v9.
|
||||
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
|
||||
angular_support_enabled = true
|
||||
|
||||
[security.encryption]
|
||||
@@ -477,6 +477,8 @@ token_url = https://gitlab.com/oauth/token
|
||||
api_url = https://gitlab.com/api/v4
|
||||
allowed_domains =
|
||||
allowed_groups =
|
||||
role_attribute_path =
|
||||
role_attribute_strict = false
|
||||
|
||||
#################################### Google Auth #########################
|
||||
[auth.google]
|
||||
@@ -582,8 +584,6 @@ enabled = false
|
||||
header_name = X-WEBAUTH-USER
|
||||
header_property = username
|
||||
auto_sign_up = true
|
||||
# Deprecated, use sync_ttl instead
|
||||
ldap_sync_ttl = 60
|
||||
sync_ttl = 60
|
||||
whitelist =
|
||||
headers =
|
||||
@@ -1174,9 +1174,6 @@ promQueryBuilder = true
|
||||
# The new loki visual query builder
|
||||
lokiQueryBuilder = true
|
||||
|
||||
# InfluxDB backend migration
|
||||
influxdbBackendMigration = true
|
||||
|
||||
# Experimental Explore to Dashboard workflow
|
||||
explore2Dashboard = true
|
||||
|
||||
|
||||
@@ -19,8 +19,6 @@ apiVersion: 1
|
||||
# orgId: 1
|
||||
# # <string> url
|
||||
# url: http://localhost:8080
|
||||
# # <string> database password, if used
|
||||
# password:
|
||||
# # <string> database user, if used
|
||||
# user:
|
||||
# # <string> database name, if used
|
||||
@@ -29,8 +27,6 @@ apiVersion: 1
|
||||
# basicAuth:
|
||||
# # <string> basic auth username
|
||||
# basicAuthUser:
|
||||
# # <string> basic auth password
|
||||
# basicAuthPassword:
|
||||
# # <bool> enable/disable with credentials headers
|
||||
# withCredentials:
|
||||
# # <bool> mark as default datasource. Max one per org
|
||||
|
||||
@@ -305,7 +305,7 @@
|
||||
# $ROOT_PATH is server.root_url without the protocol.
|
||||
;content_security_policy_template = """script-src 'self' 'unsafe-eval' 'unsafe-inline' 'strict-dynamic' $NONCE;object-src 'none';font-src 'self';style-src 'self' 'unsafe-inline' blob:;img-src * data:;base-uri 'self';connect-src 'self' grafana.com ws://$ROOT_PATH wss://$ROOT_PATH;manifest-src 'self';media-src 'none';form-action 'self';"""
|
||||
|
||||
# Controls if old angular plugins are supported or not. This will be disabled by default in Grafana v9.
|
||||
# Controls if old angular plugins are supported or not. This will be disabled by default in future release
|
||||
;angular_support_enabled = true
|
||||
|
||||
[security.encryption]
|
||||
|
||||
@@ -136,17 +136,23 @@ Running the backend tests on Windows currently needs some tweaking, so use the b
|
||||
go run build.go test
|
||||
```
|
||||
|
||||
### Run PostgreSQL and MySQL integration tests
|
||||
### Run SQLLite, PostgreSQL and MySQL integration tests
|
||||
|
||||
To run PostgreSQL and MySQL integration tests locally, you need to start the docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running:
|
||||
By default, Grafana runs SQLite to run tests with SQLite.
|
||||
|
||||
```bash
|
||||
go test -covermode=atomic -tags=integration ./pkg/...
|
||||
```
|
||||
|
||||
To run PostgreSQL and MySQL integration tests locally, start the Docker blocks for MySQL and/or PostgreSQL test data sources by running `make devenv sources=mysql_tests,postgres_tests`. When your test data sources are running, you can execute integration tests by running:
|
||||
|
||||
```bash
|
||||
GRAFANA_TEST_DB=mysql go test -covermode=atomic -tags=integration ./pkg/...
|
||||
```
|
||||
|
||||
and/or
|
||||
|
||||
```
|
||||
```bash
|
||||
GRAFANA_TEST_DB=postgres go test -covermode=atomic -tags=integration ./pkg/...
|
||||
```
|
||||
|
||||
|
||||
553
devenv/dev-dashboards/panel-heatmap/heatmap-calculate-log.json
Normal file
553
devenv/dev-dashboards/panel-heatmap/heatmap-calculate-log.json
Normal file
@@ -0,0 +1,553 @@
|
||||
{
|
||||
"annotations": {
|
||||
"list": [
|
||||
{
|
||||
"builtIn": 1,
|
||||
"datasource": {
|
||||
"type": "grafana",
|
||||
"uid": "-- Grafana --"
|
||||
},
|
||||
"enable": true,
|
||||
"hide": true,
|
||||
"iconColor": "rgba(0, 211, 255, 1)",
|
||||
"name": "Annotations & Alerts",
|
||||
"target": {
|
||||
"limit": 100,
|
||||
"matchAny": false,
|
||||
"tags": [],
|
||||
"type": "dashboard"
|
||||
},
|
||||
"type": "dashboard"
|
||||
}
|
||||
]
|
||||
},
|
||||
"editable": true,
|
||||
"fiscalYearStartMonth": 0,
|
||||
"graphTooltip": 1,
|
||||
"links": [],
|
||||
"liveNow": false,
|
||||
"panels": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"color": {
|
||||
"mode": "palette-classic"
|
||||
},
|
||||
"custom": {
|
||||
"axisLabel": "",
|
||||
"axisPlacement": "auto",
|
||||
"barAlignment": 0,
|
||||
"drawStyle": "points",
|
||||
"fillOpacity": 0,
|
||||
"gradientMode": "none",
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"lineInterpolation": "linear",
|
||||
"lineWidth": 1,
|
||||
"pointSize": 2,
|
||||
"scaleDistribution": {
|
||||
"log": 2,
|
||||
"type": "log"
|
||||
},
|
||||
"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": 14,
|
||||
"w": 8,
|
||||
"x": 0,
|
||||
"y": 0
|
||||
},
|
||||
"id": 3,
|
||||
"options": {
|
||||
"legend": {
|
||||
"calcs": [],
|
||||
"displayMode": "list",
|
||||
"placement": "bottom"
|
||||
},
|
||||
"tooltip": {
|
||||
"mode": "single",
|
||||
"sort": "none"
|
||||
}
|
||||
},
|
||||
"pluginVersion": "9.0.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "testdata",
|
||||
"uid": "PD8C576611E62080A"
|
||||
},
|
||||
"max": 500000,
|
||||
"min": 0.01,
|
||||
"refId": "A",
|
||||
"scenarioId": "random_walk",
|
||||
"seriesCount": 2,
|
||||
"spread": 1000,
|
||||
"startValue": 0.01
|
||||
}
|
||||
],
|
||||
"title": "Time series",
|
||||
"type": "timeseries"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 14,
|
||||
"w": 8,
|
||||
"x": 8,
|
||||
"y": 0
|
||||
},
|
||||
"id": 6,
|
||||
"options": {
|
||||
"bucket": {
|
||||
"layout": "auto"
|
||||
},
|
||||
"calculate": true,
|
||||
"calculation": {
|
||||
"yBuckets": {
|
||||
"scale": {
|
||||
"log": 2,
|
||||
"type": "log"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cellGap": 1,
|
||||
"color": {
|
||||
"exponent": 0.5,
|
||||
"fill": "dark-orange",
|
||||
"mode": "scheme",
|
||||
"scale": "exponential",
|
||||
"scheme": "Spectral",
|
||||
"steps": 64
|
||||
},
|
||||
"exemplars": {
|
||||
"color": "rgba(255,0,255,0.7)"
|
||||
},
|
||||
"filterValues": {
|
||||
"le": 1e-9
|
||||
},
|
||||
"legend": {
|
||||
"show": true
|
||||
},
|
||||
"mode": "calculate",
|
||||
"tooltip": {
|
||||
"show": true,
|
||||
"yHistogram": false
|
||||
},
|
||||
"yAxis": {
|
||||
"axisPlacement": "left",
|
||||
"reverse": false
|
||||
},
|
||||
"yAxisLabels": "auto",
|
||||
"yAxisReverse": false
|
||||
},
|
||||
"pluginVersion": "9.0.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"panelId": 3,
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
"title": "log2",
|
||||
"type": "heatmap-new"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 14,
|
||||
"w": 8,
|
||||
"x": 16,
|
||||
"y": 0
|
||||
},
|
||||
"id": 7,
|
||||
"options": {
|
||||
"bucket": {
|
||||
"layout": "auto"
|
||||
},
|
||||
"calculate": true,
|
||||
"calculation": {
|
||||
"yBuckets": {
|
||||
"scale": {
|
||||
"log": 2,
|
||||
"type": "log"
|
||||
},
|
||||
"value": "2"
|
||||
}
|
||||
},
|
||||
"cellGap": 1,
|
||||
"color": {
|
||||
"exponent": 0.5,
|
||||
"fill": "dark-orange",
|
||||
"mode": "scheme",
|
||||
"scale": "exponential",
|
||||
"scheme": "Spectral",
|
||||
"steps": 64
|
||||
},
|
||||
"exemplars": {
|
||||
"color": "rgba(255,0,255,0.7)"
|
||||
},
|
||||
"filterValues": {
|
||||
"le": 1e-9
|
||||
},
|
||||
"legend": {
|
||||
"show": true
|
||||
},
|
||||
"mode": "calculate",
|
||||
"tooltip": {
|
||||
"show": true,
|
||||
"yHistogram": false
|
||||
},
|
||||
"yAxis": {
|
||||
"axisPlacement": "left",
|
||||
"reverse": false
|
||||
},
|
||||
"yAxisLabels": "auto",
|
||||
"yAxisReverse": false
|
||||
},
|
||||
"pluginVersion": "9.0.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"panelId": 3,
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
"title": "log2 split 2",
|
||||
"type": "heatmap-new"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 14,
|
||||
"w": 8,
|
||||
"x": 0,
|
||||
"y": 14
|
||||
},
|
||||
"id": 4,
|
||||
"options": {
|
||||
"bucket": {
|
||||
"layout": "auto"
|
||||
},
|
||||
"calculate": true,
|
||||
"cellGap": 1,
|
||||
"color": {
|
||||
"exponent": 0.5,
|
||||
"fill": "dark-orange",
|
||||
"mode": "scheme",
|
||||
"scale": "exponential",
|
||||
"scheme": "Spectral",
|
||||
"steps": 64
|
||||
},
|
||||
"exemplars": {
|
||||
"color": "rgba(255,0,255,0.7)"
|
||||
},
|
||||
"filterValues": {
|
||||
"le": 1e-9
|
||||
},
|
||||
"legend": {
|
||||
"show": true
|
||||
},
|
||||
"mode": "calculate",
|
||||
"tooltip": {
|
||||
"show": true,
|
||||
"yHistogram": false
|
||||
},
|
||||
"yAxis": {
|
||||
"axisPlacement": "left",
|
||||
"reverse": false
|
||||
},
|
||||
"yAxisLabels": "auto",
|
||||
"yAxisReverse": false
|
||||
},
|
||||
"pluginVersion": "9.0.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"panelId": 3,
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
"title": "linear",
|
||||
"type": "heatmap-new"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 14,
|
||||
"w": 8,
|
||||
"x": 8,
|
||||
"y": 14
|
||||
},
|
||||
"id": 5,
|
||||
"options": {
|
||||
"bucket": {
|
||||
"layout": "auto"
|
||||
},
|
||||
"calculate": true,
|
||||
"calculation": {
|
||||
"yBuckets": {
|
||||
"scale": {
|
||||
"log": 10,
|
||||
"type": "log"
|
||||
}
|
||||
}
|
||||
},
|
||||
"cellGap": 1,
|
||||
"color": {
|
||||
"exponent": 0.5,
|
||||
"fill": "dark-orange",
|
||||
"mode": "scheme",
|
||||
"scale": "exponential",
|
||||
"scheme": "Spectral",
|
||||
"steps": 64
|
||||
},
|
||||
"exemplars": {
|
||||
"color": "rgba(255,0,255,0.7)"
|
||||
},
|
||||
"filterValues": {
|
||||
"le": 1e-9
|
||||
},
|
||||
"legend": {
|
||||
"show": true
|
||||
},
|
||||
"mode": "calculate",
|
||||
"tooltip": {
|
||||
"show": true,
|
||||
"yHistogram": false
|
||||
},
|
||||
"yAxis": {
|
||||
"axisPlacement": "left",
|
||||
"reverse": false
|
||||
},
|
||||
"yAxisLabels": "auto",
|
||||
"yAxisReverse": false
|
||||
},
|
||||
"pluginVersion": "9.0.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"panelId": 3,
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
"title": "log10",
|
||||
"type": "heatmap-new"
|
||||
},
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"fieldConfig": {
|
||||
"defaults": {
|
||||
"custom": {
|
||||
"hideFrom": {
|
||||
"legend": false,
|
||||
"tooltip": false,
|
||||
"viz": false
|
||||
},
|
||||
"scaleDistribution": {
|
||||
"type": "linear"
|
||||
}
|
||||
}
|
||||
},
|
||||
"overrides": []
|
||||
},
|
||||
"gridPos": {
|
||||
"h": 14,
|
||||
"w": 8,
|
||||
"x": 16,
|
||||
"y": 14
|
||||
},
|
||||
"id": 8,
|
||||
"options": {
|
||||
"bucket": {
|
||||
"layout": "auto"
|
||||
},
|
||||
"calculate": true,
|
||||
"calculation": {
|
||||
"yBuckets": {
|
||||
"scale": {
|
||||
"log": 10,
|
||||
"type": "log"
|
||||
},
|
||||
"value": "2"
|
||||
}
|
||||
},
|
||||
"cellGap": 1,
|
||||
"color": {
|
||||
"exponent": 0.5,
|
||||
"fill": "dark-orange",
|
||||
"mode": "scheme",
|
||||
"scale": "exponential",
|
||||
"scheme": "Spectral",
|
||||
"steps": 64
|
||||
},
|
||||
"exemplars": {
|
||||
"color": "rgba(255,0,255,0.7)"
|
||||
},
|
||||
"filterValues": {
|
||||
"le": 1e-9
|
||||
},
|
||||
"legend": {
|
||||
"show": true
|
||||
},
|
||||
"mode": "calculate",
|
||||
"tooltip": {
|
||||
"show": true,
|
||||
"yHistogram": false
|
||||
},
|
||||
"yAxis": {
|
||||
"axisPlacement": "left",
|
||||
"reverse": false
|
||||
},
|
||||
"yAxisLabels": "auto",
|
||||
"yAxisReverse": false
|
||||
},
|
||||
"pluginVersion": "9.0.0-pre",
|
||||
"targets": [
|
||||
{
|
||||
"datasource": {
|
||||
"type": "datasource",
|
||||
"uid": "-- Dashboard --"
|
||||
},
|
||||
"panelId": 3,
|
||||
"refId": "A"
|
||||
}
|
||||
],
|
||||
"title": "log10 split 2",
|
||||
"type": "heatmap-new"
|
||||
}
|
||||
],
|
||||
"schemaVersion": 36,
|
||||
"style": "dark",
|
||||
"tags": ["gdev", "panel-tests", "graph-ng"],
|
||||
"templating": {
|
||||
"list": []
|
||||
},
|
||||
"time": {
|
||||
"from": "now-6h",
|
||||
"to": "now"
|
||||
},
|
||||
"timepicker": {},
|
||||
"timezone": "",
|
||||
"title": "Heatmap calculate (log)",
|
||||
"uid": "ZXYQTA97ZZ",
|
||||
"version": 1,
|
||||
"weekStart": ""
|
||||
}
|
||||
@@ -57,7 +57,7 @@ export default (data) => {
|
||||
requests.push({ method: 'GET', url: '/api/annotations?from=1580825186534&to=1580846786535' });
|
||||
|
||||
for (let n = 0; n < batchCount; n++) {
|
||||
requests.push({ method: 'POST', url: '/api/tsdb/query', body: payload });
|
||||
requests.push({ method: 'POST', url: '/api/ds/query', body: payload });
|
||||
}
|
||||
|
||||
let responses = client.batch(requests);
|
||||
|
||||
@@ -62,7 +62,7 @@ export default (data) => {
|
||||
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=2074&from=1548078832772&to=1548082432772' });
|
||||
|
||||
for (let n = 0; n < batchCount; n++) {
|
||||
requests.push({ method: 'POST', url: '/api/tsdb/query', body: payload });
|
||||
requests.push({ method: 'POST', url: '/api/ds/query', body: payload });
|
||||
}
|
||||
|
||||
let responses = client.batch(requests);
|
||||
|
||||
@@ -59,7 +59,7 @@ export default (data) => {
|
||||
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=2074&from=1548078832772&to=1548082432772' });
|
||||
|
||||
for (let n = 0; n < batchCount; n++) {
|
||||
requests.push({ method: 'POST', url: '/api/tsdb/query', body: payload });
|
||||
requests.push({ method: 'POST', url: '/api/ds/query', body: payload });
|
||||
}
|
||||
|
||||
let responses = client.batch(requests);
|
||||
|
||||
@@ -58,7 +58,7 @@ export default (data) => {
|
||||
requests.push({ method: 'GET', url: '/api/annotations?dashboardId=2074&from=1548078832772&to=1548082432772' });
|
||||
|
||||
for (let n = 0; n < batchCount; n++) {
|
||||
requests.push({ method: 'POST', url: '/api/tsdb/query', body: payload });
|
||||
requests.push({ method: 'POST', url: '/api/ds/query', body: payload });
|
||||
}
|
||||
|
||||
let responses = client.batch(requests);
|
||||
|
||||
@@ -1,9 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/", "/docs/grafana/latest/guides/reference/admin/", "/docs/grafana/v1.1/", "/docs/grafana/v3.1/"]
|
||||
description = "Guides, Installation and Feature Documentation"
|
||||
keywords = ["grafana", "installation", "documentation"]
|
||||
title = "Grafana documentation"
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/
|
||||
- /docs/grafana/latest/guides/reference/admin/
|
||||
- /docs/grafana/v1.1/
|
||||
- /docs/grafana/v3.1/
|
||||
description: Guides, Installation and Feature Documentation
|
||||
keywords:
|
||||
- grafana
|
||||
- installation
|
||||
- documentation
|
||||
title: Grafana documentation
|
||||
---
|
||||
|
||||
# Grafana documentation
|
||||
|
||||
|
||||
@@ -1,17 +1,18 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/"]
|
||||
description = "Administration"
|
||||
title = "Administration"
|
||||
weight = 40
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/
|
||||
description: Administration
|
||||
title: Administration
|
||||
weight: 40
|
||||
---
|
||||
|
||||
# Administration
|
||||
|
||||
This section includes information for Grafana administrators, team administrators, and users performing administrative tasks:
|
||||
|
||||
- [Change Preferences]({{< relref "preferences" >}})
|
||||
- [Configuration]({{< relref "configuration" >}})
|
||||
- [Configure Docker image]({{< relref "configure-docker" >}})
|
||||
- [Security]({{< relref "security" >}})
|
||||
- [Database encryption]({{< relref "database-encryption" >}})
|
||||
- [Service accounts]({{< relref "service-accounts" >}})
|
||||
- [Change Preferences]({{< relref "preferences/" >}})
|
||||
- [Configuration]({{< relref "configuration/" >}})
|
||||
- [Configure Docker image]({{< relref "configure-docker/" >}})
|
||||
- [Security]({{< relref "security/" >}})
|
||||
- [Database encryption]({{< relref "database-encryption/" >}})
|
||||
- [Service accounts]({{< relref "service-accounts/" >}})
|
||||
|
||||
@@ -11,4 +11,4 @@ weight: 30
|
||||
|
||||
An API key is a randomly generated string that external systems use to interact with Grafana HTTP APIs.
|
||||
|
||||
When you create an API key, you specify a **Role** that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources. For more information about creating API keys, refer to [Create an API key]({{< relref "./create-api-key.md#" >}}).
|
||||
When you create an API key, you specify a **Role** that determines the permissions associated with the API key. Role permissions control that actions the API key can perform on Grafana resources. For more information about creating API keys, refer to [Create an API key]({{< relref "create-api-key.md#" >}}).
|
||||
|
||||
@@ -14,7 +14,7 @@ weight: 50
|
||||
|
||||
Create an API key when you want to manage your computed workload with a user.
|
||||
|
||||
For more information about API keys, refer to [About API keys in Grafana]({{< relref "./about-api-keys.md" >}}).
|
||||
For more information about API keys, refer to [About API keys in Grafana]({{< relref "about-api-keys.md" >}}).
|
||||
|
||||
This topic shows you how to create an API key using the Grafana UI. You can also create an API key using the Grafana HTTP API. For more information about creating API keys via the API, refer to [Create API key via API]({{< relref "../../developers/http_api/create-api-tokens-for-org.md#how-to-create-a-new-organization-and-an-api-token" >}}).
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/cli/"]
|
||||
description = "Guide to using grafana-cli"
|
||||
keywords = ["grafana", "cli", "grafana-cli", "command line interface"]
|
||||
title = "Grafana CLI"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/cli/
|
||||
description: Guide to using grafana-cli
|
||||
keywords:
|
||||
- grafana
|
||||
- cli
|
||||
- grafana-cli
|
||||
- command line interface
|
||||
title: Grafana CLI
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Grafana CLI
|
||||
|
||||
@@ -132,7 +137,7 @@ grafana-cli --homepath "/usr/share/grafana" admin reset-admin-password <new pass
|
||||
|
||||
### Override config file
|
||||
|
||||
`--config value` overrides the default location where Grafana expects the configuration file. Refer to [Configuration]({{< relref "../administration/configuration.md" >}}) for more information about configuring Grafana and default configuration file locations.
|
||||
`--config value` overrides the default location where Grafana expects the configuration file. Refer to [Configuration]({{< relref "configuration.md" >}}) for more information about configuring Grafana and default configuration file locations.
|
||||
|
||||
**Example:**
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/configuration/", "/docs/grafana/latest/installation/configuration/"]
|
||||
description = "Configuration documentation"
|
||||
keywords = ["grafana", "configuration", "documentation"]
|
||||
title = "Configuration"
|
||||
weight = 150
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/configuration/
|
||||
- /docs/grafana/latest/installation/configuration/
|
||||
description: Configuration documentation
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- documentation
|
||||
title: Configuration
|
||||
weight: 150
|
||||
---
|
||||
|
||||
# Configuration
|
||||
|
||||
@@ -122,7 +127,7 @@ password = $__file{/etc/secrets/gf_sql_password}
|
||||
|
||||
The `vault` provider allows you to manage your secrets with [Hashicorp Vault](https://www.hashicorp.com/products/vault).
|
||||
|
||||
> Vault provider is only available in Grafana Enterprise v7.1+. For more information, refer to [Vault integration]({{< relref "../enterprise/vault.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
|
||||
> Vault provider is only available in Grafana Enterprise v7.1+. For more information, refer to [Vault integration]({{< relref "../enterprise/vault.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise/" >}}).
|
||||
|
||||
<hr />
|
||||
|
||||
@@ -429,12 +434,6 @@ For more details check the [Transport.MaxConnsPerHost](https://golang.org/pkg/ne
|
||||
|
||||
The maximum number of idle connections that Grafana will maintain. Default is `100`. For more details check the [Transport.MaxIdleConns](https://golang.org/pkg/net/http/#Transport.MaxIdleConns) documentation.
|
||||
|
||||
### max_idle_connections_per_host
|
||||
|
||||
[Deprecated - use max_idle_connections instead]
|
||||
|
||||
The maximum number of idle connections per host that Grafana will maintain. Default is `2`. For more details check the [Transport.MaxIdleConnsPerHost](https://golang.org/pkg/net/http/#Transport.MaxIdleConnsPerHost) documentation.
|
||||
|
||||
### idle_conn_timeout_seconds
|
||||
|
||||
The length of time that Grafana maintains idle connections before closing them. Default is `90` seconds. For more details check the [Transport.IdleConnTimeout](https://golang.org/pkg/net/http/#Transport.IdleConnTimeout) documentation.
|
||||
@@ -602,7 +601,7 @@ Set Content Security Policy template used when adding the Content-Security-Polic
|
||||
|
||||
### angular_support_enabled
|
||||
|
||||
This currently defaults to `true` but will in Grafana v9 default to `false`. When set to false the angular framework and support components will not be loaded. This means that
|
||||
This currently defaults to `true` but will default to `false` in a future release. When set to false the angular framework and support components will not be loaded. This means that
|
||||
all plugins and core features that depend on angular support will stop working.
|
||||
|
||||
Current core features that will stop working:
|
||||
@@ -668,7 +667,7 @@ Path to the default home dashboard. If this value is empty, then Grafana uses St
|
||||
|
||||
Set to `false` to prohibit users from being able to sign up / create
|
||||
user accounts. Default is `false`. The admin user can still create
|
||||
users. For more information about creating a user, refer to [Add a user]({{< relref "../administration/manage-users-and-permissions/manage-server-users/add-user.md" >}}).
|
||||
users. For more information about creating a user, refer to [Add a user]({{< relref "manage-users-and-permissions/manage-server-users/add-user.md" >}}).
|
||||
|
||||
### allow_org_create
|
||||
|
||||
@@ -810,7 +809,7 @@ Set to `true` to enable verbose request signature logging when AWS Signature Ver
|
||||
|
||||
## [auth.anonymous]
|
||||
|
||||
Refer to [Anonymous authentication]({{< relref "../auth/grafana.md/#anonymous-authentication" >}}) for detailed instructions.
|
||||
Refer to [Anonymous authentication]({{< relref "../auth/grafana.md#anonymous-authentication" >}}) for detailed instructions.
|
||||
|
||||
<hr />
|
||||
|
||||
|
||||
@@ -1,14 +1,20 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/configure-docker/", "/docs/grafana/latest/installation/configure-docker/"]
|
||||
description = "Guide for configuring the Grafana Docker image"
|
||||
keywords = ["grafana", "configuration", "documentation", "docker"]
|
||||
title = "Configure Grafana Docker image"
|
||||
weight = 200
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/configure-docker/
|
||||
- /docs/grafana/latest/installation/configure-docker/
|
||||
description: Guide for configuring the Grafana Docker image
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- documentation
|
||||
- docker
|
||||
title: Configure Grafana Docker image
|
||||
weight: 200
|
||||
---
|
||||
|
||||
# Configure a Grafana Docker image
|
||||
|
||||
If you are running Grafana in a Docker image, then you configure Grafana using [environment variables]({{< relref "../administration/configuration.md#configure-with-environment-variables" >}}) rather than directly editing the configuration file. If you want to save your data, then you also need to designate persistent storage or bind mounts for the Grafana container.
|
||||
If you are running Grafana in a Docker image, then you configure Grafana using [environment variables]({{< relref "configuration.md#configure-with-environment-variables" >}}) rather than directly editing the configuration file. If you want to save your data, then you also need to designate persistent storage or bind mounts for the Grafana container.
|
||||
|
||||
> **Note:** These examples use the Grafana Enterprise docker image. You can use the Grafana Open Source edition by changing the docker image to `grafana/grafana-oss`.
|
||||
|
||||
@@ -53,7 +59,7 @@ The following settings are hard-coded when launching the Grafana Docker containe
|
||||
|
||||
## Logging
|
||||
|
||||
Logs in the Docker container go to standard out by default, as is common in the Docker world. Change this by setting a different [log mode]({{< relref "../administration/configuration.md#mode" >}}).
|
||||
Logs in the Docker container go to standard out by default, as is common in the Docker world. Change this by setting a different [log mode]({{< relref "configuration.md#mode" >}}).
|
||||
|
||||
Example:
|
||||
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/database-encryption/"]
|
||||
description = "Grafana database encryption"
|
||||
keywords = ["grafana", "database", "encryption", "envelope encryption", "documentation"]
|
||||
title = "Database encryption"
|
||||
weight = 450
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/database-encryption/
|
||||
description: Grafana database encryption
|
||||
keywords:
|
||||
- grafana
|
||||
- database
|
||||
- encryption
|
||||
- envelope encryption
|
||||
- documentation
|
||||
title: Database encryption
|
||||
weight: 450
|
||||
---
|
||||
|
||||
# Grafana database encryption
|
||||
|
||||
@@ -95,7 +101,7 @@ New data keys for encryption operations are generated on-demand.
|
||||
> those secrets still encrypted with it. Look at [secrets re-encryption](#re-encrypt-secrets) to completely stop using
|
||||
> rotated data keys for both encryption and decryption.
|
||||
|
||||
> **Note:** This operation is available through Grafana [Admin API]({{< relref "../developers/configuration/admin/#rotate-data-encryption-keys" >}}).
|
||||
> **Note:** This operation is available through Grafana [Admin API]({{< relref "../developers/http_api/admin/#rotate-data-encryption-keys" >}}).
|
||||
> It's safe to run more than once.
|
||||
|
||||
# KMS integration
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/jaeger-instrumentation/"]
|
||||
description = "Jaeger traces emitted and propagation by Grafana"
|
||||
keywords = ["grafana", "jaeger", "tracing"]
|
||||
title = "Jaeger instrumentation"
|
||||
weight = 900
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/jaeger-instrumentation/
|
||||
description: Jaeger traces emitted and propagation by Grafana
|
||||
keywords:
|
||||
- grafana
|
||||
- jaeger
|
||||
- tracing
|
||||
title: Jaeger instrumentation
|
||||
weight: 900
|
||||
---
|
||||
|
||||
# Jaeger instrumentation
|
||||
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/change-your-password/", "/docs/grafana/latest/administration/manage-user-preferences/"]
|
||||
description = "Learn how to update your user preferences and switch organizations"
|
||||
keywords = ["password", "change", "organization", "change"]
|
||||
title = "Manage user preferences"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/change-your-password/
|
||||
- /docs/grafana/latest/administration/manage-user-preferences/
|
||||
description: Learn how to update your user preferences and switch organizations
|
||||
keywords:
|
||||
- password
|
||||
- change
|
||||
- organization
|
||||
- change
|
||||
title: Manage user preferences
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Manage user preferences
|
||||
|
||||
@@ -41,7 +47,7 @@ Your profile includes your name, user name, and email address, which you can upd
|
||||
|
||||
## Edit your preferences
|
||||
|
||||
You can choose the way you would like data to appear in Grafana, including the UI theme, home dashboard, timezone, and first day of the week. You can set these preferences for your own account, for a team, for an organization, or Grafana-wide using configuration settings. Your user preferences take precedence over team, organization, and Grafana default preferences. For more information, see [Grafana preferences]({{< relref "../../administration/preferences/_index.md" >}}).
|
||||
You can choose the way you would like data to appear in Grafana, including the UI theme, home dashboard, timezone, and first day of the week. You can set these preferences for your own account, for a team, for an organization, or Grafana-wide using configuration settings. Your user preferences take precedence over team, organization, and Grafana default preferences. For more information, see [Grafana preferences]({{< relref "../preferences/_index.md" >}}).
|
||||
|
||||
- **UI theme** determines whether Grafana appears in light mode or dark mode. By default, UI theme is set to dark mode.
|
||||
- **Home dashboard** refers to the dashboard you see when you sign in to Grafana. By default, this is set to the Home dashboard.
|
||||
@@ -75,7 +81,7 @@ Every user is a member of at least one organization. You can have different role
|
||||
1. Hover your cursor over the user icon in the lower-left corner of the page and click **Preferences**.
|
||||
1. Scroll down to the **Organizations** section and review the following information:
|
||||
- **Name**: The name of the organizations of which you are a member.
|
||||
- **Role**: The role to which you are assigned in the organization. For more information about roles and permissions, refer to [Organization users and permissions]({{< relref "../../administration/manage-users-and-permissions/about-users-and-permissions.md#organization-users-and-permissions" >}}).
|
||||
- **Role**: The role to which you are assigned in the organization. For more information about roles and permissions, refer to [Organization users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#organization-users-and-permissions" >}}).
|
||||
- **Current**: Grafana indicates the organization that you are currently signed into as _Current_. If you are a member of multiple organizations, you can click **Select** to switch to that organization.
|
||||
|
||||
## View your Grafana sessions
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/"]
|
||||
title = "Manage users and permissions"
|
||||
weight = 200
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/
|
||||
title: Manage users and permissions
|
||||
weight: 200
|
||||
---
|
||||
|
||||
# Manage users and permissions
|
||||
|
||||
|
||||
@@ -1,8 +1,13 @@
|
||||
+++
|
||||
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/"]
|
||||
title = "About users and permissions"
|
||||
weight = 100
|
||||
+++
|
||||
---
|
||||
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/
|
||||
title: About users and permissions
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# About users and permissions
|
||||
|
||||
@@ -26,7 +31,7 @@ A server administrator can perform the following tasks:
|
||||
|
||||
- Manage users and permissions
|
||||
- Create, edit, and delete organizations
|
||||
- View server-wide settings defined in the [Configuration]({{< relref "../../administration/configuration.md" >}}) file
|
||||
- View server-wide settings defined in the [Configuration]({{< relref "../configuration.md" >}}) file
|
||||
- View Grafana server statistics, including total users and active sessions
|
||||
- Upgrade the server to Grafana Enterprise.
|
||||
|
||||
@@ -92,9 +97,9 @@ You can specify the following permissions to dashboards and folders.
|
||||
- **Edit**: Can create and edit dashboards. Editors _cannot_ change folder or dashboard permissions, or add, edit, or delete folders.
|
||||
- **View**: Can only view dashboards and folders.
|
||||
|
||||
For more information about assigning dashboard folder permissions, refer to [Grant dashboard folder permissions]({{< relref "./manage-dashboard-permissions/_index.md#grant-dashboard-folder-permissions" >}}).
|
||||
For more information about assigning dashboard folder permissions, refer to [Grant dashboard folder permissions]({{< relref "manage-dashboard-permissions/_index.md#grant-dashboard-folder-permissions" >}}).
|
||||
|
||||
For more information about assigning dashboard permissions, refer to [Grant dashboard permissions]({{< relref "./manage-dashboard-permissions/_index.md#grant-dashboard-permissions" >}}).
|
||||
For more information about assigning dashboard permissions, refer to [Grant dashboard permissions]({{< relref "manage-dashboard-permissions/_index.md#grant-dashboard-permissions" >}}).
|
||||
|
||||
## Editors with administrator permissions
|
||||
|
||||
@@ -104,7 +109,7 @@ If you have access to the Grafana server, you can modify the default editor role
|
||||
|
||||
This setting can be used to enable self-organizing teams to administer their own dashboards.
|
||||
|
||||
For more information about assigning administrator permissions to editors, refer to [Grant editors administrator permissions]({{< relref "./manage-server-users/grant-editor-admin-permissions.md" >}}).
|
||||
For more information about assigning administrator permissions to editors, refer to [Grant editors administrator permissions]({{< relref "manage-server-users/grant-editor-admin-permissions.md" >}}).
|
||||
|
||||
## Viewers with dashboard preview and Explore permissions
|
||||
|
||||
@@ -115,7 +120,7 @@ If you have access to the Grafana server, you can modify the default viewer role
|
||||
|
||||
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.
|
||||
|
||||
For more information about assigning dashboard preview permissions to viewers, refer to [Enable viewers to preview dashboards and use Explore]({{< relref "./manage-dashboard-permissions/_index.md#enable-viewers-to-preview-dashboards-and-use-explore" >}}).
|
||||
For more information about assigning dashboard preview permissions to viewers, refer to [Enable viewers to preview dashboards and use Explore]({{< relref "manage-dashboard-permissions/_index.md#enable-viewers-to-preview-dashboards-and-use-explore" >}}).
|
||||
|
||||
## Teams and permissions
|
||||
|
||||
@@ -126,7 +131,7 @@ You can assign a team member one of the following permissions:
|
||||
- **Member**: Includes the user as a member of the team. Members do not have team administrator privileges.
|
||||
- **Admin**: Administrators have permission to manage various aspects of the team, including team membership, permissions, and settings.
|
||||
|
||||
Because teams exist inside an organization, the organization administrator can manage all teams. When the `editors_can_admin` setting is enabled, editors can create teams and manage teams that they create. For more information about the `editors_can_admin` setting, refer to [Grant editors administrator permissions]({{< relref "./manage-server-users/grant-editor-admin-permissions.md" >}}).
|
||||
Because teams exist inside an organization, the organization administrator can manage all teams. When the `editors_can_admin` setting is enabled, editors can create teams and manage teams that they create. For more information about the `editors_can_admin` setting, refer to [Grant editors administrator permissions]({{< relref "manage-server-users/grant-editor-admin-permissions.md" >}}).
|
||||
|
||||
## Grafana Enterprise user permissions features
|
||||
|
||||
@@ -147,7 +152,7 @@ Data source permissions enable you to restrict data source query permissions to
|
||||
|
||||
RBAC provides you a way of granting, changing, and revoking user read and write access to Grafana resources, such as users, reports, and authentication.
|
||||
|
||||
For more information about RBAC, refer to [Role-based access control]({{< relref "../../enterprise/access-control" >}}).
|
||||
For more information about RBAC, refer to [Role-based access control]({{< relref "../../enterprise/access-control/" >}}).
|
||||
|
||||
### Learn more
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/", "/docs/grafana/latest/permissions/dashboard_folder_permissions/"]
|
||||
title = "Manage dashboard permissions"
|
||||
weight = 500
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-dashboard-permissions/
|
||||
- /docs/grafana/latest/permissions/dashboard_folder_permissions/
|
||||
title: Manage dashboard permissions
|
||||
weight: 500
|
||||
---
|
||||
|
||||
# Manage dashboard permissions
|
||||
|
||||
@@ -74,7 +76,7 @@ This modification is useful for public Grafana installations where you want anon
|
||||
|
||||
1. Open the Grafana configuration file.
|
||||
|
||||
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration" >}}).
|
||||
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../configuration/" >}}).
|
||||
|
||||
1. Locate the `viewers_can_edit` parameter.
|
||||
1. Set the `viewers_can_edit` value to `true`.
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/", "/docs/grafana/latest/manage-users/org-admin/"]
|
||||
title = "Manage users in an organization"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/
|
||||
- /docs/grafana/latest/manage-users/org-admin/
|
||||
title: Manage users in an organization
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Manage users in an organization
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/"]
|
||||
title = "Change a user's organization permissions"
|
||||
weight = 30
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/change-user-org-permissions/
|
||||
title: Change a user's organization permissions
|
||||
weight: 30
|
||||
---
|
||||
|
||||
# Change a user's organization permissions
|
||||
|
||||
@@ -24,4 +25,4 @@ Update user permissions when you want to enhance or restrict a user's access to
|
||||
1. Select the role that you want to assign.
|
||||
1. Click **Update**.
|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../../manage-users-and-permissions/manage-server-users/change-user-org-permissions.md" >}}) in the Server Admin section.
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [change a user's organization permissions]({{< relref "../manage-server-users/change-user-org-permissions.md" >}}) in the Server Admin section.
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/"]
|
||||
title = "Invite a user to join an organization"
|
||||
weight = 10
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/invite-user-join-org/
|
||||
title: Invite a user to join an organization
|
||||
weight: 10
|
||||
---
|
||||
|
||||
# Invite a user to join an organization
|
||||
|
||||
@@ -11,7 +12,7 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
|
||||
- If you know that the user already has access Grafana and you know their user name, then you issue an invitation by entering their user name.
|
||||
- If the user is new to Grafana, then use their email address to issue an invitation. The system automatically creates the user account on first sign in.
|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md" >}}).
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also manually [add a user to an organization]({{< relref "../manage-server-users/add-remove-user-to-org.md" >}}).
|
||||
|
||||
## Before you begin
|
||||
|
||||
@@ -34,7 +35,7 @@ When you invite users to join an organization, you assign the **Admin**, **Edito
|
||||
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
|
||||
| Email or username | Either the email or username that the user will use to sign in to Grafana. |
|
||||
| Name | The user's name. |
|
||||
| Role | Click the organization role to assign this user. For more information about organization roles, refer to [Organization roles]({{< relref "../about-users-and-permissions#organization-roles" >}}).. |
|
||||
| Role | Click the organization role to assign this user. For more information about organization roles, refer to [Organization roles]({{< relref "../about-users-and-permissions/#organization-roles" >}}).. |
|
||||
| Send invite email | Switch to on if your organization has configured. The system sends an email to the user inviting them to sign in to Grafana and join the organization. Switch to off if you are not using email. The user can sign in to Grafana with the email or username you entered. |
|
||||
|
||||
1. Click **Submit**.
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/"]
|
||||
title = "Manage a pending invitation"
|
||||
weight = 20
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/manage-pending-invites/
|
||||
title: Manage a pending invitation
|
||||
weight: 20
|
||||
---
|
||||
|
||||
# Manage a pending invitation
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/"]
|
||||
title = "Remove a user from an organization"
|
||||
weight = 40
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/remove-user-from-org/
|
||||
title: Remove a user from an organization
|
||||
weight: 40
|
||||
---
|
||||
|
||||
# Remove a user from an organization
|
||||
|
||||
@@ -24,4 +25,4 @@ This action does not remove the user account from the Grafana server.
|
||||
|
||||
1. Click the red **X** to remove the user from the organization.
|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-server-users/add-remove-user-to-org.md#remove-a-user-from-an-organization" >}}) on the Users page of the Server Admin section.
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [remove a user from an organization]({{< relref "../manage-server-users/add-remove-user-to-org.md#remove-a-user-from-an-organization" >}}) on the Users page of the Server Admin section.
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/"]
|
||||
title = "View a list of organization users"
|
||||
weight = 50
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-org-users/view-list-org-users/
|
||||
title: View a list of organization users
|
||||
weight: 50
|
||||
---
|
||||
|
||||
# View a list of organization users
|
||||
|
||||
@@ -19,4 +20,4 @@ You can see a list of users with accounts in your Grafana organization. If neces
|
||||
|
||||

|
||||
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [view a global list of users]({{< relref "../../manage-users-and-permissions/manage-server-users/view-list-users.md" >}}) in the Server Admin section of Grafana.
|
||||
> **Note:** If you have [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can also [view a global list of users]({{< relref "../manage-server-users/view-list-users.md" >}}) in the Server Admin section of Grafana.
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
+++
|
||||
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/"]
|
||||
title = "Manage users globally"
|
||||
weight = 300
|
||||
+++
|
||||
---
|
||||
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/
|
||||
title: Manage users globally
|
||||
weight: 300
|
||||
---
|
||||
|
||||
# Manage users globally
|
||||
|
||||
@@ -12,6 +15,6 @@ If you have [server administrator]({{< relref "../about-users-and-permissions.md
|
||||
|
||||
{{< section >}}
|
||||
|
||||
If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, refer to [Manage users in a organization]({{< relref "../../manage-users-and-permissions/manage-org-users/_index.md" >}}).
|
||||
If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, refer to [Manage users in a organization]({{< relref "../manage-org-users/_index.md" >}}).
|
||||
|
||||
For more information about users and permissions, refer to [About users and permissions]({{< relref "../about-users-and-permissions" >}}).
|
||||
For more information about users and permissions, refer to [About users and permissions]({{< relref "../about-users-and-permissions/" >}}).
|
||||
|
||||
@@ -1,8 +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/"]
|
||||
title = "Add or remove a user from an organization"
|
||||
weight = 30
|
||||
+++
|
||||
---
|
||||
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/
|
||||
title: Add or remove a user from an organization
|
||||
weight: 30
|
||||
---
|
||||
|
||||
# Add a user to an organization
|
||||
|
||||
@@ -13,7 +15,7 @@ You are required to specify an Admin role for each organization. The first user
|
||||
## Before you begin
|
||||
|
||||
- [Create an organization]({{< relref "../../manage-organizations/_index.md" >}})
|
||||
- [Add a user]({{< relref "./add-user.md" >}}) to Grafana
|
||||
- [Add a user]({{< relref "add-user.md" >}}) to Grafana
|
||||
- Ensure you have Grafana server administrator privileges
|
||||
|
||||
**To add a user to an organization**:
|
||||
@@ -30,7 +32,7 @@ You are required to specify an Admin role for each organization. The first user
|
||||
|
||||
The next time the user signs in, they will be able to navigate to their new organization using the Switch Organizations option in the user profile menu.
|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [invite a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [invite a user to join an organization]({{< relref "../manage-org-users/invite-user-join-org.md" >}}).
|
||||
|
||||
# Remove a user from an organization
|
||||
|
||||
@@ -48,4 +50,4 @@ Remove a user from an organization when they no longer require access to the das
|
||||
1. In the **Organization** section, click **Remove from organization** next to the organization from which you want to remove the user.
|
||||
1. Click **Confirm removal**.
|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [remove a user from an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/remove-user-from-org.md" >}}) in the Users section of organization configuration.
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [remove a user from an organization]({{< relref "../manage-org-users/remove-user-from-org.md" >}}) in the Users section of organization configuration.
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/"]
|
||||
title = "Add a user"
|
||||
weight = 10
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/add-user/
|
||||
title: Add a user
|
||||
weight: 10
|
||||
---
|
||||
|
||||
# Add a user
|
||||
|
||||
@@ -23,6 +24,6 @@ When you configure advanced authentication using Oauth, SAML, LDAP, or the Auth
|
||||
1. Click **New user**.
|
||||
1. Complete the fields and click **Create user**.
|
||||
|
||||
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "./add-remove-user-to-org.md" >}}).
|
||||
When you create a user, the system assigns the user viewer permissions in a default organization, which you can change. You can now [add a user to a second organization]({{< relref "add-remove-user-to-org.md" >}}).
|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../../manage-users-and-permissions/manage-org-users/invite-user-join-org.md" >}}).
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still add users by [inviting a user to join an organization]({{< relref "../manage-org-users/invite-user-join-org.md" >}}).
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/"]
|
||||
title = "Assign or remove Grafana server administrator privileges"
|
||||
weight = 20
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/assign-remove-server-admin-privileges/
|
||||
title: Assign or remove Grafana server administrator privileges
|
||||
weight: 20
|
||||
---
|
||||
|
||||
# Assign or remove Grafana server administrator privileges
|
||||
|
||||
@@ -12,7 +13,7 @@ Grafana server administrators are responsible for creating users, organizations,
|
||||
|
||||
## Before you begin
|
||||
|
||||
- [Add a user]({{< relref "./add-user.md" >}})
|
||||
- [Add a user]({{< relref "add-user.md" >}})
|
||||
- Ensure you have Grafana server administrator privileges
|
||||
|
||||
**To assign or remove Grafana administrator privileges**:
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/"]
|
||||
title = "Change a user's organization permissions"
|
||||
weight = 50
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/change-user-org-permissions/
|
||||
title: Change a user's organization permissions
|
||||
weight: 50
|
||||
---
|
||||
|
||||
# Change a user's organization permissions
|
||||
|
||||
@@ -10,7 +11,7 @@ Update organization permissions when you want to enhance or restrict a user's ac
|
||||
|
||||
## Before you begin
|
||||
|
||||
- [Add a user to an organization]({{< relref "./add-remove-user-to-org.md" >}})
|
||||
- [Add a user to an organization]({{< relref "add-remove-user-to-org.md" >}})
|
||||
- Ensure you have Grafana server administrator privileges
|
||||
|
||||
**To change a user's organization permissions**:
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/"]
|
||||
title = "Force a user to logout from Grafana"
|
||||
weight = 90
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/force-user-logout/
|
||||
title: Force a user to logout from Grafana
|
||||
weight: 90
|
||||
---
|
||||
|
||||
# Force a user to log out of Grafana
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/"]
|
||||
title = "Grant editors administrator permissions"
|
||||
weight = 60
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/grant-editor-admin-permissions/
|
||||
title: Grant editors administrator permissions
|
||||
weight: 60
|
||||
---
|
||||
|
||||
# Grant editors administrator permissions
|
||||
|
||||
@@ -25,7 +26,7 @@ When `editors_can_admin` is enabled:
|
||||
|
||||
1. Log in to the Grafana server and open the Grafana configuration file.
|
||||
|
||||
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration" >}}).
|
||||
For more information about the Grafana configuration file and its location, refer to [Configuration]({{< relref "../../../administration/configuration/" >}}).
|
||||
|
||||
1. Locate the `editors_can_admin` parameter.
|
||||
1. Set the `editors_can_admin` value to `true`.
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
+++
|
||||
aliases = ["/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/"]
|
||||
title = "View and edit a user account"
|
||||
weight = 110
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /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/
|
||||
title: View and edit a user account
|
||||
weight: 110
|
||||
---
|
||||
|
||||
# View user details
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/"]
|
||||
title = "View a list of users"
|
||||
weight = 100
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/manage-users-and-permissions/manage-server-users/view-list-users/
|
||||
title: View a list of users
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# View a list of users
|
||||
|
||||
@@ -19,4 +20,4 @@ You can see a list of users with accounts on your Grafana server. This action mi
|
||||
|
||||

|
||||
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [view of list of users in a given organization]({{< relref "../../manage-users-and-permissions/manage-org-users/view-list-org-users.md" >}}).
|
||||
> **Note:** If you have [organization administrator]({{< relref "../about-users-and-permissions.md#organization-roles" >}}) permissions and _not_ [server administrator]({{< relref "../about-users-and-permissions.md#grafana-server-administrators" >}}) permissions, you can still [view of list of users in a given organization]({{< relref "../manage-org-users/view-list-org-users.md" >}}).
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
+++
|
||||
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/"]
|
||||
title = "Manage teams"
|
||||
weight = 600
|
||||
+++
|
||||
---
|
||||
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/
|
||||
title: Manage teams
|
||||
weight: 600
|
||||
---
|
||||
|
||||
# Manage teams
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/preferences/"]
|
||||
title = "Preferences"
|
||||
weight = 50
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/preferences/
|
||||
title: Preferences
|
||||
weight: 50
|
||||
---
|
||||
|
||||
# Grafana preferences
|
||||
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-name/"]
|
||||
keywords = ["grafana", "configuration", "documentation", "home"]
|
||||
title = "Change name and email"
|
||||
weight = 100
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/preferences/change-grafana-name/
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- documentation
|
||||
- home
|
||||
title: Change name and email
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Change Grafana name and email
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-theme/"]
|
||||
description = "How to set the Grafana UI theme"
|
||||
keywords = ["grafana", "configuration", "documentation", "home"]
|
||||
title = "Change UI theme"
|
||||
weight = 200
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/preferences/change-grafana-theme/
|
||||
description: How to set the Grafana UI theme
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- documentation
|
||||
- home
|
||||
title: Change UI theme
|
||||
weight: 200
|
||||
---
|
||||
|
||||
# Change Grafana UI theme
|
||||
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/preferences/change-grafana-timezone/"]
|
||||
description = "How to change your Grafana timezone"
|
||||
keywords = ["grafana", "configuration", "documentation", "home"]
|
||||
title = "Change default timezone"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/preferences/change-grafana-timezone/
|
||||
description: How to change your Grafana timezone
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- documentation
|
||||
- home
|
||||
title: Change default timezone
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Change the Grafana default timezone
|
||||
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/change-home-dashboard/", "/docs/grafana/latest/administration/preferences/change-home-dashboard/"]
|
||||
description = "How to replace the default home dashboard"
|
||||
keywords = ["grafana", "configuration", "documentation", "home"]
|
||||
title = "Change home dashboard"
|
||||
weight = 300
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/change-home-dashboard/
|
||||
- /docs/grafana/latest/administration/preferences/change-home-dashboard/
|
||||
description: How to replace the default home dashboard
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- documentation
|
||||
- home
|
||||
title: Change home dashboard
|
||||
weight: 300
|
||||
---
|
||||
|
||||
# Change the default home dashboard
|
||||
|
||||
|
||||
@@ -1,10 +1,14 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/provisioning/", "/docs/grafana/latest/installation/provisioning/"]
|
||||
description = ""
|
||||
keywords = ["grafana", "provisioning"]
|
||||
title = "Provisioning"
|
||||
weight = 800
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/provisioning/
|
||||
- /docs/grafana/latest/installation/provisioning/
|
||||
description: ''
|
||||
keywords:
|
||||
- grafana
|
||||
- provisioning
|
||||
title: Provisioning
|
||||
weight: 800
|
||||
---
|
||||
|
||||
# Provisioning Grafana
|
||||
|
||||
@@ -94,8 +98,6 @@ datasources:
|
||||
uid: my_unique_uid
|
||||
# <string> url
|
||||
url: http://localhost:8080
|
||||
# <string> Deprecated, use secureJsonData.password
|
||||
password:
|
||||
# <string> database user, if used
|
||||
user:
|
||||
# <string> database name, if used
|
||||
@@ -104,8 +106,6 @@ datasources:
|
||||
basicAuth:
|
||||
# <string> basic auth username
|
||||
basicAuthUser:
|
||||
# <string> Deprecated, use secureJsonData.basicAuthPassword
|
||||
basicAuthPassword:
|
||||
# <bool> enable/disable with credentials headers
|
||||
withCredentials:
|
||||
# <bool> mark as default datasource. Max one per org
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/security/", "/docs/grafana/latest/installation/security/"]
|
||||
description = "Security Docs"
|
||||
keywords = ["grafana", "security", "documentation"]
|
||||
title = "Security"
|
||||
weight = 500
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/security/
|
||||
- /docs/grafana/latest/installation/security/
|
||||
description: Security Docs
|
||||
keywords:
|
||||
- grafana
|
||||
- security
|
||||
- documentation
|
||||
title: Security
|
||||
weight: 500
|
||||
---
|
||||
|
||||
# Security
|
||||
|
||||
@@ -18,7 +23,7 @@ You can configure Grafana to only allow certain IP addresses or hostnames to be
|
||||
|
||||
## Request security
|
||||
|
||||
The request security configuration option allows users to limit requests from the Grafana server. It targets requests that are generated by users. For more information, refer to [Request security]({{< relref "../enterprise/request-security.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise" >}}).
|
||||
The request security configuration option allows users to limit requests from the Grafana server. It targets requests that are generated by users. For more information, refer to [Request security]({{< relref "../enterprise/request-security.md" >}}) in [Grafana Enterprise]({{< relref "../enterprise/" >}}).
|
||||
|
||||
> **Note:** Request security is available in Grafana Enterprise v7.4 and later versions.
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ weight: 30
|
||||
|
||||
A service account can be used to run automated workloads in Grafana, like dashboard provisioning, configuration, or report generation. Create service accounts and tokens to authenticate applications like Terraform with the Grafana API.
|
||||
|
||||
> **Note:** Service accounts are available in Grafana 8.5+ as a beta feature. To enable service accounts, refer to [Enable service accounts]({{< relref "./enable-service-accounts.md#" >}}) section. Service accounts will eventually replace [API keys]({{< relref "../api-keys/_index.md" >}}) as the primary way to authenticate applications that interact with Grafana.
|
||||
> **Note:** Service accounts are available in Grafana 8.5+ as a beta feature. To enable service accounts, refer to [Enable service accounts]({{< relref "enable-service-accounts.md#" >}}) section. Service accounts will eventually replace [API keys]({{< relref "../api-keys/_index.md" >}}) as the primary way to authenticate applications that interact with Grafana.
|
||||
|
||||
A common use case for creating a service account is to perform operations on automated or triggered tasks. You can use service accounts to:
|
||||
|
||||
@@ -46,4 +46,4 @@ The added benefits of service accounts to API keys include:
|
||||
- Service accounts resemble Grafana users and can be enabled/disabled, granted specific permissions, and remain active until they are deleted or disabled. API keys are only valid until their expiry date.
|
||||
- Service accounts can be associated with multiple tokens.
|
||||
- Unlike API keys, service account tokens are not associated with a specific user, which means that applications can be authenticated even if a Grafana user is deleted.
|
||||
- You can grant granular permissions to service accounts by leveraging [fine-grained access control]({{< relref "../../enterprise/access-control" >}}). For more information about permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#" >}}).
|
||||
- You can grant granular permissions to service accounts by leveraging [fine-grained access control]({{< relref "../../enterprise/access-control/" >}}). For more information about permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#" >}}).
|
||||
|
||||
@@ -9,13 +9,13 @@ weight: 60
|
||||
|
||||
# Add a token to a service account in Grafana
|
||||
|
||||
A service account token is a generated random string that acts as an alternative to a password when authenticating with Grafana’s HTTP API. For more information about service accounts, refer to [About service accounts in Grafana]({{< relref "./about-service-accounts.md" >}}).
|
||||
A service account token is a generated random string that acts as an alternative to a password when authenticating with Grafana’s HTTP API. For more information about service accounts, refer to [About service accounts in Grafana]({{< relref "about-service-accounts.md" >}}).
|
||||
|
||||
You can create a service account token using the Grafana UI or via the API. For more information about creating a service account token via the API, refer to [Create service account tokens using the HTTP API]({{< relref "../../developers/http_api/serviceaccount.md#create-service-account-tokens" >}}).
|
||||
|
||||
## Before you begin
|
||||
|
||||
- Ensure you have added the `serviceAccounts` feature toggle to Grafana. For more information about adding the feature toggle, refer to [Enable service accounts]({{< relref "./enable-service-accounts.md#" >}}).
|
||||
- Ensure you have added the `serviceAccounts` feature toggle to Grafana. For more information about adding the feature toggle, refer to [Enable service accounts]({{< relref "enable-service-accounts.md#" >}}).
|
||||
- Ensure you have permission to create and edit service accounts. By default, the organization administrator role is required to create and edit service accounts. For more information about user permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#" >}}).
|
||||
|
||||
## To add a token to a service account
|
||||
|
||||
@@ -11,13 +11,13 @@ weight: 50
|
||||
|
||||
# Create a service account in Grafana
|
||||
|
||||
A service account can be used to run automated workloads in Grafana, like dashboard provisioning, configuration, or report generation. For more information about how you can use service accounts, refer to [About service accounts]({{< relref "../service-accounts/about-service-accounts.md#" >}}).
|
||||
A service account can be used to run automated workloads in Grafana, like dashboard provisioning, configuration, or report generation. For more information about how you can use service accounts, refer to [About service accounts]({{< relref "about-service-accounts.md#" >}}).
|
||||
|
||||
For more information about creating service accounts via the API, refer to [Create a service account in the HTTP API]({{< relref "../../developers/http_api/serviceaccount.md#create-service-account" >}}).
|
||||
|
||||
## Before you begin
|
||||
|
||||
- Ensure you have added the feature toggle for service accounts `serviceAccounts`. For more information about adding the feature toggle, refer to [Enable service accounts]({{< relref "./enable-service-accounts.md#" >}}).
|
||||
- Ensure you have added the feature toggle for service accounts `serviceAccounts`. For more information about adding the feature toggle, refer to [Enable service accounts]({{< relref "enable-service-accounts.md#" >}}).
|
||||
- Ensure you have permission to create and edit service accounts. By default, the organization administrator role is required to create and edit service accounts. For more information about user permissions, refer to [About users and permissions]({{< relref "../manage-users-and-permissions/about-users-and-permissions.md#" >}}).
|
||||
|
||||
## To create a service account
|
||||
|
||||
@@ -25,7 +25,7 @@ You can enable service accounts by:
|
||||
This topic shows you how to enable service accounts by modifying the Grafana configuration file.
|
||||
|
||||
1. Sign in to the Grafana server and locate the configuration file. For more information about finding the configuration file, refer to LINK.
|
||||
2. Open the configuration file and locate the [feature toggles section]({{< relref "../../administration/configuration.md#feature_toggles" >}}). Add `serviceAccounts` as a [feature_toggle]({{< relref "../../administration/configuration.md#feature_toggle" >}}).
|
||||
2. Open the configuration file and locate the [feature toggles section]({{< relref "../configuration.md#feature_toggles" >}}). Add `serviceAccounts` as a [feature_toggle]({{< relref "../configuration.md#feature_toggle" >}}).
|
||||
|
||||
```
|
||||
[feature_toggles]
|
||||
@@ -39,6 +39,6 @@ enable = serviceAccounts
|
||||
|
||||
This topic shows you how to enable service accounts by setting environment variables before starting Grafana.
|
||||
|
||||
Follow the instructions to [override configuration with environment variables]({{< relref "../../administration/configuration.md#override-configuration-with-environment-variables" >}}). Set the following environment variable: `GF_FEATURE_TOGGLES_ENABLE = serviceAccounts`.
|
||||
Follow the instructions to [override configuration with environment variables]({{< relref "../configuration.md#override-configuration-with-environment-variables" >}}). Set the following environment variable: `GF_FEATURE_TOGGLES_ENABLE = serviceAccounts`.
|
||||
|
||||
> **Note:** Environment variables override configuration file settings.
|
||||
|
||||
@@ -1,9 +1,15 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/set-up-for-high-availability/", "/docs/grafana/latest/tutorials/ha_setup/"]
|
||||
keywords = ["grafana", "tutorials", "HA", "high availability"]
|
||||
title = "Set up Grafana for high availability"
|
||||
weight = 1200
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/set-up-for-high-availability/
|
||||
- /docs/grafana/latest/tutorials/ha_setup/
|
||||
keywords:
|
||||
- grafana
|
||||
- tutorials
|
||||
- HA
|
||||
- high availability
|
||||
title: Set up Grafana for high availability
|
||||
weight: 1200
|
||||
---
|
||||
|
||||
# Set up Grafana for high availability
|
||||
|
||||
@@ -17,7 +23,7 @@ and other persistent data. So the default embedded SQLite database will not work
|
||||
## Configure multiple servers to use the same database
|
||||
|
||||
First, you need to set up MySQL or Postgres on another server and configure Grafana to use that database.
|
||||
You can find the configuration for doing that in the [[database]]({{< relref "../administration/configuration.md#database" >}}) section in the Grafana config.
|
||||
You can find the configuration for doing that in the [[database]]({{< relref "configuration.md#database" >}}) section in the Grafana config.
|
||||
Grafana will now persist all long term data in the database. How to configure the database for high availability is out of scope for this guide. We recommend finding an expert on the database you're using.
|
||||
|
||||
## Alerting high availability
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/administration/view-server/"]
|
||||
title = "View server"
|
||||
weight = 100
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/administration/view-server/
|
||||
title: View server
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# View server information
|
||||
|
||||
|
||||
@@ -1,16 +1,21 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/admin/metrics/", "/docs/grafana/latest/administration/view-server/internal-metrics/"]
|
||||
description = "Internal metrics exposed by Grafana"
|
||||
keywords = ["grafana", "metrics", "internal metrics"]
|
||||
title = "Internal Grafana metrics"
|
||||
weight = 200
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/admin/metrics/
|
||||
- /docs/grafana/latest/administration/view-server/internal-metrics/
|
||||
description: Internal metrics exposed by Grafana
|
||||
keywords:
|
||||
- grafana
|
||||
- metrics
|
||||
- internal metrics
|
||||
title: Internal Grafana metrics
|
||||
weight: 200
|
||||
---
|
||||
|
||||
# Internal Grafana metrics
|
||||
|
||||
Grafana collects some metrics about itself internally. Grafana supports pushing metrics to Graphite or exposing them to be scraped by Prometheus.
|
||||
|
||||
For more information about configuration options related to Grafana metrics, refer to [metrics]({{< relref "../../administration/configuration/#metrics" >}}) and [metrics.graphite]({{< relref "../../administration/configuration/#metrics-graphite" >}}) in [Configuration]({{< relref "../../administration/configuration.md" >}}).
|
||||
For more information about configuration options related to Grafana metrics, refer to [metrics]({{< relref "../../administration/configuration/#metrics" >}}) and [metrics.graphite]({{< relref "../../administration/configuration/#metrics-graphite" >}}) in [Configuration]({{< relref "../configuration.md" >}}).
|
||||
|
||||
## Available metrics
|
||||
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/admin/view-server-settings/", "/docs/grafana/latest/administration/view-server/view-server-settings/"]
|
||||
description = "How to view server settings in the Grafana UI"
|
||||
keywords = ["grafana", "configuration", "server", "settings"]
|
||||
title = "View server settings"
|
||||
weight = 300
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/admin/view-server-settings/
|
||||
- /docs/grafana/latest/administration/view-server/view-server-settings/
|
||||
description: How to view server settings in the Grafana UI
|
||||
keywords:
|
||||
- grafana
|
||||
- configuration
|
||||
- server
|
||||
- settings
|
||||
title: View server settings
|
||||
weight: 300
|
||||
---
|
||||
|
||||
# View Grafana server settings
|
||||
|
||||
|
||||
@@ -1,9 +1,14 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/admin/view-server-stats/", "/docs/grafana/latest/administration/view-server/view-server-stats/"]
|
||||
keywords = ["grafana", "server", "statistics"]
|
||||
title = "View server stats"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/admin/view-server-stats/
|
||||
- /docs/grafana/latest/administration/view-server/view-server-stats/
|
||||
keywords:
|
||||
- grafana
|
||||
- server
|
||||
- statistics
|
||||
title: View server stats
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# View Grafana server stats
|
||||
|
||||
|
||||
@@ -1,8 +1,10 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/", "/docs/grafana/latest/alerting/unified-alerting/difference-old-new/"]
|
||||
title = "Alerting"
|
||||
weight = 114
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting/
|
||||
title: Alerting
|
||||
weight: 114
|
||||
---
|
||||
|
||||
# Grafana alerting
|
||||
|
||||
@@ -18,18 +20,19 @@ For new installations or existing installs without alerting configured, Grafana
|
||||
| ----------- | ------------- | ------------- | ------------- |
|
||||
| Grafana 9.0 | On by default | On by default | On by default |
|
||||
|
||||
- For existing OSS installations with legacy dashboard alerting, you can [opt-in]({{< relref "./opt-in.md" >}}) to Grafana alerting.
|
||||
- For Grafana Cloud instances using legacy cloud alerting, contact customer support to migrate to Grafana alerting.
|
||||
Existing installations that upgrade to v9.0 will have Grafana alerting enabled by default. For more information on migrating from legacy or the cloud alerting plugin, see [Migrating to Grafana alerting]({{< relref "./migrating-alerts/_index.md" >}}).
|
||||
|
||||
Before you begin, we recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "./fundamentals/_index.md" >}}) of Grafana alerting. Refer to [Role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to learn more about controlling access to alerts using role-based permissions.
|
||||
Before you begin, we recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "fundamentals/_index.md" >}}) of Grafana alerting. Refer to [Role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) in Grafana Enterprise to learn more about controlling access to alerts using role-based permissions.
|
||||
|
||||
- [Enable Grafana alerting in OSS]({{< relref "./opt-in.md" >}})
|
||||
- [Migrating legacy alerts]({{< relref "./migrating-legacy-alerts.md" >}})
|
||||
- [About alert rules]({{< relref "./fundamentals/alert-rules/_index.md" >}})
|
||||
- [Migrating legacy alerts]({{< relref "./migrating-alerts/_index.md" >}})
|
||||
- [Disable Grafana alerting in OSS]({{< relref "./migrating-alerts/opt-out.md" >}})
|
||||
- [Create Grafana managed alerting rules]({{< relref "alerting-rules/create-grafana-managed-rule.md" >}})
|
||||
- [Create Grafana Mimir or Loki managed alerting rules]({{< relref "alerting-rules/create-mimir-loki-managed-rule.md" >}})
|
||||
- [View existing alerting rules and manage their current state]({{< relref "alerting-rules/rule-list.md" >}})
|
||||
- [View the state and health of alerting rules]({{< relref "./fundamentals/state-and-health.md" >}})
|
||||
- [View alert groupings]({{< relref "./alert-groups/_index.md" >}})
|
||||
- [Add or edit an alert contact point]({{< relref "./contact-points/_index.md" >}})
|
||||
- [Add or edit notification policies]({{< relref "./notifications/_index.md" >}})
|
||||
- [Add or edit silences]({{< relref "./silences/_index.md" >}})
|
||||
- [View the state and health of alerting rules]({{< relref "fundamentals/state-and-health.md" >}})
|
||||
- [View alert groupings]({{< relref "alert-groups/_index.md" >}})
|
||||
- [Add or edit an alert contact point]({{< relref "contact-points/_index.md" >}})
|
||||
- [Add or edit notification policies]({{< relref "notifications/_index.md" >}})
|
||||
- [Add or edit silences]({{< relref "silences/_index.md" >}})
|
||||
- [Performance considerations for alerting]({{< relref "performance.md" >}})
|
||||
|
||||
33
docs/sources/alerting/about-alerting.md
Normal file
33
docs/sources/alerting/about-alerting.md
Normal file
@@ -0,0 +1,33 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/about-alerting/
|
||||
description: A quick overview of Grafana alerting
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- overview
|
||||
- concepts
|
||||
- basics
|
||||
title: About Grafana alerting
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# About Grafana alerting
|
||||
|
||||
Grafana Alerting consists of several individual concepts that are at the core of a flexible and powerful alerting engine.
|
||||
|
||||
This topic explains how to create [alert rules]({{< relref "./fundamentals/alert-rules/_index.md" >}}), their relationship with [alert instances]({{< relref "./fundamentals/alert-rules/alert-instances.md" >}}) and the various alert rule [states and transitions]({{< relref "./fundamentals/state-and-health.md" >}}), [notification policies]({{< relref "./notifications/_index.md" >}}) and [contact points]({{< relref "./contact-points/_index.md" >}}).
|
||||
|
||||
These three individual concepts are the minimum necessities to successfully create alerts and receive notifications.
|
||||
|
||||
We will also touch on various other concepts such as [silences]({{< relref "./silences/_index.md" >}}) and [mute timings]({{< relref "./notifications/mute-timings.md" >}}) to more granularly manage alert notifications, [role-based access control]({{< relref "../enterprise/access-control/_index.md" >}}) to limit access and manage permissions and additional advanced topics such as [external alertmanagers]({{< relref "./fundamentals/alertmanager.md#add-a-new-external-alertmanager" >}}) and [high availability]({{< relref "./high-availability/_index.md" >}}).
|
||||
|
||||
## Overview
|
||||
|
||||
{{< figure src="/static/img/docs/alerting/unified/about-alerting-flow-diagram.jpg" caption="Grafana alerting overview" >}}
|
||||
|
||||
As shown in the diagram above, Grafana alerting uses [labels]({{< relref "./fundamentals/annotation-label/how-to-use-labels.md" >}}) to match an alert rule and its instances to a specific notification policy. This concept of labels and label matching is important and is also used in [silences]({{< relref "./silences/_index.md" >}}).
|
||||
|
||||
Each notification policy specifies a set of [label matchers]({{< relref "./fundamentals/annotation-label/labels-and-label-matchers.md" >}}) to indicate what alerts they are responsible for.
|
||||
|
||||
A notification policy has a [contact point]({{< relref "./contact-points/_index.md" >}}) assigned to it that consists of one or more [notifiers]({{< relref "./contact-points/_index.md#list-of-notifiers-supported-by-grafana" >}}).
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Alert groups"
|
||||
description = "Alert groups"
|
||||
keywords = ["grafana", "alerting", "alerts", "groups"]
|
||||
weight = 445
|
||||
aliases = ["/docs/grafana/latest/alerting/unified-alerting/alert-groups/"]
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
|
||||
description: Alert groups
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- alerts
|
||||
- groups
|
||||
title: Alert groups
|
||||
weight: 445
|
||||
---
|
||||
|
||||
# Alert groups
|
||||
|
||||
@@ -12,5 +17,5 @@ Alert groups show grouped alerts from an Alertmanager instance. By default, the
|
||||
|
||||
For more information, see:
|
||||
|
||||
- [View alert groupings]({{< relref "./view-alert-grouping.md" >}})
|
||||
- [Filter alerts by group]({{< relref "./filter-alerts.md" >}})
|
||||
- [View alert groupings]({{< relref "view-alert-grouping.md" >}})
|
||||
- [Filter alerts by group]({{< relref "filter-alerts.md" >}})
|
||||
|
||||
@@ -1,10 +1,15 @@
|
||||
+++
|
||||
title = "Filter alerts"
|
||||
description = "Alert groups"
|
||||
keywords = ["grafana", "alerting", "alerts", "groups"]
|
||||
weight = 445
|
||||
aliases = ["/docs/grafana/latest/alerting/unified-alerting/alert-groups/"]
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
|
||||
description: Alert groups
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- alerts
|
||||
- groups
|
||||
title: Filter alerts
|
||||
weight: 445
|
||||
---
|
||||
|
||||
# Filter alerts by group
|
||||
|
||||
|
||||
@@ -1,10 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/alert-groups/", "/docs/grafana/latest/alerting/unified-alerting/alert-groups/"]
|
||||
description = "Alert groups"
|
||||
keywords = ["grafana", "alerting", "alerts", "groups"]
|
||||
title = "View alert groupings"
|
||||
weight = 445
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alert-groups/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alert-groups/
|
||||
description: Alert groups
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- alerts
|
||||
- groups
|
||||
title: View alert groupings
|
||||
weight: 445
|
||||
---
|
||||
|
||||
# View alert groupings
|
||||
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/alerting-limitations/"]
|
||||
title = "Limitations"
|
||||
weight = 552
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-limitations/
|
||||
title: Limitations
|
||||
weight: 552
|
||||
---
|
||||
|
||||
# Limitations
|
||||
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/alerting-rules/", "/docs/grafana/latest/alerting/rules/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/"]
|
||||
title = "Create and manage rules"
|
||||
weight = 130
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/
|
||||
- /docs/grafana/latest/alerting/rules/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/
|
||||
title: Create and manage rules
|
||||
weight: 130
|
||||
---
|
||||
|
||||
# Create and manage Grafana alerting rules
|
||||
|
||||
@@ -12,9 +15,9 @@ While queries and expressions select the data set to evaluate, a condition sets
|
||||
|
||||
You can:
|
||||
|
||||
- [Create Grafana Mimir or Loki managed alert rule]({{< relref "./create-mimir-loki-managed-rule.md" >}})
|
||||
- [Create Grafana Mimir or Loki managed recording rule]({{< relref "./create-mimir-loki-managed-recording-rule.md" >}})
|
||||
- [Edit Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}})
|
||||
- [Create Grafana managed alert rule]({{< relref "./create-grafana-managed-rule.md" >}})
|
||||
- [Create Grafana Mimir or Loki managed alert rule]({{< relref "create-mimir-loki-managed-rule.md" >}})
|
||||
- [Create Grafana Mimir or Loki managed recording rule]({{< relref "create-mimir-loki-managed-recording-rule.md" >}})
|
||||
- [Edit Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group.md" >}})
|
||||
- [Create Grafana managed alert rule]({{< relref "create-grafana-managed-rule.md" >}})
|
||||
- [State and health of alerting rules]({{< relref "../fundamentals/state-and-health.md" >}})
|
||||
- [Manage alerting rules]({{< relref "./rule-list.md" >}})
|
||||
- [Manage alerting rules]({{< relref "rule-list.md" >}})
|
||||
|
||||
@@ -1,41 +1,48 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/"]
|
||||
description = "Create Grafana managed alert rule"
|
||||
keywords = ["grafana", "alerting", "guide", "rules", "create"]
|
||||
title = "Create Grafana managed alert rule"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/create-grafana-managed-rule/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/create-grafana-managed-rule/
|
||||
description: Create Grafana managed alert rule
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- rules
|
||||
- create
|
||||
title: Create Grafana managed alert rule
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Create a Grafana managed alerting rule
|
||||
|
||||
Grafana allows you to create alerting rules that query one or more data sources, reduce or transform the results and compare them to each other or to fix thresholds. When these are executed, Grafana sends notifications to the contact point.
|
||||
Grafana allows you to create alerting rules that query one or more data sources, reduce or transform the results and compare them to each other or to fix thresholds. When these are executed, Grafana sends notifications to the contact point. For information on Grafana alerting, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting.
|
||||
|
||||
## Add Grafana managed rule
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. Click **New alert rule**.
|
||||
1. In Step 1, add the rule name, type, and storage location.
|
||||
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
|
||||
- From the **Rule type** drop-down, select **Grafana managed alert**.
|
||||
- From the **Folder** drop-down, select the folder where you want to store the rule. If you do not select a folder, the rule is stored in the General folder. To create a new folder, click the drop-down and enter the new folder name.
|
||||
1. In Step 2, add queries and expressions to evaluate.
|
||||
- Keep the default name or hover over and click the edit icon to change the name.
|
||||
1. Click **New alert rule**. The new alerting rule page opens where the Grafana managed alerts option is selected by default.
|
||||
1. In Step 1, add queries and expressions to evaluate, and then select the alert condition.
|
||||
- For queries, select a data source from the drop-down.
|
||||
- Add one or more [queries]({{< relref "../../panels/query-a-data-source/add-a-query.md" >}}) or [expressions]({{< relref "../../panels/query-a-data-source/use-expressions-to-manipulate-data/about-expressions.md" >}}).
|
||||
- For each expression, select either **Classic condition** to create a single alert rule, or choose from **Math**, **Reduce**, **Resample** options to generate separate alert for each series. For details on these options, see [Single and multi dimensional rule](#single-and-multi-dimensional-rule).
|
||||
- Click **Run queries** to verify that the query is successful.
|
||||
1. In Step 3, add conditions.
|
||||
- Next, select the query or expression for your alert condition.
|
||||
1. In Step 2, specify the alert evaluation interval.
|
||||
- From the **Condition** drop-down, select the query or expression to trigger the alert rule.
|
||||
- For **Evaluate every**, specify the frequency of evaluation. Must be a multiple of 10 seconds. For examples, `1m`, `30s`.
|
||||
- For **Evaluate for**, specify the duration for which the condition must be true before an alert fires.
|
||||
> **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the Firing state, else it reverts back to the Normal state.
|
||||
> **Note:** Once a condition is breached, the alert goes into the Pending state. If the condition remains breached for the duration specified, the alert transitions to the `Firing` state, otherwise it reverts back to the `Normal` state.
|
||||
- In **Configure no data and error handling**, configure alerting behavior in the absence of data. Use the guidelines in [No data and error handling](#no-data-and-error-handling).
|
||||
- Click **Preview alerts** to check the result of running the query at this moment. Preview excludes no data and error handling.
|
||||
1. In Step 4, add additional metadata associated with the rule.
|
||||
1. In Step 3, add the rule name, storage location, rule group, as well as additional metadata associated with the rule.
|
||||
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
|
||||
- From the **Folder** drop-down, select the folder where you want to store the rule.
|
||||
- For **Group**, specify a pre-defined group. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
|
||||
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}).
|
||||
- Add Runbook URL, panel, dashboard, and alert IDs.
|
||||
- Add custom labels.
|
||||
1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page.
|
||||
1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule.
|
||||
|
||||
### Single and multi dimensional rule
|
||||
|
||||
|
||||
@@ -1,10 +1,19 @@
|
||||
+++
|
||||
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/"]
|
||||
description = "Create Grafana Mimir or Loki managed recording rule"
|
||||
keywords = ["grafana", "alerting", "guide", "rules", "recording rules", "create"]
|
||||
title = "Create Grafana Mimir or Loki managed recording rule"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
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/
|
||||
description: Create Grafana Mimir or Loki managed recording rule
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- rules
|
||||
- recording rules
|
||||
- create
|
||||
title: Create Grafana Mimir or Loki managed recording rule
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Create a Grafana Mimir or Loki managed recording rule
|
||||
|
||||
@@ -12,16 +21,35 @@ You can create and manage recording rules for an external Grafana Mimir or Loki
|
||||
|
||||
## Before you begin
|
||||
|
||||
For Grafana Mimir and Loki data sources to work with Grafana 8.0 alerting, enable the ruler API by configuring their respective services.
|
||||
- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
|
||||
|
||||
**Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
|
||||
- For Grafana Mimir and Loki data sources, enable the ruler API by configuring their respective services.
|
||||
|
||||
**Grafana Mimir** - When configuring a Grafana Prometheus data source to point to Grafana Mimir, use the legacy `/api/prom` prefix, not `/prometheus`. Currently, we support only single-binary mode and you cannot provide a separate URL for the ruler API.
|
||||
- **Loki** - The `local` rule storage type, default for the Loki data source, supports only viewing of rules. To edit rules, configure one of the other rule storage types.
|
||||
|
||||
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings page and clear the **Manage alerts via Alerting UI** checkbox.
|
||||
- **Grafana Mimir** - use the [legacy `/api/prom` prefix](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#path-prefixes), not `/prometheus`. The Prometheus data source supports both Grafana Mimir and Prometheus, and Grafana expects that both the [Query API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#querier--query-frontend) and [Ruler API](https://grafana.com/docs/mimir/latest/operators-guide/reference-http-api/#ruler) are under the same URL. You cannot provide a separate URL for the Ruler API.
|
||||
|
||||
> **Note:** If you do not want to manage alerting rules for a particular Loki or Prometheus data source, go to its settings and clear the **Manage alerts via Alerting UI** checkbox.
|
||||
|
||||
## Add a Grafana Mimir or Loki managed recording rule
|
||||
|
||||
To create a Grafana Mimir or Loki managed recording rule
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. Click **New alert rule**. The new alerting rule page opens where the **Grafana managed alert** option is selected by default.
|
||||
1. In Step 1, select **Mimir or Loki recording rule** option.
|
||||
- Select your Loki or Prometheus data source, add the query to evaluate, and then select the alert condition.
|
||||
- Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
|
||||
1. In Step 2, add the rule name, namespace, rule group, as well as additional metadata associated with the rule.
|
||||
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
|
||||
- From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click Add new and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}).
|
||||
- From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
|
||||
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}).
|
||||
- Add Runbook URL, panel, dashboard, and alert IDs.
|
||||
- Add custom labels.
|
||||
1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page.
|
||||
1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule.
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. Click **New alert rule**.
|
||||
1. In Step 1, add the rule name, type, and storage location.
|
||||
|
||||
@@ -1,18 +1,26 @@
|
||||
+++
|
||||
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/"]
|
||||
description = "Create Grafana Mimir or Loki managed alerting rule"
|
||||
keywords = ["grafana", "alerting", "guide", "rules", "create"]
|
||||
title = "Create Grafana Mimir or Loki managed alert rule"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
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/
|
||||
description: Create Grafana Mimir or Loki managed alerting rule
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- rules
|
||||
- create
|
||||
title: Create Grafana Mimir or Loki managed alert rule
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Create a Grafana Mimir or Loki managed alerting rule
|
||||
|
||||
Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance.
|
||||
Grafana allows you to create alerting rules for an external Grafana Mimir or Loki instance that has ruler API enabled. For information on Grafana alerting, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting.
|
||||
|
||||
## Before you begin
|
||||
|
||||
- Verify that you have write permission to the Prometheus data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
|
||||
- Verify that you have write permission to the Prometheus or Loki data source. Otherwise, you will not be able to create or update Grafana Mimir managed alerting rules.
|
||||
|
||||
- For Grafana Mimir and Loki data sources, enable the ruler API by configuring their respective services.
|
||||
|
||||
@@ -25,23 +33,19 @@ Grafana allows you to create alerting rules for an external Grafana Mimir or Lok
|
||||
## Add a Grafana Mimir or Loki managed alerting rule
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. Click **New alert rule**.
|
||||
1. In Step 1, add the rule name, type, and storage location.
|
||||
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
|
||||
- From the **Rule type** drop-down, select **Mimir / Loki managed alert**.
|
||||
- From the **Select data source** drop-down, select an external Prometheus, an external Loki, or a Grafana Cloud data source.
|
||||
- From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "./edit-mimir-loki-namespace-group.md" >}}).
|
||||
- From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
|
||||
{{< figure src="/static/img/docs/alerting/unified/rule-edit-mimir-alert-type-8-0.png" max-width="550px" caption="Alert details" >}}
|
||||
1. In Step 2, add the query to evaluate.
|
||||
- Enter a PromQL or LogQL expression. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
|
||||
{{< figure src="/static/img/docs/alerting/unified/rule-edit-mimir-query-8-0.png" max-width="550px" caption="Alert details" >}}
|
||||
1. In Step 3, add conditions.
|
||||
1. Click **New alert rule**. The new alerting rule page opens where the Grafana managed alerts option is selected by default.
|
||||
1. In Step 1, select **Mimir or Loki alert** option.
|
||||
- Next, select your Loki or Prometheus data source and add the query to evaluate.
|
||||
- Enter a PromQL or LogQL expression to query. The rule fires if the evaluation result has at least one series with a value that is greater than 0. An alert is created for each series.
|
||||
1. In Step 2, specify the alert evaluation interval.
|
||||
- In the **For** text box, specify the duration for which the condition must be true before an alert fires. If you specify `5m`, the condition must be true for 5 minutes before the alert fires.
|
||||
> **Note:** Once a condition is met, the alert goes into the `Pending` state. If the condition remains active for the duration specified, the alert transitions to the `Firing` state, else it reverts to the `Normal` state.
|
||||
1. In Step 4, add additional metadata associated with the rule.
|
||||
1. In Step 3, add the rule name, namespace, rule group, as well as additional metadata associated with the rule.
|
||||
- In **Rule name**, add a descriptive name. This name is displayed in the alert rule list. It is also the `alertname` label for every alert instance that is created from this rule.
|
||||
- From the **Namespace** drop-down, select an existing rule namespace. Otherwise, click **Add new** and enter a name to create a new one. Namespaces can contain one or more rule groups and only have an organizational purpose. For more information, see [Grafana Mimir or Loki rule groups and namespaces]({{< relref "edit-mimir-loki-namespace-group.md" >}}).
|
||||
- From the **Group** drop-down, select an existing group within the selected namespace. Otherwise, click **Add new** and enter a name to create a new one. Newly created rules are appended to the end of the group. Rules within a group are run sequentially at a regular interval, with the same evaluation time.
|
||||
- Add a description and summary to customize alert messages. Use the guidelines in [Annotations and labels for alerting]({{< relref "../fundamentals/annotation-label/_index.md" >}}).
|
||||
- Add Runbook URL, panel, dashboard, and alert IDs.
|
||||
- Add custom labels.
|
||||
1. To evaluate the rule and see what alerts it would produce, click **Preview alerts**. It will display a list of alerts with state and value of for each one.
|
||||
1. Click **Save** to save the rule or **Save and exit** to save the rule and go back to the Alerting page.
|
||||
1. Next, create a [notification]({{< relref "../notifications/_index.md" >}}) for the rule.
|
||||
|
||||
@@ -1,10 +1,20 @@
|
||||
+++
|
||||
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/"]
|
||||
description = "Edit Grafana Mimir or Loki rule groups and namespaces"
|
||||
keywords = ["grafana", "alerting", "guide", "group", "namespace", "grafana mimir", "loki"]
|
||||
title = "Grafana Mimir or Loki rule groups and namespaces"
|
||||
weight = 405
|
||||
+++
|
||||
---
|
||||
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/
|
||||
description: Edit Grafana Mimir or Loki rule groups and namespaces
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- group
|
||||
- namespace
|
||||
- grafana mimir
|
||||
- loki
|
||||
title: Grafana Mimir or Loki rule groups and namespaces
|
||||
weight: 405
|
||||
---
|
||||
|
||||
# Grafana Mimir or Loki rule groups and namespaces
|
||||
|
||||
|
||||
@@ -1,10 +1,17 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/alerting-rules/rule-list/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/"]
|
||||
description = "Manage alerting rules"
|
||||
keywords = ["grafana", "alerting", "guide", "rules", "view"]
|
||||
title = "Manage alerting rules"
|
||||
weight = 402
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/rule-list/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/rule-list/
|
||||
description: Manage alerting rules
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- rules
|
||||
- view
|
||||
title: Manage alerting rules
|
||||
weight: 402
|
||||
---
|
||||
|
||||
# Manage alerting rules
|
||||
|
||||
@@ -55,5 +62,5 @@ Grafana managed alerting rules can only be edited or deleted by users with Edit
|
||||
To edit or delete a rule:
|
||||
|
||||
1. Expand a rule row until you can see the rule controls of **View**, **Edit**, and **Delete**.
|
||||
1. Click **Edit** to open the create rule page. Make updates following instructions in [Create a Grafana managed alerting rule]({{< relref "./create-grafana-managed-rule.md" >}}) or [Create a Grafana Mimir or Loki managed alerting rule]({{< relref "./create-mimir-loki-managed-rule.md" >}}).
|
||||
1. Click **Edit** to open the create rule page. Make updates following instructions in [Create a Grafana managed alerting rule]({{< relref "create-grafana-managed-rule.md" >}}) or [Create a Grafana Mimir or Loki managed alerting rule]({{< relref "create-mimir-loki-managed-rule.md" >}}).
|
||||
1. Click **Delete** to delete a rule.
|
||||
|
||||
@@ -1,210 +1,30 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/contact-points/", "/docs/grafana/latest/alerting/unified-alerting/contact-points/"]
|
||||
description = "Create or edit contact point"
|
||||
keywords = ["grafana", "alerting", "guide", "contact point", "notification channel", "create"]
|
||||
title = "Contact points"
|
||||
weight = 430
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/contact-points/
|
||||
description: Create or edit contact point
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- notification channel
|
||||
- create
|
||||
title: Contact points
|
||||
weight: 430
|
||||
---
|
||||
|
||||
# Contact points
|
||||
|
||||
Use contact points to define how your contacts are notified when an alert fires. A contact point can have one or more contact point types, for example, email, slack, webhook, and so on. When an alert fires, a notification is sent to all contact point types listed for a contact point. Optionally, use [message templates]({{< relref "./message-templating/_index.md" >}}) to customize notification messages for the contact point types.
|
||||
Use contact points to define how your contacts are notified when an alert fires. A contact point can have one or more contact point types, for example, email, slack, webhook, and so on. When an alert fires, a notification is sent to all contact point types listed for a contact point. Optionally, use [message templates]({{< relref "message-templating/_index.md" >}}) to customize notification messages for the contact point types.
|
||||
|
||||
You can configure Grafana managed contact points as well as contact points for an [external Alertmanager data source]({{< relref "../../datasources/alertmanager.md" >}}). For more information, see [Alertmanager]({{< relref "../fundamentals/alertmanager.md" >}}).
|
||||
|
||||
## Add a contact point
|
||||
Before you begin, see [About Grafana alerting]({{< relref "../about-alerting.md" >}}) which explains the various components of Grafana alerting. We also recommend that you familiarize yourself with some of the [fundamental concepts]({{< relref "../fundamentals/_index.md" >}}) of Grafana alerting.
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. Click **Contact points** to open the page listing existing contact points.
|
||||
1. Click **New contact point**.
|
||||
1. From the **Alertmanager** dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected.
|
||||
1. In **Name**, enter a descriptive name for the contact point.
|
||||
1. From **Contact point type**, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted.
|
||||
1. Some contact point types, like email or webhook, have optional settings. In **Optional settings**, specify additional settings for the selected contact point type.
|
||||
1. In Notification settings, optionally select **Disable resolved message** if you do not want to be notified when an alert resolves.
|
||||
1. To add another contact point type, click **New contact point type** and repeat steps 6 through 8.
|
||||
1. Click **Save contact point** to save your changes.
|
||||
|
||||
## Edit a contact point
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. Find the contact point to edit, then click **Edit** (pen icon).
|
||||
1. Make any changes and click **Save contact point**.
|
||||
|
||||
## Test a contact point
|
||||
|
||||
For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.
|
||||
|
||||
To send a test notification:
|
||||
|
||||
1. In the Grafana side bar, hover your cursor over the **Alerting** (bell) icon and then click **Contact** points.
|
||||
1. Find the contact point to test, then click **Edit** (pen icon). You can also create a new contact point if needed.
|
||||
1. Click **Test** (paper airplane icon) to open the contact point testing modal.
|
||||
1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification.
|
||||
1. Click **Send test notification** to fire the alert.
|
||||
|
||||
## Delete a contact point
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. Find the contact point to delete, then click **Delete** (trash icon).
|
||||
1. In the confirmation dialog, click **Yes, delete**.
|
||||
|
||||
> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the [notification policy]({{< relref "../notifications/_index.md" >}}) or update it to use another contact point.
|
||||
|
||||
## Edit Alertmanager global config
|
||||
|
||||
To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types:
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. From the **Alertmanager** drop-down, select an external Alertmanager data source.
|
||||
1. Click the **Edit global config** option.
|
||||
1. Add global configuration settings.
|
||||
1. Click **Save global config** to save your changes.
|
||||
|
||||
> **Note** This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via [Grafana configuration]({{< relref "../../administration/configuration.md" >}}).
|
||||
|
||||
## List of notifiers supported by Grafana
|
||||
|
||||
| Name | Type | Grafana Alertmanager | Other Alertmanagers |
|
||||
| --------------------------------------------- | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| [DingDing](#dingdingdingtalk) | `dingding` | Supported | N/A |
|
||||
| [Discord](#discord) | `discord` | Supported | N/A |
|
||||
| [Email](#email) | `email` | Supported | Supported |
|
||||
| [Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | Supported | N/A |
|
||||
| [Kafka](#kafka) | `kafka` | Supported | N/A |
|
||||
| Line | `line` | Supported | N/A |
|
||||
| Microsoft Teams | `teams` | Supported | N/A |
|
||||
| [Opsgenie](#opsgenie) | `opsgenie` | Supported | Supported |
|
||||
| [Pagerduty](#pagerduty) | `pagerduty` | Supported | Supported |
|
||||
| Prometheus Alertmanager | `prometheus-alertmanager` | Supported | N/A |
|
||||
| [Pushover](#pushover) | `pushover` | Supported | Supported |
|
||||
| Sensu | `sensu` | Supported | N/A |
|
||||
| [Sensu Go](#sensu-go) | `sensugo` | Supported | N/A |
|
||||
| [Slack](#slack) | `slack` | Supported | Supported |
|
||||
| Telegram | `telegram` | Supported | N/A |
|
||||
| Threema | `threema` | Supported | N/A |
|
||||
| VictorOps | `victorops` | Supported | Supported |
|
||||
| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
|
||||
| [WeCom](#wecom) | `wecom` | Supported | N/A |
|
||||
| [Zenduty](#zenduty) | `webhook` | Supported | N/A |
|
||||
|
||||
### Webhook
|
||||
|
||||
Example JSON body:
|
||||
|
||||
```json
|
||||
{
|
||||
"receiver": "My Super Webhook",
|
||||
"status": "firing",
|
||||
"orgId": 1,
|
||||
"alerts": [
|
||||
{
|
||||
"status": "firing",
|
||||
"labels": {
|
||||
"alertname": "High memory usage",
|
||||
"team": "blue",
|
||||
"zone": "us-1"
|
||||
},
|
||||
"annotations": {
|
||||
"description": "The system has high memory usage",
|
||||
"runbook_url": "https://myrunbook.com/runbook/1234",
|
||||
"summary": "This alert was triggered for zone us-1"
|
||||
},
|
||||
"startsAt": "2021-10-12T09:51:03.157076+02:00",
|
||||
"endsAt": "0001-01-01T00:00:00Z",
|
||||
"generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit",
|
||||
"fingerprint": "c6eadffa33fcdf37",
|
||||
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1",
|
||||
"dashboardURL": "",
|
||||
"panelURL": "",
|
||||
"valueString": "[ metric='' labels={} value=14151.331895396988 ]"
|
||||
},
|
||||
{
|
||||
"status": "firing",
|
||||
"labels": {
|
||||
"alertname": "High CPU usage",
|
||||
"team": "blue",
|
||||
"zone": "eu-1"
|
||||
},
|
||||
"annotations": {
|
||||
"description": "The system has high CPU usage",
|
||||
"runbook_url": "https://myrunbook.com/runbook/1234",
|
||||
"summary": "This alert was triggered for zone eu-1"
|
||||
},
|
||||
"startsAt": "2021-10-12T09:56:03.157076+02:00",
|
||||
"endsAt": "0001-01-01T00:00:00Z",
|
||||
"generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit",
|
||||
"fingerprint": "bc97ff14869b13e3",
|
||||
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1",
|
||||
"dashboardURL": "",
|
||||
"panelURL": "",
|
||||
"valueString": "[ metric='' labels={} value=47043.702386305304 ]"
|
||||
}
|
||||
],
|
||||
"groupLabels": {},
|
||||
"commonLabels": {
|
||||
"team": "blue"
|
||||
},
|
||||
"commonAnnotations": {},
|
||||
"externalURL": "https://play.grafana.org/",
|
||||
"version": "1",
|
||||
"groupKey": "{}:{}",
|
||||
"truncatedAlerts": 0,
|
||||
"title": "[FIRING:2] (blue)",
|
||||
"state": "alerting",
|
||||
"message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n"
|
||||
}
|
||||
```
|
||||
|
||||
### Webhook fields
|
||||
|
||||
#### Body
|
||||
|
||||
| Key | Type | Description |
|
||||
| ----------------- | ------------------------- | ------------------------------------------------------------------------------- |
|
||||
| receiver | string | Name of the webhook |
|
||||
| status | string | Current status of the alert, `firing` or `resolved` |
|
||||
| orgId | number | ID of the organization related to the payload |
|
||||
| alerts | array of [alerts](#alert) | Alerts that are triggering |
|
||||
| groupLabels | object | Labels that are used for grouping, map of string keys to string values |
|
||||
| commonLabels | object | Labels that all alarms have in common, map of string keys to string values |
|
||||
| commonAnnotations | object | Annotations that all alarms have in common, map of string keys to string values |
|
||||
| externalURL | string | External URL to the Grafana instance sending this webhook |
|
||||
| version | string | Version of the payload |
|
||||
| groupKey | string | Key that is used for grouping |
|
||||
| truncatedAlerts | number | Number of alerts that were truncated |
|
||||
| title | string | **Will be deprecated soon** |
|
||||
| state | string | **Will be deprecated soon** |
|
||||
| message | string | **Will be deprecated soon** |
|
||||
|
||||
#### Alert
|
||||
|
||||
| Key | Type | Description |
|
||||
| ------------ | ------ | ---------------------------------------------------------------------------------- |
|
||||
| status | string | Current status of the alert, `firing` or `resolved` |
|
||||
| labels | object | Labels that are part of this alert, map of string keys to string values |
|
||||
| annotations | object | Annotations that are part of this alert, map of string keys to string values |
|
||||
| startsAt | string | Start time of the alert |
|
||||
| endsAt | string | End time of the alert, default value when not resolved is `0001-01-01T00:00:00Z` |
|
||||
| valueString | string | Values that triggered the current status |
|
||||
| generatorURL | string | URL of the alert rule in the Grafana UI |
|
||||
| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint |
|
||||
| silenceURL | string | URL to silence the alert rule in the Grafana UI |
|
||||
| dashboardURL | string | **Will be deprecated soon** |
|
||||
| panelURL | string | **Will be deprecated soon** |
|
||||
|
||||
#### Removed fields related to dashboards
|
||||
|
||||
Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
|
||||
|
||||
### WeCom
|
||||
|
||||
WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:
|
||||
|
||||
1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to
|
||||
2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot"
|
||||
3. There should be a Webhook URL in the panel.
|
||||
|
||||
| Setting | Description |
|
||||
| ------- | ------------------ |
|
||||
| Url | WeCom webhook URL. |
|
||||
- [Create contact point]({{< relref "./create-contact-point.md" >}})
|
||||
- [Edit contact point]({{< relref "./edit-contact-point.md" >}})
|
||||
- [Test contact point]({{< relref "./test-contact-point.md" >}})
|
||||
- [Delete contact point]({{< relref "./delete-contact-point.md" >}})
|
||||
- [List of notifiers]({{< relref "./notifiers/_index.md" >}})
|
||||
- [Message templating]({{< relref "./message-templating/_index.md" >}})
|
||||
|
||||
31
docs/sources/alerting/contact-points/create-contact-point.md
Normal file
31
docs/sources/alerting/contact-points/create-contact-point.md
Normal file
@@ -0,0 +1,31 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Add contact point
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Add a contact point
|
||||
|
||||
Use contact points to define how your contacts are notified when an alert fires.
|
||||
|
||||
To add a contact point
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. Click **Contact points** to open the page listing existing contact points.
|
||||
1. Click **New contact point**.
|
||||
1. From the **Alertmanager** dropdown, select an Alertmanager. By default, Grafana Alertmanager is selected.
|
||||
1. In **Name**, enter a descriptive name for the contact point.
|
||||
1. From **Contact point type**, select a type and fill out mandatory fields. For example, if you choose email, enter the email addresses. Or if you choose Slack, enter the Slack channel(s) and users who should be contacted.
|
||||
1. Some contact point types, like email or webhook, have optional settings. In **Optional settings**, specify additional settings for the selected contact point type.
|
||||
1. In Notification settings, optionally select **Disable resolved message** if you do not want to be notified when an alert resolves.
|
||||
1. To add another contact point type, click **New contact point type** and repeat steps 6 through 8.
|
||||
1. Click **Save contact point** to save your changes.
|
||||
26
docs/sources/alerting/contact-points/delete-contact-point.md
Normal file
26
docs/sources/alerting/contact-points/delete-contact-point.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Delete a contact point
|
||||
weight: 115
|
||||
---
|
||||
|
||||
## Delete a contact point
|
||||
|
||||
For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.
|
||||
|
||||
To delete a contact point
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. Find the contact point to delete, then click **Delete** (trash icon).
|
||||
1. In the confirmation dialog, click **Yes, delete**.
|
||||
|
||||
> **Note:** You cannot delete contact points that are in use by a notification policy. You will have to either delete the [notification policy]({{< relref "../notifications/_index.md" >}}) or update it to use another contact point.
|
||||
@@ -0,0 +1,26 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Edit contact point
|
||||
weight: 120
|
||||
---
|
||||
|
||||
# Edit Alertmanager global config
|
||||
|
||||
To edit global configuration options for an external Alertmanager, like SMTP server, that is used by default for all email contact types:
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. From the **Alertmanager** drop-down, select an external Alertmanager data source.
|
||||
1. Click the **Edit global config** option.
|
||||
1. Add global configuration settings.
|
||||
1. Click **Save global config** to save your changes.
|
||||
|
||||
> **Note** This option is available only for external Alertmanagers. You can configure some global options for Grafana contact types, like email settings, via [Grafana configuration]({{< relref "../../administration/configuration.md" >}})
|
||||
24
docs/sources/alerting/contact-points/edit-contact-point.md
Normal file
24
docs/sources/alerting/contact-points/edit-contact-point.md
Normal file
@@ -0,0 +1,24 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Edit contact point
|
||||
weight: 105
|
||||
---
|
||||
|
||||
# Edit a contact point
|
||||
|
||||
Use contact points to define how your contacts are notified when an alert fires.
|
||||
|
||||
To edit a contact point
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. Find the contact point to edit, then click **Edit** (pen icon).
|
||||
1. Make any changes and click **Save contact point**.
|
||||
@@ -1,56 +1,33 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/message-templating/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/"]
|
||||
description = "Message templating"
|
||||
keywords = ["grafana", "alerting", "guide", "contact point", "templating"]
|
||||
title = "Message templating"
|
||||
weight = 400
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
description: Message templating
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Message templating
|
||||
weight: 400
|
||||
---
|
||||
|
||||
# Message templating
|
||||
|
||||
Notifications sent via [contact points]({{< relref "../../contact-points/_index.md" >}}) are built using messaging templates. Grafana's default templates are based on the [Go templating system](https://golang.org/pkg/text/template) where some fields are evaluated as text, while others are evaluated as HTML (which can affect escaping). The default template, defined in [default_template.go](https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go), is a useful reference for custom templates.
|
||||
Notifications sent via [contact points]({{< relref "../_index.md" >}}) are built using messaging templates. Grafana's default templates are based on the [Go templating system](https://golang.org/pkg/text/template) where some fields are evaluated as text, while others are evaluated as HTML (which can affect escaping). The default template, defined in [default_template.go](https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go), is a useful reference for custom templates.
|
||||
|
||||
Since most of the contact point fields can be templated, you can create reusable custom templates and use them in multiple contact points. The [template data]({{< relref "./template-data.md" >}}) topic lists variables that are available for templating. The default template is defined in [default_template.go](https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go) which can serve as a useful reference or starting point for custom templates.
|
||||
Since most of the contact point fields can be templated, you can create reusable custom templates and use them in multiple contact points. The [template data]({{< relref "template-data.md" >}}) topic lists variables that are available for templating. The default template is defined in [default_template.go](https://github.com/grafana/grafana/blob/main/pkg/services/ngalert/notifier/channels/default_template.go) which can serve as a useful reference or starting point for custom templates.
|
||||
|
||||
### Using templates
|
||||
|
||||
The following example shows how to use default templates to render an alert message in Slack. The message title contains a count of alerts that are firing or were resolved. The message body lists the alerts and their status.
|
||||
|
||||
<img src="/static/img/docs/alerting/unified/contact-points-template-fields-8-0.png" width="450px">
|
||||
{{< figure src="/static/img/docs/alerting/unified/contact-points-template-fields-8-0.png" class="docs-image--no-shadow" max-width= "550px" caption="Default template" >}}
|
||||
|
||||
The following example shows the use of a custom template within one of the contact point fields.
|
||||
|
||||
<img src="/static/img/docs/alerting/unified/contact-points-use-template-8-0.png" width="400px">
|
||||
|
||||
### Create a message template
|
||||
|
||||
> **Note:** Before Grafana v8.2, the configuration of the embedded Alertmanager was shared across organisations. Users of Grafana 8.0 and 8.1 are advised to use the new Grafana 8 alerts only if they have one organisation. Otherwise, silences for the Grafana managed alerts will be visible by all organizations.
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. From Alertmanager drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana.
|
||||
{{< figure max-width="250px" src="/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif" caption="Select Alertmanager" >}}
|
||||
1. Click **Add template**.
|
||||
1. In **Name**, add a descriptive name.
|
||||
1. In **Content**, add the content of the template.
|
||||
1. Click **Save template** button at the bottom of the page.
|
||||
<img src="/static/img/docs/alerting/unified/templates-create-8-0.png" width="600px">
|
||||
|
||||
The `define` tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the **Name** field. When both are specified, it is a best practice to ensure that they are the same.
|
||||
|
||||
### Edit a message template
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. In the Template table, find the template you want to edit, then click the **Edit** (pen icon).
|
||||
1. Make your changes, then click **Save template**.
|
||||
|
||||
### Delete a message template
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. In the Template table, find the template you want to delete, then click the **Delete** (trash icon).
|
||||
1. In the confirmation dialog, click **Yes, delete** to delete the template.
|
||||
|
||||
Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use.
|
||||
{{< figure src="/static/img/docs/alerting/unified/contact-points-use-template-8-0.png" class="docs-image--no-shadow" max-width= "550px" caption="Default template" >}}
|
||||
|
||||
### Nested templates
|
||||
|
||||
@@ -79,59 +56,6 @@ You can use any of the following built-in template options to embed custom templ
|
||||
| `default.message` | Provides a formatted summary of firing and resolved alerts. |
|
||||
| `teams.default.message` | Similar to `default.messsage`, formatted for Microsoft Teams. |
|
||||
|
||||
### Example of a custom template
|
||||
|
||||
Here's an example of how to use a custom template. You can also use the default template included in the setup.
|
||||
|
||||
Step 1: Configure a template to render a single alert.
|
||||
|
||||
```
|
||||
{{ define "myalert" }}
|
||||
[{{.Status}}] {{ .Labels.alertname }}
|
||||
|
||||
Labels:
|
||||
{{ range .Labels.SortedPairs }}
|
||||
{{ .Name }}: {{ .Value }}
|
||||
{{ end }}
|
||||
|
||||
{{ if gt (len .Annotations) 0 }}
|
||||
Annotations:
|
||||
{{ range .Annotations.SortedPairs }}
|
||||
{{ .Name }}: {{ .Value }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if gt (len .SilenceURL ) 0 }}
|
||||
Silence alert: {{ .SilenceURL }}
|
||||
{{ end }}
|
||||
{{ if gt (len .DashboardURL ) 0 }}
|
||||
Go to dashboard: {{ .DashboardURL }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
Step 2: Configure a template to render entire notification message.
|
||||
|
||||
```
|
||||
{{ define "mymessage" }}
|
||||
{{ if gt (len .Alerts.Firing) 0 }}
|
||||
{{ len .Alerts.Firing }} firing:
|
||||
{{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }}
|
||||
{{ end }}
|
||||
{{ if gt (len .Alerts.Resolved) 0 }}
|
||||
{{ len .Alerts.Resolved }} resolved:
|
||||
{{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
Step 3: Add `mymessage` in the notification message field.
|
||||
|
||||
```
|
||||
Alert summary:
|
||||
{{ template "mymessage" . }}
|
||||
```
|
||||
|
||||
### HTML in message templates
|
||||
|
||||
HTML in alerting message templates is escaped. We do not support rendering of HTML in the resulting notification.
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Create message template
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Create a message template
|
||||
|
||||
You can use message templates to customize notification messages for the contact point types.
|
||||
|
||||
To create a message tempplate:
|
||||
|
||||
1. In the Grafana menu, click the **Alerting** (bell) icon to open the Alerting page listing existing alerts.
|
||||
2. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
3. From Alertmanager drop-down, select an external Alertmanager to create and manage templates for the external data source. Otherwise, keep the default option of Grafana.
|
||||
{{< figure max-width="250px" src="/static/img/docs/alerting/unified/contact-points-select-am-8-0.gif" caption="Select Alertmanager" >}}
|
||||
4. Click **Add template**.
|
||||
5. In **Name**, add a descriptive name.
|
||||
6. In **Content**, add the content of the template.
|
||||
7. Click **Save template** button at the bottom of the page.
|
||||
<img src="/static/img/docs/alerting/unified/templates-create-8-0.png" width="600px">
|
||||
|
||||
The `define` tag in the Content section assigns the template name. This tag is optional, and when omitted, the template name is derived from the **Name** field. When both are specified, it is a best practice to ensure that they are the same.
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Delete message template
|
||||
weight: 110
|
||||
---
|
||||
|
||||
# Edit a message template
|
||||
|
||||
Message templates customize notification messages for the contact point types.
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. In the Template table, find the template you want to delete, then click the **Delete** (trash icon).
|
||||
1. In the confirmation dialog, click **Yes, delete** to delete the template.
|
||||
|
||||
Use caution when deleting a template since Grafana does not prevent you from deleting templates that are in use.
|
||||
@@ -0,0 +1,24 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Edit message template
|
||||
weight: 100
|
||||
---
|
||||
|
||||
# Edit a message template
|
||||
|
||||
Message templates customize notification messages for the contact point types.
|
||||
|
||||
To edit a message template
|
||||
|
||||
1. In the Alerting page, click **Contact points** to open the page listing existing contact points.
|
||||
1. In the Template table, find the template you want to edit, then click the **Edit** (pen icon).
|
||||
1. Make your changes, then click **Save template**.
|
||||
@@ -0,0 +1,126 @@
|
||||
---
|
||||
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/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Examples of template functions
|
||||
weight: 130
|
||||
---
|
||||
|
||||
# Examples of template functions
|
||||
|
||||
## humanize
|
||||
|
||||
**Template string** `{ humanize $value }`
|
||||
|
||||
**Input** `1234567.0`
|
||||
|
||||
**Expected** `1.235M`
|
||||
|
||||
## humanize1024
|
||||
|
||||
**TemplateString** `{ humanize1024 $value } `
|
||||
|
||||
**Input** `1048576.0`
|
||||
|
||||
**Expected** `1Mi`
|
||||
|
||||
## humanizeDuration
|
||||
|
||||
**TemplateString** `{ humanizeDuration $value }`
|
||||
|
||||
**Input** `899.99`
|
||||
|
||||
**Expected** `14m 59s`
|
||||
|
||||
### humanizePercentage
|
||||
|
||||
**TemplateString** `{ humanizePercentage $value }`
|
||||
|
||||
**Input** `0.1234567`
|
||||
|
||||
**Expected** `12.35%`
|
||||
|
||||
## humanizeTimestamp
|
||||
|
||||
**TemplateString** `{ $value | humanizeTimestamp }`
|
||||
|
||||
**Input** `1435065584.128`
|
||||
|
||||
**Expected** `2015-06-23 13:19:44.128 +0000 UTC`
|
||||
|
||||
## title
|
||||
|
||||
**TemplateString** `{ $value | title }`
|
||||
|
||||
**Input** `aa bb CC`
|
||||
|
||||
**Expected** `Aa Bb Cc`
|
||||
|
||||
### toUpper
|
||||
|
||||
**TemplateString** `{ $value | toUpper }`
|
||||
|
||||
**Input** `aa bb CC`
|
||||
|
||||
**Expected** `AA BB CC`
|
||||
|
||||
### toLower
|
||||
|
||||
**TemplateString** `{ $value | toLower }`
|
||||
|
||||
**Input** `aA bB CC`
|
||||
|
||||
**Expected** `aa bb cc`
|
||||
|
||||
## match
|
||||
|
||||
**TemplateString** `{ match "a+" $labels.instance }`
|
||||
|
||||
**Input** `aa`
|
||||
|
||||
**Expected** `true`
|
||||
|
||||
## reReplaceAll
|
||||
|
||||
**TemplateString** `{{ reReplaceAll "localhost:(.*)" "my.domain:$1" $labels.instance }}`
|
||||
|
||||
**Input** `localhost:3000`
|
||||
|
||||
**Expected** `my.domain:3000`
|
||||
|
||||
### graphLink
|
||||
|
||||
**TemplateString** `{{ graphLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}`
|
||||
|
||||
**Expected** `/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":false,"range":true}]`
|
||||
|
||||
### tableLink
|
||||
|
||||
**TemplateString** `{{ tableLink "{\"expr\": \"up\", \"datasource\": \"gdev-prometheus\"}" }}`
|
||||
|
||||
**Expected** `/explore?left=["now-1h","now","gdev-prometheus",{"datasource":"gdev-prometheus","expr":"up","instant":true,"range":false}]`
|
||||
|
||||
## args
|
||||
|
||||
**TemplateString** `{{define "x"}}{{.arg0}} {{.arg1}}{{end}}{{template "x" (args 1 "2")}}`
|
||||
|
||||
**Expected** `1 2`
|
||||
|
||||
## externalURL
|
||||
|
||||
**TemplateString** `{ externalURL }`
|
||||
|
||||
**Expected** `http://localhost/path/prefix`
|
||||
|
||||
## pathPrefix
|
||||
|
||||
**TemplateString** `{ pathPrefix }`
|
||||
|
||||
**Expected** `/path/prefix`
|
||||
@@ -0,0 +1,67 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Example message template
|
||||
weight: 115
|
||||
---
|
||||
|
||||
# Example of a custom template
|
||||
|
||||
Here's an example of how to use a custom template. You can also use the default template included in the setup.
|
||||
|
||||
Step 1: Configure a template to render a single alert.
|
||||
|
||||
```
|
||||
{{ define "myalert" }}
|
||||
[{{.Status}}] {{ .Labels.alertname }}
|
||||
|
||||
Labels:
|
||||
{{ range .Labels.SortedPairs }}
|
||||
{{ .Name }}: {{ .Value }}
|
||||
{{ end }}
|
||||
|
||||
{{ if gt (len .Annotations) 0 }}
|
||||
Annotations:
|
||||
{{ range .Annotations.SortedPairs }}
|
||||
{{ .Name }}: {{ .Value }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
|
||||
{{ if gt (len .SilenceURL ) 0 }}
|
||||
Silence alert: {{ .SilenceURL }}
|
||||
{{ end }}
|
||||
{{ if gt (len .DashboardURL ) 0 }}
|
||||
Go to dashboard: {{ .DashboardURL }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
Step 2: Configure a template to render entire notification message.
|
||||
|
||||
```
|
||||
{{ define "mymessage" }}
|
||||
{{ if gt (len .Alerts.Firing) 0 }}
|
||||
{{ len .Alerts.Firing }} firing:
|
||||
{{ range .Alerts.Firing }} {{ template "myalert" .}} {{ end }}
|
||||
{{ end }}
|
||||
{{ if gt (len .Alerts.Resolved) 0 }}
|
||||
{{ len .Alerts.Resolved }} resolved:
|
||||
{{ range .Alerts.Resolved }} {{ template "myalert" .}} {{ end }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
```
|
||||
|
||||
Step 3: Add `mymessage` in the notification message field.
|
||||
|
||||
```
|
||||
Alert summary:
|
||||
{{ template "mymessage" . }}
|
||||
```
|
||||
@@ -1,12 +1,20 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/message-templating/template-data/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/"]
|
||||
keywords = ["grafana", "alerting", "guide", "contact point", "templating"]
|
||||
title = "Template data"
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/message-templating/template-data/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-data/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Template data
|
||||
weight: 120
|
||||
---
|
||||
|
||||
# Template data
|
||||
|
||||
Template data is passed on to [message templates]({{< relref "./_index.md" >}}) as well as sent as payload to webhook pushes.
|
||||
Template data is passed on to [message templates]({{< relref "_index.md" >}}) as well as sent as payload to webhook pushes.
|
||||
|
||||
| Name | Type | Notes |
|
||||
| ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------- |
|
||||
|
||||
@@ -1,8 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/message-templating/template-functions/", "/docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/"]
|
||||
keywords = ["grafana", "alerting", "guide", "contact point", "templating"]
|
||||
title = "Template functions"
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/message-templating/template-functions/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/template-functions/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Template functions
|
||||
weight: 125
|
||||
---
|
||||
|
||||
# Template Functions
|
||||
|
||||
|
||||
41
docs/sources/alerting/contact-points/notifiers/_index.md
Normal file
41
docs/sources/alerting/contact-points/notifiers/_index.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: List of notifiers
|
||||
weight: 130
|
||||
---
|
||||
|
||||
# List of supported notifiers
|
||||
|
||||
The following table lists the notifiers (contact point types) supported by Grafana.
|
||||
|
||||
| Name | Type | Grafana Alertmanager | Other Alertmanagers |
|
||||
| --------------------------------------------- | ------------------------- | -------------------- | -------------------------------------------------------------------------------------------------------- |
|
||||
| [DingDing](#dingdingdingtalk) | `dingding` | Supported | N/A |
|
||||
| [Discord](#discord) | `discord` | Supported | N/A |
|
||||
| [Email](#email) | `email` | Supported | Supported |
|
||||
| [Google Hangouts Chat](#google-hangouts-chat) | `googlechat` | Supported | N/A |
|
||||
| [Kafka](#kafka) | `kafka` | Supported | N/A |
|
||||
| Line | `line` | Supported | N/A |
|
||||
| Microsoft Teams | `teams` | Supported | N/A |
|
||||
| [Opsgenie](#opsgenie) | `opsgenie` | Supported | Supported |
|
||||
| [Pagerduty](#pagerduty) | `pagerduty` | Supported | Supported |
|
||||
| Prometheus Alertmanager | `prometheus-alertmanager` | Supported | N/A |
|
||||
| [Pushover](#pushover) | `pushover` | Supported | Supported |
|
||||
| Sensu | `sensu` | Supported | N/A |
|
||||
| [Sensu Go](#sensu-go) | `sensugo` | Supported | N/A |
|
||||
| [Slack](#slack) | `slack` | Supported | Supported |
|
||||
| Telegram | `telegram` | Supported | N/A |
|
||||
| Threema | `threema` | Supported | N/A |
|
||||
| VictorOps | `victorops` | Supported | Supported |
|
||||
| [Webhook](#webhook) | `webhook` | Supported | Supported ([different format](https://prometheus.io/docs/alerting/latest/configuration/#webhook_config)) |
|
||||
| [WeCom](#wecom) | `wecom` | Supported | N/A |
|
||||
| [Zenduty](#zenduty) | `webhook` | Supported | N/A |
|
||||
@@ -0,0 +1,137 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Webhook notifier
|
||||
weight: 105
|
||||
---
|
||||
|
||||
### Webhook
|
||||
|
||||
This topic helps you configure the Webhook notifier. It also discusses that [WeCom]({{< relref "./webhook-notifier/#wecom" >}}) contact points need a Webhook URL.
|
||||
|
||||
Example JSON body:
|
||||
|
||||
```json
|
||||
{
|
||||
"receiver": "My Super Webhook",
|
||||
"status": "firing",
|
||||
"orgId": 1,
|
||||
"alerts": [
|
||||
{
|
||||
"status": "firing",
|
||||
"labels": {
|
||||
"alertname": "High memory usage",
|
||||
"team": "blue",
|
||||
"zone": "us-1"
|
||||
},
|
||||
"annotations": {
|
||||
"description": "The system has high memory usage",
|
||||
"runbook_url": "https://myrunbook.com/runbook/1234",
|
||||
"summary": "This alert was triggered for zone us-1"
|
||||
},
|
||||
"startsAt": "2021-10-12T09:51:03.157076+02:00",
|
||||
"endsAt": "0001-01-01T00:00:00Z",
|
||||
"generatorURL": "https://play.grafana.org/alerting/1afz29v7z/edit",
|
||||
"fingerprint": "c6eadffa33fcdf37",
|
||||
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1",
|
||||
"dashboardURL": "",
|
||||
"panelURL": "",
|
||||
"valueString": "[ metric='' labels={} value=14151.331895396988 ]"
|
||||
},
|
||||
{
|
||||
"status": "firing",
|
||||
"labels": {
|
||||
"alertname": "High CPU usage",
|
||||
"team": "blue",
|
||||
"zone": "eu-1"
|
||||
},
|
||||
"annotations": {
|
||||
"description": "The system has high CPU usage",
|
||||
"runbook_url": "https://myrunbook.com/runbook/1234",
|
||||
"summary": "This alert was triggered for zone eu-1"
|
||||
},
|
||||
"startsAt": "2021-10-12T09:56:03.157076+02:00",
|
||||
"endsAt": "0001-01-01T00:00:00Z",
|
||||
"generatorURL": "https://play.grafana.org/alerting/d1rdpdv7k/edit",
|
||||
"fingerprint": "bc97ff14869b13e3",
|
||||
"silenceURL": "https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1",
|
||||
"dashboardURL": "",
|
||||
"panelURL": "",
|
||||
"valueString": "[ metric='' labels={} value=47043.702386305304 ]"
|
||||
}
|
||||
],
|
||||
"groupLabels": {},
|
||||
"commonLabels": {
|
||||
"team": "blue"
|
||||
},
|
||||
"commonAnnotations": {},
|
||||
"externalURL": "https://play.grafana.org/",
|
||||
"version": "1",
|
||||
"groupKey": "{}:{}",
|
||||
"truncatedAlerts": 0,
|
||||
"title": "[FIRING:2] (blue)",
|
||||
"state": "alerting",
|
||||
"message": "**Firing**\n\nLabels:\n - alertname = T2\n - team = blue\n - zone = us-1\nAnnotations:\n - description = This is the alert rule checking the second system\n - runbook_url = https://myrunbook.com\n - summary = This is my summary\nSource: https://play.grafana.org/alerting/1afz29v7z/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT2%2Cteam%3Dblue%2Czone%3Dus-1\n\nLabels:\n - alertname = T1\n - team = blue\n - zone = eu-1\nAnnotations:\nSource: https://play.grafana.org/alerting/d1rdpdv7k/edit\nSilence: https://play.grafana.org/alerting/silence/new?alertmanager=grafana&matchers=alertname%3DT1%2Cteam%3Dblue%2Czone%3Deu-1\n"
|
||||
}
|
||||
```
|
||||
|
||||
### Webhook fields
|
||||
|
||||
## Body
|
||||
|
||||
| Key | Type | Description |
|
||||
| ----------------- | ------------------------- | ------------------------------------------------------------------------------- |
|
||||
| receiver | string | Name of the webhook |
|
||||
| status | string | Current status of the alert, `firing` or `resolved` |
|
||||
| orgId | number | ID of the organization related to the payload |
|
||||
| alerts | array of [alerts](#alert) | Alerts that are triggering |
|
||||
| groupLabels | object | Labels that are used for grouping, map of string keys to string values |
|
||||
| commonLabels | object | Labels that all alarms have in common, map of string keys to string values |
|
||||
| commonAnnotations | object | Annotations that all alarms have in common, map of string keys to string values |
|
||||
| externalURL | string | External URL to the Grafana instance sending this webhook |
|
||||
| version | string | Version of the payload |
|
||||
| groupKey | string | Key that is used for grouping |
|
||||
| truncatedAlerts | number | Number of alerts that were truncated |
|
||||
| title | string | **Will be deprecated soon** |
|
||||
| state | string | **Will be deprecated soon** |
|
||||
| message | string | **Will be deprecated soon** |
|
||||
|
||||
### Alert
|
||||
|
||||
| Key | Type | Description |
|
||||
| ------------ | ------ | ---------------------------------------------------------------------------------- |
|
||||
| status | string | Current status of the alert, `firing` or `resolved` |
|
||||
| labels | object | Labels that are part of this alert, map of string keys to string values |
|
||||
| annotations | object | Annotations that are part of this alert, map of string keys to string values |
|
||||
| startsAt | string | Start time of the alert |
|
||||
| endsAt | string | End time of the alert, default value when not resolved is `0001-01-01T00:00:00Z` |
|
||||
| valueString | string | Values that triggered the current status |
|
||||
| generatorURL | string | URL of the alert rule in the Grafana UI |
|
||||
| fingerprint | string | The labels fingerprint, alarms with the same labels will have the same fingerprint |
|
||||
| silenceURL | string | URL to silence the alert rule in the Grafana UI |
|
||||
| dashboardURL | string | **Will be deprecated soon** |
|
||||
| panelURL | string | **Will be deprecated soon** |
|
||||
|
||||
### Removed fields related to dashboards
|
||||
|
||||
Alerts are not coupled to dashboards anymore therefore the fields related to dashboards `dashboardId` and `panelId` have been removed.
|
||||
|
||||
## WeCom
|
||||
|
||||
WeCom contact points need a Webhook URL. These are obtained by setting up a WeCom robot on the corresponding group chat. To obtain a Webhook URL using the WeCom desktop Client please follow these steps:
|
||||
|
||||
1. Click the "..." in the top right corner of a group chat that you want your alerts to be delivered to
|
||||
2. Click "Add Group Robot", select "New Robot" and give your robot a name. Click "Add Robot"
|
||||
3. There should be a Webhook URL in the panel.
|
||||
|
||||
| Setting | Description |
|
||||
| ------- | ------------------ |
|
||||
| Url | WeCom webhook URL. |
|
||||
26
docs/sources/alerting/contact-points/test-contact-point.md
Normal file
26
docs/sources/alerting/contact-points/test-contact-point.md
Normal file
@@ -0,0 +1,26 @@
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/contact-points/message-templating/
|
||||
- /docs/grafana/latest/alerting/message-templating/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/message-templating/
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- contact point
|
||||
- templating
|
||||
title: Test a contact point
|
||||
weight: 110
|
||||
---
|
||||
|
||||
# Test a contact point
|
||||
|
||||
For Grafana managed contact points, you can send a test notification which helps verify a contact point is configured correctly.
|
||||
|
||||
To send a test notification:
|
||||
|
||||
1. In the Grafana side bar, hover your cursor over the **Alerting** (bell) icon and then click **Contact** points.
|
||||
1. Find the contact point to test, then click **Edit** (pen icon). You can also create a new contact point if needed.
|
||||
1. Click **Test** (paper airplane icon) to open the contact point testing modal.
|
||||
1. Choose whether to send a predefined test notification or choose custom to add your own custom annotations and labels to include in the notification.
|
||||
1. Click **Send test notification** to fire the alert.
|
||||
@@ -1,11 +1,16 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/difference-old-new/", "/docs/grafana/latest/alerting/unified-alerting/difference-old-new/"]
|
||||
description = "What's New with Grafana alerts"
|
||||
draft = true
|
||||
keywords = ["grafana", "alerting", "guide"]
|
||||
title = "What's new in Grafana alerting"
|
||||
weight = 108
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/difference-old-new/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/difference-old-new/
|
||||
description: What's New with Grafana alerts
|
||||
draft: true
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
title: What's new in Grafana alerting
|
||||
weight: 108
|
||||
---
|
||||
|
||||
# What's new in Grafana alerting
|
||||
|
||||
|
||||
@@ -1,14 +1,17 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/fundamentals/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/"]
|
||||
title = "Alerting fundamentals"
|
||||
weight = 110
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/
|
||||
- /docs/grafana/latest/alerting/metrics/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/
|
||||
title: Alerting fundamentals
|
||||
weight: 110
|
||||
---
|
||||
|
||||
# Alerting fundamentals
|
||||
|
||||
This section includes the following fundamental concepts of Grafana alerting:
|
||||
|
||||
- [Annotations and labels for alerting rules]({{< relref "./annotation-label/_index.md" >}})
|
||||
- [Alertmanager]({{< relref "./alertmanager.md" >}})
|
||||
- [State and health of alerting rules]({{< relref "./state-and-health.md" >}})
|
||||
- [Evaluating Grafana managed alerts]({{< relref "./evaluate-grafana-alerts.md" >}})
|
||||
- [Annotations and labels for alerting rules]({{< relref "annotation-label/_index.md" >}})
|
||||
- [Alertmanager]({{< relref "alertmanager.md" >}})
|
||||
- [State and health of alerting rules]({{< relref "state-and-health.md" >}})
|
||||
- [Evaluating Grafana managed alerts]({{< relref "evaluate-grafana-alerts.md" >}})
|
||||
|
||||
22
docs/sources/alerting/fundamentals/alert-rules/_index.md
Normal file
22
docs/sources/alerting/fundamentals/alert-rules/_index.md
Normal file
@@ -0,0 +1,22 @@
|
||||
---
|
||||
description: About Grafana alert rules
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- rules
|
||||
title: Alert rules
|
||||
weight: 101
|
||||
---
|
||||
|
||||
# About alert rules
|
||||
|
||||
An alerting rule is a set of evaluation criteria that determines whether an alert instance will fire. The rule consists of one or more queries and expressions, a condition, the frequency of evaluation, and optionally, the duration over which the condition is met.
|
||||
|
||||
While queries and expressions select the data set to evaluate, a condition sets the threshold that an alert must meet or exceed to create an alert.
|
||||
|
||||
An interval specifies how frequently an alerting rule is evaluated. Duration, when configured, indicates how long a condition must be met. The alert rules can also define alerting behavior in the absence of data.
|
||||
|
||||
- [Alert rule types]({{< relref "./alert-rule-types.md" >}})
|
||||
- [Alert instances]({{< relref "./alert-instances.md" >}})
|
||||
- [Organising alert rules]({{< relref "./organising-alerts.md" >}})
|
||||
- [Annotation and labels]({{< relref "../annotation-label/_index.md" >}})
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
description: Learn about Grafana alert instances
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- instances
|
||||
title: Alert instances
|
||||
weight: 103
|
||||
---
|
||||
|
||||
# Alert instances
|
||||
|
||||
Grafana managed alerts support multi-dimensional alerting. Each alert rule can create multiple alert instances. This is exceptionally powerful if you are observing multiple series in a single expression.
|
||||
|
||||
Consider the following PromQL expression:
|
||||
|
||||
```promql
|
||||
sum by(cpu) (
|
||||
rate(node_cpu_seconds_total{mode!="idle"}[1m])
|
||||
)
|
||||
```
|
||||
|
||||
A rule using this expression will create as many alert instances as the amount of CPUs we are observing after the first evaluation, allowing a single rule to report the status of each CPU.
|
||||
|
||||
{{< figure src="/static/img/docs/alerting/unified/multi-dimensional-alert.png" caption="A multi-dimensional Grafana managed alert rule" >}}
|
||||
@@ -0,0 +1,33 @@
|
||||
---
|
||||
description: Learn about the different alert rule types
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- rule types
|
||||
title: Alert rule types
|
||||
weight: 102
|
||||
---
|
||||
|
||||
# Alert rule types
|
||||
|
||||
Grafana supports several alert rule types, the following sections will explain their merits and demerits and help you choose the right alert type for your use case.
|
||||
|
||||
## Grafana managed rules
|
||||
|
||||
Grafana-managed rules are the most flexible alert rule type. They allow you to create alerts that can act on data from any of your existing data sources.
|
||||
|
||||
In additional to supporting any datasource you can also add additional [expressions]({{< relref "../../../panels/query-a-data-source/use-expressions-to-manipulate-data/_index.md" >}}) to transform your data and express alert conditions.
|
||||
|
||||
## Mimir, Loki and Cortex rules
|
||||
|
||||
To create Mimir, Loki or Cortex alerts you must have a compatible Prometheus data source. You can check if your data source is compatible by testing the data source and checking the details if the ruler API is supported.
|
||||
|
||||
{{< figure src="/static/img/docs/alerting/unified/mimir-datasource-check.png" caption="Successfully connected to a Mimir Prometheus datasource" max-width="40%" >}}
|
||||
|
||||
## Recording rules
|
||||
|
||||
Recording rules are only available for compatible Prometheus data sources like Mimir, Loki and Cortex.
|
||||
|
||||
A recording rule allows you to save an expression's result to a new set of time series. This is useful if you want to run alerts on aggregated data or if you have dashboards that query the same expression repeatedly.
|
||||
|
||||
Read more about [recording rules](https://prometheus.io/docs/prometheus/latest/configuration/recording_rules/) in Prometheus.
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
description: Learn how to organize alert rules
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- organization
|
||||
title: Organising alert rules
|
||||
weight: 104
|
||||
---
|
||||
|
||||
## Namespaces and groups
|
||||
|
||||
Alerts can be organized using Folders for Grafana-managed rules and namespaces for Mimir or Loki rules and group names.
|
||||
|
||||
### Namespaces
|
||||
|
||||
When creating Grafana-managed rules, the folder can be used to perform access control and grant or deny access to all rules within a specific folder.
|
||||
|
||||
### Groups
|
||||
|
||||
All rules within a group are evaluated at the same **interval**.
|
||||
|
||||
Alert rules and recording rules within a group will always be evaluated **sequentially**, meaning no rules will be evaluated at the same time and in order of appearance.
|
||||
|
||||
> **Note** If you want rules to be evaluated concurrently and with different intervals, consider storing them in different groups.
|
||||
@@ -1,8 +1,11 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/fundamentals/alertmanager/", "/docs/grafana/latest/alerting/metrics/", "/docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/"]
|
||||
title = "Alertmanager"
|
||||
weight = 116
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/fundamentals/alertmanager/
|
||||
- /docs/grafana/latest/alerting/metrics/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/fundamentals/alertmanager/
|
||||
title: Alertmanager
|
||||
weight: 116
|
||||
---
|
||||
|
||||
# Alertmanager
|
||||
|
||||
|
||||
@@ -1,14 +1,21 @@
|
||||
+++
|
||||
aliases = ["/docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/", "/docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/"]
|
||||
description = "Annotations and labels for alerting"
|
||||
keywords = ["grafana", "alerting", "guide", "rules", "create"]
|
||||
title = "Annotations and labels for alerting rules"
|
||||
weight = 401
|
||||
+++
|
||||
---
|
||||
aliases:
|
||||
- /docs/grafana/latest/alerting/alerting-rules/alert-annotation-label/
|
||||
- /docs/grafana/latest/alerting/unified-alerting/alerting-rules/alert-annotation-label/
|
||||
description: Annotations and labels for alerting
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- rules
|
||||
- create
|
||||
title: Annotations and labels for alerting rules
|
||||
weight: 401
|
||||
---
|
||||
|
||||
# Annotations and labels for alerting rules
|
||||
|
||||
Annotations and labels are key value pairs associated with alerts originating from the alerting rule, datasource response, and as a result of alerting rule evaluation. They can be used in alert notifications directly or in [templates]({{< relref "../../contact-points/message-templating/_index.md" >}}) and [template functions]({{< relref "../../contact-points/message-templating/template-functions" >}}) to create notification contact dynamically.
|
||||
Annotations and labels are key value pairs associated with alerts originating from the alerting rule, datasource response, and as a result of alerting rule evaluation. They can be used in alert notifications directly or in [templates]({{< relref "../../contact-points/message-templating/_index.md" >}}) and [template functions]({{< relref "../../contact-points/message-templating/template-functions/" >}}) to create notification contact dynamically.
|
||||
|
||||
## Annotations
|
||||
|
||||
@@ -20,6 +27,6 @@ Labels are key-value pairs that contain information about, and are used to uniqu
|
||||
|
||||
Before you begin using annotations and labels, familiarize yourself with:
|
||||
|
||||
- [Labels in Grafana alerting]({{< relref "./how-to-use-labels.md" >}})
|
||||
- [How label matching works]({{< relref "./how-to-use-labels.md" >}})
|
||||
- [Template variables for alerting rule labels and annotations]({{< relref "./variables-label-annotation.md" >}})
|
||||
- [Labels in Grafana alerting]({{< relref "how-to-use-labels.md" >}})
|
||||
- [How label matching works]({{< relref "how-to-use-labels.md" >}})
|
||||
- [Template variables for alerting rule labels and annotations]({{< relref "variables-label-annotation.md" >}})
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
+++
|
||||
title = "Labels in Grafana alerting"
|
||||
description = "Learn about labels and label matchers in alerting"
|
||||
keywords = ["grafana", "alerting", "guide", "fundamentals"]
|
||||
weight = 117
|
||||
+++
|
||||
---
|
||||
description: Learn about labels and label matchers in alerting
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- fundamentals
|
||||
title: Labels in Grafana alerting
|
||||
weight: 117
|
||||
---
|
||||
|
||||
# Labels in Grafana alerting
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
+++
|
||||
title = "Label matchers"
|
||||
description = "Learn about labels and label matchers in alerting"
|
||||
keywords = ["grafana", "alerting", "guide", "fundamentals"]
|
||||
weight = 117
|
||||
+++
|
||||
---
|
||||
description: Learn about labels and label matchers in alerting
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- fundamentals
|
||||
title: Label matchers
|
||||
weight: 117
|
||||
---
|
||||
|
||||
# How label matching works
|
||||
|
||||
|
||||
@@ -1,9 +1,13 @@
|
||||
+++
|
||||
title = "Template variables for alerting rule labels and annotations"
|
||||
description = "Learn about labels and label matchers in alerting"
|
||||
keywords = ["grafana", "alerting", "guide", "fundamentals"]
|
||||
weight = 117
|
||||
+++
|
||||
---
|
||||
description: Learn about labels and label matchers in alerting
|
||||
keywords:
|
||||
- grafana
|
||||
- alerting
|
||||
- guide
|
||||
- fundamentals
|
||||
title: Template variables for alerting rule labels and annotations
|
||||
weight: 117
|
||||
---
|
||||
|
||||
# Template variables for alerting rule labels and annotations
|
||||
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user