Redpanda Console - 流数据管理控制台
简介
Redpanda是一个与Kafka兼容的流媒体数据平台,该平台具有高性能、操作友好和云就绪性。这家总部位于旧金山的公司成立于2019年,专注于Kafka公司关键任务系统的替代产品。
Redpanda使用C++重写Kafka,与Kafka API完全兼容,可以与所有Kafka流媒体应用程序和工具一起工作,无需更改代码。测试文章表明,Redpanda在尾部延迟(p99.99)方面至少比Kafka高出10倍。
Redpanda Console
Redpanda 官网:Redpanda | The streaming data platform for developers
Redpanda Console(之前称为 Kowl)是一个帮助您轻松管理和调试 Kafka/Redpanda 工作负载的 Web 应用程序。Redpanda Console 使用 go 语言与流数据平台(如Kafka)进行交互,实时获取并刷新最新状态的集群指标数据。
Redpanda Console 可以使用户轻松地查看集群状态、监控性能指标、以及管理主题和分区等。这个控制台旨在简化数据流系统的日常操作,让用户能够更有效地维护和监控他们的集群。
快速开始
docker安装
拉取镜像
# 官方镜像
docker pull docker.redpanda.com/redpandadata/console:v2.8.1
docker运行
docker run -d -p 8080:8080 -e KAFKA_BROKERS=localhost:9092 docker.redpanda.com/redpandadata/console/:v2.8.1
本地安装
你需要在 Redpanda Console 的 Github Releases 页:Releases · redpanda-data/console,
选择适合的版本进行下载并解压到指定文件夹,如 /opt。操作命令如下:
# ubuntu Linux
cd /opt
sudo curl -L -o redpanda_console.tar.gz https://github.com/redpanda-data/console/releases/download/v2.6.0/redpanda_console_2.6.0_linux_amd64.tar.gz
# unzip, get redpanda_console
sudo tar -xzf redpanda_console.tar.gz
# config set
sudo mkdir -p /etc/redpanda
# write config
sudo vim /etc/redpanda/redpanda-console-config.yaml
redpanda-console-config.yaml 配置文件的内容示例如下:
更多参数配置详见:Redpanda Console Configuration
kafka:#Brokers is a list of bootstrap servers with#port (for example "localhost:9092").brokers:- broker-0.mycompany.com:9092- broker-1.mycompany.com:9092- broker-2.mycompany.com:9092
配置完成后,需要设置环境变量,使得 Redpanda Console 执行文件能获取配置文件信息,并启动 Redpanda Console:
# set env
export CONFIG_FILEPATH="/etc/redpanda/redpanda-console-config.yaml"
# /opt/ run console
./redpanda-console
启动成功后,浏览器输入http://<console_ip>:8080
访问控制台:
功能展示
集群概览
集群概览模块为用户提供了多个指标的监控,可以帮助用户快速获取集群关键信息:
- 集群运行状态:显示当前集群的健康状况,帮助用户快速识别问题。
- 集群存储占用:展示了集群中的数据存储使用情况,便于用户进行存储管理和规划。
- 集群版本信息:显示当前集群运行的版本,方便跟踪和升级。
- 在线 Broker 数量:实时显示在线的 Broker 数量,关键指标之一。
- Topics 和 Replicas 数量:提供 Topics 和 Replicas 的数量信息,帮助用户了解集群的规模和数据复制情况。
Topics
在 Topics 模块中,用户可以查看集群的所有topic总数、分区数、副本数,topic存储占用等关键信息,也可以在页面上操作 创建/删除 指定的Topic:
点击对应的 Topic 后,用户将进入到该 Topic 的详细页面,在这里可以深入了解和操作:
- 消息列表:浏览和搜索 Topic 中的消息,对于消息的追踪和调试非常有用。
- 消费者信息:显示当前订阅该 Topic 的消费者和消费者组信息,方便查看各消费者的消费进度。
- 分区状态:展示每个分区的详细信息,包括 Leader、ISR 等关键指标。
- 配置信息:列出 Topic 的配置信息,支持在页面修改配置以优化性能或行为。
- ACL(访问控制列表):管理对 Topic 的访问权限,确保数据安全。
此外,Redpanda Console 支持用户手动创建和发布消息,这对于测试或特定场景下的消息注入非常有价值。
从页面可以看到,Redpanda Console 还支持手动删除消息,删除操作支持指定分区、指定时间戳之前的记录删除(删除操作可以理解为 增加指定Topic或分区的Low Watermark,限制消费者从该Topic或分区中能被消费到的最早消息)。
注意:删除操作是一个软删除,实际数据可能仍然在硬盘上,但对客户端都是不可见的,即使他们请求数据。
Consumer Groups
展示集群中所有的消费者组信息,监控包括消费者组的状态、消费者数量、消费者组的Lag等重要信息:
点击页面的消费者组ID进入详情页,可看到如下的监控信息:
- 消息者组状态:显示当前消费者组的消费状态,如:稳定消费、准备/完成重分区消费、无消费者消费等。
- 消费者组订阅topic:显示当前消费者组订阅的Topic,包括各分区的LEO、消费者offset及Lag。
- 消费者组成员:展示消费者组内的消费者成员。
- ACL(访问控制列表):管理对 Topic 的访问权限,确保数据安全。
值得一提的是,该页面还支持 编辑消费者组offset 的功能,用户可以在页面手动操作设置相应消费者组的偏移量,支持将消费者组Offset指定为最早、最新或特定时间的Offset操作。需要注意的是,只有不活跃的消费者组(无消费者消费)才可以手动指定偏移量。
总结
综上所述,Redpanda Console 是一款功能强大的流数据管理控制台,它提供了一个简洁直观的用户界面,通过这个界面,用户可以轻松地查看集群状态、监控性能指标、以及管理主题和分区等。
项目仓库地址:
GitHub - redpanda-data/console: Redpanda Console is a developer-friendly UI for managing your Kafka/Redpanda workloads. Console gives you a simple, interactive approach for gaining visibility into your topics, masking data, managing consumer groups, and exploring real-time data with time-travel debugging.
参考文章
Kafka颠覆者Redpanda C轮融资1亿美元|流媒体|c轮融资|应用程序|kafka|redpanda_网易订阅
AutoMQ 生态集成 Redpanda Console