如何将可理解的 clickhouse 日期转换为 Grafana 图表?
How to convert clickhouse date understandable to Grafana graph?
我的查询如下:
SELECT
(date),
CVC_Demand_Per_Subscriber
FROM
(SELECT
date,
sum(Max_Utilization) as SUM_Max_Util,
sum(AVC) as SUM_Total_Active_AVCs,
(SUM_Max_Util/SUM_Total_Active_AVCs) as CVC_Demand_Per_Subscriber
FROM
(
SELECT
date,
cvc as CVC,
avc as AVC,
bandwidth,
round((max(lout)/1000000),2) as Max_Utilization,
((((max(lout) / bandwidth) * 100)) / 1000000) as Max_Utilization_Percent,
(Max_Utilization/AVC) as CVC_Demand_Per_Subscriber
FROM
(
SELECT
date,
path[2] as cvc,
bandwidth,
avc,
max(load_out) as lout
FROM noc.interface
ANY INNER JOIN
(
SELECT
cvcid as cvc,
bandwidth,
activeavc as avc
FROM dictionaries.nsi_cvcs
GROUP BY
cvc,
avc,
bandwidth
) USING cvc
WHERE
managed_object IN (
SELECT bi_id
FROM dictionaries.managedobject
WHERE nbn = 1)
AND(date >= today()- 7)
GROUP BY
date,
cvc,
avc,
bandwidth
ORDER BY
date,
cvc,
avc
)
GROUP BY
date,
cvc,
avc,
bandwidth
)
GROUP BY date
ORDER BY date ASC)
tmp
当我在 Grafana 中 select Table 时,我正在获取结果数据,如下所示:
Time CVC_Demand_Per_Subscriber
2021-07-19 00:00:00 1.61
2021-07-18 00:00:00 2.70
2021-07-17 00:00:00 2.90
2021-07-16 00:00:00 2.83
2021-07-15 00:00:00 2.54
2021-07-14 00:00:00 2.38
2021-07-13 00:00:00 2.39
2021-07-12 00:00:00 0.64
但是当我将其更改为图表时,我没有看到根据日期用值绘制的图表。它没有说“没有数据”,而是一个空图。
请帮我看看哪里错了?
我尝试了以下但没有成功:
- 将日期转换为 UNIX_TIMESTAMP
- to_char(date_format)
- $__timeGroup()
- $__time
还请对查询提出优化建议。
它需要:
- 定义 Column:DateTime as Time
- 设置sql-查询
SELECT
$timeSeries as t,
sum(CVC_Demand_Per_Subscriber) value
FROM (
/* emulate the test dataset */
SELECT toDateTime(data.1) AS Time, data.2 AS CVC_Demand_Per_Subscriber
FROM (
SELECT arrayJoin([
('2021-07-19 00:00:00', 1.61),
('2021-07-18 00:00:00', 2.70),
('2021-07-17 00:00:00', 2.90),
('2021-07-16 00:00:00', 2.83),
('2021-07-15 00:00:00', 2.54),
('2021-07-14 00:00:00', 2.38),
('2021-07-13 00:00:00', 2.39),
('2021-07-12 00:00:00', 0.64)]) as data)
)
WHERE $timeFilter
GROUP BY t
ORDER BY t
当图表为空(显示'No data')且没有查询错误需要检查ClickHouse Datasource settigs以确保向请求添加CORS标志 已启用:
我的查询如下:
SELECT
(date),
CVC_Demand_Per_Subscriber
FROM
(SELECT
date,
sum(Max_Utilization) as SUM_Max_Util,
sum(AVC) as SUM_Total_Active_AVCs,
(SUM_Max_Util/SUM_Total_Active_AVCs) as CVC_Demand_Per_Subscriber
FROM
(
SELECT
date,
cvc as CVC,
avc as AVC,
bandwidth,
round((max(lout)/1000000),2) as Max_Utilization,
((((max(lout) / bandwidth) * 100)) / 1000000) as Max_Utilization_Percent,
(Max_Utilization/AVC) as CVC_Demand_Per_Subscriber
FROM
(
SELECT
date,
path[2] as cvc,
bandwidth,
avc,
max(load_out) as lout
FROM noc.interface
ANY INNER JOIN
(
SELECT
cvcid as cvc,
bandwidth,
activeavc as avc
FROM dictionaries.nsi_cvcs
GROUP BY
cvc,
avc,
bandwidth
) USING cvc
WHERE
managed_object IN (
SELECT bi_id
FROM dictionaries.managedobject
WHERE nbn = 1)
AND(date >= today()- 7)
GROUP BY
date,
cvc,
avc,
bandwidth
ORDER BY
date,
cvc,
avc
)
GROUP BY
date,
cvc,
avc,
bandwidth
)
GROUP BY date
ORDER BY date ASC)
tmp
当我在 Grafana 中 select Table 时,我正在获取结果数据,如下所示:
Time CVC_Demand_Per_Subscriber
2021-07-19 00:00:00 1.61
2021-07-18 00:00:00 2.70
2021-07-17 00:00:00 2.90
2021-07-16 00:00:00 2.83
2021-07-15 00:00:00 2.54
2021-07-14 00:00:00 2.38
2021-07-13 00:00:00 2.39
2021-07-12 00:00:00 0.64
但是当我将其更改为图表时,我没有看到根据日期用值绘制的图表。它没有说“没有数据”,而是一个空图。
请帮我看看哪里错了?
我尝试了以下但没有成功:
- 将日期转换为 UNIX_TIMESTAMP
- to_char(date_format)
- $__timeGroup()
- $__time
还请对查询提出优化建议。
它需要:
- 定义 Column:DateTime as Time
- 设置sql-查询
SELECT
$timeSeries as t,
sum(CVC_Demand_Per_Subscriber) value
FROM (
/* emulate the test dataset */
SELECT toDateTime(data.1) AS Time, data.2 AS CVC_Demand_Per_Subscriber
FROM (
SELECT arrayJoin([
('2021-07-19 00:00:00', 1.61),
('2021-07-18 00:00:00', 2.70),
('2021-07-17 00:00:00', 2.90),
('2021-07-16 00:00:00', 2.83),
('2021-07-15 00:00:00', 2.54),
('2021-07-14 00:00:00', 2.38),
('2021-07-13 00:00:00', 2.39),
('2021-07-12 00:00:00', 0.64)]) as data)
)
WHERE $timeFilter
GROUP BY t
ORDER BY t
当图表为空(显示'No data')且没有查询错误需要检查ClickHouse Datasource settigs以确保向请求添加CORS标志 已启用: