Commit Graph

4224 Commits

Author SHA1 Message Date
Yuriy Tseretyan
2d38664fe6 Alerting: Improve validation of query and expressions on rule submit (#53258)
* Improve error messages of server-side expression 
* move validation of alert queries and a condition to eval package
2022-09-21 15:14:11 -04:00
Yuriy Tseretyan
879241a48f Alerting: Fix state manager tests (#55593) 2022-09-21 13:57:18 -05:00
Yuriy Tseretyan
199996cbf9 Alerting: Resolve stale state + add state reason to notifications (#49352)
* adds a new reserved annotation `grafana_state_reason`
* explicitly resolve stale states
2022-09-21 13:24:47 -04:00
Guilherme Caulada
9c2f3045b4 PublicDashboards: Resolve interval for public dashboard data source (#55489)
* Resolve interval for public dashboard data source

* Remove type assertions in favor of 'in'

* Add org id to public dashboard requests
2022-09-21 13:29:27 -03:00
idafurjes
48a8b35ece Chore: Add org methods to org service and store (#55579)
* Add org methods to org service and store

* Fix name of fake

* Remove unused fake

* Add xorm tags and half of a test

* Add cmment for clarifying missing part of test

* Add some comments about future refactors

* Rename test

* Add test for update org address
2022-09-21 18:00:18 +02:00
Jean-Philippe Quéméner
74c66b29d0 Alerting: Skip unsupported file types on provisioning (#55573) 2022-09-21 16:48:39 +02:00
Artur Wierzbicki
1f2cab9036 SearchV2: add more tracing spans (#55488)
* add additional spans to searchv2

* add initial setup span

* add dashboardCount attribute to readDashboard span

* add dashboard count to init org index span

* fix merge

Co-authored-by: Todd Treece <todd.treece@grafana.com>
2022-09-21 16:14:52 +02:00
Yuriy Tseretyan
0629d3922a stop flushing state when Grafana stops (#55504) 2022-09-21 10:10:17 -04:00
Emil Tullstedt
647997cc4c Alerting: Fix flaky test (#55551)
The length of the identifier from the underlying library is 9 or more characters depending on the rate at which the identifiers are generated. See https://pkg.go.dev/github.com/teris-io/shortid

The test previously made the assumption that the length will always be 10, which would intermittently fail.
2022-09-21 14:17:25 +02:00
ying-jeanne
7b4cea8151 Chore: StoreSplit tag service (#55453)
* move tag service outside

* fix dashboard

* fix test

* lint

* fix linter

* remove spew
2022-09-21 08:04:01 -04:00
Will Browne
b25ea75bac Plugins: Add secure JSON fields to plugin setting DTO (#55313)
* add secure JSON fields to plugin setting DTO

* add nil pointer fix

* adding secureJsonFields to the plugin meta.

Co-authored-by: Marcus Andersson <marcus.andersson@grafana.com>
2022-09-21 12:20:11 +02:00
Emil Tullstedt
c10a69c007 Cleanup: Add traces to cleanup jobs (#55465) 2022-09-21 12:01:21 +02:00
George Robinson
bad4f7fec5 Alerting: Change screenshots to use components (#55156)
* Alerting: Change screenshots to use components

This commit changes screenshots to use a number of components instead of a set of functional wrappers.

It moves the uploading of screenshots from the screenshot package to the image package so we can re-use the same code for both uploading screenshots and server-side images; SingleFlight from the screenshot package to the image package so we can use it for both taking and uploading the screenshot, where as before it was used just for taking the screenshot; and it also removes the use of a cache because we know that screenshots can be taken at most once per tick of the scheduler.
2022-09-21 10:25:07 +01:00
Artur Wierzbicki
c3ca5405ce Search: Add search index configuration options (#55525)
* Search: externalize config

* Search: update config descriptions

* Search: fix value

* Search: fix

* update

* Search: revert config values

* Search: rename copy/paste

* Search: fix tests
2022-09-20 19:09:55 -04:00
Artur Wierzbicki
9db2720016 Search: improve logging in case of failed dashboard loading phase (#55523) 2022-09-20 23:50:29 +02:00
Yuriy Tseretyan
57a0b6db2c Alerting: Refactor WeCom notifier to use encoding/json to parse settings instead of simplejson (#55423) 2022-09-20 14:37:24 -04:00
Ieva
6d5bdf12e8 resolve merge conflicts (#55503) 2022-09-20 13:31:08 -04:00
Serge Zaitsev
305d494902 Chore: Switch over to team.Service instead of sqlstore (#55497)
* switch to using team service

* trying to fix tests

* more tests to fix

* add missing teamtest package
2022-09-20 18:58:04 +02:00
Marcus Efraimsson
862a6a2fa6 Logging: Introduce API for contextual logging (#55198)
Introduces a FromContext method on the log.Logger interface that 
allows contextual key/value pairs to be attached, e.g. per request, 
so that any logger using this API will automatically get the per request 
context attached. The proposal makes the traceID available for 
contextual logger , if available, and would allow logs originating from 
a certain HTTP request to be correlated with traceID.
In addition, when tracing not enabled, skip adding
traceID=00000000000000000000000000000000
to logs.
2022-09-20 18:32:06 +02:00
Alexander Emelin
0e6a8cc6ac Live: Migrate to centrifuge-js v3 (new API and client protocol) (#51977) 2022-09-20 11:39:46 -04:00
Alexander Weaver
3a580dc3cd Alerting: Extract default message embed into named constant (#55424)
* Resolve conflicts

* Combine multiple const definitions
2022-09-20 10:20:06 -05:00
Artur Wierzbicki
03af63d52e SearchV2: add tracing to background jobs (#55250)
* searchv2: add tracing to background jobs

* searchv2: lint

* searchv2: lint

* searchv2: fix context passing

* searchv2: add init org index span

* searchv2: add traceid to logs

* searchv2: add db count to logs
2022-09-20 16:49:44 +02:00
Emil Tullstedt
4711454b81 Org: Fix service initialization (#55460) 2022-09-20 08:28:47 -04:00
idafurjes
43a1d1484d Add some org methods to org service interface (#55449)
* Add some org methods to org service interface

* Fix fake method name
2022-09-20 12:57:51 +02:00
idafurjes
eff4daacaf Bug: Rollback change in search (#55443) 2022-09-20 12:18:39 +02:00
Serge Zaitsev
2ee3fd3994 Chore: Create structure for team service (#55444) 2022-09-20 10:14:00 +00:00
Giordano Ricci
d815e2cb56 Correlations: Return 200 instead of 404 for empt correlation lists (#55242)
* return 200 instead of 404 for empty correlations list

* handle empty list response & improve consistency
2022-09-20 11:13:33 +01:00
Jo
13146cc812 Auth: reduce allocs (#55410) 2022-09-20 12:03:08 +02:00
Serge Zaitsev
8f1e2ed658 Chore: Split temporary user (invite) service (#55397)
* Chore: Split temporary users

* change references to tempuser service

* fix api tests

* restore tests
2022-09-20 11:29:17 +02:00
idafurjes
7ce7c9b64c Chore: Move SearchOrgs to org service (#55416)
* Chore: Move SearchOrgs to org service

* Fix lint

* Fix lint 2
2022-09-20 09:55:40 +02:00
Alexander Weaver
4df41972f1 Alerting: Refactor one notifier to use encoding/json to parse settings instead of simplejson (#55271)
* Create struct for Slack's receiver settings

* Remove one layer of indirection when building slack notifier

* Delete un-used struct

* Validate against settings struct instead of simplejson object

* Genericize settings marshalling

* Remove repetition between fields on notifier and fields on settings struct

* Rename unmarshal settings wrapper

* Handle comma separated strings at marshalling time rather than validation time

* Address misc review feedback
2022-09-19 17:30:16 -05:00
Serge Zaitsev
7108b4331d Fix: return proper values in dashboard thumbs service (#55421) 2022-09-20 00:29:55 +02:00
Guilherme Caulada
ee899e8c3a PublicDashboards: Sanitize metadata from public dashboard queries (#55269)
* Add function to remove metadata from queries

* Add test for RemoveMetadataFromQueryData function

* Remove only custom data and executed query string

* Add sanity check to SanitizeMetadataFromQueryData
2022-09-19 12:44:29 -03:00
Serge Zaitsev
96b032e103 Chore: Split dashboard thumbnail service (#55344)
* Chore: split dashboard thumbnail service

* fix typo

* move tests

* make linter happy
2022-09-19 11:29:22 +02:00
Sofia Papagiannaki
754eea20b3 Chore: SQL store split for annotations (#55089)
* Chore: SQL store split for annotations

* Apply suggestion from code review
2022-09-19 10:54:37 +03:00
Jean-Philippe Quéméner
4dc0d49025 Alerting: make sure that rules in rule group are nil if not provided (#55301) 2022-09-16 18:54:00 +02:00
Piotr Jamróz
9b4cdfe652 Correlations: Hide Correlations Page behind a feature toggle (#55224)
* Hide Correlations Page behind a toggle

* Remove redundant defaults

* Ensure top nav is rendered when correlations are disabled

This is for the case when:

[feature_toggles]
topnav = true
2022-09-16 15:14:27 +02:00
ying-jeanne
e4741ce8d6 remove datasource from sqlstore (#55288) 2022-09-16 06:20:26 -04:00
George Robinson
5561f935e6 Alerting: Fix send resolved notifications (#54793)
This commit fixes a bug where we did not send resolved alerts to Alertmanager for resolved alert instances. This meant that resolved notifications did not have the annotations from the resolved state, and a result did not also have the resolved screenshot.
2022-09-15 17:25:05 +01:00
Michael Musenbrock
099d3cdf72 Provisioning Contact points: Support disableResolveMessage via YAML too (#54122)
Signed-off-by: Michael Musenbrock <michael.musenbrock@gmail.com>
2022-09-15 12:19:34 -04:00
Adam Simpson
92857ef331 CloudMonitor: Remove cloudMonitoringExperimentalUI feature flag (#55054)
* CloudMonitor: remove cloudMonitoringExperimentalUI

* fix: address typecheck errors

* fix: fix SLO import and width cleanup

* fix wrong metricType when switching datasources

* fix: remove legacy SLO and fix queryType check
2022-09-15 14:12:26 +00:00
Eric Leijonmarck
1d298b3e53 fix: min metric to hourly metric (#55228)
* fix: min metric to hourly metric

* Update pkg/services/login/model.go

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-15 14:17:34 +02:00
Piotr Jamróz
7352c181c2 Migrate user_id to BIGINT (#55084) 2022-09-15 13:29:46 +02:00
Karl Persson
b827df626d RBAC: Initiate store in service (#55081)
* RBAC: Dont inject store with wire

* RBAC: Use Store interface

* RBAC: Move store interface and initiate it from service
2022-09-15 11:34:15 +02:00
owensmallwood
e37420f0a8 PublicDashboards: Log api layer errors and which datasources fail/succeed (#55056)
Adds pubdash api error logging and logs array of datasource names with success status when running pubdash queries.
2022-09-14 13:19:21 -06:00
Yuriy Tseretyan
8a62020211 Alerting: New API endpoint GET /api/v1/ngalert (#55134)
* declare new endpoint /api/v1/ngalert
* add authorization for new path
* add request handler for the new path
2022-09-14 14:03:10 -04:00
Will Browne
29327cbba2 Plugins: Use error plane for api/ds/query (#54750)
* plugin client returns error base

* fix api test

* add plugin client test

* add fallback err

* fix linting

* wip

* replace bad query

* template is an error

* failing test of templated error

* add one test passing

* fix failing test

* move test

* rename ErrBadQuery to ErrQueryValidationFailure

* tidy diff

* Change to one error per specific error kind

* last err + fix test

* fix imports

* more tests

* keep req vars together

Co-authored-by: Marcus Efraimsson <marcus.efraimsson@gmail.com>
2022-09-14 18:19:57 +02:00
owensmallwood
deb86e3250 PublicDashboards: Dont support exemplars (#54933)
Don't support exemplars in public dashboards
2022-09-14 09:49:10 -06:00
Yuriy Tseretyan
896eeb65a9 Alerting: Fix alerting evaluation to use proper permissions (#55127)
* access control to log user name if it does not have permissions
* update ngalert Evaluator to accept user instead of creating a pseudo one
* update alerting eval (rule\query testing) API to provide the real user to the Evaluator
* update scheduler to create a pseudo user with proper permissions
2022-09-14 09:30:58 -04:00
Karl Persson
d896db6d30 RBAC: Batch permission creation (#55075) 2022-09-14 15:14:09 +02:00