你需要這麼一款開源數據可視化工具助力數據跟蹤分析

場景

文章開頭,先做個小調查:平常工作中遇到需要追蹤或者分析公司日常業務數據的時候【比如需要分析系統每日用戶增長情況】,你們一般是使用怎麼樣的分析手段呢?大家可以先想想自己是怎麼做的,這樣的做法是否繁瑣,有沒有更好的方案。

在沒遇到 Grafana 之前,遇到產品需要這個數據的時候,由於公司人力有限,沒有開發人員開發數據平臺,所以一般有幾種處理方案:

  1. 第一種方案,如果本身 APP 端有接入一些第三方數據統計平臺【友盟、Bugly】,則可以讓產品直接在這些平臺看數據,缺點是:這種平臺的數據一般是指下載 APP 的,並非是真實的平臺註冊數
  2. 第二種方案,平臺的精確的註冊數據:每次寫一下 Sql 語句按天分組直接從數據庫導出產品需要時間內的用戶註冊情況,然後導出一個 Excel 表格給到產品,產品在做成可視化的折線圖之類的來分析波動情況;
  3. 第三種方案,可能相對少一些重複工作,用 Python 腳本程序自動導出可視化結果圖;

Grafana 登場

木有錯,今天要介紹的主角是:Grafana,它是什麼呢?Grafana 是一個通用的可視化 Go 編寫的開源工具,通用的意思也就是說你可以添加各種數據源【不過得是目前支持的數據源,具體支持哪些數據源,後面會講到】,安裝部署也是非常非常的簡單,基本是一條命令即可部署,以 mac 系統爲例:

brew update
brew install grafana
brew services start grafana

是的,就是這麼簡單,經過三條命令,我們本地的系統已經部署好了,這時訪問:http://127.0.0.1:3000即可訪問到部署好的 grafana,默認賬號密碼是:admin/admin,進去之後我們可以像堆積木一樣一步步增加我們業務的數據看板,支持各種形式的展示方式:表格、曲線、餅狀圖等。

我們先來一個圖,看一下官方的 LiveDemo 數據圖,一睹驚豔的展示方式【哈,驚不驚豔的不重要,重要的是實用】:


第一步:安裝 Grafana

由於我的環境是 mac,所以這裏只列出 mac 上通過 brew 的方式安裝詳情(其他系統安裝可以參考官方給出的詳細操作方式
):

~ » brew install grafana
Updating Homebrew...
==> Downloading https://homebrew.bintray.com/bottles/grafana-6.3.3.mojave.bottle.tar.gz
Already downloaded: /Users/zhangdeyi/Library/Caches/Homebrew/downloads/2087dc91f087ca0d1314958797e3ef2696c575f081afb810393f74648d47942b--grafana-6.3.3.mojave.bottle.tar.gz
==> Pouring grafana-6.3.3.mojave.bottle.tar.gz
Warning: grafana dependency icu4c was built with a different C++ standard
library (libc++ from clang). This may cause problems at runtime.
==> Caveats
To have launchd start grafana now and restart at login:
  brew services start grafana
Or, if you don't want/need a background service you can just run:
  grafana-server --config=/usr/local/etc/grafana/grafana.ini --homepath /usr/local/share/grafana --packaging=brew cfg:default.paths.logs=/usr/local/var/log/grafana cfg:default.paths.data=/usr/local/var/lib/grafana cfg:default.paths.plugins=/usr/local/var/lib/grafana/plugins
==> Summary
🍺  /usr/local/Cellar/grafana/6.3.3: 3,635 files, 171.8MB

第二步:添加數據源

安裝完之後,可以根據自己的實際情況,先添加自己業務的數據源,一般常用的數據源是 MySQL:


初次安裝只包含了這些數據源類型:

當然也可以安裝一些其他數據源的 plugins 來支持更多的:數據源

第三步: 新增我們的業務 Dashboard

有了數據源之後,就可以增加業務 Dashboard,入口:主頁 --> ➕號 --> Create Dashboard,比如我把 Dashboard 命名成 MyCoreData,一個 Dashboard 可以由不同展示類型的 Panel 組成:


平常我用得比較多的是 Graph,這個展示形式比較方便看出業務數據的波動情況:

點擊操作菜單的 Edit 即可進入面板的編輯模式,這個模式可以對面板重命名,編寫業務SQL,展示細節調整,編輯面板如下所示:

  • General tab 可以設置面板的標題信息、表述信息等;
  • Metrics tab 可以選擇數據源,編寫SQL 語句:有兩種模式,一種是手動選操作,另外一種是直接編寫 SQL 模式【推薦用這種模式】,點擊 Show Help 可以查看提供的內置函數:

    編寫完 SQL 之後,展示形式是這樣的(時間選擇的是這個月的):

    這種展示形式已經大致能看出趨勢,是否可以有更好的展示形式呢,答案是有的,點擊 Legend tab 可以設置展示一些更加詳細的形式,比如用 table 的形式,展示出 totalavgcurrent 這些值,最終效果如下所示:

    當然還有其他更細節的設置,可以自行探索,其他的面板展示形式也可以自行探索;

第五步:分配賬號,並管理好不同賬號的查看權限

很棒!經過前面一步的:增加業務 Dashboard,接下來我們就可以分配賬號給產品和Boss們,並根據不同的角色分配不同的 Dashboard 查看權限。

使用 admin 賬號登錄,可以分配不同的賬號權限,入口:左邊的設置按鈕 --> Server Admin --> Users --> Add new user,

具體 Dashboard 的權限設置入口:以管理員賬號訪問某個 Dashboard --> 右上角的設置按鈕 --> Permissions 按鈕 --> Add Permission 即可管理這個 Dashboard 的訪問權限:


最後想說的

好啦!當我們搭建好這樣一個平臺之後,我們不再需要重複之前的繁瑣的導數據工作,而且產品和 Boss 也可以開心愉快的實時查詢公司的各項業務數據,我們只需要專注在上面添磚加瓦:增加各個業務數據的細分 Dashboard。

今天的安利 Grafana 的文章先寫到這裏,寫得相對比較糙,不少細節沒怎麼介紹,不過今天的主要目的也是爲了給大家演示一下如何用這個平臺來提升自己的工作效率,方便同事之間的數據溝通工作。

最後的最後,如果你所在的團隊或者公司還沒有一個比較完備的數據平臺,真心推薦你們可以搭建探索一下(跟進業務數據,或者監控服務器運行情況都是可以的),如果在探索過程中有遇到什麼問題,可以在文章的後面留言,我這邊會盡量爲大家解答。

好啦,祝大家週末愉快,準備出門吃小龍蝦去啦~~~~~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章