We’re thrilled to announce that StreamNative open sourced and contributed Apache Pulsar Manager to ASF as a part of Apache Pulsar!
Source code and document have been transferred to GitHub that ties together all of our initiatives with information on why we design it, how to use, contribute and develop, what future plans are, and so on.
Why design Apache Pulsar Manager
Apache Pulsar is a next-generation streaming and messaging system designed for scalability, flexibility, and no data loss, and it is a top-level project of Apache Software Foundation.
Currently, Apache Pulsar enjoys rapid growth and development. However, as an infrastructure, it still needs a better and comprehensive ecosystem.
Apache Pulsar has a monitoring tool, which is called Apache Pulsar Dashboard, focusing on simple collecting and displaying information of Pulsar, such as show statistics of tenants, namespaces, topics, subscriptions, and so on.
However, Pulsar Dashboard lacks the ability to manage Pulsar, such as add, delete and update tenants, namespaces, topics, and so on. When a cluster is expanded, using the Pulsar Admin tool to manage Pulsar can not satisfy demands. Consequently, Pulsar needs a simple and easy-to-use management console for users.
What is Apache Pulsar Manager?
Apache Pulsar Manager is a web-based GUI management and monitoring tool that manages tenants, namespaces, topics, subscriptions, brokers, clusters, and supports dynamic configurations of multiple environments.
Feature preview of Apache Pulsar Manager
The following images show feature preview of Apache Pulsar Manager.
You can use the default account (pulsar) and the default password (pulsar) to log in.
Configure multiple environments
You can configure dynamic environments with multiple service URLs.
You can add, modify, delete, configure, and perform other operations on tenants.
You can add and delete namespaces, modify namespace policies, and perform other operations on namespaces.
You can add, delete, offload, and perform other operations on partitioned topics, non-partitioned topics, persistent topics, non-persistent topics, and so on.
You can skip, expire, clear, reset, and perform other operations on subscriptions.
You can view, configure, and perform other operations on clusters.
You can view, configure, and run health checks on brokers.
Monitor topics and subscriptions
The figure below shows:
One non-partitioned topic (data-technology)
Two partitioned topics (data-export-to-db and data-import-from-db) Partitioned topics are divided into two dimensions, and you can see the subscriptions of each topic and each subscription belongs to which topic(s).
Statistics, such as the number of messages sent and received per second, throughput and storage used per second, and so on.
Future plan of Apache Pulsar Manager
An effective management tool is a must-have for Apache Pulsar, so we plan to add the following features in the next release.
Support authentication and authorization
Support schema management
Support function management
Support connector management
Support bookie management
Support peek messages, including single and batch
Optimize backend, including querying data, paging and filtering results
Get involved in Apache Pulsar community
Alongside this announcement, we have not only published various documents describing R&D details but also shared blogs clarifying the development progress and detailing our intent to contribute Apache Pulsar Manager to Apache Pulsar community back. We’ve been long-time contributors to Apache Pulsar and Apache BookKeeper, and share the best practices we developed, push the industry forward and enjoy being a part of the open-source community.
And now, we encourage everyone to participate in the development of Apache Pulsar Manager and welcome any contributions including code and documentation. Through this project, you can learn from Apache Pulsar Manager’s full development lifecycle, as well as reuse the code to build your own experiences.
To get started, check out the Apache Pulsar Manager project on GitHub:
Guangning E is an Apache Pulsar committer and the main contributor to Apache Pulsar IO and Apache Pulsar Manager. He works as a senior software engineer at StreamNative, where he specializes in cloud platform, cloud computing, and big data related fields.