Grafana是一個獨立運行的系統,內置了Web服務器。它可以基於儀表盤的方式來展示、分析時間序列數據。
Grafana支持多種數據源,例如:Graphite、OpenTSDB、InfluxDB、Elasticsearch。你可以混合使用多種數據源。它對Graphite有以下增強的支持:
- 點擊修改Metrics路徑的每一個片斷
- 快速的添加函數,支持點擊函數參數以修改之
- 修改函數順序
- 豐富的模板支持
在UI方面,Grafana具有以下特性:
- 豐富的、基於客戶端的圖表組件:Bar圖、區域圖、線圖。支持多Y軸
- 支持點擊/選擇以縮放(Zoom)時間區間
- 支持混合多種圖表組件,一起展示或者堆疊展示
- 支持定制圖表的配色,支持黑白兩種主題
- 支持拖放儀表盤面板(Panel),支持多種面板類型
- 支持腳本化儀表盤、儀表盤模板
- 通過來自數據源的事件(例如Graphite的Events),可以對儀表進行標注
術語 | 說明 |
數據源(Data Source) | Grafana支持多種存儲后端,這些后端稱為數據源 Grafana為每種數據源開發了查詢編輯器( Query Editor)以匹配后端的特點 |
組織(Organization) | 引入組織機構的概念,以便一個Grafana實例可以被多個可能不受信任的組織使用 |
用戶(User) | Grafana用戶可以歸屬於1個或者多個組織 |
行(Row) | 儀表盤中的邏輯分段 |
面板(Panel) | 儀表盤中最基本的可視化單元,每個面板提供查詢編輯器。Grafana目前內置了Graph, Singlestat, Dashlist和Text這幾種面板 每種面板都具有一些樣式、格式化選項,你可以利用它們設計出漂亮的圖表 可以通過拖拽,在儀表盤中重新放置面板,也可以縮放其大小 |
查詢編輯器(Query Editor) | 依據特定數據源設計的表單,用以查詢需要的Metrics |
儀表盤(Dashboard) | 一系列面板的集合,這些面板被組織在一個或者多個行中 |
依次執行下面的命令完成安裝:
1
2
3
4
|
# CentOS
yum install initscripts fontconfig
wget https://grafanarel.s3.amazonaws.com/builds/grafana-3.1.1-1470047149.x86_64.rpm
rpm -Uvh grafana-3.1.1-1470047149.x86_64.rpm
|
設置為開機啟動:
1
2
|
/bin/systemctl daemon-reload
/bin/systemctl enable grafana-server.service
|
啟動服務:
1
|
systemctl start grafana-server.service
|
當Grafana服務啟動時,會讀取 /etc/sysconfig/grafana-server 中的環境變量。你可以修改日志目錄、數據存儲目錄等變量。
默認的,日志文件存儲目錄為/var/log/grafana,數據存儲目錄為/var/lib/grafana。默認使用SQLite數據庫/var/lib/grafana/grafana.db。
如果基於deb/rpm包進行安裝,則主配置文件的位置為: /etc/grafana/grafana.ini 。使用命令行參數 --config可以覆蓋此位置。主配置文件說明如下:
段 | 配置項 | 說明 |
instance_name | Grafana服務的名稱,默認為${HOSTNAME},即環境變量HOMENAME的值 | |
[paths] | data | 在何處存放SQLite3數據庫文件、基於文件的Session,以及其它數據 |
logs | 在何處存放日志 | |
[server] | http_addr | 內置Web服務的監聽地址,默認綁定所有地址 |
http_port | 內置Web服務的監聽端口,默認3000 | |
protocol | http或者https | |
cert_file | https證書文件 | |
cert_key | https證書密鑰 | |
[database] | type | 數據庫類型:mysql、postgres或者sqlite3 |
path | sqlite3數據庫文件路徑 | |
host | mysql或postgres的主機:端口,例如 127.0.0.1:3306 | |
name | 數據庫名稱默認grafana | |
user | 數據庫用戶 | |
password | 數據庫密碼 | |
[security] | admin_user | Grafana管理員用戶,默認admin |
admin_password | Grafana管理員密碼,默認admin | |
login_remember_days | 記住登陸的最大天數 | |
secret_key | 用於簽名記住登陸的Cookie | |
disable_gravatar | 禁用頭像 | |
[log] | mode | 日志記錄方式,console、file或者syslog。可以用空格分開多個方式 |
level | 日志記錄級別,debug、info、warn、error、critical |
使用Grafana的日常工作包括:用戶管理、系統管理、儀表盤設計、數據源管理,等等。所有這些工作都在Web界面http://GRAFANA_HOST:3000 完成。該界面比較友好,適合最終用戶。
點擊Web界面左上角的圖標,下拉列表中選擇Data Sources,即可管理數據源。
點擊Add data source按鈕,添加新的數據源,參考下圖:
注意Access設置成proxy,則數據通過Grafana間接獲取,否則,數據直接通過客戶端獲取。添加Graphite數據源后,可以點擊Dashboards選項卡,獲得其預置的儀表盤Graphite Carbon Metrics並導入到Grafana中。
點擊Web界面左上角的圖標,下拉列表中選擇Dashboards ⇨ New,可以新建儀表盤。在新儀表盤中,點擊左側的綠條,可以添加新的面板;點擊右下側ADD ROW按鈕則可以新建一行。
參考:https://blog.gmem.cc/time-series-data-renderering-with-grafana