將你的資料視覺化 – Grafana

前言

當你做為一個程式人的時候,你應該會爬蟲蒐集各種有意義或是無意義的資料。但當你蒐集完這些資料,他就只是在資料庫一行一行的字而已,所以或許你會想要將你的資料轉換成一個圖表的樣子。今天介紹的這款就是非常知名的 Grafana。

Grafana 能將你的資料轉換成圖表,所以甚至很多監控電腦效能資料的都會使用他來呈現。

安裝方式

這篇文章會將 Grafana 安裝在 Debian 上,首先前往 Grafana 的 下載頁,並選擇 OSS 版本。

只需將這些命令貼到你的 Linux 上即可。依照撰寫日期的當下,命令如下:

sudo apt-get install -y adduser libfontconfig1 musl
wget https://dl.grafana.com/oss/release/grafana_10.1.2_amd64.deb
sudo dpkg -i grafana_10.1.2_amd64.deb

接著使用下面的命令將他啟動,並在你每次開機時啟動。

sudo systemctl daemon-reload; sudo systemctl enable grafana-server; sudo systemctl start grafana-server

綁上代理伺服器

通常使用 Grafana 時,我會使用 Nginx 作為反向代理伺服器,並且綁上自己的網域,因此這邊先安裝 Nginx。

sudo apt-get install -y nginx nginx-extras

接著進入 /etc/nginx/sites-enabled/ 資料夾,並新增一個檔案 grafana

cd /etc/nginx/sites-enabled/ && sudo vim grafana

貼上以下內容並適當修改成你要的樣子:

map $http_upgrade $connection_upgrade {
    default upgrade;
    '' close;
}

server {
    listen [::]:80;
    server_name your.domain.com;

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection $connection_upgrade;
        proxy_set_header Host $http_host;
        proxy_pass http://localhost:3000/;
    }
}

保存後,驗證並重啟 Nginx。

sudo nginx -t && sudo systemctl restart nginx

接著,我們要更新 Grafana 設定檔中的網域名稱,編輯 /etc/grafana/grafana.ini

sudo vim /etc/grafana/grafana.ini

找到 [server] 段落裡面有一個 domain,取消註解他,並且變更後面的網域名稱,像是這樣:

[server]
# The public facing domain name used to access grafana from a browser
domain = your.domain.com

接著重新啟動 Grafana。

sudo systemctl restart grafana-server

開始使用

接著就可以訪問你的 Grafana 啦!打開剛剛綁定的網域。預設的帳號密碼皆為 admin,登入後緊接著就會要求你更新密碼。

001.jpg

在 Connections 的 Data sources 可以新增你的資料來源,像是 MySQL 這種。

002.jpg

在 Dashboards 中,可以新建一個,並使用剛剛加入的 SQL 來查詢資料,並且繪製成圖表。

003.jpg

常見問題

以下將列出我使用 Grafana 上遇到的問題以及解決方式,我會持續在這裡更新。

將 Grafana 公開給路人看

結語

這是一款可以將資料轉換成可視化圖表的工具,在有龐大資料並且希望簡單易懂時非常好用。例如我新增了一個圖表,用來監控我網路延遲使用,相當方便。