Pulsar Manager 是一个网页式可视化管理与监测工具,支持多环境下的动态配置。可用于管理和监测租户、命名空间、topic、订阅、broker、集群等。

注意 正在使用 Pulsar dashboard 监测当前统计信息的用户,可以尝试改用 Pulsar Manager。 Pulsar dashboard 已弃用。

安装

Docker 容器中运行是使用 Pulsar Manager 最简单的方法。

  1. docker pull apachepulsar/pulsar-manager:v0.1.0
  2. docker run -it -p 9527:9527 -e REDIRECT_HOST=http://192.168.0.104 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
  • REDIRECT_HOST:前端服务器的 IP 地址。

  • REDIRECT_PORT:前端服务器的端口。

  • DRIVER_CLASS_NAME:PostgreSQL 的驱动程序类名称。

  • URL:PostgreSQL JDBC 的 URL。例如, jdbc:postgresql:127.0.0.1:5432/pulsar_manager

  • USERNAME:PostgreSQL 的用户名。

  • PASSWORD:PostgreSQL 的密码。

  • LOG_LEVEL:日志等级。

Docker 目录中找到 Pulsar Manager,构建镜像:

  1. git clone https://github.com/apache/pulsar-manager
  2. cd pulsar-manager
  3. ./gradlew build -x test
  4. cd front-end
  5. npm install --save
  6. npm run build:prod
  7. cd ..
  8. docker build -f docker/Dockerfile --build-arg BUILD_DATE=`date -u +"%Y-%m-%dT%H:%M:%SZ"` --build-arg VCS_REF=`latest` --build-arg VERSION=`latest` -t apachepulsar/pulsar-manager .

使用自定义数据库

如有大量数据,则可以使用自定义数据库。 使用 PostgreSQL 的示例如下:

  1. 使用 file 初始化数据库和表结构。

  2. 修改 configuration file 并配置 PostgreSQL。

  1. spring.datasource.driver-class-name=org.postgresql.Driver
  2. spring.datasource.url=jdbc:postgresql://127.0.0.1:5432/pulsar_manager
  3. spring.datasource.username=postgres
  4. spring.datasource.password=postgres
  1. 进行编译,生成一个新的可执行 jar 包。
  1. ./gradlew -x build -x test

启用 JWT 认证

启用 JWT 认证,需配置以下参数:

  • backend.jwtttoken:超级用户 token。 需要在集群初始化时配置此参数。
  • jwt.broker.token.mode:生成 token 的两种模式,SECRET 和 PRIVATE。
  • jwt.broker.public.key:使用 PRIVATE 模式则配置此参数。
  • jwt.broker.private.key:使用 PRIVATE 模式则配置此参数。
  • jwt.brocher.secret.key:使用 SECRET 模式则配置此参数。

更多详细信息,参阅 Pulsar token 认证管理

可通过以下方式启用 JWT 认证。

  • 方法 1:使用命令行工具
  1. ./build/distributions/pulsar-manager/bin/pulsar-manager --redirect.host=http://localhost --redirect.port=9527 insert.stats.interval=600000 --backend.jwt.token=token --jwt.broker.token.mode=PRIVATE --jwt.broker.private.key=file:///path/broker-private.key --jwt.broker.public.key=file:///path/broker-public.key
  • 方法 2:配置 application.properties 文件
  1. backend.jwt.token=token
  2. jwt.broker.token.mode=PRIVATE
  3. jwt.broker.public.key=file:///path/broker-public.key
  4. jwt.broker.private.key=file:///path/broker-private.key
  5. or
  6. jwt.broker.token.mode=SECRET
  7. jwt.broker.secret.key=file:///path/broker-secret.key
  • 方法 3:使用 Docker 启用 token 认证。
  1. export JWT_TOKEN="your-token"
  2. docker run -it -p 9527:9527 -e REDIRECT_HOST=http://192.168.55.182 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -e JWT_TOKEN=$JWT_TOKEN -v $PWD:/data apachepulsar/pulsar-manager:v0.1.0 /bin/sh
  • 方法 4:使用 Docker,通过私钥和公钥进行 token 认证token 管理
  1. export JWT_TOKEN="your-token"
  2. export PRIVATE_KEY="file:///private-key-path"
  3. export PUBLIC_KEY="file:///public-key-path"
  4. docker run -it -p 9527:9527 -e REDIRECT_HOST=http://192.168.55.182 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -e JWT_TOKEN=$JWT_TOKEN -e PRIVATE_KEY=$PRIVATE_KEY -e PUBLIC_KEY=$PUBLIC_KEY -v $PWD:/data -v $PWD/private-key-path:/pulsar-manager/private-key-path -v $PWD/public-key-path:/pulsar-manager/public-key-path apachepulsar/pulsar-manager:v0.1.0 /bin/sh
  • 方法 5:使用 Docker,通过密钥进行 token 认证token 管理
  1. export JWT_TOKEN="your-token"
  2. export SECRET_KEY="file:///secret-key-path"
  3. docker run -it -p 9527:9527 -e REDIRECT_HOST=http://192.168.55.182 -e REDIRECT_PORT=9527 -e DRIVER_CLASS_NAME=org.postgresql.Driver -e URL='jdbc:postgresql://127.0.0.1:5432/pulsar_manager' -e USERNAME=pulsar -e PASSWORD=pulsar -e LOG_LEVEL=DEBUG -e JWT_TOKEN=$JWT_TOKEN -e PRIVATE_KEY=$PRIVATE_KEY -e PUBLIC_KEY=$PUBLIC_KEY -v $PWD:/data -v $PWD/secret-key-path:/pulsar-manager/secret-key-path apachepulsar/pulsar-manager:v0.1.0 /bin/sh
  • 更多关于后端配置的信息,参阅这里
  • 更多关于前端配置的信息,参阅这里

登录

访问 http://localhost:9527 进行登录。