Grafana 主要用于 监控指标(Metrics)。它能告诉你 Pulsar 集群的吞吐量(QPS)、存储占用、JVM 状态、消息积压数量(Backlog)等,但它无法让你查看具体的 Topic 列表(以管理视角)或查看消息的具体内容(Payload)。
针对你想在 k8s 环境下查看 Topic 和查看/调试消息内容,以下是几种主流方案:
方案一:Pulsar Manager (官方/社区 Web UI)
这是最常用、最标准的 Web 管理界面,类似于 RabbitMQ Management Plugin。
能做什么:
- 查看 Tenant(租户)、Namespace、Topic 列表。
- 管理权限和 Token。
- 查看消息: 支持 “Peek Messages”(偷看消息),可以在不消费(不移动游标)的情况下查看特定 Topic 的前几条消息。
- 监控简单的统计信息。
部署方式:
因为它是一个 Web 服务,通常直接部署在 k8s 集群中。你可以通过 Helm Chart 安装。
最简部署思路 (Helm):
1
2
3
4
5
6# 添加 helm repo
helm repo add apache https://pulsar.apache.org/charts
helm repo update
# 安装 pulsar-manager (通常需要连接到现有的 pulsar 集群)
# 你需要配置 application.properties 中的后端地址如果在公司内部,可能运维已经部署了但你不知道。可以问一下运维有没有
Pulsar Manager的地址。
方案二:桌面客户端 (类似 Navicat 的体验)
如果你有 k8s 的端口转发权限,或者 Pulsar 暴露了 NodePort/LoadBalancer,直接在本地电脑用桌面客户端连接体验最好,查看消息最直观。
1. Pulsar Assistant (推荐)
这是一个功能很强的 GUI 客户端(类似 Redis Desktop Manager)。
- 优点: 界面友好,支持 Windows/Mac/Linux。
- 核心功能:
- 清晰展示 Topic 树状结构。
- 强大的消息查看器: 支持 JSON 格式化高亮,支持按时间戳查找消息,支持重发消息。
- 支持 SQL 查询 Pulsar 数据(部分支持)。
- 缺点: 这是一个商业软件(有免费试用或限制版)。
2. X-Pulsar (开源)
- GitHub 上的开源项目,功能相对简单,但能满足基本的查看 Topic 和发送/接收消息需求。
方案三:命令行 CLI (k8s 环境下的快速调试)
如果不想安装新软件,利用 k8s 现有的环境,直接用命令行是最快的。
你可以直接 kubectl exec 进入 Pulsar 的 Broker 或 Tool Pod 中使用 pulsar-client 或 pulsar-admin。
1. 查看所有 Topic:
1 | # 进入 pod |
2. 查看(消费)消息:
如果你想看某个 Topic 里有什么消息,可以使用 consume 命令。
注意:默认 consume 会消耗消息。如果你只想看而不影响线上消费进度,需要使用 -s 指定一个新的订阅名,或者使用 –position earliest 从头看。
1 | # 消费并打印最近的 10 条消息内容 (-n 10) |
总结建议
- 最推荐 (GUI):Pulsar Manager。
- 怎么用? 建议向运维或导师提需求:”我们需要部署一个 Pulsar Manager 来排查问题和管理 Topic。”
- 它是 Web 版,团队共享,安全且正式。
- 个人调试 (桌面端):Pulsar Assistant。
- 怎么用? 如果你能通过
kubectl port-forward把 Pulsar 的 6650 端口映射到本地,或者公司网络直通 Pulsar 集群,下载安装这个软件,配置连接即可。
- 怎么用? 如果你能通过
- 应急查看 (CLI):
- 如果现在立刻就要看,直接用 方案三 的命令行进入 Pod 操作。