Commit Graph

10786 Commits

Author SHA1 Message Date
Alexander Weaver 0f4640dc74 [v10.0.x] Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL (#80681)
* Annotations: Split cleanup into separate queries and deletes to avoid deadlocks on MySQL (#80329)

* Split subquery when cleaning annotations

* update comment

* Raise batch size, now that we pay attention to it

* Iterate in batches

* Separate cancellable batch implementation to allow for multi-statement callbacks, add overload for single-statement use

* Use split-out utility in outer batching loop so it respects context cancellation

* guard against empty queries

* Use SQL parameters

* Use same approach for tags

* drop unused function

* Work around parameter limit on sqlite for large batches

* Bulk insert test data in DB

* Refactor test to customise test data creation

* Add test for catching SQLITE_MAX_VARIABLE_NUMBER limit

* Turn annotation cleanup test to integration tests

* lint

---------

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
(cherry picked from commit 81c45bfe44)

* Fix interval, logs per backport

* empty commit to kick actions
2024-01-17 11:36:18 -06:00
Ashley Harrison 177dfd34b8 [v10.0.x] Release: Deprecate latest.json and replace with api call to grafana.com (#80606)
Release: Deprecate latest.json and replace with api call to grafana.com (#80537)

* remove latest.json and replace with api call to grafana.com

* remove latest.json

* Revert "remove latest.json"

This reverts commit bcff43d898.

* Revert "remove latest.json and replace with api call to grafana.com"

This reverts commit 02b867d84e.

* add deprecation message to latest.json

(cherry picked from commit 127decee1e)
2024-01-16 12:09:43 +00:00
Victor Marin 02c89fc38c [v10.0.x] Re-add arm32 builds (#79621)
Re-add arm32 builds (#79496)

* Re-add arm32 builds

* update grabpl version

* make drone

* make drone

* format drone

(cherry picked from commit 9dc015b595)
2023-12-18 10:56:38 +02:00
Karl Persson a2ad77a3f2 [v10.0.x] Auth: id response header (#78882)
Auth: id response header (#77871)

* Add config options for identity id response header

* Add feature to add identity id response header to all responses

* Use util.SplitString

(cherry picked from commit 21f94c5b78)
2023-12-11 09:38:12 +01:00
gotjosh af73a40d97 [v10.0.x] Alerting: Attempt to retry retryable errors (#79210)
Alerting: Attempt to retry retryable errors (#79161)

* Alerting: Attempt to retry retryable errors

Retrying has been broken for a good while now (at least since version 9.4) - this change attempts to re-introduce them in their simplest and safest form possible.

I first introduced #79095 to make sure we don't disrupt or put additional load on our customer's data sources with this change in a patch release. Paired with this change, retries can now work as expected.

There's two small differences between how retries work now and how they used to work in legacy alerting.

Retries only occur for valid alert definitions - if we suspect that that error comes from a malformed alert definition we skip retrying.
We have added a constant backoff of 1s in between retries.

---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
(cherry picked from commit c631261681)
2023-12-07 13:17:47 +00:00
grafana-delivery-bot[bot] cb9f9a0bd7 [v10.0.x] Unified Alerting: Set max_attempts to 1 by default (#79101)
Unified Alerting: Set `max_attempts` to 1 by default (#79095)

* Unified Alerting: Set `max_attempts` to 1 by default

The retry logic for unified alerting has been broken as far as v9.4.x, rather than fixing it in one go and causing a headache to our users with rules putting extra load on their datasources - I think a better approach is to simply set 1 as a default and then let our users change it.

I see two cons with this approach:

- Configuration for legacy to unified alerting cannot be ported over automatically, users will have to manually set `max_attempts` to 3 when migrating.
- Users expecting to get any sort of retrying (as with legacy alerting) will not have it out of the box and will have to manually edit the configuration.

Signed-off-by: gotjosh <josue.abreu@gmail.com>
---------

Signed-off-by: gotjosh <josue.abreu@gmail.com>
(cherry picked from commit 0c9356a3c7)

Co-authored-by: gotjosh <josue.abreu@gmail.com>
2023-12-05 18:57:37 +00:00
gotjosh b6b8554c5e [v10.0.x] Alerting: Only warm alert state cache if execute_alerts=true. (#78943)
Alerting: Only warm alert state cache if execute_alerts=true. (#78895)

* Alerting: Only warm alert state cache if execute_alerts=true.

If the Grafana instance is not executing alerts, then Warm()-ing the state
manager is wasteful and could lead to misleading rule status queries, as the
status returned will be always based on the state loaded from the database at
startup, and not the most recent evaluation state.

* Move Warm() down to shared conditional.

(cherry picked from commit 520c927931)

Co-authored-by: Steve Simpson <steve.simpson@grafana.com>
2023-12-01 14:23:17 +00:00
Guilherme Caulada 438200c50d [v10.0.x] CI: Update CI/CD tooling and pipelines from main (#76874)
* CI: Update CI/CD tooling and pipelines from main (#76814)

* CI: Update CI/CD tooling and pipelines from main

* Update Makefile

* Comment out validate_openapi_spec_step

* Update broken frontend tests

* Fix validate-npm-packages regex to work without suffix

* Fix cypress image version

(cherry picked from commit 03ecb1db39)

* Comment out kindsysreport/codegen/report.go on Makefile

* Remove modfile step, since modowners doesn't exist

* Disable i18n step
2023-10-20 10:04:18 -03:00
grafana-delivery-bot[bot] 6283c154e1 [v10.0.x] Building: Remove dependency to urw-fonts in RPM packages (#76220)
Building: Remove dependency to urw-fonts in RPM packages (#76198)

(cherry picked from commit 1355660313)

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-10-10 09:30:55 +03:00
Jack Baldry 964be9af97 [v10.0.x] Docs: Remove old plugin docs, fix URLs to go to new dev portal (#75325) (#75718)
* Docs: Remove old plugin docs, fix URLs to go to new dev portal (#75325)

* Remove old plugin docs, add redirects to new dev portal

* Restore plugin.schema.json file

* Update docs/sources/administration/plugin-management/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* More updates

* Cleanup links

* Update docs/sources/alerting/fundamentals/evaluate-grafana-alerts.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* fix codeowners

* Change reference links to inline links to avoid 404s

* Update docs/sources/datasources/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/datasources/mysql/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/datasources/postgres/_index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/fundamentals/timeseries-dimensions/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/fundamentals/dashboards-overview/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/fundamentals/dashboards-overview/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/panels-visualizations/configure-standard-options/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Update docs/sources/panels-visualizations/query-transform-data/transform-data/index.md

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>

* Remove grafana.com from 2 URLs

* Fix 1 more reference link

* Prettier fix

---------

Co-authored-by: Jack Baldry <jack.baldry@grafana.com>
(cherry picked from commit 0e2b741fc3)
Signed-off-by: Jack Baldry <jack.baldry@grafana.com>

* Fix incorrect content

Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>

* Update docs/sources/alerting/fundamentals/evaluate-grafana-alerts.md

* Update docs/sources/administration/data-source-management/index.md

* Update .changelog-archive/CHANGELOG.7.md

* Update docs/sources/datasources/_index.md

* Update docs/sources/developers/_index.md

---------

Signed-off-by: Jack Baldry <jack.baldry@grafana.com>
Co-authored-by: Joseph Perez <45749060+josmperez@users.noreply.github.com>
Co-authored-by: Isabel <76437239+imatwawana@users.noreply.github.com>
2023-10-02 19:37:04 +03:00
Andreas Christou e39fa14ee3 [v10.0.x] Azure: Add support for Workload Identity authentication (#75732)
* Azure: Add support for Workload Identity authentication (#75681)

* Update Azure Monitor

* Update Prometheus

* Update README

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Beverly <131809838+BeverlyJaneJ@users.noreply.github.com>

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Beverly <131809838+BeverlyJaneJ@users.noreply.github.com>

* Update docs/sources/datasources/azure-monitor/_index.md

Co-authored-by: Beverly <131809838+BeverlyJaneJ@users.noreply.github.com>

* README updates

* Fix prettier

* memoize options

---------

Co-authored-by: Andrew Hackmann <5140848+bossinc@users.noreply.github.com>
Co-authored-by: Beverly <131809838+BeverlyJaneJ@users.noreply.github.com>
(cherry picked from commit 5796836662)

# Conflicts:
#	public/app/plugins/datasource/azuremonitor/components/AzureCredentialsForm.tsx
#	public/app/plugins/datasource/prometheus/configuration/AzureCredentialsForm.tsx

* Fix types
2023-09-29 11:50:12 +01:00
Andreas Christou 7e0d8c3556 [v10.0.x] Azure: Settings for Azure AD Workload Identity (#75686)
* Azure: Settings for Azure AD Workload Identity (#75283)

* Settings for Azure AD Workload Identity

* Update dependency on Grafana Azure SDK

* Documentation

* Fix JS code

* Cleanup Prometheus backend code

* Making prettier happy

(cherry picked from commit 3ee40d3a5a)

# Conflicts:
#	conf/defaults.ini
#	conf/sample.ini
#	docs/sources/setup-grafana/configure-grafana/_index.md
#	go.mod
#	go.sum
#	packages/grafana-runtime/src/config.ts
#	pkg/api/dtos/frontend_settings.go
#	pkg/api/frontendsettings.go
#	pkg/setting/setting_azure.go
#	public/app/plugins/datasource/mssql/azureauth/AzureAuth.testMocks.ts

* Fix build

---------

Co-authored-by: Sergey Kostrukov <sekost@microsoft.com>
2023-09-29 10:05:47 +01:00
Horst Gutmann e800a96c6d [v10.0.x] Chore: Upgrade Alpine base image to 3.18.3 (#74994)
Chore: Upgrade Alpine base image to 3.18.3 (#74984)

(cherry picked from commit 85abf2bebd)
2023-09-18 13:17:03 +03:00
Yuri Tseretyan a374ae875c SSE: Fix DSNode to not panic when response has empty response (#74866) 2023-09-13 13:58:56 -04:00
grafana-delivery-bot[bot] 5bc2dd6fee [v10.0.x] RBAC: Fix search user permissions (#74836)
RBAC: Fix search user permissions (#74729)

Co-authored-by: Alexander Zobnin <alexanderzobnin@gmail.com>
(cherry picked from commit 729f9a01a0)

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
2023-09-13 16:30:44 +03:00
ismail simsek 67479fa240 [v10.0.x] Prometheus: Handle the response with different field key order (#74738)
* Prometheus: Handle the response with different field key order (#74567)

* Handle the response with different field key order

* More unit tests to cover edge cases

* Cover more edge cases

* make it simpler

* Better test inputs

(cherry picked from commit 3107459e57)

* Fixes
2023-09-12 16:14:19 +02:00
lean.dev 532f010c95 [v10.0.x] Licensing: Pass func to update env variables when starting plugin (#74679)
* Licensing: Pass func to update env variables when starting plugin (#74620)

(cherry picked from commit 5e0b20266e)
2023-09-12 10:07:10 -03:00
Sofia Papagiannaki 79a31f54c6 [v10.0.x] Nested folders: Fix folder hierarchy in folder responses (#74581)
Nested folders: Fix folder hierarchy in folder responses (#74516)

Nested folders: Fix hierarchy in folder response

(cherry picked from commit 9fcee9b206)
2023-09-08 08:54:10 +00:00
grafana-delivery-bot[bot] 31b1a7bfef [v10.0.x] LDAP: Fix user disabling (#74107)
* [LDAP] Disable removed users on login (#74016)

* [LDAP] Disable removed users on login

* Fix tests

* Add test for user disabling

* Add tests for disabling user behind auth proxy

* Linting.

* Rename setup func

* Account for reviews comments

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>

---------

Co-authored-by: Kalle Persson <kalle.persson@grafana.com>
(cherry picked from commit f900098cc9)

* manual backport of #74016

* LDAP: Fix active sync with large quantities of users (#73834)

* Fix middleware test

---------

Co-authored-by: Gabriel MABILLE <gamab@users.noreply.github.com>
Co-authored-by: Gabriel MABILLE <gabriel.mabille@grafana.com>
2023-08-30 16:35:38 +02:00
grafana-delivery-bot[bot] 013301c903 [v10.0.x] Secrets: Add user_auth.o_auth_id_token column to migrator (#73932)
Secrets: Add user_auth.o_auth_id_token column to migrator (#72239)

(cherry picked from commit 81a639bd1b)

Co-authored-by: Joan López de la Franca Beltran <5459617+joanlopez@users.noreply.github.com>
2023-08-29 15:57:37 +02:00
Yuri Tseretyan a45f09112a SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData (#73646)
* SSE: DSNode to update result with names to make each value identifiable by labels (only Graphite and TestData) (#71246)

* introduce a function checkIfSeriesNeedToBeFixed to scan all value fields in the response and provide a function that updates Series so they can be uniquely identifiable. Only Graphite and TestData are checked.

* update `DSNode.Execute` to run this function and provide it to WideToMany
* update WideToMany to run the fix function if it is not nil
2023-08-23 09:10:17 -04:00
grafana-delivery-bot[bot] 83f137024c [v10.0.x] CI: Improve error handling in gcloud copy operations (#73538)
CI: Improve error handling in gcloud copy operations (#73474)

(cherry picked from commit 220ea869be)

Co-authored-by: Horst Gutmann <horst.gutmann@grafana.com>
2023-08-21 09:20:48 +03:00
grafana-delivery-bot[bot] 561f9dcb7a [v10.0.x] Grafana versioning: Remove pre suffix from Grafana version (#73366)
Grafana versioning: Remove `pre` suffix from Grafana version (#73357)

* Remove pre suffix from version

* Fix tests

(cherry picked from commit 0aba319ea0)

Co-authored-by: Dimitris Sotirakis <dimitrios.sotirakis@grafana.com>
2023-08-17 11:23:28 +03:00
grafana-delivery-bot[bot] 7d4e370cae [v10.0.x] DataSourceProxy: Fix url validation error handling (#73321)
* DataSourceProxy: Fix url validation error handling (#73087)

* DataSourceProxy: Fix url validation error handling

* DataSourceProxy: Add unit test for proxyDatasourceRequest

* DataSourceProxy: Fix lint error

(cherry picked from commit 8ec4c1bdc8)

* fix test

---------

Co-authored-by: Ricardo Christmann <80476005+ricci2511@users.noreply.github.com>
Co-authored-by: Will Browne <will.browne@grafana.com>
2023-08-16 18:26:51 +03:00
grafana-delivery-bot[bot] 4ba2bea2de [v10.0.x] AzureMonitor: Allow serviceTags and tags to be empty for trace results (#73196)
AzureMonitor: Allow `serviceTags` and `tags` to be empty for trace results (#73145)

Allow serviceTags and tags to be empty

(cherry picked from commit 95546551bc)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-08-11 15:29:09 +03:00
grafana-delivery-bot[bot] 53fb485b9a [v10.0.x] Usage stats: Tune collector execution startup and interval (#72789)
Usage stats: Tune collector execution startup and interval (#72688)

* Do not update statistics at service collector startup

* Configurable collector interval

* Introduce initial random delay

* Prevent reporting metrics until the stats have been collected

* Apply suggestion from code review

(cherry picked from commit afb59af79b)

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
2023-08-03 11:40:03 +03:00
grafana-delivery-bot[bot] 1eb887c089 [v10.0.x] Alerting: Fix state manager to not keep datasource_uid and ref_id labels in state after Error (#72393)
* Alerting: Fix state manager to not keep datasource_uid and ref_id labels in state after Error (#72216)

(cherry picked from commit 78fc3bcdf4)

* use old QueryError

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-07-26 19:47:31 +03:00
grafana-delivery-bot[bot] f848c9dd77 [v10.0.x] Alerting: Exclude expression refIDs from NoData state (#72394)
* Alerting: Exclude expression refIDs from NoData state (#72219)

(cherry picked from commit 5ba164d92b)

* use expr.IsDatasource

---------

Co-authored-by: Yuri Tseretyan <yuriy.tseretyan@grafana.com>
2023-07-26 12:45:27 -04:00
Josh Hunt 8646725c6a [v10.0.x] Chore: Deprecate topnav feature flag (#72347)
Chore: Remove topnav feature flag (#72337)

* Remove topnav feature flag

* Allow deprecated flags to be enabled by default

* change topnav feature flag to deprecated instead

* fix lint

(cherry picked from commit 488eac0e49)
2023-07-26 11:37:12 +00:00
Matthew Jacobson f0f42a5c52 [v10.0.x] Alerting: Fix contact point testing with secure settings (#72282)
* Alerting: Fix contact point testing with secure settings (#72235)

Fixes double encryption of secure settings during contact point testing and removes code duplication
that helped cause the drift between alertmanager and test endpoint. Also adds integration tests to cover
the regression.

Note: provisioningStore is created to remove cycle and the unnecessary dependency.
(cherry picked from commit d31d175109)
2023-07-25 11:17:25 -04:00
grafana-delivery-bot[bot] 8859bcaf16 [v10.0.x] Alerting: Improve performance of matching captures (#71999)
* Alerting: Improve performance of matching captures (#71828)

This commit updates eval.go to improve the performance of matching
captures in the general case. In some cases we have reduced the
runtime of the function from 10s of minutes to a couple 100ms.
In the case where no capture matches the exact labels, we revert to
the current subset/superset match, but with a reduced search space
due to grouping captures.

(cherry picked from commit 8dd3eb856d)

* Add label fingerprints from grafana-plugin-sdk-go

* Remove unsafe.StringData as we use Go 1.19

* Fix lint

---------

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-07-24 15:44:12 +02:00
grafana-delivery-bot[bot] 99732704dd [v10.0.x] CloudMonitoring: Correctly set title and text fields for annotations (#72153)
CloudMonitoring: Correctly set title and text fields for annotations (#71888)

Correctly set title and text fields

(cherry picked from commit c4d6509145)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-07-21 23:54:47 +03:00
grafana-delivery-bot[bot] bb0a6d7d18 [v10.0.x] Alerting: Add tests for matching captures (#71939)
Alerting: Add tests for matching captures (#71928)

This commit adds tests for matching captures, which we do not have
at present.

(cherry picked from commit f1af0502db)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-07-19 15:07:25 +03:00
grafana-delivery-bot[bot] d30e6f2149 [v10.0.x] Alerting: Sort NumberCaptureValues in EvaluationString (#71931)
Alerting: Sort NumberCaptureValues in EvaluationString (#71927)

This commit changes extractEvalString to sort NumberCaptureValues
in ascending order of Var before building the output string. This
means that users will see EvaluationString in a consistent order,
but also make it possible to assert its output in tests.

(cherry picked from commit 89dcaaf049)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-07-19 14:22:17 +03:00
grafana-delivery-bot[bot] 28c773a3a2 [v10.0.x] AzureMonitor: Set timespan in Logs Portal URL link (#71910)
AzureMonitor: Set timespan in Logs Portal URL link (#71841)

Set timespan in Logs Portal URL link

(cherry picked from commit 116e971af3)

Co-authored-by: Andreas Christou <andreas.christou@grafana.com>
2023-07-19 11:28:07 +03:00
Dimitris Sotirakis 4ee7603007 [v10.0.x] Bug: Compare semver digits for frontend packages config (#71908)
Bug: Compare `semver` digits for frontend packages config (#71829)

* Compare semver digits

* Fix lint

(cherry picked from commit 5f8ace33fb)

# Conflicts:
#	pkg/build/frontend/config_test.go
2023-07-19 10:19:08 +03:00
Jo 8c223713d0 [v10.0.x] Auth: Add support for custom signing keys in auth.azure_ad (#71708)
Auth: Add support for custom signing keys in auth.azure_ad (#71365)

* fallthrough JWKS validation and caching for Azure

* remove unused field

(cherry picked from commit fbfdd6ba32)
2023-07-17 16:27:53 +02:00
grafana-delivery-bot[bot] f9a8e0a50d [v10.0.x] Alerting: No longer silence paused alerts during legacy migration (#71761)
Alerting: No longer silence paused alerts during legacy migration (#71596)

* Alerting: No longer silence paused alerts during legacy migration

Now that we migrate paused legacy alerts to paused UA alert rules, we no longer need to silence them.

(cherry picked from commit 8c6cdf51fc)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-07-17 16:49:26 +03:00
grafana-delivery-bot[bot] 6a083469f9 [v10.0.x] Plugins: Only configure plugin proxy transport once (#71742)
Plugins: Only configure plugin proxy transport once (#71735)

only configure plugin proxy transport once

(cherry picked from commit b59ca7fb22)

Co-authored-by: Will Browne <wbrowne@users.noreply.github.com>
2023-07-17 14:52:48 +03:00
grafana-delivery-bot[bot] d787628328 [v10.0.x] Elasticsearch: Fix multiple max depth flatten of multi-level objects (#71636)
Elasticsearch: Fix multiple max depth flatten of multi-level objects (#70302)

(cherry picked from commit c1f6b91ea9)

Co-authored-by: Shirley <4163034+fridgepoet@users.noreply.github.com>
2023-07-14 12:01:41 +02:00
grafana-delivery-bot[bot] e17ebf1205 [v10.0.x] Annotations: Fix database lock while updating annotations (#71207)
Annotations: Fix database lock while updating annotations (#71199)

(cherry picked from commit 56f52dc97e)

Co-authored-by: Emil Tullstedt <emil.tullstedt@grafana.com>
2023-07-13 10:33:43 +02:00
grafana-delivery-bot[bot] 1f058705be [v10.0.x] api: ignore /api/gnet proxy when gzipping responses (#71521)
api: ignore /api/gnet proxy when gzipping responses (#71437)

This PR adds /api/gnet to the list of ignored paths in the gzip middleware.

Without this, when gzip is enabled (`server.enable_gzip = true`), responses
from the gnet proxy are double compressed: once by grafana.com and once by
Grafana itself. With this change we only do one round of compression for these
endpoints.

To test this out, try a request like this with `server.enable_gzip = true`
(after setting `GCOM_TOKEN` to a valid grafana.com token; you may need to
change the 'bsull' slug, too):

    curl -v --user admin:admin \
        -H "X-Api-Key: $GCOM_TOKEN" \
        -H 'Accept-Encoding: gzip' \
        localhost:3000/api/gnet/instances/bsull/provisioned-plugins/grafana-ml-app | gzip -d

Note that there are two Content-Encoding: gzip headers before this PR, and
the output is still compressed even after the `gzip -d`. After this PR things
look as expected.

(cherry picked from commit 51c94bccd7)

Co-authored-by: Ben Sully <ben.sully@grafana.com>
2023-07-13 08:36:20 +01:00
grafana-delivery-bot[bot] bc1e8a7c9e [v10.0.x] Alerting: (Chore/Instrumentation) Add traceID to logs with contextual logger (#71333)
Alerting: (Chore/Instrumentation) Add traceID to logs with contextual logger (#71289)

Alerting: (Chore) Add traceID to logs with contextual logger
(cherry picked from commit f6a28cadbc)

Co-authored-by: Kyle Brandt <kyle@grafana.com>
2023-07-11 12:11:47 +03:00
grafana-delivery-bot[bot] f767a3e27f [v10.0.x] Alerting: Fix Alertmanager change detection for receivers with secure settings (#71320)
Alerting: Fix Alertmanager change detection for receivers with secure settings (#71307)

* Alerting: Make ApplyAlertmanagerConfiguration only decrypt/encrypt new/changed secure settings

Previously, ApplyAlertmanagerConfiguration would decrypt and re-encrypt all secure settings. However, this caused re-encrypted secure settings to be included in the raw configuration when applied to the embedded alertmanager, resulting in changes to the hash. Consequently, even if no actual modifications were made, saving any alertmanager configuration triggered an apply/restart and created a new historical entry in the database.

To address the issue, this modifies ApplyAlertmanagerConfiguration, which is called by POST `api/alertmanager/grafana/config/api/v1/alerts`, to decrypt and re-encrypt only new and updated secure settings. Unchanged secure settings are loaded directly from the database without alteration.

We determine whether secure settings have changed based on the following (already in-use) assumption: Only new or updated secure settings are provided via the POST `api/alertmanager/grafana/config/api/v1/alerts` request, while existing unchanged settings are omitted.

* Ensure saving a grafana-managed contact point will only send new/changed secure settings

Previously, when saving a grafana-managed contact point, empty string values were transmitted for all unset secure settings. This led to potential backend issues, as it assumed that only newly added or updated secure settings would be provided.

To address this, we now exclude empty ('', null, undefined) secure settings, unless there was a pre-existing entry in secureFields for that specific setting. In essence, this means we only transmit an empty secure setting if a previously configured value was cleared.

* Fix linting

* refactor omitEmptyUnlessExisting

* fixup

---------

Co-authored-by: Gilles De Mey <gilles.de.mey@gmail.com>
(cherry picked from commit e3787de470)

Co-authored-by: Matthew Jacobson <matthew.jacobson@grafana.com>
2023-07-11 10:58:06 +02:00
grafana-delivery-bot[bot] b8e2990579 [v10.0.x] Elasticsearch: Fix using multiple indexes with comma separated string (#71322)
Elasticsearch: Fix using multiple indexes with comma separated string (#71284)

* Revert "Elasticsearch: Use array of strings as index in backend queries (#67276)"

This reverts commit d0ced39847.

* updated tests

(cherry picked from commit e17540bdcd)

Co-authored-by: Gábor Farkas <gabor.farkas@gmail.com>
2023-07-11 10:59:27 +03:00
grafana-delivery-bot[bot] 23fbded473 [v10.0.x] Prometheus: Version detect bug (#71213)
Prometheus: Version detect bug (#71198)

* remove redundant request copy in backend, add more versions to semver lists

(cherry picked from commit 7dc071f46b)

Co-authored-by: Galen Kistler <109082771+gtk-grafana@users.noreply.github.com>
2023-07-07 10:10:09 -05:00
Andreas Christou 03baf95b8e [v10.0.x] AzureMonitor: Correctly build multi-resource queries for Application Insights components (#71039)
AzureMonitor: Correctly build multi-resource queries for Application Insights components (#70344)

Correctly build multi-resource queries for AI components

- Add additional query property
- Validate resource URI matches correct namespace
- Set applications property if needed
- Update tests

(cherry picked from commit 20b6ae96a3)

# Conflicts:
#	pkg/tsdb/azuremonitor/loganalytics/azure-log-analytics-datasource.go
2023-07-07 10:35:24 +01:00
grafana-delivery-bot[bot] ff35f2efcf [v10.0.x] Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug (#70936)
Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug (#70723)

* Fix: Change getExistingDashboardByTitleAndFolder to get dashboard by title, not slug

* test: add tests for get dashboard with existing name, get dashboard with non existing name, get dashboard with existing name in a folder

* Update pkg/services/dashboards/database/database_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* require specific error for Should be able to get dashboard with existing name

* Update pkg/services/dashboards/database/database_test.go

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>

* implement sofia suggestions to check for specific err, remove logs

* give test more specific name

* implement daniel suggestion of formatting documentation comment in safe way

* fix test title to refer to root directory not specific folder

---------

Co-authored-by: Sofia Papagiannaki <1632407+papagian@users.noreply.github.com>
(cherry picked from commit 67cdae4b7d)

Co-authored-by: Kat Yang <69819079+yangkb09@users.noreply.github.com>
2023-06-29 16:38:27 -04:00
Andrew Hackmann bde576f3e5 AzureMonitor: Remove subscriptions map backport (#70904)
backport changes
2023-06-29 09:33:49 -05:00
Santiago ad5ffd7ed3 [v10.0.x] Alerting: Add duration to saving alert states done (#70875)
Alerting: Add duration to saving alert states done (#70844)

(cherry picked from commit 594c851d4b)

Co-authored-by: George Robinson <george.robinson@grafana.com>
2023-06-28 23:20:33 -03:00