作者:高天赐
编辑:Irene
Pulsar 自带 Dashboard,可对 broker、bookie、ZooKeeper 集群和 topic 等进行监控和统计。本文介绍如何在裸机中使用 Prometheus 和 Grafana 搭建 Pulsar 集群,监控 Dashboard,实现对 namespace、topic、broker、bookie、ZooKeeper 等指标和组件的监控和统计。
一、准备资源
一台 Linux 裸机服务器,配置 4G,2 核。
Prometheus 安装包(版本号 2.7.1)。
Grafana 安装包(版本号 5.4.2)。
二、下载解压 Prometheus、Grafana 安装包
用如下命令下载、解压 Prometheus 和 Grafana 安装包。
Prometheus 安装包下载
解压安装包
tar -zxvf prometheus-2.7.1.linux-amd64.tar.gz
Grafana 安装包下载
解压安装包
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 节点、IP 和端口号
配置 bookie 节点、IP 和端口号
配置 ZooKeeper 节点、IP 和端口号
说明
本文介绍的测试集群是 3 台 Linux 服务器。
每台服务器上都部署一个 broker 节点、一个 bookie 节点、一个 ZooKeeper 节点。
3 台服务器的测试环境 IP 地址设定如下:
10.0.100.60, 10.0.100.70, 10.0.100.80。
集群名为 pulsar-cluster。
若在搭建 Pulsar 集群的过程中,没有修改端口号,则只需要参照如下配置文件修改集群名和机器 IP 地址即可。
本文中的 prometheus.yml 文件路径为 /home/admin/monitor/prometheus.yml。
部署监控的机器 IP 地址为 10.0.100.90。
prometheus.yml 文件示例
image
image
四、启动 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
部署监控的机器 IP 地址为 10.0.100.90。
能成功访问并运行。
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
部署监控的机器 IP 地址为 10.0.100.90。
用浏览器访问 http://10.0.100.90:3000。
在 Grafana 首页,输入默认用户名 admin,默认密码 admin。
八、配置 Grafana 数据源
1. 添加 Prometheus 数据源。
image
2. 选择 Prometheus。
image
3. 配置 Prometheus 数据源。
image
image
九、导入监控 Dashboard 模板
从 Github 下载 Dashboard 模板。
选择上传导入 Dashboard 模版(这里以 "Pulsar 集群总况.json" 模板为例)。
image
image
导入成功,可以查看 Dashboard 面板统计了
image
可以从 Streamnative Github 获取其他模版,使用 Grafana 做报警通知功能。
高天赐的 blog 系列
更多关于 Apache Pulsar 的动态和干货分享,欢迎关注 StreamNative 公众号。