Commit Graph

5281 Commits

Author SHA1 Message Date
Grot (@grafanabot) f373eca377 [v9.5.x] Alerting: Fix panic when reparenting receivers to groups following an attempted rename via Provisioning (#67175)
Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
Fix panic when reparenting receivers to groups following an attempted rename via Provisioning (#67167)
2023-04-25 04:43:47 +03:00
Steve Simpson c3d1930d05 [v9.5.x] Alerting: Allow hooking into request handler functions. (#67154)
Alerting: Allow hooking into request handler functions. (#67000)

* Alerting: Allow hooking into request handler functions.

Adds a facility to AlertNG for hooking into API handlers, allowing the
replacement of request handlers for specific paths. One of goals of this
approach was to allow hooking as late as possible in the request, e.g.
after all middleware has been applied, to simplfiy usage.

* Update pkg/services/ngalert/api/hooks.go

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Update pkg/services/ngalert/api/hooks.go

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Update pkg/services/ngalert/ngalert.go

Co-authored-by: gotjosh <josue.abreu@gmail.com>

* Fixes to review comments

* Fix passing logger in

---------

Co-authored-by: gotjosh <josue.abreu@gmail.com>
(cherry picked from commit 9effb9a708)
2023-04-24 20:43:23 +02:00
Grot (@grafanabot) 8bc2a7144a [v9.5.x] Nested folders: Fix error response codes (#66975)
Nested folders: Fix error response codes (#66943)

* Nested folders: Fix error response codes

Fix error handling

(cherry picked from commit 24696d593b)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-04-21 15:15:14 +00:00
Ashley Harrison ae716112dc Navigation IA: Update Monitoring to Observability (#66963) (#67023)
* update monitoring -> observability

* update backend test

(cherry picked from commit 1f193f1bad)
2023-04-21 10:40:15 +01:00
Grot (@grafanabot) 32869c96df [v9.5.x] Alerting: Fix DatasourceUID and RefID missing for DatasourceNoData alerts (#66962)
Alerting: Fix DatasourceUID and RefID missing for DatasourceNoData alerts (#66733)

This commit fixes a bug where DatasourceUID and RefID annotations are
missing for DatasourceNoData alerts in Grafana 9.5. This bug affects
datasource plugins that have moved to using the data plane contract.

(cherry picked from commit 35342a3c76)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-04-20 16:56:53 +03:00
Grot (@grafanabot) 384a21d03c [v9.5.x] Alerting: Add tests for Evaluate (#66930)
Alerting: Add tests for Evaluate (#66739)

(cherry picked from commit 883dcc81c0)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-04-20 13:42:18 +03:00
Grot (@grafanabot) 3fb37e26b5 [v9.5.x] Alerting: Allow provenance disable in alerting provisioning API (#66761)
Alerting: Allow provenance disable in alerting provisioning API (#63650)

* Allow provenance None in alert rule update and rule group replace

* Allow provenance None in contact point update

* Allow updating policies to none by sending x-disable-provenance header

* Allow mute timings to disable provenance with x-disable-provenance header

* Allow disabling provenance by using x-disable-provenance header

* Add provenance helper to lower the cyclomatic complexity

* Do not downgrade provenance except un ReplaceRuleGroup

* Add function explanation and change error handling

* Add docs for x-disable-provenance changes (#66300)

* Add docs for x-disable-provenance changes

* Apply suggestions from code review

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update _index.md

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>

* Update docs/sources/alerting/set-up/provision-alerting-resources/_index.md

Co-authored-by: George Robinson <george.robinson@grafana.com>

* Add error message check in tests

* Change docs

---------

Co-authored-by: brendamuir <100768211+brendamuir@users.noreply.github.com>
Co-authored-by: George Robinson <george.robinson@grafana.com>
(cherry picked from commit f64a89727e)

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2023-04-18 15:34:44 +02:00
Grot (@grafanabot) 81b78f3af4 [v9.5.x] Annotations: Ignore unique constraint violations for tags (#66757)
(cherry picked from commit 948131aac3)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2023-04-18 14:48:16 +02:00
Grot (@grafanabot) 760146aeab [v9.5.x] Annotations: Improve get tags query performance (#66744)
Annotations: Improve get tags query performance (#66182)

* Add benchmark

* Add fix

(cherry picked from commit 04370f92dc)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-04-18 13:47:13 +03:00
Grot (@grafanabot) 3369033d74 [v9.5.x] Alerting: Allow Rules to Schedule to be filtered by Rule Group (#66458)
Alerting: Allow Rules to Schedule to be filtered by Rule Group (#59990)

* Alerting: Allow Rules to Schedule to be filtered by Rule Group

(cherry picked from commit 2bbf0c9de4)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2023-04-13 15:13:17 +03:00
Grot (@grafanabot) 12d121a1fc [v9.5.x] Auth: Remove the session cookie only if it's invalid or revoked (#66431)
Auth: Remove the session cookie only if it's invalid or revoked (#65984)

Remove the cookie if it's invalid or revoked

(cherry picked from commit 4cac95d1c2)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2023-04-13 09:54:23 +02:00
Grot (@grafanabot) 1ef8c02d19 [v9.5.x] Library panels: Ensure pagination controls are always correctly displayed (#66279)
Library panels: Ensure pagination controls are always correctly displayed (#65283)

correctly count library panels in the general folder

(cherry picked from commit fda38de293)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-04-11 16:35:28 +03:00
Grot (@grafanabot) e47e901618 [v9.5.x] Alerting: Tiny refactor on the eval and schedule packages (#66133)
Alerting: Tiny refactor on the eval and schedule packages (#66130)

* Alerting: Tiny refactor on the eval and schedule packages

two very small things:

- We had a constructor on something called a `Context` which is not a `context.Context` so let's just name that constructor `NewContext`
- The user that we use to run query evaluations is the same (with some variation) abstract it to a function so that it can be re-used when necessary.

* Update pkg/services/ngalert/schedule/schedule.go

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>

* Update pkg/services/ngalert/schedule/schedule.go

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>

---------

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
(cherry picked from commit 1c3ce0735f)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2023-04-06 18:56:53 +03:00
Grot (@grafanabot) 62e0b45067 [v9.5.x] PublicDashboards: fix collapsed rows queries (#66030)
PublicDashboards: fix collapsed rows queries (#66014)

(cherry picked from commit 232834f455)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2023-04-05 10:54:28 -03:00
Grot (@grafanabot) c7cc68649d [v9.5.x] Alerting: Use a completely isolated context for state history writes (#65969)
Alerting: Use a completely isolated context for state history writes (#64989)

* Add fresh context with timeout and same log properties, re-derive logger

* Unify timeout constants

* Move ctx after shortcut that got added through rebasing

* Unify timeouts

* Port opentracing's SpanFromContext and ContextFromSpan to the grafana tracing package

* Support both opentracing and otel variants

* Better document why we're creating a new ctx

* Add new func to FakeSpan which was added after rebase

* Support grafana-specific traceID key in both tracer implementations

(cherry picked from commit fb520edd72)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-04-04 17:12:30 -05:00
Sofia Papagiannaki a270188f0c Nested folders: Fix moving folder under root (#65684)
* Nested folders: Fix moving folder under root

* Add store test for not empty parent after update

* Modify folder and document store update implementation

Move folder only if NewParentUID is not nil

* Apply suggestion from code review
2023-04-03 21:24:36 +03:00
Joan López de la Franca Beltran 87a0c95164 Rendering: Experimental support to use JWTs as auth method (#60841)
* Rendering: Add support for auth through JWT

* Goimports

* Apply review suggestions

* Correct feature toggle ref

* Minor changes
2023-04-03 18:53:38 +02:00
George Robinson bd29071a0d Revert "Alerting: Add limits to the Prometheus Rules API" (#65842) 2023-04-03 15:20:37 +00:00
Galen Kistler 96e9e80739 Prometheus: Browser resource caching (#60711)
Add cache control headers and range snapping to Prometheus resource API calls.
2023-04-03 09:07:17 -05:00
Alexa V 2b0c0d4b95 Dashboards: Enable feature flag newPanelChromeUI by default (#65593) 2023-04-03 13:50:43 +02:00
Polina Boneva bf0f4a6751 Dashboard: Enable feature toggle emptyDashboardPage by default (#65464)
* enable FF emptyDashboardPage by default

* fix smoke test for creating a panel after enabling FF emptyDashboardPage by default
2023-04-03 14:04:54 +03:00
George Robinson d96b0a71d3 Alerting: Add limits to the Prometheus Rules API (#65169)
This commit adds a number of limits to the Grafana flavor of the
Prometheus Rules API:

1. `limit` limits the maximum number of Rule Groups returned
2. `limit_rules` limits the maximum number of rules per Rule Group
3. `limit_alerts` limits the maximum number of alerts per rule

It sorts Rule Groups and rules within Rule Groups such that data in the
response is stable across requests. It also returns summaries (totals) for
all Rule Groups, individual Rule Groups and rules.
2023-04-03 10:17:02 +01:00
Ezequiel Victorero 63998b0ad2 PublicDashboards: fix annotations when Target is nil (#65744) 2023-03-31 19:13:06 -03:00
Santiago aba91d3053 Alerting: Fetch all applied alerting configurations (#65728)
* WIP

* skip invalid historic configurations instead of erroring

* add warning log when bad historic config is found

* remove unused custom marshaller for GettableHistoricUserConfig

* add id to historic user config, move limit check to store, fix typo

* swagger spec
2023-03-31 17:43:04 -03:00
Yuri Tseretyan 7b2f44762e Alerting: Update migration to put alerts to the default folder if dashboard folder is missing (#65577)
* extract function

* use context logger

* put alert to general folder if folder is missing

* move folderHelper init

* add test

* Update pkg/services/sqlstore/migrations/ualert/ualert.go

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>

---------

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-03-31 18:40:21 +02:00
Alexander Weaver da4832724e Alerting: Delete stub for SQL alert state history backend (#65667)
Delete stub for SQL backend
2023-03-31 11:15:56 -05:00
Matthew Jacobson b9dc04139a Alerting: Respect "For" Duration for NoData alerts (#65574)
* Alerting: Respect "For" Duration for NoData alerts

This change modifies `resultNoData` to be more inline with the logic of the other state handlers.

The main effects of this are:

1) NoData states with NoDataState config set to Alerting will respect "For" duration.
2) Prevents zero value in StartsAt and EndsAt for alerts that have only even been in normal state. This includes state transitions from NoDataState=OK and ExecErrState=OK.
3) Better state transition logging.
2023-03-31 19:05:15 +03:00
Karl Persson 355f47628f AuthN: Tune logs in client (#65714)
* AuthN: Remove log

* AuthN: Check for user not found error in hook
2023-03-31 16:43:24 +02:00
Ieva 94cc93cc83 LDAP: Always synchronize Server Admin role through role sync if role sync is enabled (#58820)
fix a bug with role sync
2023-03-31 15:39:23 +01:00
Steve Simpson 04336d53a9 Alerting: Update prometheus version (#65688) 2023-03-31 16:34:35 +02:00
Yuri Tseretyan 622c23716a Alerting: Use logger with context in the state cache (#65663) 2023-03-31 10:11:30 -04:00
Emil Tullstedt be9361cb9e Logger: Add feature toggle for errors in HTTP request logs (#64425) 2023-03-31 15:38:09 +02:00
Ashley Harrison e39c3b76dd Navigation: Rename Alerts & incidents to Alerts & IRM (#65635)
update Alerts & incidents to Alerts & IRM
2023-03-31 09:40:06 +01:00
Isabella Siu 92965578b3 CloudWatch Logs: Fix running logs queries with expressions (#65306) 2023-03-30 17:40:01 -04:00
Alexander Weaver b2abb63286 Alerting: Introduce proper feature toggles for common state history backend combinations (#65497)
* define 3 feature toggles for rollout phases

* Pass feature toggles along

* Implement first feature toggle

* Try a different strategy with fall-throughs to specific configurations

* Apply toggle overrides once outside of backend composition

* Emit log messages when we coerce backends

* Run code generator for feature toggle files

* Improve wording in flag descs

* Re-run generator

* Use code-generated constants instead of plain strings

* Use converted enum values rather than strings for pre-parsing
2023-03-30 13:53:21 -05:00
Karl Persson e4d998dc1a ApiKeyGenPrefix: rename package (#65623)
* Rename package to satokengen to make it clearer that it is for service
account tokens
2023-03-30 17:04:10 +02:00
Sofia Papagiannaki 3cd3bb00ec API: Fix "Updated by" Column in dashboard versions table (#65351)
* API: Fix dashboard versions created by field

* Add tests

* Update OpenAPI specs

* Apply suggestion from code review
2023-03-30 17:31:53 +03:00
Alexander Weaver 5e87ea745d Alerting: Fix and re-enable filters instance labels in log line test (#65618)
Fix and reenable test
2023-03-30 09:02:18 -05:00
Dimitris Sotirakis e758b017d0 Alerting: Disable filters instance labels in log line test (#65610)
* Disable filters instance labels in log line test

* Add drone reference
2023-03-30 16:04:29 +03:00
Ashley Harrison a6b2bc3997 Navigation: Enable new navigation by default (#65335)
* enable topnav by default

* rename dashboard-search to dashboard-browse

* wait for time to be set in e2e test before attempting to click button

* update toggle description
2023-03-30 10:42:43 +01:00
Ashley Harrison 9e68fc6e60 Navigation: Add Import dashboard to quick actions (#65528)
* add import dashboard to quick actions

* move logic into same if block
2023-03-30 10:34:16 +01:00
Serge Zaitsev f19569d61d Chore: Remove result field from search (#65583)
remove result field from search
2023-03-30 11:28:12 +02:00
Sofia Papagiannaki c65cd5833a Nested folders: Fix move (#65526)
* Nested Folders: Fix move response

Fix JSON tags to be consistent with the GET endpoint

* Add API test for moving to root folder

* Allow move to root folder

* Fix failure message

* Update OpenAPI specification
2023-03-30 11:46:11 +03:00
Serge Zaitsev 2025c1dac1 Chore: Remove result field from stats (#65166)
remove result field from stats
2023-03-30 08:08:47 +02:00
Serge Zaitsev 4b551ae532 Chore: Remove result field from dashboards (#65249)
remove result field from dashboards
2023-03-30 07:29:52 +02:00
Yuri Tseretyan 9eaffdf5a8 Alerting: Remove dependency on alerting package in definitions (#65390)
* move export rules to definitions package
* move provisioning contact point methods to provisioning package
* move AlertRuleGroupWithFolderTitle to ngalert models and adapter functions to api's compat
* move rule_types files back to where they were before.
2023-03-29 13:34:59 -04:00
Alexander Weaver a416100abc Alerting: No longer index state history log streams by instance labels (#65474)
* Remove private labels

* No longer index by instance labels

* Labels are now invariant, only build them once

* Remove bucketing since everything is in a single stream

* Refactor statesToStreams to only return a single unified log stream

* Don't query on labels that no longer exist

* Move selector logic to loki layer, genericize client to work in terms of straight logQL

* Add support for line-level label filters in query

* Combine existing selector tests for better parallelism

* Tests for logQL construction

* Underscore instead of dot for unwrapping labels in logql
2023-03-29 11:52:11 -05:00
Kyle Brandt 674144c8e8 Prometheus: Update FrameType and make __name__ the field name (#62694)
These changes would make the response more in line with the dataplane contract, changes are under the feature toggle prometheusDataplane
2023-03-29 11:26:32 -04:00
Karl Persson d4397fae25 AuthN: Add functions for fake (#65522) 2023-03-29 15:40:09 +02:00
Santiago 7b92849508 Alerting: Add CustomDetails field in PagerDuty contact point (#64860)
* Alerting: Add CustomDetails for PagerDuty

* fix default value for 'severity' from 'error' to 'critical'

* minimal docs for notifiers, specifying config for PagerDuty

* replace notifier -> integration

* replace notifier -> integration
2023-03-29 10:35:01 -03:00