Pulsar Manager 和 Pulsar Dashboard 是 Apache Pulsar 生态中用于 可视化管理与监控 的 Web UI 工具。它们帮助运维人员、开发人员通过图形界面轻松管理租户、命名空间、Topic、订阅、Broker 状态、消息流量等,极大提升 Pulsar 集群的可运维性。
📘 Pulsar Manager / Dashboard 详解
一、Pulsar Manager vs Pulsar Dashboard:区别与定位
| 项目 | Pulsar Manager | Pulsar Dashboard |
|---|---|---|
| 开发者 | StreamNative(官方推荐) | Apache Pulsar 社区 |
| 语言 | Java + Spring Boot | Python + Flask |
| 功能 | 全面管理 + 监控 | 轻量级监控为主 |
| 是否支持多集群 | ✅ 支持 | ❌ 通常单集群 |
| 权限管理 | ✅ 支持 JWT 认证、租户隔离 | ⚠️ 基础认证 |
| 部署方式 | Docker / Kubernetes | Docker / 独立运行 |
| 官方状态 | 推荐用于生产 | 社区维护,轻量使用 |
✅ 推荐:生产环境使用 Pulsar Manager,测试环境可用 Pulsar Dashboard。
二、Pulsar Manager 详解(推荐使用)
1. 核心功能
| 功能模块 | 说明 |
|---|---|
| ✅ 多租户管理 | 创建、删除、查看 Tenant |
| ✅ 命名空间管理 | 创建 Namespace,设置配额、TTL、复制策略 |
| ✅ Topic 管理 | 查看、创建、删除 Topic(支持分区) |
| ✅ 订阅管理 | 查看订阅、消费进度(Cursor)、重置游标 |
| ✅ 消息查看 | 浏览 Topic 中的消息内容(调试神器) |
| ✅ 监控图表 | 实时显示吞吐、延迟、Backlog、连接数等指标 |
| ✅ Broker 状态 | 查看 Broker 列表、加载情况、元数据 |
| ✅ 权限控制 | 支持 JWT 认证,按租户/命名空间授权 |
| ✅ REST API 管理 | 集成 Pulsar Admin API,支持 CLI 替代操作 |
2. 界面功能概览(Web UI)
📌 1. 集群概览(Cluster Overview)
- 显示所有集群、Broker 数量、Topic 数、吞吐率(msg/s)、存储使用。
- 实时图表:入流量(Inbound)、出流量(Outbound)、Backlog。
📌 2. 租户管理(Tenants)
- 列出所有租户。
- 可创建新租户,设置管理员角色、允许的集群。
📌 3. 命名空间管理(Namespaces)
- 按租户分组显示命名空间。
- 可设置:
- 存储配额(Storage Quota)
- 消息保留策略(Retention)
- 发送/消费速率限制(Publish/Dispatch Rate)
- 复制集群(Clusters)
- 死信队列策略(DLQ)
📌 4. Topic 管理
- 列出所有 Topic(支持搜索)
- 显示:
- 分区数量
- 生产者/消费者数量
- 消息速率(msg/s)
- Backlog(未消费消息数)
- 操作:
- 创建 Topic(普通或分区)
- 删除 Topic
- 查看消息内容(调试)
- 查看统计信息(Stats)
📌 5. 订阅管理(Subscriptions)
- 显示每个 Topic 的所有订阅。
- 显示:
- 订阅类型(Exclusive/Shared/Key_Shared)
- 消费者数量
- 消费游标位置(MessageId)
- Unacked 消息数
- 操作:
- 重置消费游标(Reset Cursor)→ 用于消息重放
- 跳过消息(Skip)
- 清除订阅
📌 6. 消息浏览器(Message Browser)
- 可从指定位置(最早、最新、时间点)读取消息。
- 显示消息内容、Key、属性、事件时间、发布时间。
- 支持 Schema 自动反序列化(JSON/Avro 显示结构化数据)。
📌 7. 监控仪表盘(Monitoring)
- Prometheus + Grafana 风格图表。
- 关键指标:
- Topic 级吞吐(In/Out)
- Broker CPU/Memory
- BookKeeper Ledger Count
- ZooKeeper 连接数
- 消费延迟(Pulsar Functions 可集成)
3. 部署 Pulsar Manager(Docker 示例)
# 启动 Pulsar Manager
docker run -it \
-p 7750:7750 \
-e SPRING_CONFIGURATION_FILE=/pulsar-manager/pulsar-manager/application.properties \
apachepulsar/pulsar-manager:v0.10.0
# 初始化账号(默认用户:pulsar / pulsar)
curl -H "X-Pulsar-Admin-Email: pulsar@pulsar.com" \
-H "X-Pulsar-Admin-Password: pulsar" \
-H "X-Pulsar-Admin-Name: pulsar" \
"http://localhost:7750/users"
访问地址:
http://localhost:7750
配置连接 Pulsar 集群
- 登录后进入 Clusters 页面。
- 添加集群:
- 名称:
standalone - Service URL:
http://pulsar-broker:8080(Broker REST 地址) - Broker URL:
pulsar://pulsar-broker:6650(Broker 二进制协议地址)
- 名称:
4. 权限与安全
- 认证方式:JWT Token 或 Basic Auth。
- 租户隔离:用户只能看到被授权的租户和命名空间。
- 角色管理:支持
admin、user等角色。
# application.properties 配置示例
jwt.broker.token.mode=PRIVATE
jwt.broker.private.key=file:///path/to/private.key
三、Pulsar Dashboard(轻量级监控工具)
1. 核心功能
- 查看 Broker 列表与状态
- 查看 Topic 列表与统计
- 查看订阅与消费进度
- 简单图表:消息速率、Backlog
- 不支持创建/删除操作(只读)
2. 部署方式
git clone https://github.com/apache/pulsar-dashboard
cd pulsar-dashboard
pip install -r requirements.txt
python app.py
访问地址:
http://localhost:8080
3. 适用场景
- 快速查看集群状态
- 开发调试
- 资源有限环境
四、Pulsar Manager 实际使用场景
场景 1:排查消费延迟
- 进入 Topic → Subscriptions,查看某个订阅的 Backlog。
- 如果 Backlog 持续增长,说明消费者处理不过来。
- 可:
- 增加消费者数量(Shared 模式)
- 调整
receiverQueueSize - 查看消息内容是否异常
场景 2:消息重放(Replay)
- 进入 Subscriptions → Reset Cursor
- 选择时间点或 MessageId,将消费位置回退。
- 适用于数据修复、测试验证。
场景 3:调试生产者发送内容
- 使用 Message Browser 查看 Topic 中的消息。
- 确认:
- 消息格式是否正确(Schema 是否生效)
- Key 是否设置
- 属性(Properties)是否完整
场景 4:资源配额管理
- 在 Namespace 页面设置:
- 存储配额(防止磁盘打满)
- 发送速率限制(防刷)
- TTL(自动清理历史消息)
五、与 Grafana 集成(高级监控)
Pulsar 支持将指标导出到 Prometheus,再通过 Grafana 展示。
1. 启用 Pulsar 指标导出
# conf/broker.conf
metricsEnabled=true
monitoringServers=prometheus
2. 部署 Prometheus + Grafana
- Prometheus 抓取 Pulsar 指标(
http://broker:8080/metrics) - 使用官方提供的 Grafana Dashboard JSON
3. 关键监控指标
| 指标 | 说明 |
|---|---|
pulsar_broker_topic_in_messages_total | 入站消息数 |
pulsar_broker_subscription_backlog | 订阅积压 |
pulsar_bookie_journal_write_latency | BookKeeper 写延迟 |
jvm_memory_used | JVM 内存使用 |
六、最佳实践建议
| 实践 | 建议 |
|---|---|
| ✅ 生产环境部署 Pulsar Manager | 提升运维效率 |
| ✅ 启用 JWT 认证 | 保证安全 |
| ✅ 按租户分配权限 | 实现多租户隔离 |
| ✅ 定期查看 Backlog | 防止消息堆积 |
| ✅ 结合 Grafana 做长期监控 | 可视化趋势分析 |
| ✅ 禁止非管理员删除 Topic | 防误操作 |
| ✅ 使用 Message Browser 调试 | 快速定位问题 |
✅ 总结
| 工具 | 适用场景 | 推荐度 |
|---|---|---|
| Pulsar Manager | 生产管理、运维、调试 | ⭐⭐⭐⭐⭐ |
| Pulsar Dashboard | 轻量监控、开发查看 | ⭐⭐⭐ |
| Grafana + Prometheus | 长期监控、告警 | ⭐⭐⭐⭐⭐ |
📌 一句话总结:
Pulsar Manager 是 Pulsar 的“控制中心” —— 它让复杂的分布式消息系统变得可视、可管、可控,是构建企业级消息平台不可或缺的工具。
1013

被折叠的 条评论
为什么被折叠?



