Commit Graph
10031 Commits
Author SHA1 Message Date
Grot (@grafanabot)andAlexander Weaver 772eb4b58a [v9.4.x] Alerting: Fix intermittency when seeding database in rule store tests (#64326)
Alerting: Fix intermittency when seeding database in rule store tests (#64322)

Force unique IDs when seeding database

(cherry picked from commit 4a1c18abf6)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-03-07 11:00:50 -05:00
Will Browne 2d0324ec70 [v9.4.x] Plugins: Fix Cache-Control header response for public/plugins/* assets API (#64255)
resolve conflicts
2023-03-06 19:20:54 +01:00
Grot (@grafanabot)andGeorge Robinson 0d2a01f03f [v9.4.x] Alerting: Fix Classic Conditions $values variable (#64249)
Alerting: Fix Classic Conditions $values variable (#64243)

This commit fixes a bug in the $values variable in notification
templates when using Classic Conditions. Since Classic Conditions
are not multi-dimensional, the values of each series that exceeded
the condition should be available as a RefID and offset. For example,
B0, B1, etc. However, this bug meant that instead just a single
condition would be printed as B, not B0.

(cherry picked from commit ed71012ced)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-03-06 12:33:30 -05:00
Alexander Weaver 4c38e25ecd Alerting: Expose Prometheus metrics for persisting state history (#64246)
Alerting: Expose Prometheus metrics for persisting state history (#63157)

* Create historian metrics and dependency inject

* Record counter for total number of state transitions logged

* Track write failures

* Track current number of active write goroutines

* Record histogram of how long it takes to write history data

* Don't copy the registerer

* Adjust naming of write failures metric

* Introduce WritesTotal to complement WritesFailedTotal

* Measure TransitionsFailedTotal to complement TransitionsTotal

* Rename all to state_history

* Remove redundant Total suffix

* Increment totals all the time, not just on success

* Drop ActiveWriteGoroutines

* Drop PersistDuration in favor of WriteDuration

* Drop unused gauge

* Make writes and writesFailed per org

* Add metric indicating backend and a spot for future metadata

* Drop _batch_ from names and update help

* Add metric for bytes written

* Better pairing of total + failure metric updates

* Few tweaks to wording and naming

* Record info metric during composition

* Create fakeRequester and simple happy path test using it

* Blocking test for the full historian and test for happy path metrics

* Add tests for failure case metrics

* Smoke test for full annotation persistence

* Create test for metrics on annotation persistence, both happy and failing paths

* Address linter complaints

* More linter complaints

* Remove unnecessary whitespace

* Consistency improvements to help texts

* Update tests to match new descs

(cherry picked from commit 19d01dff91)
2023-03-06 12:10:11 -05:00
Sofia Papagiannaki 8c12f75b0b [v9.4.x] Chore: Remove CreateUserForTests() (#64125) (#64165)
Chore: Remove CreateUserForTests() (#64125)

* Chore: Remove CreateUserForTests

* Apply suggestion from code review

(cherry picked from commit e6e8351ee9)
2023-03-03 18:43:10 +02:00
Grot (@grafanabot)andKristin Laemmert 5014df0521 [v9.4.x] fix: create temp user no longer sets ID to 0 for all users (#64160)
fix: create temp user no longer sets ID to 0 for all users (#64149)

* fix: create temp user no longer sets ID to 0 for all users

The xorm tag added to the tempuser ID field caused xorm to create all temp users with ID 0. Removing that tag allows xorm to set the ID based on the database result instead. I also added a test which was failing before this.

Fixes #63995

(cherry picked from commit dbb72f2c6e)

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2023-03-03 11:24:21 -05:00
Grot (@grafanabot)andJimmie Han 6d0beaedaf [v9.4.x] build: fix corss build (#63261)
build: fix corss build (#61121)

* build: fix corss build

* fix lint

(cherry picked from commit 37baae3699)

Co-authored-by: Jimmie Han <hanjinming@outlook.com>
2023-03-03 10:04:12 -06:00
Ashley Harrison 4ee064da11 Chore: Pass signed user_hash to Intercom via Rudderstack (#63921) (#64145)
* move analytics identifiers to backend

* implement hash function

* grab secret from env

* expose and retrieve intercom secret from config

* concat email with appUrl to ensure uniqueness

* revert to just using email

* Revert "revert to just using email"

This reverts commit 8f10f9b1bc.

* add docstring

(cherry picked from commit d61bcdf4ca)
2023-03-03 10:06:13 -05:00
Grot (@grafanabot)andYuri Tseretyan aad839e5b9 [v9.4.x] Alerting: Fix client to external Alertmanager to correctly build URL for Mimir Alertmanager (#63684)
Alerting: Fix client to external Alertmanager to correctly build URL for Mimir Alertmanager (#63676)

(cherry picked from commit 98e1aeaebd)

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-03-03 09:14:33 -05:00
Giordano Ricci bdf8b7531b [9.4.x] Correlations: Fix flaky integration tests (#64004) (#64139)
Correlations: Fix flaky integration tests (#64004)

* Correlations: Fix flaky integration tests

* set explore-squad as correlations tests code owners

(cherry picked from commit 4a7fbea7a4)
2023-03-03 14:06:59 +00:00
Grot (@grafanabot)andDimitris Sotirakis b733b4fd5c [v9.4.x] Docker Build: Use tonistiigi/binfmt image for cross compilation (#64117)
Docker Build: Use `tonistiigi/binfmt` image for cross compilation (#64108)

* Change docker image used for cross-compilation

* Replace fmt.Println with log.Println

* Add specific tag for docker image

(cherry picked from commit b42fd92fad)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-03-03 13:19:00 +02:00
Grot (@grafanabot)andAlexander Weaver 8861a8a977 [v9.4.x] SQLStore: Enable clientFoundRows for MySQL connections (#64083)
SQLStore: Enable clientFoundRows for MySQL connections (#64070)

Enable clientFoundRows for MySQL connections

(cherry picked from commit 8ea71d37c2)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-03-02 17:49:33 -06:00
Grot (@grafanabot)andDimitris Sotirakis f8df798afd [v9.4.x] NPM: Stop using the folder path before the name path (#64071)
NPM: Stop using the folder path before the name path (#63851)

Stop using the folder path before the name path

(cherry picked from commit 177aa254c5)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-03-02 14:28:45 -06:00
Yuri Tseretyan 25c31c2c7c [v9.4.x] Alerting: Use background context for maintenance function (#64066)
Alerting: Use background context for maintenance function (#64065)

(cherry picked from commit e760f22402)

# Conflicts:
#	pkg/services/ngalert/notifier/alertmanager.go
2023-03-02 14:45:27 -05:00
Emil Tullstedt 4e687dfb6f [v9.4.x] Chore: Upgrade Go to 1.20.1 and Alpine to 3.17 (#63891) 2023-03-02 11:53:45 +01:00
Grot (@grafanabot)andEzequiel Victorero 0299b18b88 [v9.4.x] Reqcontext: Use err status code instead of always fallback (#63977)
Reqcontext: Use err status code instead of always fallback (#63974)

(cherry picked from commit 8bd4e2cb25)

Co-authored-by: Ezequiel Victorero <ezequiel.victorero@grafana.com>
2023-03-01 18:48:33 -03:00
Grot (@grafanabot)andGeorge Robinson 8c483cca31 [v9.4.x] Alerting: Fix migration pauses all alert rules on PostgreSQL (#63968)
Alerting: Fix migration pauses all alert rules on PostgreSQL (#63951)

This commit fixes a serious bug in Grafana 9.4.1 where on upgrade
a migration would pause all existing alert rules and change the
default value of the column to true.

(cherry picked from commit 030f6c948f)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-03-01 18:00:08 +00:00
Grot (@grafanabot)andAlex Moreno 4c22a2b8fb [v9.4.x] Alerting: Fix boolean default in migration from false to 0 (#63963)
Alerting: Fix boolean default in migration from false to 0 (#63952)

Fix boolean default in migration from false to 0

(cherry picked from commit a05bf41ff9)

Co-authored-by: Alex Moreno <alexander.moreno@grafana.com>
2023-03-01 17:34:53 +00:00
Timur OlzhabayevandKristin Laemmert 183f9317c5 fix(dashboard version service): add DashboardUID to query and respons… (#63821)
fix(dashboard version service): add DashboardUID to query and responses (#60800)

* fix(dashboard version service): add DashboardUID to query and responses

The DashboardUID was not populated in the response from Get and ListDashboardVersions. This adds the DashboardUID to the Get query (it was already in List) and populated the DashboardUID in the returned DashboardVersionDTOs.

(cherry picked from commit 42be0e106f)

Co-authored-by: Kristin Laemmert <mildwonkey@users.noreply.github.com>
2023-02-27 23:01:48 +01:00
Jo 7900e795f1 [9.4.x] Users: Fix org user always getting org id = 1 (#63759)
Users: Fix org user always getting org id = 1 on auto assign false (#63708)

* fix org user always getting org id = 1 on auto assign false

* make tests explicit

* use correct cfg in service accounts

* fix api tests

* fix database test of ac

* fix InsertOrgUser returning affected rows as orgID

(cherry picked from commit c8db771939)
2023-02-27 10:31:53 +01:00
Alexander Weaver 7e017790d2 Alerting: Instrument outgoing state history requests using weaveworks/common (#63689)
* Alerting: Instrument outgoing state history requests using weaveworks/common (#63600)

* Loki backend and client depend on a requester

* Instrument all requests to loki using weaveworks TimedClient

* Construct collector in metrics package

(cherry picked from commit e77621649d)

* Revert all changes to gomod and gosum
2023-02-24 15:49:36 -06:00
Grot (@grafanabot)andAlyssa Bull 3531683e87 [v9.4.x] CloudMonitor: Add missing logger to TimeSeriesQuery (#63132)
CloudMonitor: Add missing logger to TimeSeriesQuery (#63110)

(cherry picked from commit ac9639daf8)

Co-authored-by: Alyssa Bull <58453566+alyssabull@users.noreply.github.com>
2023-02-24 21:32:06 +00:00
Grot (@grafanabot)andAdam Simpson b5747d397d [v9.4.x] CloudMonitoring: Fix crash when inspecting data for MQL queries (#63756)
CloudMonitoring: Fix crash when inspecting data for MQL queries (#63747)

CloudMonitoring: Fix missing Field name

This happened for MQL queries that used an [aggregate function][1], e.g.
`sum`.

[1]: https://cloud.google.com/monitoring/mql/reference#aggr-function-group

(cherry picked from commit 3672e44c1c)

Co-authored-by: Adam Simpson <adam@adamsimpson.net>
2023-02-24 13:30:38 -05:00
Grot (@grafanabot)andGiuseppe Guerra ae94a60981 [v9.4.x] Plugins: Fix plugins CDN not working when plugins are not in domain's root path (#63729)
Plugins: Fix plugins CDN not working when plugins are not in domain's root path (#63202)

* Plugins CDN: Add support for different CDN root path

* Plugins CDN: Make frontendsettings return the correct CDN base path

* Update comments

* Fix version detection

* Undo frontend changes

* Fix system.js asset path construction

* fix(plugins): translate all plugin css asset paths loaded via cdn

* refactor(plugins): rename extractPluginNameVersionFromUrl and add comments

* Fix typo in comment

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>

* Hardcode CDN URL structure

/{id}/{version}/public/plugins/{id}/{assetPath} is not required anymore in the cdn url template config

---------

Co-authored-by: Jack Westbrook <jack.westbrook@gmail.com>
Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
(cherry picked from commit 966bcd3545)

Co-authored-by: Giuseppe Guerra <giuseppe.guerra@grafana.com>
2023-02-24 08:50:29 -05:00
Grot (@grafanabot)andKyle Cunningham db978cd48a [v9.4.x] MSSQL Datasource: Revert functions within macros change (#63598)
MSSQL Datasource: Revert functions within macros change (#63592)

* Revert functions within macros change
* Add tests for function and macro for mssql
* Remove macro support tests

---------

Co-authored-by: Oscar Kilhed <oscar.kilhed@grafana.com>
(cherry picked from commit 356e2e1933)

Co-authored-by: Kyle Cunningham <codeincarnate@users.noreply.github.com>
2023-02-22 16:23:47 -05:00
Grot (@grafanabot)andJo 8e4fa99ec7 [v9.4.x] Authn: Add separate context for session tagging (#63571)
Authn: Add separate context for session tagging  (#63561)

add context

(cherry picked from commit 635a456fa4)

Co-authored-by: Jo <joao.guerreiro@grafana.com>
2023-02-22 17:17:44 +01:00
Jo 92ac380621 [v9.4.x] Authn: Anon session service (#63520)
* Authn: Anon session service (#63052)

* add anon sessions package

* add usage stat fn

* implement count for cache

* add anonservice to authn broker

* lint

* add tests for remote cache count

* move anon service to services

* wrap tagging in goroutine

* make func used

(cherry picked from commit ff78103a24)

* add local cache to protect multiple writes to DB cache

(cherry picked from commit bdb084736b)
2023-02-22 09:55:17 +01:00
Grot (@grafanabot)andGeorge Robinson 249c5b013e [v9.4.x] Alerting: Fix incorrect comment in eval.go (#63513)
Alerting: Fix incorrect comment in eval.go (#63510)

This commit fixes an incorrect comment in the Result struct in eval.go
that I had written some time ago. The comment now documents the
actual behaviour and content of this field.

(cherry picked from commit f93a9c794d)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-21 11:15:55 -05:00
Jo 4ddc76f73e Authn: Stat registration [9.4.x] (#63504)
Authn: Stat registration (#62934)

* reorganize auth usage stats

* usage stat privilege elevators

* stat count of modified role

* cfg related info

* add authn anon client

* kv store

* ensure anon enabled is collected even if client is not registered

* fix usage stats test

(cherry picked from commit 14a78b58e9)
2023-02-21 16:21:09 +01:00
Grot (@grafanabot)andbla2ej b6dc902ec0 [v9.4.x] Alerting: Get alert rules on faults (#61248) (#63505)
Alerting: Get alert rules on faults (#61248) (#63051)

* Alerting: get alert rules on faults (#61248)

Two functions used to fetch alert rules from DB are updated:
- GetAlertRulesForScheduling
- ListAlertRules
Rows are scanned one by one so good ones are returned.
Common Error is logged with indication how many
rules failed on deserialization.

Resolved: #61248

* updates from review comments

(cherry picked from commit 56c8661929)

Co-authored-by: bla2ej <123992384+bla2ej@users.noreply.github.com>
2023-02-21 10:15:40 -05:00
Grot (@grafanabot)andSimon 479360e6bf [v9.4.x] Update navigationAppConfig to use new k6 plugin id (#63459)
Update navigationAppConfig to use new k6 plugin id (#63002)

(cherry picked from commit f9f80cff89)

Co-authored-by: Simon <simon.legander@gmail.com>
2023-02-21 09:30:34 +01:00
Grot (@grafanabot)andGeorge Robinson e5d80f21e9 [v9.4.x] Alerting: Fix a bug taking screenshots with Dashboard UID (#63222)
Alerting: Fix a bug taking screenshots with Dashboard UID (#63220)

This commit fixes a bug where Grafana would fail to take a screenshot if
the same Dashboard UID was present across two or more different orgs.

(cherry picked from commit 1f984409a2)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-09 21:24:05 +00:00
Grot (@grafanabot)andAndres Martinez Gotor 982624f7b1 [v9.4.x] Provisioning: Parse boolean and numeric values from environment variables (#63192)
Provisioning: Parse boolean and numeric values from environment variables (#63085)

(cherry picked from commit a33e316f40)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2023-02-09 09:04:33 -05:00
Grot (@grafanabot)andVictor Marin 69453133e7 [v9.4.x] Fix MSSQL queries failing because of bad interpolation (#63172)
Fix MSSQL queries failing because of bad interpolation (#63167)

fix failing mssql queries

(cherry picked from commit 62b078e4e4)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-02-09 03:32:11 -05:00
Grot (@grafanabot)andAshley Harrison 45dd9f9a9f [v9.4.x] Navigation: add a link to starred dashboards in the megamenu (#63106)
Navigation: add a link to starred dashboards in the megamenu (#62685)

add a link to starred dashboards in the megamenu

(cherry picked from commit fc2f7f90f8)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-08 15:41:10 +00:00
Dimitris Sotirakis 96fa91e113 [v9.4.x] CI: Remove variants arg from package step (#62858) (#62999)
CI: Remove variants arg from `package` step (#62858)

* Remove variants arg from package step

* Fix starlark lint

* Default to releaseModeConfig.Variants

* Check for empty variants arg

(cherry picked from commit e5c48ac945)
2023-02-07 11:19:05 +02:00
Grot (@grafanabot)andVictor Marin 907381ed5c [v9.4.x] MSSQL: Add support for macro function calls (#62890)
MSSQL: Add support for macro function calls (#62742)

* MSSQL: Add support for macro function calls

* Add tests

(cherry picked from commit 9fc3b360a4)

Co-authored-by: Victor Marin <36818606+mdvictor@users.noreply.github.com>
2023-02-03 11:03:24 -05:00
Grot (@grafanabot)andAshley Harrison 028cc7e72b [v9.4.x] Navigation: move Connections plugin to be just after apps (#62871)
Navigation: move Connections plugin to be just after apps (#62801)

move connections plugin to be just after apps

(cherry picked from commit c819e95687)

Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
2023-02-03 09:06:18 -05:00
Grot (@grafanabot)andAlexander Weaver 8fd1547edb [v9.4.x] Alerting: Add label query parameters to state history endpoint (#62835)
Alerting: Add label query parameters to state history endpoint (#62831)

* Allow equality-only matching of arbitrary labels via query params

* Pre-initialize map

(cherry picked from commit 9eeea8f5ea)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-02-02 23:14:16 +00:00
Alexander WeaverandJean-Philippe Quéméner 21f204d35a Alerting: implement loki query for alert state history (#62833)
Alerting: implement loki query for alert state history (#61992)

* Alerting: implement loki query for alert state history

* extract selector building

* add unit tests for selector creation

* backup

* give selectors their own type

* build dataframe

* add some tests

* small changes after manual testing

* use struct client

* golint

* more golint

* Make RuleUID optional for Loki implementation

* Drop initial assumption that we only have one series

* Pare down to three columns, fix timestamp overflows, improve failure cases in loki responses

* Embed structred log lines in the dataframe as objects rather than json strings

* Include state history label filter

* Remove dead code

---------

Co-authored-by: Jean-Philippe Quéméner <JohnnyQQQQ@users.noreply.github.com>
2023-02-02 16:56:26 -06:00
Grot (@grafanabot)andGeorge Robinson 84da688400 [v9.4.x] Alerting: Pause dash alerts on migration (#62830)
Alerting: Pause dash alerts on migration (#62798)

* Alerting: Pause dash alerts on migration

(cherry picked from commit f49efa6e27)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-02-02 22:07:06 +00:00
Grot (@grafanabot)andMatthew Jacobson b742567ade [v9.4.x] Alerting: Fix template validation in provisioning api (#62825)
Alerting: Fix template validation in provisioning api (#62530)

* Alerting: Fix template validation in provisioning api

Fix issue where provisioning API accepts a malformed template having extra
text outside of definition block and template name matching definition name.

(cherry picked from commit f9ec16e74f)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-02-02 20:45:21 +00:00
Grot (@grafanabot)andAlexander Weaver 385b15bf69 [v9.4.x] Alerting: Add static label to all state history entries (#62819)
Alerting: Add static label to all state history entries (#62817)

* Add static label to all state history entries

* Separate label and value visually

(cherry picked from commit 647f73ddc5)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-02-02 14:00:09 -06:00
Grot (@grafanabot)andAlexander Weaver 2525b30803 [v9.4.x] Alerting: Add endpoint for querying state history (#62813)
Alerting: Add endpoint for querying state history (#62166)

* Define endpoint and generate

* Wire up and register endpoint

* Cleanup, define authorization

* Forgot the leading slash

* Wire up query and SignedInUser

* Wire up timerange query params

* Add todo for label queries

* Drop comment

* Update path to rules subtree

(cherry picked from commit 6ad1cfef38)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-02-02 12:32:30 -06:00
Grot (@grafanabot)andAlexander Weaver 324964b86b [v9.4.x] Alerting: Usability adjustments to Loki representation of state history values (#62811)
Alerting: Usability adjustments to Loki representation of state history values (#62643)

* Extract label merge, add test file

* Extract error/NoData to first class fields, remove a layer from values

* Include dashUID and panelID as line-level fields

* Drop unnecessary object receiver

* Add tests for stream building

* Drop NoData field from log lines

(cherry picked from commit 9fa28c11c5)

Co-authored-by: Alexander Weaver <weaver.alex.d@gmail.com>
2023-02-02 11:15:51 -06:00
Grot (@grafanabot)andMisi d31f932800 [v9.4.x] Auth: Rotate token patch (#62782)
Auth: Rotate token patch (#62676)

* Use singleflight.Group

* Align tests

* Cleanup

(cherry picked from commit 7c1d9769ca)

Co-authored-by: Misi <mgyongyosi@users.noreply.github.com>
2023-02-02 18:05:38 +01:00
Grot (@grafanabot)andSonia Aguilar 363171b182 [v9.4.x] Alerting: Pass yaml as a query param in export request (#62806)
Alerting: Pass yaml as a query param in export request (#62751)

* Set YAML as default value for exporting alert rules

* use YAML format for rule list export

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>

* lint

* Add new format query param to swagger+docs

* Fix broken test

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
Co-authored-by: Matt Jacobson <matthew.jacobson@grafana.com>
(cherry picked from commit 753c84f825)

Co-authored-by: Sonia Aguilar <33540275+soniaAguilarPeiron@users.noreply.github.com>
2023-02-02 17:29:21 +01:00
Alexander Weaver 32e3cd7cbc Alerting: Refactor away a layer of indirection around the goroutine in Loki state history (#62802)
Alerting: Refactor away a layer of indirection around the goroutine in Loki state history (#62644)

Inline recordStreamsAsync in loki backend
2023-02-02 10:14:47 -06:00
Grot (@grafanabot)andAndres Martinez Gotor 190c3aad58 [v9.4.x] Plugins: Prefer to use the data source UID when querying (#62789)
Plugins: Prefer to use the data source UID when querying (#62776)

(cherry picked from commit 68862ce3e8)

Co-authored-by: Andres Martinez Gotor <andres.martinez@grafana.com>
2023-02-02 15:02:06 +00:00
Grot (@grafanabot)andSofia Papagiannaki 022abcb47d [v9.4.x] SQLStore: Fix folder migration for MySQL < 5.7 (#62786)
SQLStore: Fix folder migration for MySQL < 5.7 (#62521)

* Nested folders: Do not skip integration tests

* SQLStore: Fix folder migration

It reduces the length of the title column to be equal with the respective
dashboard column.

(cherry picked from commit 4eaff63eda)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-02-02 14:40:51 +00:00