自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

后端程序員也可以用Grafana做出漂亮可視化界面!

開發(fā) 前端
此篇文章主要來記錄學(xué)習(xí) 如何使用mysql打造屬于我們的可視化監(jiān)控儀表盤。

前言

Grafana 有著非常漂亮的圖表和布局展示,功能齊全的度量?jī)x表盤dashboard和圖形編輯器。此篇文章主要來記錄學(xué)習(xí) 如何使用mysql打造屬于我們的可視化監(jiān)控儀表盤。

安裝grafna

采用如下命令直接安裝grafna?;蚴窍螺d.tar.gz包自行安裝。

  1. sudo apt-get install -y apt-transport-https 
  2. sudo apt-get install -y software-properties-common wget 
  3. wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add - 
  4. sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main" 
  5. sudo apt-get update 
  6. sudo apt-get install grafana 

在一個(gè)Dashboard中一個(gè)最基本的可視化單元為一個(gè)Panel(面板)。

每一個(gè)Panel可以配置自己查詢的數(shù)據(jù)源以及數(shù)據(jù)查詢方式。當(dāng)然這里我們使用Mysql作為數(shù)據(jù)源,其查詢方式就是Sql語句。

擴(kuò)展一下思路:由于每個(gè)Panel是完全獨(dú)立的,因此在一個(gè)Dashboard中,往往可能會(huì)包含來自多個(gè)Data Source的數(shù)據(jù)。也就是說A panel你可以從mysql中查詢數(shù)據(jù),B panel你可以從es中查詢,很靈活的自由組合。

grafna啟動(dòng)相關(guān)命令

  1. 查看grafna狀態(tài) 
  2. sudo systemctl status grafana-server 
  3.  
  4. 重啟grafna 
  5. service grafana-server restart 

配置grafna等操作,可以參看官方文檔:

https://grafana.com/docs/grafana/latest/installation/configuration/

運(yùn)行一個(gè)官網(wǎng)的案例

Grafana還專門為Dashboard提供分享服務(wù),你也可以把自己做得漂亮的界面上傳上去供大家參考交流,傳送門是:

https://grafana.com/dashboards

在這里,我使用的是Id為7991的監(jiān)控面板。

添加mysql數(shù)據(jù)源

首先,從左側(cè)的菜單欄配置項(xiàng)中選中數(shù)據(jù)源。

grafna支持的數(shù)據(jù)源比較多,這里我們手動(dòng)搜索一下mysql。

選中之后,填寫完具體的數(shù)據(jù)庫(kù)地址和密碼后,保存即可。

導(dǎo)入面板

解決報(bào)錯(cuò)

導(dǎo)入面板后后提示Templating init failed Error 1146: Table 'my2.status' doesn't exist錯(cuò)誤,這是因?yàn)槲覀冞€有一個(gè)工作沒做完,監(jiān)控mysql時(shí)需要在mysql server運(yùn)行的機(jī)器上安裝my2.status表,根據(jù)官網(wǎng)面板的說明,找到github倉(cāng)庫(kù)地址:

https://github.com/meob/my2Collector

在數(shù)據(jù)庫(kù)中執(zhí)行my2.sql 就能成果導(dǎo)入了,效果如下:

從說明我們可以看到, My2Collector (my2)是一個(gè)簡(jiǎn)單的、自我包含的MySQL統(tǒng)計(jì)信息收集器,my2每10分鐘自動(dòng)執(zhí)行一次存儲(chǔ)程序來收集Mysql的一些性能數(shù)據(jù)。

版本支持

my2可以連接到任何版本的MySQL,MariaDB,Percona或其他fork,但是...對(duì)于舊的MySQL,發(fā)布的許多統(tǒng)計(jì)信息均不可用。

my2使用的計(jì)劃作業(yè)自MySQL 5.1(2008)起可用。

PROCESSLIST表從5.1.7開始可用。

而GLOBAL_STATUS從5.1.12開始可用。

PERFORMANCE_SCHEMA在5.5版本中引入,在5.6版本中得到了極大的增強(qiáng)。

