AutoMQ 生态集成 Redpanda Console

通过 Kafka Web UI 更加便利地管理 Kafka/AutoMQ 集群

随着大数据技术的飞速发展,Kafka 作为一种高吞吐量、低延迟的分布式消息系统,已经成为企业实时数据处理的核心组件。然而,Kafka 集群的管理和监控却并非易事。传统的命令行工具和脚本虽然功能强大,但对于开发者和运维人员来说,操作复杂且不直观。为了解决这些问题,Kafka Web UI 应运而生,为用户提供了一种更加便利和高效的 Kafka 集群管理方式。Apache Kafka 经过十多年的发展,在业内积累了非常丰富的生态。AutoMQ 作为 Apache Kafka 的继任者,由于其对 Kafka 的完全兼容,可以充分利用其生态中的产品。AutoMQ 企业版已经提供了非常强大的控制面能力。如果你使用的是 AutoMQ 也可以使用像 Kafdrop 、Redpanda Console [1] 等这样的产品来管理 AutoMQ 集群。今天分享的内容是如何通过 Redpanda Console [1] 对 AutoMQ 集群状态进行监控,以提高系统的可维护性和稳定性。

集成 AutoMQ 与 Redpanda Console

Redpanda Console 是由 Redpanda [2] 提供的 Kafka Web UI 界面,用于监控和管理 Redpanda 或 Kafka 集群。它提供了一个直观的用户界面,通过这个界面,用户可以轻松地查看集群状态、监控性能指标、以及管理主题和分区等。这个控制台旨在简化数据流系统的日常操作,让用户能够更有效地维护和监控他们的集群。得益于 AutoMQ 对 Kafka 的完全兼容,因此可以无缝与 Redpanda Console 进行集成。通过利用 Redpanda Console ,AutoMQ 用户也可以享受到直观的用户界面,实时监控 AutoMQ 集群状态,包括主题、分区、消费者组及其偏移量等关键元数据。这种监控能力不仅提高了问题诊断的效率,还有助于优化集群性能和资源利用率。这篇教程会教你如何启动 Redpanda Console 服务,并将其与 AutoMQ 集群搭配起来使用,实现集群状态的监控和管理。

Redpanda Console 官方示例

01

前置条件

  • 部署 AutoMQ 集群

  • 准备 Redpanda Console 环境 

部署 AutoMQ 集群

请参考 AutoMQ 官方文档:集群方式部署 | AutoMQ [3]。

部署 Redpanda Console

部署 Redpanda Console 有两种方式,包括 Docker 部署以及发行版部署,其中 Docker 部署较为简单,如果你想简单快速的体验 AutoMQ 与 Redpanda Console 的集成,建议选择 Docker 方式进行部署。如果你有特别的需要,如登录验证、SASL 认证、TLS 配置以及日志级别等设置,可以根据发行版方式自行部署。下面我将分别介绍两种配置方法。

Docker 部署

Redpanda Console 可通过 Docker 部署,参考 Quick Start [4]。上述过程中,搭建 AutoMQ 集群之后,我们已经知道了所有的 Broker 节点监听的地址和端口,因此我们可以通过指定 Docker 启动命令中的 KAFKA_BROKERS 参数,将 Redpanda Console 与 AutoMQ 集群建立起关联关系。Docker 启动容器命令如下:

docker run -p 8080:8080 -e KAFKA_BROKERS=192.168.0.4:9092,192.168.0.5:9092,192.168.0.6:9092 docker.redpanda.com/redpandadata/console:latest
  • -p 8080:8080:指定 Redpanda Console 的服务访问映射端口。

  • KAFKA_BROKERS:需要指定为你自己的 AutoMQ 集群的 Broker 地址。

发行版部署

你需要在 Redpanda Console 的 Github Releases 页:Release Redpanda Console [5],选择适合的版本进行下载并解压到指定文件夹,如 /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配置文件的内容示例如下:

kafka:#Brokers is a list of bootstrap servers with#port (for example "localhost:9092").brokers:- broker-0.mycompany.com:19092- broker-1.mycompany.com:19092- broker-2.mycompany.com:19092

注意:请确保您当前安装 Redpanda Console 所在的服务器能够访问到配置文件中 Broker 节点所在的服务器。

