将 Grafana 与 BigQuery 数据源一起使用时出现问题

Posted

技术标签:

【中文标题】将 Grafana 与 BigQuery 数据源一起使用时出现问题【英文标题】:Problem using Grafana with BigQuery datasource 【发布时间】:2020-01-19 04:27:02 【问题描述】:

我发现使用 Grafana 可视化 BigQuery 数据的唯一方法是使用 https://github.com/doitintl/bigquery-grafana 提供的这个数据源插件

但对我没用。

我无法用理智画出任何东西。

我只想知道所选期间的项目成本,可以吗?

你能帮帮我吗?

例如这个查询

SELECT
  CAST (`service`.`description`AS String ) AS metric,
  ROUND(SUM(cost),2) as total_cost,
  project.name
FROM `xxxx`
WHERE
  _PARTITIONTIME >= '2019-09-01 00:00:00' AND _PARTITIONTIME < '2019-09-11 23:59:59'
GROUP BY metric, project.name
ORDER BY total_cost DESC

当我将格式设置为“表格”时,我在 grafana 中收到此错误

No field name specified to use for x-axis, check your axes settings

非常感谢!

【问题讨论】:

您心目中的 x 轴是哪一列?名称(project.name)、指标还是总成本?将此类数据显示为条形图感觉更自然。 我想要 x 轴上的 project.name。但我不知道解决这个错误。如果它适用于条形图,你能告诉我你的查询是什么吗?因为我也没有让它与条形图一起使用。谢谢! 【参考方案1】:

您选择了哪种可视化?如果你选择 table 你选择了什么样的 table transform? 在大多数情况下,您的查询中需要一个时间列。

类似的东西:

#standardSQL
SELECT
 TIMESTAMP_SECONDS(DIV(UNIX_SECONDS(`bill_datetime`), 86400) * 86400),
  CAST (`description`AS String ) AS metric,
  sum(`cost`) AS cost
FROM `project.dataset.account_billing_log`
WHERE
  `bill_datetime` BETWEEN TIMESTAMP_MILLIS (1411102892775) AND TIMESTAMP_MILLIS (1568869292775) AND _PARTITIONTIME >= '2014-09-19 08:01:32' AND _PARTITIONTIME < '2019-09-19 08:01:32'
GROUP BY 1,2
ORDER BY 1,2
  LIMIT 960

【讨论】:

如果我把这些行我收到这个错误 InvalidQuery: Syntax Error: Unexpected keyword LIMIT at [13:3] 如果我删除 LIMIT 然后我收到这个 InvalidQuery: Unrecognize name bill_datetime at [8:3] ] 有什么建议吗? 您是否将project.dataset.account_billing_log 替换为您的项目和数据集?什么错误? 是的,我替换了,错误是我之前放的,如果我放 LIMIT 是一个错误,如果我删除 LIMIT 我收到另一个“InvalidQuery: Unrecognize name bill_datetime at [8:3]” 你能分享一下表架构吗? 是的,这个:privatebin.net/…

以上是关于将 Grafana 与 BigQuery 数据源一起使用时出现问题的主要内容,如果未能解决你的问题,请参考以下文章

Grafana Labs 携手阿里云,将提供国内首款 Grafana 托管服务

如何使用bigquery流将嵌套数据插入现有记录

开源监控Grafana介绍与安装

Google BigQuery:授予服务帐户权限以仅在某些特定数据集中创建作业

有没有办法将来自多个来源的数据与 Google 的新 BigQuery 混合?

如何使用 bigquery 流向现有记录插入嵌套数据