文章目錄
-
- 情景回顧
- Grafana 基本介紹
- Grafana 基本術語
- Grafana 安裝部署
-
- 準備環境
- 上傳安裝包
- 修改配置檔案
- 設定開機自啟
- 進行通路
- Grafana添加主機
- Grafana 添加模闆
- 總結
情景回顧
通過上一篇(三)Prometheus 部署節點 的學習,我們已經對 prometheus 做了一個節點的部署監控,本篇詳細講解 Prometheus + Grafana 做可視化的展示。
Grafana 基本介紹
Grafana 是近幾年興起的開源可視化工具,采用 Go 語言所編寫,天然支援 Prometheus,不僅如此,Grafana 還支援多種資料源,包括 Elasticsearch,InfluxDB,MySQL,OpenTSDB。
我們把 Prometheus 部署好之後,通路并使用了它的 Web 界面,與此同時我們可以看到它的 Web 界面較為簡陋,通常适合檢視名額和呈現單個圖表,另外它支援的可視化圖示類型也有限,是以這個時候我們就需要為 Prometheus 添加一個功能較為全面的可視化平台。
Grafana 基本術語
-
DataSource(資料源)
在上面我們說到了,Grafana 支援多種資料源,包括但不限于 Prometheus,而資料源通俗來講就是提供資料的對象,比如 Zabbix,比如 Prometheus
-
Dashboard(儀表盤)
儀表盤就是一個呈現頁面,當我們添加好對應的資料源以後,這個時候就需要實作資料的可視化,在 Grafana 中,可以通過 Dashboard 來組織和管理資料可視化圖表
-
Row(行)
行是 Dashboard 的組成單元,一個 Dashboard 可以包含多個行,而一個行當中又可以展示一種或者多種資訊的組合,比如負載狀态,記憶體使用率,磁盤使用率
-
Panel(面闆)
面闆我們可以了解為是 Row 展示資訊的方式,它支援表格(tables),清單(alert list),熱圖(heatmap),在Grafana 當中,所有的面闆均以插件的形式進行使用
-
Query Editor(查詢編輯器)
查詢器的作用是指定擷取哪一部分的資料,這個有點類似于 SQL 語句,但我們如果添加的資料源為 Prometheus,那實際上使用的為 PromQL
-
User(使用者)
使用者和我們平常登入系統的使用者概念一樣,Grafana 中包含三種角色,分别為 admin,editor,viewer,read only editor,在這其中,admin 的權限最高,它可以執行如何操作,editor 隻能建立 DashBoard,viewer 隻能檢視DashBoard,read only editor可以修改 DashBoard,但不允許儲存
-
Organization(組織)
在 Grafana 當中,DataSource 與 Dashboard 屬于一個組織,每個使用者可以擁有多個不同的組織,在不同的組織當中,可以為不同的使用者賦予不同的權限需要知道的是,不同組織之間的資料源和儀表闆都不同,每當在 Grafana 當中建立一個組織,就相當于開啟了一個全新的視圖,這時候所有的資料源與儀表盤等内容都要重新去添加和配置
Grafana 安裝部署
準備環境
# 這裡使用的是(二)Prometheus 安裝部署 完成時的環境
centos 7
prometheus 運作正常
[[email protected]-21 ~]# getenforce
Permissive
[[email protected]-21 ~]# ss -lntp |grep prometheus
LISTEN 0 128 :::9090 :::* users:(("prometheus",pid=10531,fd=6))
上傳安裝包
上傳安裝包,解壓,點選下載下傳
# 沒有本地安裝包,也可以進行下載下傳
[[email protected]-21 grafana]# wget -c https://dl.grafana.com/oss/release/grafana-6.6.1-1.x86_64.rpm
[[email protected]-21 grafana]# yum -y install grafana-6.6.1-1.x86_64.rpm
修改配置檔案
[[email protected]-21 grafana]# cd /etc/grafana/
[[email protected]-21 grafana]# cp grafana.ini grafana.ini.bak
[[email protected]-21 grafana]# vim grafana.ini
[[email protected]-21 grafana]# egrep -v "^#|^$|^;" grafana.ini
[paths]
# 定義資料存儲路徑
data = /var/lib/grafana
# 存儲資料的時間,預設24小時
temp_data_lifetime = 24h
# 定義日志存儲路徑
logs = /var/log/grafana
# 定義插件存儲路徑
plugins = /var/lib/grafana/plugins
# 配置路徑
provisioning = conf/provisioning
[server]
# 通路協定
protocol = http
# 監聽IP位址
http_addr = 10.0.0.21
# 監聽的端口
http_port = 3000
# 定義在浏覽器中通路Grafana的全路徑
root_url = %(protocol)s://%(domain)s:%(http_port)s/
serve_from_sub_path = false
# 是否記錄web請求日志,預設為關閉
router_logging = false
# 前端靜态檔案的存儲路徑
static_root_path = public
enable_gzip = true
……
[users]
# 是否允許普通使用者登入,預設為允許
allow_sign_up = true
# 是否允許普通使用者建立組織,預設為允許
allow_org_create = true
# 如果為true,則自動把新增的使用者增加到id為1的組織中,如果為false,則建立使用者的時候會新增一個組織 ,預設為true
auto_assign_org = true
# 預設的背景頁面,也可以選擇light
default_theme = dark
……
設定開機自啟
# 添加至開機自啟
[[email protected]-21 grafana]# systemctl enable grafana-server.service
Created symlink from /etc/systemd/system/multi-user.target.wants/grafana-server.service to /usr/lib/systemd/system/grafana-server.service.
# 啟動服務
[[email protected]-21 grafana]# systemctl start grafana-server.service
# 檢視程序
[[email protected]-21 grafana]# ps -ef |grep grafana
grafana 11837 1 2 14:38 ? 00:00:01 /usr/sbin/grafana-server --config=/etc/grafana/grafana.ini --pidfile=/var/run/grafana/grafana-server.pid --packaging=rpm cfg:default.paths.logs=/var/log/grafana cfg:default.paths.data=/var/lib/grafana cfg:default.paths.plugins=/var/lib/grafana/plugins cfg:default.paths.provisioning=/etc/grafana/provisioning
root 11906 9739 0 14:38 pts/0 00:00:00 grep --color=auto grafana
# 檢視端口
[[email protected]-21 grafana]# ss -lntp |grep grafana
LISTEN 0 128 10.0.0.21:3000 *:* users:(("grafana-server",pid=11837,fd=6))
進行通路
預設賬号:admin
預設密碼:admin
第一次登入會讓你設定新密碼,也可以點選跳過
Grafana添加主機
Grafana 添加模闆
總結
隻有注入思想的部落格才是好的部落格