同樣是后端程序員,你掌握如何用Grafna做出漂亮的可視化界面了嗎暗赶?

前言

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

安裝grafna

采用如下命令直接安裝grafna绩衷。或是下載.tar.gz包自行安裝激率。

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

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

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

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

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

查看grafna狀態(tài)
sudo systemctl status grafana-server

重啟grafna
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)控面板纳胧。

file

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

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

file

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

file

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

導(dǎo)入面板

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

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

https://github.com/meob/my2Collector

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

file

從說(shuō)明我們可以看到位岔,
My2Collector (my2)是一個(gè)簡(jiǎn)單的、自我包含的MySQL統(tǒng)計(jì)信息收集器堡牡,my2每10分鐘自動(dòng)執(zhí)行一次存儲(chǔ)程序來(lái)收集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開(kāi)始可用。

而GLOBAL_STATUS從5.1.12開(kāi)始可用浇借。

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ù)表來(lái)創(chuàng)建監(jiān)控

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

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


file

編寫查詢的sql語(yǔ)句,可以使用具體的別名刚夺。


file

多個(gè)折線圖

file

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

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

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

- $__time(column) -> UNIX_TIMESTAMP(column) as time_sec
- $__timeEpoch(column) -> UNIX_TIMESTAMP(column) as time_sec
- $__timeFilter(column) -> column BETWEEN FROM_UNIXTIME(1492750877) AND FROM_UNIXTIME(1492750877)
- $__unixEpochFilter(column) ->  time_unix_epoch > 1492750877 AND time_unix_epoch < 1492750877
- $__unixEpochNanoFilter(column) ->  column >= 1494410783152415214 AND column <= 1494497183142514872

- $__timeGroup(column,'5m'[, fillvalue]) -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed)
     by setting fillvalue grafana will fill in missing values according to the interval
     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
- $__timeGroupAlias(column,'5m') -> cast(cast(UNIX_TIMESTAMP(column)/(300) as signed)*300 as signed) AS "time"
- $__unixEpochGroup(column,'5m') -> column DIV 300 * 300
- $__unixEpochGroupAlias(column,'5m') -> column DIV 300 * 300 AS "time"

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

$__unixEpochFilter(data_time/1000)

柱狀圖

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

file

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

file
file

為了方便大家學(xué)習(xí)討論郭赐,我創(chuàng)建了一個(gè)java疑難攻堅(jiān)互助大家庭,和其他傳統(tǒng)的學(xué)習(xí)交流不同确沸。本群主要致力于解決項(xiàng)目中的疑難問(wèn)題捌锭,在遇到項(xiàng)目難以解決的
問(wèn)題時(shí),都可以在這個(gè)大家庭里尋求幫助罗捎。

公眾關(guān)號(hào)注:俠夢(mèng)的開(kāi)發(fā)筆記后回復(fù)【問(wèn)題的答案】進(jìn)入:java中Integer包裝類的基本數(shù)據(jù)類型是观谦?
如果你也經(jīng)歷過(guò)遇到項(xiàng)目難題,無(wú)從下手桨菜,
他人有可能可以給你提供一些思路和看法豁状,一百個(gè)人就有一百種思路,
同樣倒得,如果你也樂(lè)于幫助別人泻红,那解決別人遇到的問(wèn)題,也同樣對(duì)你是一種鍛煉霞掺。

歡迎來(lái)公眾號(hào)【俠夢(mèng)的開(kāi)發(fā)筆記】谊路,回復(fù)干貨,領(lǐng)取精選學(xué)習(xí)視頻一份

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末菩彬,一起剝皮案震驚了整個(gè)濱河市缠劝,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌骗灶,老刑警劉巖惨恭,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異矿卑,居然都是意外死亡喉恋,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門母廷,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人糊肤,你說(shuō)我怎么就攤上這事琴昆。” “怎么了馆揉?”我有些...
    開(kāi)封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵业舍,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng)舷暮,這世上最難降的妖魔是什么态罪? 我笑而不...
    開(kāi)封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮下面,結(jié)果婚禮上复颈,老公的妹妹穿的比我還像新娘。我一直安慰自己沥割,他們只是感情好耗啦,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著机杜,像睡著了一般帜讲。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上椒拗,一...
    開(kāi)封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天似将,我揣著相機(jī)與錄音,去河邊找鬼蚀苛。 笑死在验,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的枉阵。 我是一名探鬼主播译红,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼兴溜!你這毒婦竟也來(lái)了侦厚?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤拙徽,失蹤者是張志新(化名)和其女友劉穎刨沦,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體膘怕,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡想诅,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了岛心。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片来破。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖忘古,靈堂內(nèi)的尸體忽然破棺而出徘禁,到底是詐尸還是另有隱情,我是刑警寧澤髓堪,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布送朱,位于F島的核電站娘荡,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏驶沼。R本人自食惡果不足惜炮沐,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望回怜。 院中可真熱鬧大年,春花似錦、人聲如沸鹉戚。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抹凳。三九已至遏餐,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間赢底,已是汗流浹背失都。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留幸冻,地道東北人粹庞。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像洽损,于是被迫代替她去往敵國(guó)和親庞溜。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容

  • 可視化是監(jiān)控的目標(biāo)之一碑定,沒(méi)有一個(gè)好的展示流码,再多的數(shù)據(jù)我們也很難分析。這里主要對(duì)Grafana進(jìn)行介紹延刘,前面我們雖然...
    super_pcm閱讀 1,741評(píng)論 0 1
  • 1.概述--美觀漫试、強(qiáng)大的可視化監(jiān)控指標(biāo)展示工具 grafana 是一款采用 go 語(yǔ)言編寫的開(kāi)源應(yīng)用,主要用于大規(guī)...
    康小為6840閱讀 254,147評(píng)論 37 256
  • 1.A simple master-to-slave replication is currently being...
    Kevin關(guān)大大閱讀 5,950評(píng)論 0 3
  • 什么是數(shù)據(jù)庫(kù)碘赖? 數(shù)據(jù)庫(kù)是存儲(chǔ)數(shù)據(jù)的集合的單獨(dú)的應(yīng)用程序驾荣。每個(gè)數(shù)據(jù)庫(kù)具有一個(gè)或多個(gè)不同的API,用于創(chuàng)建普泡,訪問(wèn)播掷,管理...
    chen_000閱讀 4,032評(píng)論 0 19
  • 遙想他年,人依在撼班。 春風(fēng)吹近叮趴,近依似。 風(fēng)沙依舊权烧,夏來(lái)到眯亦。 春暖花開(kāi),望鄉(xiāng)指般码。
    段鑒宸閱讀 241評(píng)論 0 3