我们有多个数据库运行在不同的云环境中,我们的用例基于环境值,我们希望在AWS、AZURE和GCP之间动态更改数据源。 我们实现了环境值以传递给 grafana 并创建了环境变量来识别云,但现在我们如何更改云之间的数据源值?
ENV 变量:
{ "find": "terms", "field": "fields.env" }
对于 AWS,我们使用 cloudwatch 作为数据源,对于 azure,我们使用 azurecloud 监控。 添加示例查询以从不同数据源收集指标。 亚马逊:
{"alias":"","bucketAggs":[{"field":"@timestamp","id":"2","settings":{"interval":"auto"},"type":"date_histogram"}],"datasource":{"type":"cloudwatch","uid":"xxxxxx"},
蔚蓝:
{"subscription":"xxxxxxxxx","queryType":"Azure Monitor","azureMonitor":{"resourceGroup":"xxxxxxxxx","resourceName":"xxxxxxxx","metricDefinition":"Microsoft.DBforMySQL/flexibleServers","timeGrain":"auto","metricName":"cpu_percent","metricNamespace":"Microsoft.DBforMySQL/flexibleServers","aggregation":"Average","dimensionFilters":[],"top":"10"}}
不认为这是可能的。数据源变量非常有限,据我所知,在不同类型的数据源之间进行更改是不可能的。
我会考虑创建三个独立的仪表板并提供在它们之间切换的快速链接。你甚至可以在它们之间传递变量。