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-clientpulsar-admin

1. 查看所有 Topic:

1
2
3
4
5
# 进入 pod
kubectl exec -it <pulsar-broker-pod-name> -n <namespace> -- /bin/bash

# 列出 public/default 下的所有 topic
bin/pulsar-admin topics list public/default

2. 查看(消费)消息:

如果你想看某个 Topic 里有什么消息,可以使用 consume 命令。

注意:默认 consume 会消耗消息。如果你只想看而不影响线上消费进度,需要使用 -s 指定一个新的订阅名,或者使用 –position earliest 从头看。

1
2
3
4
5
6
7
# 消费并打印最近的 10 条消息内容 (-n 10)
# -s "debug-sub" 创建一个临时的订阅名,避免影响业务消费者
# -p Earliest 表示从最早未确认的消息开始
bin/pulsar-client consume persistent://public/default/my-topic \
-s "debug-sub-001" \
-n 10 \
-p Earliest

总结建议

  1. 最推荐 (GUI):Pulsar Manager
    • 怎么用? 建议向运维或导师提需求:”我们需要部署一个 Pulsar Manager 来排查问题和管理 Topic。”
    • 它是 Web 版,团队共享,安全且正式。
  2. 个人调试 (桌面端):Pulsar Assistant
    • 怎么用? 如果你能通过 kubectl port-forward 把 Pulsar 的 6650 端口映射到本地,或者公司网络直通 Pulsar 集群,下载安装这个软件,配置连接即可。
  3. 应急查看 (CLI):
    • 如果现在立刻就要看,直接用 方案三 的命令行进入 Pod 操作。