Google Stackdriver Alerting API Error

Hello,
When I want to create alert rule in Grafana using Google Stackdriver as a datasource then no matter what query I would use I always get “API Error”

For example when using classic builder I fill every cell in the same way as I do in an Explorer. In Explorer I can see the graph I have queried but in Alerting dashboard I only get API Error and in server logs there is a stack trace:

t=2022-02-22T23:49:54+0000 lvl=eror msg="alert rule panic" logger=ngalert.api error="Unrecognized query type \"\"" stack="goroutine 16081203 [running]:\nruntime/debug.Stack()\n\t/usr/local/go/src/runtime/debug/stack.go:24 +0x65\ngithub.com/grafana/grafana/pkg/services/ngalert/eval.executeQueriesAndExpressions.func1()\n\t/drone/src/pkg/services/ngalert/eval/eval.go:259 +0x5d\npanic({0x27506e0, 0xc00206a7e0})\n\t/usr/local/go/src/runtime/panic.go:1038 +0x215\ngithub.com/grafana/grafana/pkg/tsdb/cloudmonitoring.(*Service).buildQueryExecutors(0x1105c20, 0xc0026b56d0)\n\t/drone/src/pkg/tsdb/cloudmonitoring/cloudmonitoring.go:366 +0x1174\ngithub.com/grafana/grafana/pkg/tsdb/cloudmonitoring.(*Service).executeTimeSeriesQuery(0x8, {0x3408eb8, 0xc002d9ac60}, 0xc001b989a0, {0x10, {0x0, 0xed9987441, 0x4eb6800}, {0x0, 0x0}, ...})\n\t/drone/src/pkg/tsdb/cloudmonitoring/cloudmonitoring.go:259 +0xa8\ngithub.com/grafana/grafana/pkg/tsdb/cloudmonitoring.(*Service).QueryData(0x2a8cc80, {0x3408eb8, 0xc002d9ac60}, 0xc0026b56d0)\n\t/drone/src/pkg/tsdb/cloudmonitoring/cloudmonitoring.go:250 +0x2d8\ngithub.com/grafana/grafana/pkg/plugins/backendplugin/coreplugin.(*corePlugin).QueryData(0xc001df2900, {0x3408eb8, 0xc002d9ac60}, 0x0)\n\t/drone/src/pkg/plugins/backendplugin/coreplugin/core_plugin.go:81 +0x31\ngithub.com/grafana/grafana/pkg/plugins.(*Plugin).QueryData(0x621576a2, {0x3408eb8, 0xc002d9ac60}, 0xc0018b8528)\n\t/drone/src/pkg/plugins/plugins.go:244 +0x6e\ngithub.com/grafana/grafana/pkg/plugins/manager.(*PluginManager).QueryData.func1()\n\t/drone/src/pkg/plugins/manager/manager.go:224 +0x32\ngithub.com/grafana/grafana/pkg/plugins/backendplugin/instrumentation.instrumentPluginRequest({0xc00112c860, 0xb}, {0x2dc199d, 0x9}, 0xc0018b8628)\n\t/drone/src/pkg/plugins/backendplugin/instrumentation/instrumentation.go:38 +0x58\ngithub.com/grafana/grafana/pkg/plugins/backendplugin/instrumentation.InstrumentQueryDataRequest(...)\n\t/drone/src/pkg/plugins/backendplugin/instrumentation/instrumentation.go:67\ngithub.com/grafana/grafana/pkg/plugins/manager.(*PluginManager).QueryData(0xc001df2240, {0x3408eb8, 0xc002d9ac60}, 0xc0026b56d0)\n\t/drone/src/pkg/plugins/manager/manager.go:223 +0xf9\ngithub.com/grafana/grafana/pkg/expr.(*Service).queryData(0xc00143ae10, {0x3408eb8, 0xc002d9ac60}, 0xc0026b56d0)\n\t/drone/src/pkg/expr/transform.go:217 +0x232\ngithub.com/grafana/grafana/pkg/expr.(*DSNode).Execute(0xc002a1a750, {0x3408eb8, 0xc002d9ac60}, 0x8, 0x7f1d1320c108)\n\t/drone/src/pkg/expr/nodes.go:243 +0x2ad\ngithub.com/grafana/grafana/pkg/expr.(*DataPipeline).execute(0xc0018b8b70, {0x3408eb8, 0xc002d9ac60}, 0xc000b80400)\n\t/drone/src/pkg/expr/graph.go:52 +0xb8\ngithub.com/grafana/grafana/pkg/expr.(*Service).ExecutePipeline(0xc07d5158a2bd116e, {0x3408eb8, 0xc002d9ac60}, {0xc001264c70, 0x1, 0x1})\n\t/drone/src/pkg/expr/service.go:67 +0xb1\ngithub.com/grafana/grafana/pkg/expr.(*Service).TransformData(0xc00143ae10, {0x3408eb8, 0xc002d9ac60}, 0xc0006d3d40)\n\t/drone/src/pkg/expr/transform.go:140 +0x156\ngithub.com/grafana/grafana/pkg/services/ngalert/eval.executeQueriesAndExpressions({0x1, 0x1, {0x7f1cebd7e0d8, 0xc001425180}, {0x3408eb8, 0xc002d9ac60}}, {0xc0001a4c00, 0xc0023c3c30, 0x1}, {0xc07d7b88a2bd116e, ...}, ...)\n\t/drone/src/pkg/services/ngalert/eval/eval.go:274 +0x1d0\ngithub.com/grafana/grafana/pkg/services/ngalert/eval.(*Evaluator).QueriesAndExpressionsEval(0xc0018b8ee0, 0x1, {0xc0001a4c00, 0x1, 0x4}, {0x33d9bb0, 0xc000da7ea0, 0x4eb6800}, 0x0)\n\t/drone/src/pkg/services/ngalert/eval/eval.go:523 +0x1a7\ngithub.com/grafana/grafana/pkg/services/ngalert/api.TestingApiSrv.RouteEvalQueries({0xc001221f08, 0xc000a02d00, 0xc00143ae10, {0x33d9bb0, 0xc000da7ea0}, {0x7f1cebd7e0d8, 0xc001425180}}, 0xc001569230, {{0xc0001a4c00, 0x1, ...}, ...})\n\t/drone/src/pkg/services/ngalert/api/api_testing.go:89 +0x1aa\nreflect.Value.call({0x285cd80, 0xc000b34240, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc0006d3ce0, 0x2, 0x0})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x285cd80, 0xc000b34240, 0x2a4db00}, {0xc0006d3ce0, 0x2, 0x2})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0x0, {0x285cd80, 0xc000b34240}, {0x3472db0, 0x285cd80}, 0x2)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0x0, {0x285cd80, 0xc000b34240})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngithub.com/grafana/grafana/pkg/services/ngalert/metrics.Instrument.func1(0xc002d9ab40)\n\t/drone/src/pkg/services/ngalert/metrics/ngalert.go:259 +0xb7\nreflect.Value.call({0x2744ca0, 0xc000927b80, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc000d079b0, 0x1, 0x27c6b60})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x2744ca0, 0xc000927b80, 0x2d517c0}, {0xc000d079b0, 0x1, 0x1})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0x21e5, {0x2744ca0, 0xc000927b80}, {0x3472db0, 0x2744ca0}, 0x1)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0x868742627aa35, {0x2744ca0, 0xc000927b80})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Context).Next(...)\n\t/drone/src/pkg/macaron/context.go:62\ngithub.com/grafana/grafana/pkg/middleware.RequestMetrics.func1.1({0x33e3800, 0xc0026b5310}, 0xc000c71e00, 0xc0016a17a0)\n\t/drone/src/pkg/middleware/request_metrics.go:55 +0x134\nreflect.Value.call({0x2871780, 0xc001425840, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc0026b5630, 0x3, 0x0})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x2871780, 0xc001425840, 0x2d35860}, {0xc0026b5630, 0x3, 0x3})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0xc000f2a9b8, {0x2871780, 0xc001425840}, {0x3472db0, 0x2871780}, 0x3)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0xc0026b5310, {0x2871780, 0xc001425840})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Context).Next(...)\n\t/drone/src/pkg/macaron/context.go:62\ngopkg.in/macaron%2ev1.(*Macaron).UseMiddleware.func1({0x33e3800, 0xc0026b5310}, 0xc000c71e00)\n\t/drone/src/pkg/macaron/macaron.go:155 +0x1fb\nnet/http.HandlerFunc.ServeHTTP(0xc0018bb458, {0x33e3800, 0xc0026b5310}, 0xc0018bb430)\n\t/usr/local/go/src/net/http/server.go:2047 +0x2f\ngithub.com/grafana/grafana/pkg/middleware.AddCSPHeader.func1.1({0x33e3800, 0xc0026b5310}, 0x0)\n\t/drone/src/pkg/middleware/csp.go:22 +0x653\nreflect.Value.call({0x29603a0, 0xc000ca8450, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc0006d3b90, 0x2, 0xc0018bb878})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x29603a0, 0xc000ca8450, 0x2d21bc0}, {0xc0006d3b90, 0x2, 0x2})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0xc000f2a9b8, {0x29603a0, 0xc000ca8450}, {0x3472db0, 0x29603a0}, 0x2)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0xc0026b5310, {0x29603a0, 0xc000ca8450})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Context).Next(...)\n\t/drone/src/pkg/macaron/context.go:62\ngopkg.in/macaron%2ev1.(*Macaron).UseMiddleware.func1({0x33e3800, 0xc0026b5310}, 0xc000c71600)\n\t/drone/src/pkg/macaron/macaron.go:155 +0x1fb\nnet/http.HandlerFunc.ServeHTTP(0x33c5560, {0x33e3800, 0xc0026b5310}, 0x2)\n\t/usr/local/go/src/net/http/server.go:2047 +0x2f\ngopkg.in/macaron%2ev1.Renderer.func1.1({0x33e3800, 0xc0026b5310}, 0xc000c71600)\n\t/drone/src/pkg/macaron/render.go:44 +0x1e7\nreflect.Value.call({0x29603a0, 0xc000ca08a0, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc000b8e840, 0x2, 0xc001000480})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x29603a0, 0xc000ca08a0, 0x2d21bc0}, {0xc000b8e840, 0x2, 0x2})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0x4181ec, {0x29603a0, 0xc000ca08a0}, {0x3472db0, 0x29603a0}, 0x2)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0x477879, {0x29603a0, 0xc000ca08a0})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Context).Next(...)\n\t/drone/src/pkg/macaron/context.go:62\ngithub.com/grafana/grafana/pkg/middleware.Recovery.func1(0x10)\n\t/drone/src/pkg/middleware/recovery.go:167 +0x6b\ngopkg.in/macaron%2ev1.ContextInvoker.Invoke(0x2d35860, {0xc00149b920, 0x2d35860, 0xc0028cc6b0})\n\t/drone/src/pkg/macaron/context.go:32 +0x3c\ngopkg.in/macaron%2ev1.(*injector).fastInvoke(0x468505, {0x7f1ce8b69b48, 0xc000ce5160}, {0x3472db0, 0x2913040}, 0x1)\n\t/drone/src/pkg/macaron/inject.go:139 +0x95\ngopkg.in/macaron%2ev1.(*injector).Invoke(0x2aa5380, {0x2913040, 0xc000ce5160})\n\t/drone/src/pkg/macaron/inject.go:117 +0xfd\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Context).Next(...)\n\t/drone/src/pkg/macaron/context.go:62\ngithub.com/grafana/grafana/pkg/middleware.Logger.func1({0x33e3800, 0xc0026b5310}, 0xc000c71600, 0xc0016a17a0)\n\t/drone/src/pkg/middleware/logger.go:33 +0xa5\nreflect.Value.call({0x2871780, 0xc000ce5150, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc0026b53b0, 0x3, 0x203000})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x2871780, 0xc000ce5150, 0x2d35860}, {0xc0026b53b0, 0x3, 0x3})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0x0, {0x2871780, 0xc000ce5150}, {0x3472db0, 0x2871780}, 0x3)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0xc000c71600, {0x2871780, 0xc000ce5150})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Context).Next(...)\n\t/drone/src/pkg/macaron/context.go:62\ngithub.com/grafana/grafana/pkg/middleware.RequestTracing.func1({0x33e3800, 0xc0026b5310}, 0xc000c71500, 0xc0016a17a0)\n\t/drone/src/pkg/middleware/request_tracing.go:57 +0x55a\nreflect.Value.call({0x2871780, 0x2fa9258, 0x7f1d1320c108}, {0x2db433c, 0x4}, {0xc0026b5360, 0x3, 0x200c000f2a9b8})\n\t/usr/local/go/src/reflect/value.go:556 +0x845\nreflect.Value.Call({0x2871780, 0x2fa9258, 0x2d35860}, {0xc0026b5360, 0x3, 0x3})\n\t/usr/local/go/src/reflect/value.go:339 +0xc5\ngopkg.in/macaron%2ev1.(*injector).callInvoke(0xdbf563, {0x2871780, 0x2fa9258}, {0x3472db0, 0x2871780}, 0x3)\n\t/drone/src/pkg/macaron/inject.go:159 +0x127\ngopkg.in/macaron%2ev1.(*injector).Invoke(0x140, {0x2871780, 0x2fa9258})\n\t/drone/src/pkg/macaron/inject.go:119 +0xb5\ngopkg.in/macaron%2ev1.(*Context).run(0xc0016a17a0)\n\t/drone/src/pkg/macaron/context.go:67 +0x6c\ngopkg.in/macaron%2ev1.(*Router).Handle.func1({0x33e3ce0, 0xc001295260}, 0x2db26ca, 0xc000450665)\n\t/drone/src/pkg/macaron/router.go:156 +0x25e\ngopkg.in/macaron%2ev1.(*Router).ServeHTTP(0xc0009a92c0, {0x33e3ce0, 0xc001295260}, 0xc000c71200)\n\t/drone/src/pkg/macaron/router.go:213 +0x1b6\ngopkg.in/macaron%2ev1.(*Macaron).ServeHTTP(0xc0009fc0c0, {0x33e3ce0, 0xc001295260}, 0xc000c71200)\n\t/drone/src/pkg/macaron/macaron.go:189 +0xf1\nnet/http.serverHandler.ServeHTTP({0x33dc5b8}, {0x33e3ce0, 0xc001295260}, 0xc000c71200)\n\t/usr/local/go/src/net/http/server.go:2879 +0x43b\nnet/http.(*conn).serve(0xc000bfff40, {0x3408ef0, 0xc000d2cb10})\n\t/usr/local/go/src/net/http/server.go:1930 +0xb08\ncreated by net/http.(*Server).Serve\n\t/usr/local/go/src/net/http/server.go:3034 +0x4e8\n"
t=2022-02-22T23:49:54+0000 lvl=eror msg="API error" logger=context userId=2 orgId=1 uname=<redacted> error="Failed to evaluate queries and expressions: failed to execute conditions: alert rule panic; please check the logs for the full stack" remote_addr=<redacted>

I use Grafana v8.3.4 (a551d74b11). Am I something missing?

1 Like