Closed yuzhichang closed 2 years ago
下面的SQL在ckman上执行报错,在clickhouse-client上正常。
SELECT AVG(`T6`.`value`) AS `avg`, `T6`.`metric`, `T6`.`host`, `toStartOfInterval`(`T6`.`timestamp`, INTERVAL 5 MINUTE) AS `timestamp`, ( ( argMax(`T6`.`value`, `T6`.`timestamp`) - argMin(`T6`.`value`, `T6`.`timestamp`) ) / ( max(toDateTime(`T6`.`timestamp`)) - min(toDateTime(`T6`.`timestamp`)) ) ) AS rate FROM ( SELECT `T3`.*, `T5`.* FROM ( SELECT `T0`.* FROM `cmpV1`.`dist_metric` AS `T0` WHERE `T0`.`__series_id` global IN ( ( SELECT `T1`.`__series_id` FROM `cmpV1`.`dist_metric_series` AS `T1` WHERE `match`(`T1`.`host`, '^eoiup.*') AND `T1`.`metric` IN ('cpu_load1') ) AS `T2` ) AND ( `T0`.`timestamp` >= '2021-12-27 17:05:19' AND `T0`.`timestamp` < '2021-12-27 17:06:19' ) ) AS `T3` global INNER JOIN ( SELECT `T4`.`host`, `T4`.`metric`, `T4`.`__series_id`, `T4`.`labels` FROM `cmpV1`.`dist_metric_series` AS `T4` WHERE `match`(`T4`.`host`, '^eoiup.*') AND `T4`.`metric` IN ('cpu_load1') ) AS `T5` ON `T3`.`__series_id` = `T5`.`__series_id` ) AS `T6` GROUP BY `T6`.`metric`, `T6`.`host`, `timestamp` LIMIT 10000 ┌──────────────────avg─┬─metric────┬─host────┬───────────timestamp─┬─────rate─┐ │········· │ 0.013333333333333329 │ cpu_load1 │ eoiup05 │ 2021-12-27 17:05:00 │ -0.00025 │ │········· │ 0 │ cpu_load1 │ eoiup02 │ 2021-12-27 17:05:00 │ 0 │ │········· │ 0.02 │ cpu_load1 │ eoiup06 │ 2021-12-27 17:05:00 │ nan │ │········· └──────────────────────┴───────────┴─────────┴─────────────────────┴──────────┘ │·········
ckman错误日志:
2021-12-28T15:11:31.666+0800 ERROR model/response.go:46 GET /api/v1/ck/query/ck-cluster?clusterName=ck-cluster&query=SELECT%0A++AVG(%60T6% 60.%60value%60)+AS+%60avg%60,%0A++%60T6%60.%60metric%60,%0A++%60T6%60.%60host%60,%0A++%60toStartOfInterval%60(%60T6%60.%60timestamp%60,+INTERVAL+5 +MINUTE)+AS+%60timestamp%60,%0A++(%0A++++(%0A++++++argMax(%60T6%60.%60value%60,+%60T6%60.%60timestamp%60)+-+argMin(%60T6%60.%60value%60,+%60T6%60. %60timestamp%60)%0A++++)+%2F+(%0A++++++max(toDateTime(%60T6%60.%60timestamp%60))+-+min(toDateTime(%60T6%60.%60timestamp%60))%0A++++)%0A++)+AS+rate %0AFROM%0A++(%0A++++SELECT%0A++++++%60T3%60.*,%0A++++++%60T5%60.*%0A++++FROM%0A++++++(%0A++++++++SELECT%0A++++++++++%60T0%60.*%0A++++++++FROM%0A++ ++++++++%60cmpV1%60.%60dist_metric%60+AS+%60T0%60%0A++++++++WHERE%0A++++++++++%60T0%60.%60__series_id%60+global+IN+(%0A++++++++++++(%0A+++++++++++ +++SELECT%0A++++++++++++++++%60T1%60.%60__series_id%60%0A++++++++++++++FROM%0A++++++++++++++++%60cmpV1%60.%60dist_metric_series%60+AS+%60T1%60%0A+ +++++++++++++WHERE%0A++++++++++++++++%60match%60(%60T1%60.%60host%60,+%27%5Eeoiup.*%27)%0A++++++++++++++++AND+%60T1%60.%60metric%60+IN+(%27cpu_loa d1%27)%0A++++++++++++)+AS+%60T2%60%0A++++++++++)%0A++++++++++AND+(%0A++++++++++++%60T0%60.%60timestamp%60+%3E%3D+%272021-12-27+17:05:19%27%0A+++++ +++++++AND+%60T0%60.%60timestamp%60+%3C+%272021-12-27+17:06:19%27%0A++++++++++)%0A++++++)+AS+%60T3%60+global%0A++++++INNER+JOIN+(%0A++++++++SELECT %0A++++++++++%60T4%60.%60host%60,%0A++++++++++%60T4%60.%60metric%60,%0A++++++++++%60T4%60.%60__series_id%60,%0A++++++++++%60T4%60.%60labels%60%0A+ +++++++FROM%0A++++++++++%60cmpV1%60.%60dist_metric_series%60+AS+%60T4%60%0A++++++++WHERE%0A++++++++++%60match%60(%60T4%60.%60host%60,+%27%5Eeoiup. *%27)%0A++++++++++AND+%60T4%60.%60metric%60+IN+(%27cpu_load1%27)%0A++++++)+AS+%60T5%60+ON+%60T3%60.%60__series_id%60+%3D+%60T5%60.%60__series_id%6 0%0A++)+AS+%60T6%60%0AGROUP+BY%0A++%60T6%60.%60metric%60,%0A++%60T6%60.%60host%60,%0A++%60timestamp%60%0ALIMIT%0A++10000 marshal response body fai l: model.ResponseBody.Entity: [][]interface {}: []interface {}: unsupported value: NaN github.com/housepower/ckman/model.WrapMsg /root/zhichyu/ckman/model/response.go:46 github.com/housepower/ckman/controller.(*ClickHouseController).QueryInfo /root/zhichyu/ckman/controller/clickhouse.go:633 github.com/gin-gonic/gin.(*Context).Next /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/context.go:165 github.com/housepower/ckman/server.ginRefreshTokenExpires.func1 /root/zhichyu/ckman/server/server.go:242 github.com/gin-gonic/gin.(*Context).Next /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/context.go:165 github.com/gin-gonic/gin.CustomRecoveryWithWriter.func1 /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/recovery.go:99 github.com/gin-gonic/gin.(*Context).Next /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/context.go:165 github.com/housepower/ckman/server.ginLoggerToFile.func1 /root/zhichyu/ckman/server/server.go:147 github.com/gin-gonic/gin.(*Context).Next /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/context.go:165 github.com/gin-gonic/gin.(*Engine).handleHTTPRequest /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/gin.go:489 github.com/gin-gonic/gin.(*Engine).ServeHTTP /root/go/pkg/mod/github.com/gin-gonic/gin@v1.7.2/gin.go:445 net/http.serverHandler.ServeHTTP /usr/local/go/src/net/http/server.go:2878 net/http.(*conn).serve /usr/local/go/src/net/http/server.go:1929
JSON无法处理Inf和NaN导致,已解决 83a41a66
下面的SQL在ckman上执行报错,在clickhouse-client上正常。
ckman错误日志: