Pulsar Manager / Dashboard 详解

Pulsar ManagerPulsar Dashboard 是 Apache Pulsar 生态中用于 可视化管理与监控 的 Web UI 工具。它们帮助运维人员、开发人员通过图形界面轻松管理租户、命名空间、Topic、订阅、Broker 状态、消息流量等,极大提升 Pulsar 集群的可运维性。


📘 Pulsar Manager / Dashboard 详解


一、Pulsar Manager vs Pulsar Dashboard:区别与定位

项目Pulsar ManagerPulsar Dashboard
开发者StreamNative(官方推荐)Apache Pulsar 社区
语言Java + Spring BootPython + Flask
功能全面管理 + 监控轻量级监控为主
是否支持多集群✅ 支持❌ 通常单集群
权限管理✅ 支持 JWT 认证、租户隔离⚠️ 基础认证
部署方式Docker / KubernetesDocker / 独立运行
官方状态推荐用于生产社区维护,轻量使用

推荐:生产环境使用 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 集群
  1. 登录后进入 Clusters 页面。
  2. 添加集群:
    • 名称:standalone
    • Service URL:http://pulsar-broker:8080(Broker REST 地址)
    • Broker URL:pulsar://pulsar-broker:6650(Broker 二进制协议地址)

4. 权限与安全

  • 认证方式:JWT Token 或 Basic Auth。
  • 租户隔离:用户只能看到被授权的租户和命名空间。
  • 角色管理:支持 adminuser 等角色。
# 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

3. 关键监控指标

指标说明
pulsar_broker_topic_in_messages_total入站消息数
pulsar_broker_subscription_backlog订阅积压
pulsar_bookie_journal_write_latencyBookKeeper 写延迟
jvm_memory_usedJVM 内存使用

六、最佳实践建议

实践建议
✅ 生产环境部署 Pulsar Manager提升运维效率
✅ 启用 JWT 认证保证安全
✅ 按租户分配权限实现多租户隔离
✅ 定期查看 Backlog防止消息堆积
✅ 结合 Grafana 做长期监控可视化趋势分析
✅ 禁止非管理员删除 Topic防误操作
✅ 使用 Message Browser 调试快速定位问题

✅ 总结

工具适用场景推荐度
Pulsar Manager生产管理、运维、调试⭐⭐⭐⭐⭐
Pulsar Dashboard轻量监控、开发查看⭐⭐⭐
Grafana + Prometheus长期监控、告警⭐⭐⭐⭐⭐

📌 一句话总结

Pulsar Manager 是 Pulsar 的“控制中心” —— 它让复杂的分布式消息系统变得可视、可管、可控,是构建企业级消息平台不可或缺的工具。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值