The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more.
Go to file
Sonia Aguilar 9a252c763a
Alerting: Add notification policies preview in alert creation (#68839)
* Add notification policies preview in alert rule form
Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>

* Refactor using new useGetPotentialInstances hook and apply some style changes

* Add notification policy detail modal

* Use backtesting api for simulating  potential alert instances

* Fix logic to travserse all the children from the root route

* Split notification preview by alert manager

* Add instance count to matching policy header and fix some styles

* Move some logic to a new hook useGetAlertManagersSourceNames to make the code more clean

* Fix some tests

* Add initial test for NotificationPreview

* Use button to preview potential instances

* Add link to contact point details

* Add route matching result details

* Show AlertManager image in the routing preview list

* Add tests setup, add single AM preview test

* Handle no matchers and no labels use case

* Update some style in collapse component and fix policy path in modal

* Update modal styles

* Update styles

* Update collapse header styling

* Normalize tree nodes should happen before findMatchingRoutes call

* Fix findMatchingRoutes and findMatchingAlertGroups methods after reabasing

* Move instances matching to the web worker code

* Fix config fetching for vanilla prometheus AMs

* Add tests

* Add tests mocks

* Fix tests after adding web worker

* Display matching labels for each matching alert instance

* Add minor css improvements

* Revert changes added in Collapse component as we don't use it anymore

* Move the route details modal to a separate file

* Move NotificationRoute and preview hook into separate files

* Fix Alertmanager preview tests

* Fix tests

* Move matcher code to a separate file, improve matcher mock

* Add permissions control for contact point edit view link

* Fix from and to for the temporal use of backtesting api

* Fix tests, add lazy loading of the preview component

Co-authored-by: Sonia Aguilar <soniaaguilarpeiron@gmail.com>

* Fix preview test

* Add onclick on the header div so it collapse and expands when clicking on it, and update styles to be consistent with the rest of tables

* Adapt the code to the new rule testing endpoint definition

* Fix tests

* small changes after reviewing the final code

* compute entire inherited tree before computing the routes map

* Throw error in case of not having receiver in routesByIdMap and add test for the use case of inheriting receiver from parent to check UI throws no errors

* Add list of labels in the policy route path that produces the policy matchers to match potential instances

* Use color determined by the key, in label tags when hovering matchers in the policy tree

* Remove labels in modal and handle empty string as receiver to inherit from parent as we do with undefined

* Revert "Add list of labels in the policy route path that produces the policy matchers to match potential instances"

This reverts commit ee73ae9cf9.

* fix inheritance for computeInheritedTree

* Fix message shown when preview has not been executed yet

* First round for adressing PR review comments

* Adress the rest of PR review commments

* Update texts and rename id prop in NotificaitonStep to alertUid

---------

Co-authored-by: Konrad Lalik <konrad.lalik@grafana.com>
Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
2023-06-19 13:32:17 +02:00
.bingo Chore: Update target in go.mod to 1.20 and golangci-lint to v1.52.2 (#67102) 2023-05-10 13:47:35 +02:00
.changelog-archive Archive old changelogs (#69975) 2023-06-13 11:33:02 +02:00
.github Chore: Update features/panel codeowners (#70246) 2023-06-16 18:15:47 +03:00
.husky Chore: do not run husky hooks on backend-only changes (#48439) 2022-04-29 14:01:02 +01:00
.vim Chore: Upgrade yarn and editor sdks (#42847) 2021-12-08 14:40:24 +01:00
.vscode Add debug option for Golang tests in vscode (#61983) 2023-01-24 14:44:44 +01:00
.yarn Update Yarn to v3.6.0 (#69437) 2023-06-05 10:43:09 +01:00
conf Config: Add configuration option to define custom user-facing general error message for certain error types (#70023) 2023-06-16 10:46:47 -05:00
contribute Docs: Contribution guidelines for updating Drone pipelines (#69530) 2023-06-14 10:40:17 +02:00
cue.mod Introduce "scuemata" system for CUE-based specification of Grafana objects (#32527) 2021-04-08 01:11:11 -07:00
devenv Elastic Infinite test data generation (#70058) 2023-06-14 12:51:47 +01:00
docs loki: rename experimental feature flag (#70306) 2023-06-19 10:03:51 +00:00
e2e Dashboards: Data source template variable options now specify a current value using uid. (#69259) 2023-06-12 01:05:50 -07:00
emails Show the alertname for each alert in plain text email (#70183) 2023-06-16 10:06:43 -04:00
grafana-mixin grafana-mixin: Fix expression for GrafanaRequestsFailing alert (#63382) 2023-05-04 14:35:36 +02:00
kinds Schema: Improve Dashboard kind docs and remove deprecated props (#69359) 2023-06-06 14:28:10 +02:00
local Packaging: Dockerfile copy local folder (#64766) 2023-03-14 14:44:11 -05:00
packages Alerting: Add notification policies preview in alert creation (#68839) 2023-06-19 13:32:17 +02:00
packaging Build: Update plugin installation in custom Dockerfile (#68310) 2023-05-11 16:03:02 -04:00
pkg loki: rename experimental feature flag (#70306) 2023-06-19 10:03:51 +00:00
plugins-bundled Release: Bump version to 10.1.0-pre (#67613) 2023-05-02 09:48:59 +03:00
public Alerting: Add notification policies preview in alert creation (#68839) 2023-06-19 13:32:17 +02:00
scripts Use docs/reference for flexible linking for content reused in Grafana Cloud (#70253) 2023-06-16 17:24:21 +01:00
tools Image Rendering: Remove PhantomJS support (#23460) 2020-04-15 22:17:41 +02:00
.betterer.results Elasticsearch: remove usages of any (#69575) 2023-06-19 11:01:08 +02:00
.betterer.ts Chore: Upgrade Storybook to v7 (#65943) 2023-05-11 14:26:12 +02:00
.bra.toml Chore: Remove redundant codegen step from .bra.tom (#62764) 2023-02-02 14:53:54 +01:00
.browserslistrc Babel: Target more modern browsers, updates browserlistrc (#32573) 2021-04-01 10:32:00 +02:00
.dockerignore copy .github folder into golang build container since we rely on codeowners (#62122) 2023-01-25 10:31:16 -05:00
.drone.star CI: Add release verify pipeline (#68756) 2023-05-23 10:01:09 +02:00
.drone.yml Use docs/reference for flexible linking for content reused in Grafana Cloud (#70253) 2023-06-16 17:24:21 +01:00
.editorconfig Chore: Enable PR testing in Drone (#26189) 2020-07-10 16:09:21 +02:00
.eslintignore Chore: Align on 'internationalization' for feature name (#52585) 2022-07-21 06:31:08 -04:00
.eslintrc Chore: eslint rule for preventing e2e selectors in aria-label (#59731) 2023-01-18 15:02:35 +00:00
.gitattributes CRLF (#28822) 2020-11-05 17:20:40 +01:00
.gitignore Update make-docs script (#66841) 2023-04-24 16:23:33 +01:00
.golangci.toml Chore: Update target in go.mod to 1.20 and golangci-lint to v1.52.2 (#67102) 2023-05-10 13:47:35 +02:00
.linguirc I18n: Change locale format to IETF language tag (#52596) 2022-07-22 10:50:00 -04:00
.nvmrc Chore: Move to node 18 again (#62079) 2023-01-26 10:19:39 +00:00
.pa11yci-pr.conf.js Login: Show additional information when prompting to change password (#69537) 2023-06-06 11:24:46 +01:00
.pa11yci.conf.js A11y: Add Dashboard Settings to Pa11y CI and Refactor local a11y report (#54476) 2022-09-12 15:14:45 +02:00
.prettierignore Swagger: Fix circular reference (#62673) 2023-02-02 13:18:04 +02:00
.prettierrc.js Toolkit: Remove deprecated plugin:build (#67485) 2023-04-28 14:33:16 +02:00
.yarnrc.yml Update Yarn to v3.6.0 (#69437) 2023-06-05 10:43:09 +01:00
babel.config.json Revert: Babel removal and runtime update (#63641) 2023-02-23 09:22:35 -05:00
build.go Chore: move build command to importable package (#38726) 2021-09-03 11:24:21 -05:00
CHANGELOG.md Changelog: Updated changelog for 9.3.14 (#70188) 2023-06-16 09:55:12 +03:00
CODE_OF_CONDUCT.md Docs: Refactor inconsistent unordered lists (#27826) 2020-10-02 11:02:11 -07:00
CONTRIBUTING.md Docs: Correct contributing.md i18n message (#66103) 2023-04-06 18:42:40 +02:00
crowdin.yml I18n: Update crowdin config and codeowners (#57264) 2022-10-20 14:59:02 +01:00
Dockerfile Chore: Upgrade Go to 1.20.4 (#67748) 2023-05-04 10:52:43 +03:00
embed.go extract kindsys to external library (#64562) 2023-03-15 12:04:28 -04:00
go.mod Chore: Replace go-multierror with errors package (#66432) 2023-06-19 12:29:45 +03:00
go.sum Codegen: Generate any instead of interface{} (#70201) 2023-06-16 10:54:56 +02:00
GOVERNANCE.md Governance: Update workplace (#63997) 2023-04-03 13:54:54 +02:00
HALL_OF_FAME.md Chore: Introducing a Grafana HALL_OF_FAME.md (#45878) 2022-05-18 20:13:11 +00:00
ISSUE_TRIAGE.md ISSUE_TRIAGE.md: update (#60299) 2023-01-19 18:21:36 +01:00
jest.config.js Plugins: Add Initial implementation for frontend plugins sandboxing (#68889) 2023-06-05 10:51:36 +02:00
latest.json Chore: update latest.json to 10.0.0 (#69996) 2023-06-13 14:32:55 +02:00
lerna.json Improve empty state when no ds picker were found (#67422) 2023-05-04 13:17:03 +03:00
LICENSE Re-license Grafana to AGPLv3 (#33184) 2021-04-20 19:03:30 +02:00
LICENSING.md Explore: Refactor trace view and move to core (#61938) 2023-01-27 14:13:17 +00:00
MAINTAINERS.md Add Docs maintainers (#51287) 2022-06-22 13:10:30 -07:00
Makefile All: Remove make gen-cue from main dev flow (#67838) 2023-05-04 16:40:35 +03:00
metadata.md Docs: Document plugin authentication in metadata schema (#32703) 2021-04-08 18:13:18 +02:00
NOTICE.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
package.json package.json: Fix what's new URL in package.json (#70233) 2023-06-16 14:55:14 +03:00
README.md Docs: Update install guides link in README (#56116) 2022-11-14 11:42:23 +01:00
ROADMAP.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
SECURITY.md Docs: Update RSS feed in security page (#56439) 2022-11-22 10:07:59 +01:00
stylelint.config.js Update dependency stylelint to v14.6.0 (#46626) 2022-03-23 13:40:54 +00:00
SUPPORT.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
tsconfig.json Explore: Refactor trace view and move to core (#61938) 2023-01-27 14:13:17 +00:00
UPGRADING_DEPENDENCIES.md Bump publish docs node version (#46475) 2022-03-11 21:28:12 +01:00
WORKFLOW.md Prettier: Fix all markdown files and add markdown files to CI verify step (#39776) 2021-09-29 14:34:40 +02:00
yarn.lock Core: Upgrade @grafana/tsconfig to 1.3.0-rc1 (#70149) 2023-06-15 14:17:31 +02:00

Grafana

The open-source platform for monitoring and observability

License Drone Go Report Card

Grafana allows you to query, visualize, alert on and understand your metrics no matter where they are stored. Create, explore, and share dashboards with your team and foster a data-driven culture:

  • Visualizations: Fast and flexible client side graphs with a multitude of options. Panel plugins offer many different ways to visualize metrics and logs.
  • Dynamic Dashboards: Create dynamic & reusable dashboards with template variables that appear as dropdowns at the top of the dashboard.
  • Explore Metrics: Explore your data through ad-hoc queries and dynamic drilldown. Split view and compare different time ranges, queries and data sources side by side.
  • Explore Logs: Experience the magic of switching from metrics to logs with preserved label filters. Quickly search through all your logs or streaming them live.
  • Alerting: Visually define alert rules for your most important metrics. Grafana will continuously evaluate and send notifications to systems like Slack, PagerDuty, VictorOps, OpsGenie.
  • Mixed Data Sources: Mix different data sources in the same graph! You can specify a data source on a per-query basis. This works for even custom datasources.

Get started

Unsure if Grafana is for you? Watch Grafana in action on play.grafana.org!

Documentation

The Grafana documentation is available at grafana.com/docs.

Contributing

If you're interested in contributing to the Grafana project:

Get involved

License

Grafana is distributed under AGPL-3.0-only. For Apache-2.0 exceptions, see LICENSING.md.