之前在公司的時(shí)候岗屏,查看某些接口的負(fù)載以及訪問(wèn)頻率等狀況會(huì)用到grafana這個(gè)很好的后臺(tái)UI控件母剥。操作起來(lái)很是方便,于是趁著假期茵烈,也來(lái)簡(jiǎn)單學(xué)習(xí)一下百匆,過(guò)程中遇到了挺多的坑,順便填一下呜投,方便后來(lái)人加匈。
簡(jiǎn)要概述
influxdb是一個(gè)目前來(lái)說(shuō)比較流行的時(shí)間序列數(shù)據(jù)庫(kù)。通俗來(lái)講仑荐,就是以時(shí)間線貫連相通的數(shù)據(jù)庫(kù)雕拼。
說(shuō)起來(lái)可能有點(diǎn)不太容易理解,我個(gè)人覺(jué)得對(duì)比學(xué)習(xí)可能是一個(gè)更好的學(xué)習(xí)方法粘招。下面按我自己的理解來(lái)描述下啥寇,說(shuō)得不恰當(dāng)?shù)牡胤剑瑲g迎批評(píng)指正洒扎。
平常我們使用的關(guān)系型數(shù)據(jù)庫(kù)辑甜,規(guī)格嚴(yán)謹(jǐn),格式統(tǒng)一袍冷×状祝可以想象成是:301倉(cāng)庫(kù)(數(shù)據(jù)庫(kù)名稱(chēng)) 中218房間(表名),中的一排排貨架(表記錄)胡诗,這就是關(guān)系型數(shù)據(jù)庫(kù)的典型的格式了邓线。而相對(duì)
對(duì)于時(shí)間序列數(shù)據(jù)庫(kù),也還算比較類(lèi)似煌恢。其還算比較完善的類(lèi)SQL語(yǔ)法骇陈,給它加分不少,開(kāi)發(fā)者只需要記憶少量的關(guān)鍵名詞症虑,就可以很好的使用了缩歪。時(shí)間序列數(shù)據(jù)庫(kù)的形式可以這么想象: 301管線(數(shù)據(jù)庫(kù)名稱(chēng)) 中包裹了很多條電路線(measurements,可以認(rèn)為是關(guān)系型數(shù)據(jù)庫(kù)的表名)谍憔, 由一個(gè)個(gè)點(diǎn)(Points)組成。
說(shuō)起來(lái)是點(diǎn)主籍,其實(shí)有點(diǎn)寬泛习贫。剖開(kāi)來(lái)看,點(diǎn)的組成有下面這些內(nèi)容:
- 時(shí)間: 由influxDB自動(dòng)生成千元。記錄著每條記錄(Points)的生成時(shí)間苫昌。
- field: 字段,各種記錄的值幸海。key-value的value為數(shù)值型祟身。
- tags: 需要被添加索引的key-value奥务。一般經(jīng)常被查詢到的字段要設(shè)置為tag。
還有一個(gè)特殊的名詞series袜硫,所有在influxDB數(shù)據(jù)庫(kù)中的數(shù)據(jù)氯葬,都需要通過(guò)圖表來(lái)表示,series表示這個(gè)表里面的所有的數(shù)據(jù)可以在圖標(biāo)上畫(huà)成幾條線(線條的個(gè)數(shù)規(guī)則是由tags排列組合計(jì)算出來(lái))婉陷。
環(huán)境
因?yàn)椴幌朐谧约旱膚indows上再裝那么多軟件了帚称,于是就安裝在了Ubuntu服務(wù)器上。然后通過(guò)influxDB和Grafana自帶的web界面秽澳,使用HTTP鏈接進(jìn)行操作就可以了闯睹。
influxDB的安裝
在Ubutu上,包管理器的存在讓安裝influxDB變得很方便了担神。
wget https://dl.influxdata.com/influxdb/releases/influxdb_1.0.2_amd64.deb
sudo dpkg -i influxdb_1.0.2_amd64.deb
啟動(dòng)influxDB服務(wù)楼吃。
service influxdb start
管理頁(yè)面
influxDB服務(wù)啟動(dòng)后,有兩個(gè)比較特殊的端口需要了解一下妄讯,具體如下:
- 8083: TCP port 8083 is used for InfluxDB’s Admin panel
- 8086: TCP port 8086 is used for client-server communication over InfluxDB’s HTTP API
英文解釋的已經(jīng)很清晰了所刀,如果還是嫌棄不理解,白話來(lái)講就是捞挥,8083是管理員操作influxDB的服務(wù)監(jiān)聽(tīng)端口浮创,8086是通過(guò)HTTP(也就是web頁(yè)面)操作influxDB的服務(wù)監(jiān)聽(tīng)端口。
簡(jiǎn)單操作
網(wǎng)上有太多的例子砌函,我也沒(méi)必要在這重復(fù)造輪子斩披,碼字。因此附上一個(gè)鏈接讹俊,就不再過(guò)多描述了垦沉。
https://docs.influxdata.com/influxdb/v0.10/introduction/getting_started/
通過(guò)命令行
看完下面的截圖,順便聯(lián)想下mysql這種關(guān)系型數(shù)據(jù)庫(kù)的常見(jiàn)操作仍劈〔薇叮基本上就沒(méi)什么問(wèn)題了
通過(guò)web頁(yè)面
如果是在本地開(kāi)啟了influxdb服務(wù),在有UI的情況下贩疙,可以通過(guò)輸入http://localhost:8086 來(lái)訪問(wèn)web頁(yè)面來(lái)管理服務(wù)讹弯。因?yàn)槲沂窃诜?wù)器上開(kāi)的服務(wù),所以本地通過(guò)瀏覽器輸入對(duì)應(yīng)的IP就行这溅。
其他的CRUD什么的组民,就不說(shuō)了。有興趣的悲靴,直接看官方文檔就好臭胜。https://docs.influxdata.com/influxdb/v0.10/guides/
安裝grafana
跟influxDB一樣,我還是在我的服務(wù)器上安裝,然后在本地遠(yuǎn)程訪問(wèn)耸三。在Ubuntu上的安裝方式如下:
wget https://s3-us-west-2.amazonaws.com/grafana-releases/release/grafana_4.6.3_amd64.deb
sudo dpkg -i grafana_4.6.3_amd64.deb
因?yàn)槭荊O語(yǔ)言編寫(xiě)乱陡,沒(méi)有其他的相關(guān)依賴,所以其他OS的安裝方式也都很簡(jiǎn)單仪壮,詳細(xì)可以參考下方文檔憨颠。https://grafana.com/grafana/download
啟動(dòng)grafana服務(wù)。
service grafana-server start
值得一提的是睛驳,執(zhí)行這個(gè)命令最好不要在/root目錄下烙心,因?yàn)槿罩镜男枰@些目錄可能會(huì)有限制乏沸,因此需要注意一下淫茵。
簡(jiǎn)單應(yīng)用grafana
服務(wù)啟動(dòng)后,就可以訪問(wèn)如下鏈接進(jìn)行管理了蹬跃。http://localhost:3000
默認(rèn)的用戶名密碼是admin匙瘪,admin。因?yàn)槲抑辉诜?wù)器上啟動(dòng)了服務(wù)蝶缀,所以我在本地需要使用ip的方式進(jìn)行訪問(wèn)丹喻。
添加DataSource
除了數(shù)據(jù)庫(kù)類(lèi)型以及HTTP代理之外,其他的按照自己的實(shí)際情況進(jìn)行填寫(xiě)就好翁都。填寫(xiě)完畢可以通過(guò)Save&Test進(jìn)行測(cè)試碍论。
添加DashBoard
數(shù)據(jù)源添加完畢后,下一步就是讓數(shù)據(jù)以合適的形式顯示出來(lái)柄慰。因此就需要DashBoard鳍悠。
官網(wǎng)(http://docs.grafana.org/guides/getting_started/)上也有詳細(xì)的教程,但是有些步驟用文字還是稍顯蒼白坐搔。添加完合適的展示類(lèi)型(Graph藏研,Table等等)后,有可能你找不到對(duì)應(yīng)的編輯數(shù)據(jù)源來(lái)展示數(shù)據(jù)概行。這里填下坑蠢挡,雙擊圖表的title,然后選擇edit即可凳忙。如下圖:
需要注意的是,有可能select的數(shù)據(jù)消略,沒(méi)能按照我們所預(yù)期的樣子來(lái)進(jìn)行展示堡称,這個(gè)時(shí)候要考慮下,數(shù)據(jù)源內(nèi)的數(shù)據(jù)是不是適合你選擇的DashBoard類(lèi)型艺演。其他也就沒(méi)什么問(wèn)題了。
總結(jié)
本來(lái)打算,使用InfluxDB寫(xiě)一個(gè)TODO list胎撤,后來(lái)發(fā)現(xiàn)這個(gè)場(chǎng)景并不適合晓殊。然后就簡(jiǎn)單的學(xué)習(xí)了下相關(guān)的內(nèi)容,很淺伤提。不過(guò)也算是填補(bǔ)一下知識(shí)的一塊短板吧巫俺。多了解點(diǎn),總歸是沒(méi)錯(cuò)的肿男。
淺知拙見(jiàn)介汹,寫(xiě)的不恰當(dāng)?shù)牡胤剑€望批評(píng)指正舶沛,多多指教下嘹承。