作者:高天賜
編輯:Irene
Pulsar 自帶 Dashboard,可對(duì) broker、bookie、ZooKeeper 集群和 topic 等進(jìn)行監(jiān)控和統(tǒng)計(jì)。本文介紹如何在裸機(jī)中使用 Prometheus 和 Grafana 搭建 Pulsar 集群,監(jiān)控 Dashboard,實(shí)現(xiàn)對(duì) namespace、topic、broker、bookie、ZooKeeper 等指標(biāo)和組件的監(jiān)控和統(tǒng)計(jì)。
一、準(zhǔn)備資源
一臺(tái) Linux 裸機(jī)服務(wù)器,配置 4G,2 核。
Prometheus 安裝包(版本號(hào) 2.7.1)。
Grafana 安裝包(版本號(hào) 5.4.2)。
二、下載解壓 Prometheus、Grafana 安裝包
用如下命令下載、解壓 Prometheus 和 Grafana 安裝包。
Prometheus 安裝包下載
解壓安裝包
tar -zxvf prometheus-2.7.1.linux-amd64.tar.gz
Grafana 安裝包下載
wget https://dl.grafana.com/oss/release/grafana-5.4.2.linux-amd64.tar.gz
解壓安裝包
tar -zxvf grafana-5.4.2.linux-amd64.tar.gz
解壓后,我的文件路徑如下
/home/admin/monitor/prometheus-2.7.1.linux-amd64
/home/admin/monitor/grafana-5.4.2
三、配置 Prometheus 的 prometheus.yml 配置文件
修改集群名(cluster: pulsar-cluster)
配置 broker 節(jié)點(diǎn)、IP 和端口號(hào)
配置 bookie 節(jié)點(diǎn)、IP 和端口號(hào)
配置 ZooKeeper 節(jié)點(diǎn)、IP 和端口號(hào)
說(shuō)明
本文介紹的測(cè)試集群是 3 臺(tái) Linux 服務(wù)器。
每臺(tái)服務(wù)器上都部署一個(gè) broker 節(jié)點(diǎn)、一個(gè) bookie 節(jié)點(diǎn)、一個(gè) ZooKeeper 節(jié)點(diǎn)。
3 臺(tái)服務(wù)器的測(cè)試環(huán)境 IP 地址設(shè)定如下:
10.0.100.60, 10.0.100.70, 10.0.100.80。搭建 Pulsar 集群,參考在多臺(tái) Linux 服務(wù)器上搭建 Pulsar 集群。
集群名為 pulsar-cluster。
若在搭建 Pulsar 集群的過(guò)程中,沒(méi)有修改端口號(hào),則只需要參照如下配置文件修改集群名和機(jī)器 IP 地址即可。
本文中的 prometheus.yml 文件路徑為 /home/admin/monitor/prometheus.yml。
部署監(jiān)控的機(jī)器 IP 地址為 10.0.100.90。
prometheus.yml 文件示例
prometheus.yml 文件模版放在這里 (https://github.com/streamnative/apache-pulsar-grafana-dashboard/blob/master/prometheus/standalone.yml.template),可以下載根據(jù)情況進(jìn)行修改。以下是一個(gè) prometheus.yml 文件示例。
四、啟動(dòng) Prometheus
進(jìn)入 Prometheus 文件目錄
cd /home/admin/monitor/prometheus-2.7.1.linux-amd64/
用后臺(tái)進(jìn)程執(zhí)行啟動(dòng)命令
nohup ./prometheus --config.file "/home/admin/monitor/prometheus.yml" --web.enable-lifecycle --storage.tsdb.retention=10d >prometheus.log 2>&1 &
參數(shù)說(shuō)明
--config.file 指定 prometheus.yml 文件路徑
--web.enable-lifecycle 啟動(dòng)時(shí)熱加載配置文件使用
--storage.tsdb.retention 指定統(tǒng)計(jì)數(shù)據(jù)存儲(chǔ)時(shí)長(zhǎng),10d 代表10天
>prometheus.log 2>&1 & 存儲(chǔ)輸出的啟動(dòng)日志
五、訪問(wèn) Prometheus
部署監(jiān)控的機(jī)器 IP 地址為 10.0.100.90。
在瀏覽器中訪問(wèn) http://10.0.100.90:9090/graph。
能成功訪問(wèn)并運(yùn)行。
Prometheus 做時(shí)序數(shù)據(jù)存儲(chǔ),以及提供強(qiáng)大的查詢功能,Dashboard 展示使用 Grafana 更漂亮專業(yè),搭建配置 Grafana。
Prometheus 運(yùn)行成功后,可以訪問(wèn) http://localhost:9090/targets。從這個(gè)地址可以查看 Prometheus 監(jiān)控的所有 Pulsar 組件。
六、啟動(dòng) Grafana
進(jìn)入 Grafana 文件目錄
cd /home/admin/monitor/grafana-5.4.2/
用后臺(tái)進(jìn)程執(zhí)行啟動(dòng)命令
nohup ./bin/grafana-server start >grafana.log 2>&1 &
七、訪問(wèn) Grafana
部署監(jiān)控的機(jī)器 IP 地址為 10.0.100.90。
用瀏覽器訪問(wèn) http://10.0.100.90:3000。
在 Grafana 首頁(yè),輸入默認(rèn)用戶名 admin,默認(rèn)密碼 admin。
八、配置 Grafana 數(shù)據(jù)源
1. 添加 Prometheus 數(shù)據(jù)源。
2. 選擇 Prometheus。
3. 配置 Prometheus 數(shù)據(jù)源。
九、導(dǎo)入監(jiān)控 Dashboard 模板
從 Github 下載 Dashboard 模板。
選擇上傳導(dǎo)入 Dashboard 模版(這里以 "Pulsar 集群總況.json" 模板為例)。
- 導(dǎo)入成功,可以查看 Dashboard 面板統(tǒng)計(jì)了
可以從 Streamnative Github 獲取其他模版,使用 Grafana 做報(bào)警通知功能。
如何在 Docker 中使用 Grafana Dashboard,請(qǐng)查看 Apache Pulsar Grafana Dashboard。(https://github.com/streamnative/apache-pulsar-grafana-dashboard/blob/master/gettingStarted.md)
高天賜的 blog 系列
在多臺(tái) Linux 服務(wù)器上搭建 Pulsar 集群
更多關(guān)于 Apache Pulsar 的動(dòng)態(tài)和干貨分享,歡迎關(guān)注 StreamNative 公眾號(hào)。