David Parrott
b1a8c67689
Alerting return evaluation errors to /rules ( #33663 )
...
* Set and return errors produced by evaluation results
* test fixup
2021-05-04 13:08:12 -04:00
David Parrott
39099bf3c0
Alerting nested state cache ( #33666 )
...
* nest cache by orgID, ruleUID, stateID
* update accessors to use new cache structure
* test and linter fixup
* fix panic
Co-authored-by: Kyle Brandt <kyle@grafana.com>
* add comment to identify what's going on with nested maps in cache
Co-authored-by: Kyle Brandt <kyle@grafana.com>
2021-05-04 09:57:50 -07:00
David Parrott
5072fefc22
allow saving pending alerts ( #33667 )
2021-05-04 09:24:20 -07:00
Sofia Papagiannaki
540f110220
[Alerting]: Extend quota service to optionally set limits on alerts ( #33283 )
...
* Quota: Extend service to set limit on alerts
* Add test for applying quota to alert rules
* Apply suggestions from code review
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
* Get used alert quota only if naglert is enabled
* Set alert limit to zero if nglalert is not enabled
Co-authored-by: Diana Payton <52059945+oddlittlebird@users.noreply.github.com>
2021-05-04 19:16:28 +03:00
Ryan McKinley
33e4f8d7ac
Live: remove feature toggle and enable by default ( #33654 )
2021-05-04 08:44:55 -07:00
Hugo Häggmark
c6d4d14a89
LibraryPanels: Adds folder filter to manage library panel page ( #33560 )
...
* LibraryPanels: Adds folder filter
* Refactor: Adds folder filter to library search
* Refactor: splits huge function into smaller functions
* LibraryPanels: Adds Panels Page to Manage Folder tabs (#33618 )
* Chore: adds tests to LibraryPanelsSearch
* Refactor: Adds reducer and tests
* Chore: changes GrafanaThemeV2
* Refactor: pulls everything behind the feature toggle
* Chore: removes clear icon from FolderFilter
* Chore: adds filter to SortPicker
* Refactor: using useAsync instead
2021-05-04 13:59:40 +02:00
Ganesh Vernekar
918552d34b
NGAlert: Send list of available ngalert notification channels via API ( #33489 )
...
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-05-04 13:58:39 +02:00
Carl Bergquist
06dc2b24bf
dont consider invalid email address a failed email ( #33671 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-05-04 12:07:50 +02:00
Kyle Brandt
48358efc13
Alerting: remove State cache entries on Ruler Delete ( #33638 )
...
for https://github.com/grafana/alerting-squad/issues/133
2021-05-03 14:01:33 -04:00
Alexander Emelin
fa866f1154
Live: client connection concurrency ( #33642 )
2021-05-03 20:29:23 +03:00
Owen Diehl
070627d11e
better handle metrics for state transitions ( #33648 )
2021-05-03 11:57:24 -04:00
Kyle Brandt
57d46ea991
AlertingMigration: Separate info into multiple annos ( #33641 )
2021-05-03 11:42:31 -04:00
Kyle Brandt
c1034f3118
Alerting: Create instanceStore ( #33587 )
...
for https://github.com/grafana/alerting-squad/issues/129
2021-05-03 07:19:15 -04:00
Emil Tullstedt
4496ae496e
Access control: Clean up users scopes ( #33532 )
...
Following discussion in grafana/grafana-enterprise#1292 , removing
org-scoped users scopes to make it clear that the local organization is
the default and the alternative to that is a global scope (for a select
few endpoints)
2021-05-03 10:27:12 +02:00
Arve Knudsen
567b852072
PagerDuty: Omit empty message ( #33614 )
...
Co-authored by pkoenig10
Signed-off-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-05-03 08:51:22 +02:00
Sofia Papagiannaki
49e9f7e3b6
Chore: Fix mysql integration tests ( #33606 )
2021-05-02 19:49:38 +02:00
Torkel Ödegaard
cbf30aac82
Revert "Omit empty message in PagerDuty notifier ( #31359 )" ( #33604 )
...
This reverts commit d652d035ab
.
2021-05-02 14:06:28 +02:00
Patrick Koenig
d652d035ab
Omit empty message in PagerDuty notifier ( #31359 )
2021-05-02 08:53:20 +02:00
Kyle Brandt
c2a5da79e3
Alerting: Avoid panic by not loading instances without a rule ( #33597 )
2021-05-01 19:01:28 +02:00
Kyle Brandt
759a0cd71b
Build: Fix with cleanup call maybe? ( #33590 )
2021-04-30 13:02:37 -07:00
Kyle Brandt
efe856ae4e
AlertingMigration: Create alert_rule_version entry ( #33585 )
...
Create the alert rule version entry during the migration so it is consistent with rules created via api.
for https://github.com/grafana/alerting-squad/issues/123
2021-04-30 15:08:01 -04:00
Kyle Brandt
7823842c5d
Alerting: Load annotations from rule into State cache ( #33542 )
...
for https://github.com/grafana/alerting-squad/issues/127
2021-04-30 20:23:12 +02:00
Alexander Emelin
0c2bcbf2bc
Live: persisting last message in cache for broadcast scope ( #32938 )
2021-04-30 11:06:33 -07:00
Kyle Brandt
c25eab4eda
AlertMigration: remove alert_rule UID db check ( #33568 )
...
do not believe this is needed due to uniqueness promised by shortid lib
since there is no provisioning yet. https://github.com/teris-io/shortid
2021-04-30 13:35:26 -04:00
Kyle Brandt
b8f01fe034
Alerting: backend "ng" code cleanup ( #33578 )
2021-04-30 13:21:57 -04:00
Owen Diehl
5e48b54549
Alerting/metrics ( #33547 )
...
* moves alerting metrics to their own pkg
* adds grafana_alerting_alerts (by state) metric
* alerts_received_{total,invalid}
* embed alertmanager alerting struct in ng metrics & remove duplicated notification metrics (already embed alertmanager notifier metrics)
* use silence metrics from alertmanager lib
* fix - manager has metrics
* updates ngalert tests
* comment lint
Signed-off-by: Owen Diehl <ow.diehl@gmail.com>
* cleaner prom registry code
* removes ngalert global metrics
* new registry use in all tests
* ngalert metrics impl service, hack testinfra code to prevent duplicate metric registrations
* nilmetrics unexported
2021-04-30 12:28:06 -04:00
Kyle Brandt
713260f6fa
Alerting: Remove datasource (name) from migration ( #33544 )
...
no longer needed as of https://github.com/grafana/grafana/pull/33416
for https://github.com/grafana/alerting-squad/issues/126
2021-04-30 07:47:01 -04:00
Kyle Brandt
6c8ef2a9c2
Alerting: Alert Rule migration ( #33000 )
...
* Not complete, put migration behind env flag for now:
UALERT_MIG=iDidBackup
* Important to backup, and not expect the same DB to keep working until the env trigger is removed.
* Alerting: Migrate dashboard alert permissions
* Do not use imported models
* Change folder titles
Co-authored-by: Sofia Papagiannaki <papagian@users.noreply.github.com>
2021-04-29 13:24:37 -04:00
Sofia Papagiannaki
1e380e869e
[Alerting]: some fixes ( #33538 )
...
* Fix fialure when adding state annotations
* Fix get org rules API
Do not fail response if user has no access to view a namespace.
Do not include the namespace in the response instead.
* lint
2021-04-29 19:15:15 +03:00
Kyle Brandt
d32fcbe2bc
Alerting: Eval pkg tests and more specific error handling ( #33496 )
...
* comment updates
* more friendly error messages, in particular if it looks like time series data
2021-04-29 07:27:32 -04:00
Emil Tullstedt
840828b5d2
Access control: Allow empty scope requirement lists ( #33518 )
2021-04-29 13:22:13 +02:00
Owen Diehl
ec37b4cb87
[Alerting] Automatic request instrumentation ( #33444 )
...
* alerting: automatic request instrumentation
* always expose alerting prom metrics
* globally register alerting metrics
2021-04-28 16:59:15 -04:00
Kyle Brandt
914443c816
Alerting: Fix state cache id duplication ( #33480 )
2021-04-28 11:42:19 -04:00
Marcus Efraimsson
7e6db1ee7e
Permissions: Fix inherited folder permissions can prevent new permissions being added to a dashboard ( #33329 )
...
In the case permissions has been added on dashboard(s). Later permissions for the
parent folder of the dashboard is edited in such a way that dashboard in that folder
has a permission that is a duplicate of an inherited one. This PR changes so that
duplicate permissions are now filtered out from /api/dashboards/id/<dashboard id>/permissions.
Duplicate permission are not filtered out if the permission on dashboard is higher
than on the inherited folder.
Fixes #33296
Co-authored-by: Arve Knudsen <arve.knudsen@gmail.com>
2021-04-28 14:42:18 +02:00
ying-jeanne
748778fff0
new endpoint to post/get trimmed dashboard json ( #33465 )
...
* new endpoint to post/get trimed dashboard json
* add isdisabled check in dashboard.go
2021-04-28 19:38:33 +08:00
Christian Haudum
076e2ce06a
Return 404 when deleting non-existing API key ( #33346 )
...
The server needs to return a HTTP 404 (Not Found) when an API key that does not exist is deleted.
2021-04-28 13:30:09 +02:00
Sofia Papagiannaki
7ccb022c03
Alerting: validate condition before updating rulegroup ( #33367 )
...
* Alerting: validate condition before updating rulegroup
* Apply suggestions from code review
2021-04-28 11:31:51 +03:00
Hugo Häggmark
20ee0e9601
LibraryPanels: Adds panel type filter and sorting ( #33425 )
...
* Wip: inital commit
* Chore: updating api
* Refactor: adds description search and sorting
* Refactor: adds panel filtering
* Refactor: limits the height of select
* Tests: updates snapshot
* Refactor: small UI improvements
2021-04-28 09:18:13 +02:00
Kyle Brandt
b590e95682
AlertingAPI: Change list response query prop ( #33419 )
...
* Alerting: change to full []AlertQuery as json in a string and not just model.
2021-04-27 22:15:00 +02:00
Vardan Torosyan
5bf6d7dad8
Access control: Update evaluator to authorize when at least one of the scopes is a match ( #33393 )
2021-04-27 18:22:18 +02:00
Ganesh Vernekar
467ab124dd
NGAlert: Fix GET for Alertmanager config ( #33379 )
...
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-27 20:48:19 +05:30
Alexander Emelin
50795bc760
live: better comment, code style, show disconnect reason ( #33430 )
2021-04-27 17:01:12 +02:00
Kyle Brandt
adcba36d39
AlertingAPI: update swagger json files match datasourceUid change ( #33332 )
...
* update swagger json files match datasourceUid change
underlying change made in https://github.com/grafana/grafana/pull/33282
* Document DatasourceUID field in AlertQuery model
* Run spec generation from inside a docker container
* Generate latest spec
Co-authored-by: Sofia Papagiannaki <sofia@grafana.com>
2021-04-27 16:50:30 +02:00
Alexander Emelin
e6f9f65fdf
Live: use ReqSignedIn middleware for ws routes ( #33381 )
2021-04-27 16:19:36 +02:00
Owen Diehl
86c8eed386
Instrument/ruler api ( #33290 )
...
* ruler api histogram instrumentation
* register ruler metrics
2021-04-27 08:25:32 -04:00
Ganesh Vernekar
be1affe0a4
NGAlert: Fix flaky test ( #33415 )
...
Signed-off-by: Ganesh Vernekar <ganeshvern@gmail.com>
2021-04-27 17:03:22 +05:30
Carl Bergquist
58a325a4e4
Instrumentation: Add success rate metrics for email notifications ( #33359 )
...
Signed-off-by: bergquist <carl.bergquist@gmail.com>
2021-04-27 11:15:07 +02:00
Alexander Emelin
2abd9bc3b9
live: rename url param - assume stable schema by default ( #33383 )
2021-04-26 20:46:26 +03:00
Alexander Emelin
7501a2deb6
Live: pure websocket push endpoint ( #33339 )
2021-04-26 13:17:49 +03:00
Ryan McKinley
693915de35
Live: Simplify live interface ( #33196 )
2021-04-23 23:21:38 +02:00