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

Note
If you monitor your current stats with Pulsar dashboard, you can try to use Pulsar Manager instead. 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 进行登录。