不同的MySQL版本之間有很多細(xì)微的差別:My2意識(shí)到并做了兼容,嘗試收集所有可用信息,對(duì)于MySQL 8.0,提供了一個(gè)不同的腳本,my2在啟用了性能模式的MySQL 5.7,MySQL 8.0和MariaDB 10.x中發(fā)揮了最大作用。

實(shí)戰(zhàn),基于Mysql業(yè)務(wù)表來創(chuàng)建監(jiān)控

最簡(jiǎn)單的列表展示

在 面板中選擇table類型的 panel。

編寫查詢的sql語句,可以使用具體的別名。

多個(gè)折線圖

特別注意時(shí)間序列:

返回列名中需要有time或time_sec的列,作為unix時(shí)間戳或任何sql原生日期。

特別注意,這里的時(shí)間轉(zhuǎn)換函數(shù):用法

  1. - $__time(column) -> UNIX_TIMESTAMP(column) as time_sec 
  2. - $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time_sec 
  3. - $__timeFilter(column) -> column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877
  4. - $__unixEpochFilter(column) ->  time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877 
  5. - $__unixEpochNanoFilter(column) ->  column >= 1494410783152415214 AND column <= 1494497183142514872 
  6.  
  7. - $__timeGroup(column,'5m'[, fillvalue]) -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed) 
  8.      by setting fillvalue grafana will fill in missing values according to the interval 
  9.      fillvalue can be either a literal value, NULL or previous; previous will fill in the previous seen value or NULL if none has been seen yet 
  10. - $__timeGroupAlias(column,'5m') -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed) AS "time" 
  11. - $__unixEpochGroup(column,'5m') -> column DIV 300 * 300 
  12. - $__unixEpochGroupAlias(column,'5m') -> column DIV 300 * 300 AS "time" 

由上面的規(guī)則可知,如果數(shù)據(jù)里面的數(shù)據(jù)類型是bigint。那么時(shí)間篩選就需要使用:

  1. $__unixEpochFilter(data_time/1000

柱狀圖

只需要在折線圖的配置基礎(chǔ)上,將model改為Bars即可展示柱狀圖。

Graph里面的選項(xiàng)有:General(常規(guī)選擇)、Metrics(指標(biāo))、Axes(坐標(biāo)軸)、Legend(圖例)、 Display(顯示樣式)、Alert(告警)、Time range(時(shí)間范圍)

Grafana是一款采用 go 語言編寫的開源應(yīng)用,主要用于大規(guī)模指標(biāo)數(shù)據(jù)的可視化展現(xiàn),是網(wǎng)絡(luò)架構(gòu)和應(yīng)用分析中最流行的時(shí)序數(shù)據(jù)展示工具,目前已經(jīng)支持絕大部分常用的時(shí)序數(shù)據(jù)庫(kù)。

希望這篇文章能給你帶來幫助。

責(zé)任編輯:張燕妮 來源: 俠夢(mèng)的開發(fā)筆記
相關(guān)推薦

2012-09-05 10:18:11

可視化編程工具程序員

2023-02-15 08:24:12

數(shù)據(jù)分析數(shù)據(jù)可視化

2019-07-26 09:19:32

數(shù)據(jù)可視化架構(gòu)

2017-05-23 09:07:48

可視化圖表視覺

2020-12-10 09:59:59

前端開發(fā)技術(shù)

2019-12-18 14:40:09

數(shù)據(jù)可視化后端技術(shù)Python

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2021-11-09 08:15:18

Grafana 數(shù)據(jù)可視化運(yùn)維

2017-12-15 15:09:42

2011-06-14 09:47:57

程序員

2014-11-25 09:31:17

程序員

2023-04-14 08:21:55

2025-01-07 14:09:58

2015-09-18 11:14:54

2011-06-02 09:02:36

程序員

2009-02-25 09:36:29

程序員擇業(yè)

2020-10-31 17:13:04

Python可視化Seaborn

2022-04-15 11:32:20

IDE工具鴻蒙操作系統(tǒng)

2011-05-18 10:57:40

2017-10-14 13:54:26

數(shù)據(jù)可視化數(shù)據(jù)信息可視化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)