作者:高天赐

编辑:Irene

Pulsar 自带 Dashboard,可对 broker、bookie、ZooKeeper 集群和 topic 等进行监控和统计。本文介绍如何在裸机中使用 Prometheus 和 Grafana 搭建 Pulsar 集群,监控 Dashboard,实现对 namespace、topic、broker、bookie、ZooKeeper 等指标和组件的监控和统计。

 

一、准备资源

 

  1. 一台 Linux 裸机服务器,配置 4G,2 核。

  2. Prometheus 安装包(版本号 2.7.1)。

  3. Grafana 安装包(版本号 5.4.2)。

 

二、下载解压 Prometheus、Grafana 安装包 

 

用如下命令下载、解压 Prometheus 和 Grafana 安装包。

# Prometheus 安装包下载

wget  https://github.com/prometheus/prometheus/releases/download/v2.7.1/prometheus-2.7.1.linux-amd64.tar.gz

# 解压安装包

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 配置文件

 

  1. 修改集群名(cluster: pulsar-cluster)

  2. 配置 broker 节点、IP 和端口号

  3. 配置 bookie 节点、IP 和端口号

  4. 配置 ZooKeeper 节点、IP 和端口号

 

说明

 

  1. 本文介绍的测试集群是 3 台 Linux 服务器。

  2. 每台服务器上都部署一个 broker 节点、一个 bookie 节点、一个 ZooKeeper 节点。

  3. 3 台服务器的测试环境 IP 地址设定如下:
    10.0.100.60, 10.0.100.70, 10.0.100.80。

  4. 搭建 Pulsar 集群,参考在多台 Linux 服务器上搭建 Pulsar 集群。

  5. 集群名为 pulsar-cluster。

  6. 若在搭建 Pulsar 集群的过程中,没有修改端口号,则只需要参照如下配置文件修改集群名和机器 IP 地址即可。

  7. 本文中的 prometheus.yml 文件路径为 /home/admin/monitor/prometheus.yml。

  8. 部署监控的机器 IP 地址为 10.0.100.90。

 

prometheus.yml 文件示例

 

prometheus.yml 文件模版放在这里(https://github.com/streamnative/apache-pulsar-grafana-dashboard/blob/master/prometheus/standalone.yml.template),可以下载根据情况进行修改。以下是一个 prometheus.yml 文件示例。

 

如何使用 Pulsar Dashboard 监控_资讯如何使用 Pulsar Dashboard 监控_资讯_02

 

四、启动 Prometheus

 

# 进入 Prometheus 文件目录

cd  /home/admin/monitor/prometheus-2.7.1.linux-amd64/

# 用后台进程执行启动命令

nohup ./prometheus --config.file "/home/admin/monitor/prometheus.yml" --web.enable-lifecycle --storage.tsdb.retention=10d >prometheus.log 2>&1 &

# 参数说明

# --config.file 指定 prometheus.yml 文件路径

# --web.enable-lifecycle 启动时热加载配置文件使用

# --storage.tsdb.retention 指定统计数据存储时长,10d 代表10天

# >prometheus.log 2>&1 &  存储输出的启动日志

 

五、访问 Prometheus

 

  1. 部署监控的机器 IP 地址为 10.0.100.90。

  2. 在浏览器中访问 http://10.0.100.90:9090/graph。

  3. 能成功访问并运行。

  4. Prometheus 做时序数据存储,以及提供强大的查询功能,Dashboard 展示使用 Grafana 更漂亮专业,搭建配置 Grafana。

 

Prometheus 运行成功后,可以访问 http://localhost:9090/targets。从这个地址可以查看 Prometheus 监控的所有 Pulsar 组件。

 

六、启动 Grafana

 

# 进入 Grafana 文件目录

cd  /home/admin/monitor/grafana-5.4.2/

# 用后台进程执行启动命令

nohup ./bin/grafana-server  start  >grafana.log 2>&1 &

 

七、访问 Grafana

 

  1. 部署监控的机器 IP 地址为 10.0.100.90。

  2. 用浏览器访问 http://10.0.100.90:3000。

  3. 在 Grafana 首页,输入默认用户名 admin,默认密码 admin。

 

八、配置 Grafana 数据源

1. 添加 Prometheus 数据源。

如何使用 Pulsar Dashboard 监控_资讯_03

 

2. 选择 Prometheus。

如何使用 Pulsar Dashboard 监控_资讯_04

 

3. 配置 Prometheus 数据源。

如何使用 Pulsar Dashboard 监控_资讯_05如何使用 Pulsar Dashboard 监控_资讯_06

 

九、导入监控 Dashboard 模板

 

  1. 从 Github 下载 Dashboard 模板。

     

  2. 选择上传导入 Dashboard 模版(这里以 "Pulsar 集群总况.json" 模板为例)。

 

如何使用 Pulsar Dashboard 监控_资讯_07如何使用 Pulsar Dashboard 监控_资讯_08

 

3. 导入成功,可以查看 Dashboard 面板统计了

如何使用 Pulsar Dashboard 监控_资讯_09

 

可以从 Streamnative Github 获取其他模版,使用 Grafana 做报警通知功能。

如何在 Docker 中使用 Grafana Dashboard,请查看 Apache Pulsar Grafana Dashboard。(https://github.com/streamnative/apache-pulsar-grafana-dashboard/blob/master/gettingStarted.md

 

高天赐的 blog 系列

MacOS 单机搭建 Pulsar 集群

在多台 Linux 服务器上搭建 Pulsar 集群

 

 

 

如何使用 Pulsar Dashboard 监控_资讯_10