关于更多详细的设置,可以参考官方文档:Redpanda Console Configuration [6]。配置完成后,需要设置环境变量,使得 Redpanda Console 执行文件能获取配置文件信息,并启动 Redpanda Console:

# set env
export CONFIG_FILEPATH="/etc/redpanda/redpanda-console-config.yaml"
# /opt/ run console
./redpanda-console

你将会得到如下结果:

./redpanda-console
{"level":"info","ts":"2024-07-10T09:52:52.958+0800","msg":"started Redpanda Console","version":"2.6.0","built_at":"1717083695"}
{"level":"info","ts":"2024-07-10T09:52:52.963+0800","msg":"connecting to Kafka seed brokers, trying to fetch cluster metadata"}
{"level":"info","ts":"2024-07-10T09:52:54.780+0800","msg":"successfully connected to kafka cluster","advertised_broker_count":1,"topic_count":2,"controller_id":0,"kafka_version":"at least v3.6"}
{"level":"info","ts":"2024-07-10T09:53:05.620+0800","msg":"Server listening on address","address":"[::]:8080","port":8080}

02

访问控制台页面

在完成上述的部署操作后,即可通过在浏览器中输入地址(例如:http://{console_ip}:8080)访问控制台服务。展示效果如下所示:

集群总览

集群总览页面为用户提供了一个宏观的视角,展示了 AutoMQ 集群的核心信息。包括但不限于:

  • 集群运行状态:显示当前集群的健康状况,帮助用户快速识别问题。

  • 存储占用:展示了集群中的数据存储使用情况,便于用户进行存储管理和规划。

  • 版本信息:显示当前 AutoMQ 集群运行的版本,方便跟踪和升级。

  • 在线 Broker 数量:实时显示在线的 Broker 数量,关键指标之一。

  • Topics 和 Replicas 数量:提供 Topics 和 Replicas 的数量信息,帮助用户了解集群的规模和数据复制情况。

监控集群状态对于确保消息队列系统的稳定性和性能至关重要。通过实时监控集群的运行状态、存储占用、版本信息、在线 Broker 数量以及 Topics 和 Replicas 的数量,运维人员可以快速识别并解决潜在问题,防止系统故障影响业务运行。同时,这些指标有助于进行容量规划和资源管理,确保系统能够应对未来的数据增长。此外,了解集群的版本信息还可以帮助用户及时进行软件升级,利用最新的功能和安全修复,整体提升系统的可靠性和效率。

Topic 总览

在 Topic 列表页面,用户可以看到当前 AutoMQ 集群中所有 Topic 的列表,包括每个 Topic 的关键信息,如分区数、副本策略等。用户可以通过这个页面快速浏览和管理 Topic。

Topic 详情

点击特定的 Topic 后,用户将进入到该 Topic 的详细页面,在这里可以深入了解和操作:

  • 消息列表:浏览和搜索 Topic 中的消息,对于消息的追踪和调试非常有用。

  • 消费者信息:显示当前订阅该 Topic 的消费者和消费者组信息,便于监控消费情况。

  • 分区状态:展示每个分区的详细信息,包括 Leader、ISR 等关键指标。

  • 配置信息:列出 Topic 的配置信息,支持修改以优化性能或行为。

  • ACL(访问控制列表):管理对 Topic 的访问权限,确保数据安全。

此外,Redpanda Console 还支持用户手动创建和发布消息,这对于测试或特定场景下的消息注入非常有价值。

监控 Topic 详情信息可以让我们深入了解消息队列的运行状况,通过浏览消息列表进行追踪和调试,查看消费者信息监控消费情况,了解分区状态确保数据分布和高可用性,管理配置信息优化性能,以及设置访问控制保障数据安全。这些功能有助于及时识别和解决问题,提高系统的整体效率和可靠性。

03

总结

本文介绍了 Redpanda Console 与 AutoMQ 集成的过程,展示了如何通过这一强大工具简化和增强 AutoMQ 集群的管理。希望这篇文章能够为追求提高消息队列管理效率和功能的用户提供实用的参考。

引用

[1] Redpanda Console: https://redpanda.com/redpanda-console-kafka-ui
[2] Redpanda: https://redpanda.com/
[3] 集群方式部署 AutoMQ: https://docs.automq.com/zh/docs/automq-opensource/IyXrw3lHriVPdQkQLDvcPGQdnNh [4] Quick Start: https://github.com/redpanda-data/console?tab=readme-ov-file#quick-start [5] Release Redpanda Console: https://github.com/redpanda-data/console/releases/tag/v2.6.0 [6] Redpanda Console Configuration: https://docs.redpanda.com/current/reference/console/config/#example-redpanda-console-configuration-file
[7] Kafdrop Github:  https://github.com/obsidiandynamics/kafdrop

END

关于我们

我们是来自 Apache RocketMQ 和 Linux LVS 项目的核心团队,曾经见证并应对过消息队列基础设施在大型互联网公司和云计算公司的挑战。现在我们基于对象存储优先、存算分离、多云原生等技术理念,重新设计并实现了 Apache Kafka 和 Apache RocketMQ,带来高达 10 倍的成本优势和百倍的弹性效率提升。

🌟 GitHub 地址:https://github.com/AutoMQ/automq
💻 官网:https://www.automq.com?utm_source=openwrite

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/47787.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C++从入门到起飞之——this指针 全方位剖析!

个人主页:秋风起,再归来~ C从入门到起飞 个人格言:悟已往之不谏,知来者犹可追 克心守己,律己则安! 目录 1、this指针 2、C和C语⾔实现Stack对⽐ C实现Stack代码 C实现Stack代…

华为OD机考题(基础API)

基础API 字典排序 List<String> listnew ArrayList(); //add list member Arrays.sort(list);List<Map<String,Integer>> listnew ArrayList(); //add list member Collections.sort(list, new Comparator<Map.Entry<String, Integer>>() {Over…

c# listview控件调整标题显示顺序

右键点击listview,选择编辑列 修改DisplayIndex listview在成员位置点击上下箭头移动后&#xff0c;实际显示不会改变&#xff0c;因为DisplayIndex没有改变

【Git】(基础篇四)—— GitHub使用

GitHub使用 经过上一篇的文章&#xff0c;相信大家已经对git的基本操作熟悉了&#xff0c;但哪些使用git的方法只是在本地仓库进行&#xff0c;本文介绍如何使用git和远程仓库进行连接使用。 Github和Gitee 主要用到的两个远程仓库在线平台是github和gitee GitHub GitHub …

STM32第十九课:FreeRTOS移植和使用

目录 需求一、FreeRtos概要二、移植FreeRtos1.复制源码2.内存空间分配和内核相关接口3.FreeRTOSConfig.h4.在工程中添加.c.h 三、任务块操作1.创建任务2.任务挂起&#xff0c;恢复&#xff0c;删除 四、需求实现代码 需求 1.将FreeRtos&#xff08;嵌入式实时操作系统&#xf…

白骑士的C++教学高级篇 3.2 多线程与并发

系列目录 上一篇&#xff1a;白骑士的C教学高级篇 3.1 文件操作 随着计算机硬件的发展&#xff0c;现代计算机通常配备了多核处理器&#xff0c;为并发编程提供了硬件基础。C11引入了一组强大的多线程库&#xff0c;使得开发多线程应用程序变得更加容易和安全。本篇内容将详细…

若依框架中Spring Cloud版本启动失败问题

RuoYiSystemApplication启动不了 org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.ruoyi.system.mapper.SysConfigMapper.selectConfigList 该问题是因为在我们拉取若依代码到本地之后&#xff0c;没有对配置作改动&#xff0c;而且若依…

在Python中字典是如何通过哈希表实现的以及哈希冲突是如何解决的

哈希表&#xff08;散列表&#xff09;是一种非常重要的数据结构&#xff0c;它提供了快速的插入、查找和删除操作&#xff0c;平均时间复杂度接近O(1)。哈希表通过哈希函数将键&#xff08;key&#xff09;映射到表中的一个位置来访问记录&#xff0c;以加快查找速度。下面分别…

如何使用Python抓取动态网站数据

引言 动态网站的特点和数据抓取的挑战 动态网站通过JavaScript动态生成内容&#xff0c;这使得数据抓取变得更加复杂。传统的静态HTML解析方法无法获取这些动态生成的数据&#xff0c;因为它们在初始加载时并不存在于HTML源代码中。对于数据科学家和开发者来说&#xff0c;从这…

React Hook 总结(React 萌新升级打怪中...)

1 useCallback useMemo 和 useCallback 接收的参数都是一样&#xff0c;都是在其依赖项发生变化后才执行&#xff0c;都是返回缓存的值&#xff0c;区别在于 useMemo 返回的是函数运行的结果&#xff0c;useCallback 返回的是函数。 当需要使用 useCallback 的情况通常包括以…

Kylin系列入门

Kylin是中国最流行的开源大数据平台之一&#xff0c;主要用于解决大数据存储、处理和分析问题。Kylin的目标是将大数据分析变得更简单、更快速和更高效。下面是Kylin系列的入门指南&#xff0c;带有一些示例。 什么是 Kylin&#xff1f; Kylin是Apache Kylin项目下的一个开源…

服务器基础1

服务器基础复习01 1.环境部署 系统&#xff1a;华为欧拉系统 网络简单配置nmtui 因为华为欧拉系统密码需要复杂度 所以我们可以进入后更改密码 echo 123 | passwd --stdin root也可以 echo "root:123" | chpasswd2.关闭防火墙&#xff0c;禁用SElinux 首先先关…

Socket 简介与 Java Socket 编程示例

Socket&#xff08;套接字&#xff09;是网络通信中的一个关键概念&#xff0c;它是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。 一、定义与概念 基本概念&#xff1a;Socket可以被视为网络环境中进程间通信的API&#xff08;应用程序编程接口&#xff09;&…

彻底理解Linux的DISPLAY变量的作用

背景 最近遇到个两年前遇到的问题&#xff0c;使用virt-manager提示(virt-manager:873): Gtk-WARNING **: 14:53:28.147: cannot open display: :1&#xff0c;当时专门运维的同事帮忙临时调了下DISPLAY变量&#xff0c;好像是将:1改成了SSH用户本地IP:10.0&#xff0c;当时的…

每日一题——第十四题

题目&#xff1a;输入一行数字&#xff0c;将其按升序输出&#xff0c;且奇数在前&#xff0c;偶数在后 #include<stdio.h>void bubbleSort(int* arr, int n); int main(){int n, i, input_nums;printf("请输入数字个数&#xff1a; ");scanf("%d",…

纠正和防止机器学习中的不公平现象

「AI秘籍」系列课程&#xff1a; 人工智能应用数学基础人工智能Python基础人工智能基础核心知识人工智能BI核心知识人工智能CV核心知识AI 进阶&#xff1a;企业项目实战 预处理、处理中、后处理方法和非定量方法 机器学习中的公平性是一个复杂的问题。更糟糕的是&#xff0c;负…

加密传输及相关安全验证:

1.1. 加密&#xff1a; 1.1.1. 对称加密&#xff1a; 特点&#xff1a;加解密用一个密钥&#xff0c;加解密效率高&#xff0c;速度快&#xff0c;有密钥交互的问题问题&#xff1a;双方如何交互对称密钥的问题&#xff0c;用非对称密钥的公钥加密对称密钥的混合加密方式常用…

[数据分析]脑图像处理工具

###############ATTENTION&#xff01;############### 非常需要注意软件适配的操作系统&#xff01;有些仅适用于Linux&#xff0c;可以点进各自软件手册查看详情。 需要自行查看支持的影像模态。 代码库和软件我没有加以区分。 不是专门预处理的博客&#xff01;&#xf…

C语言 底层逻辑详细阐述指针(一)万字讲解 #指针是什么? #指针和指针类型 #指针的解引用 #野指针 #指针的运算 #指针和数组 #二级指针 #指针数组

文章目录 前言 序1&#xff1a;什么是内存&#xff1f; 序2&#xff1a;地址是怎么产生的&#xff1f; 一、指针是什么 1、指针变量的创建及其意义&#xff1a; 2、指针变量的大小 二、指针的解引用 三、指针类型存在的意义 四、野指针 1、什么是野指针 2、野指针的成因 a、指…

深入理解TCP/IP协议:三次握手与四次挥手

以下是一篇关于TCP/IP握手和挥手过程的CSDN博客文章草稿&#xff1a; 摘要 TCP&#xff08;传输控制协议&#xff09;是互联网上使用最广泛的协议之一&#xff0c;它负责在网络中的两个主机之间提供可靠的、有序的和错误检测功能的数据传输。本文将详细介绍TCP的三次握手过程和…