Grafana Mysql毫秒值(13位數(shù)值)曲線配置

表結(jié)構(gòu)
CREATE TABLE `monitor_metric_record` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '主鍵',
  `target_id` varchar(50) NOT NULL COMMENT '目標(biāo)id',
  `code` varchar(100) NOT NULL COMMENT '指標(biāo)編碼',
  `value` decimal(20,4) DEFAULT NULL COMMENT '指標(biāo)值',
  `create_time` bigint(20) NOT NULL COMMENT '指標(biāo)寫(xiě)入時(shí)間,13位毫秒值')  ENGINE=InnoDB DEFAULT CHARSET=utf8 ;
SQL

使用自定義的sql, time和metric是內(nèi)定的別名, 會(huì)自動(dòng)渲染曲線圖
,這里使用內(nèi)置變量$__from$__to來(lái)篩選時(shí)間

SELECT  create_time AS time,targer_id AS metric,value FROM monitor_metric_record WHERE create_time >= $__from  AND create_time <= $__to and code='lag';
SQL不正確時(shí)的現(xiàn)象
1. 使用$__timeFilter函數(shù), 時(shí)間過(guò)濾不生效

下圖本意是要篩選6小時(shí)內(nèi)的數(shù)據(jù), 但是卻出現(xiàn)了7天前的數(shù)據(jù)

點(diǎn)擊Query inspetor查看執(zhí)行詳情, 發(fā)現(xiàn)生成的sql不正確, $__timeFilter函數(shù)將mysql中的FROM_UNIXTIME(), 作為一整個(gè)條件了


2. SELECT的time字段使用了FROM_UNIXTIME(create_time/1000), 導(dǎo)致時(shí)區(qū)不正確

如果時(shí)間的條件小于8小時(shí), 圖表渲染會(huì)報(bào)錯(cuò)Data outside time range, 但是如果大于8小時(shí), 前面8小時(shí)會(huì)沒(méi)有數(shù)據(jù)



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容