數據可視化監測是WGCLOUD的一個重要模塊,可以幫我們監控數據源是否在線,自定義sql查詢數據進行可視化展示,比如新增訂單、注冊用戶量、數據庫運行參數等信息
數據監控是由server來監測的,因此要保證server主機能夠訪問到數據庫
本文用WGCLOUD v3.3.5版本說明
1、首先我們要配置數據源,記得要保證server主機能訪問到數據源
數據源支持(mysql,oracle,redis,mongodb,postgreSql,mariaDB,sql server)類型數據源
在左側菜單點擊【數據監控】->【數據源管理】

然后點擊【添加】按鈕,輸入數據庫的連接信息,就是JDBC連接方式,輸入完成后,可以點擊【連接測試】測試下是否能正常連接
驅動名稱可以不用管哈,比如下方選擇mysql,不管是mysql5或者mysql8,下面驅動都是支持的,不用擔心

數據源后續若檢測到連接失敗,會發送告警通知,恢復時候也會發送恢復通知
2、添加數據表監控
點擊左側菜單【數據監控】->【數據表監控】

然后點擊【添加】按鈕,輸入信息,先選擇數據源,表別名可以用中文
注意統計SQL語句,不能包含敏感sql字符,如delete等,否則保存不了,會提示失敗的
sql執行結果的取值列名,就是我們的sql執行完的結果中,我們要獲取的數據庫列名(只能取一列),列值需要是整型或浮點型數字類型,系統會默認取結果中的第一行的其中一列。如果結果是浮點型,系統會自動截取只保留整數部分數字,舍棄小數點后的部分
如下圖所示,是統計活躍用戶數量(這是例子)
我們先看對應sql在工具中的執行結果,注意看返回結果,標紅的數據庫列名COUNT(*)
結果列名是COUNT(*),我們就在表單【sql執行結果的取值列名】輸入COUNT(*),系統會根據輸入的COUNT(*)獲取數據
如果查詢結果只有一列,那【sql執行結果的取值列名】可以為空,不用填寫


注意:統計sql語句,不一定非得是COUNT(*)語句,也可以是SUM、AVG等,只要是返回結果是整數就可以,比如下面這兩條也可以的:
SELECT SUM(a.age) FROM USER a
SELECT a.age FROM USER a WHERE a.name='zhangsansan'
我們再看一個例子,下面這個sql是查詢mysql當前連接數量
show STATUS like '%Threads_connected%'
先看對應sql執行結果,注意看返回結果,標紅的數據庫列名Value是我們要用的
結果列名是Value,我們就在表單【sql執行結果的取值列名】輸入Value,系統會根據輸入的Value獲取數據



3、添加完成,系統默認1小時掃描一次,此后會逐漸形成趨勢圖表
掃描時間可以在server/config/applicatioin.yml中修改,修改后需要重啟server生效,如下
#數據表監控間隔,單位秒,默認60分鍾 dbTableTimes: 3600
數據趨勢圖表,在【數據表管理】列表的【圖表】按鈕,點擊可以查看,如下圖,也可以導出Excel文件,非常方便

最后,在數據監測過程中,若數據源不可用,系統會發送告警通知,若數據源恢復可用,系統也會發送恢復通知
4、告警表達式,這個不是必填的
如下圖中,添加數據表監控時候,最后一項是告警表達式,意思是根據sql查詢的結果值進行計算,看表達式是否成立,若成立就發給告警,不成立就不發告警
其中result是標識上面sql執行結果的值,為固定標識,不要修改它,系統會自動將其替換為sql執行結果的值
比如sql為:SELECT COUNT(*) FROM CPU_STATE
COUNT(*)結果值為514
那么如下圖中的告警表達式(result + 10)>=100,result會替換為514,也就是表達式最終替換為:(514 + 10)>=100
那么告警表達式(514 + 10)>=100已經成立,就會發送告警

