大数据笔记--kafka工具AKHQ

目录

一、项目背景

二、项目目标

三、项目部署

1、前提条件

2、流程

2.1、准备工作

2.2、安装AKHQ

2.3、配置AKHQ

2.4、启动AKHQ

四、验证


一、项目背景

日常运维工作中,越来越多的团队成员,包括开发人员、数据分析师和业务运营团队,需要实时查看和监控kafka主题中的数据,这对快速诊断问题、优化性能和支持数据驱动的决策十分重要。

二、项目目标

本文档旨在指导技术团队将 Apache Kafka 集群与 AKHQ 监控工具成功集成。

适用于需要监控和管理 Kafka 集群的技术团队。

三、项目部署

1、前提条件

  • 集群为prod环境kafka集群与log_kafka集群

  • 具有访问 Kafka 集群所需的kerberos相关文件和权限。

  • 一台服务器用于部署 AKHQ。

  • JDK 11+ 我安装的JDK 17+

2、流程

2.1、准备工作

集群keytabprincipal
kafka

kafka-01:9092

kafka-02:9092

kafka-03:9092

kafka-04:9092

kafka-05:9092

/etc/keytabs/kafka-01.keytabkafka/kafka-01@principal
log_kafka

log_kafka-01:9092

log_kafka-02:9092

log_kafka-03:9092

log_kafka-04:9092

log_kafka-05:9092

/etc/keytabs/log_kafka-01.keytabkafka/log_kafka-01@principal
ladp

server: ldap://ldap.server.com:389
managerDn: "cn=ladp,OU=ldap,OU=Corp Services,DC=dc,DC=intra"
managerPassword: "*****"
searchbase: "OU=Ou Users,OU=Corp Users,DC=DC,DC=intra"

filter: "sAMAccountName={0}"
groupbase: "OU=Ou Users,OU=Corp Users,DC=DC,DC=intra"
filter: "(objectClass=groupofnames)"

AKHQip:8443/data/src

2.2、安装AKHQ

在目标服务器上,安装Java 17 环境,上传akhq-0.24.0-all.jar

#登陆akhq机器,检查是否有jdk11+
java -version
cd /data/src/
tar -zxvf akhq-0.24.0-all.jar
ln -s /data/src/akhq-0.24.0/ /data/service/akhq

2.3、配置AKHQ

  创建 AKHQ 的 application.yml 文件,添加 Kafka 集群的配置信息。

  配置 AKHQ 的LDAP 集成、用户角色和权限。

  设置日志格式。

# 进入AKHQ配置主机
cd /data/service/akhq/
# 注意创建log目录
mkdir log
touch application.yml

application.yml内容

# debug配置
#logger:
#   levels:#root: DEBUG
#     org.akhq.configs: TRACE
#     io.micronaut: DEBUG
#     io.micronaut.security.ldap: TRACE
#     io.micronaut.configuration.security: TRACE
#     java.security: TRACEmicronaut:security:enabled: true #是否开启安全认证# Ldap authenticaton configurationldap:default:enabled: true #是否开启ladpcontext:server: "ldap://ldap.server.com:389" #ladp地址managerDn: "cn=cn,OU=ldap,OU=Corp Services,DC=DC,DC=intra" #ldap管理员账号密码managerPassword: "密码"search:base: "OU=Ou Users,OU=Corp Users,DC=DC,DC=intra"filter: "sAMAccountName={0}" #ladp 查询用户groups:enabled: true        #是否使用ldap组base: "OU=Ou Users,OU=Corp Users,DC=DC,DC=intra"filter: "(objectClass=groupofnames)" #查询组server:port: 8443        #akhq服务端口cors:enabled: true    #是否转发前端(无影响)configurations:all:allowedOrigins:- http://localhost:3000akhq:                #服务配置server:access-log: # 日志配置 (可选)enabled: true # true by defaultname: org.akhq.log.access # Logger nameformat: "[Date: {}] [Duration: {} ms] [Url: {} {}] [Status: {}] [Ip: {}] [User: {}]" # Logger formatconnections:        #集群配置kafka-prod:       # prod集群properties:bootstrap.servers:  "kafka-01:9092,kafka-02:9092,kafka-03:9092,kafka-04:9092,kafka-05:9092" #kafka集群地址security.protocol: SASL_PLAINTEXTsasl.mechanism: GSSAPIsasl.jaas.config: com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/etc/keytabs/kafka-01.keytab" storeKey=true serviceName="kafka" client=true useTicketCache=true principal="kafka/kafka-01@principal"; #认证文件,连接参数log-kafka-prod: #logkafka集群properties:bootstrap.servers: "log_kafka-01:9092,log_kafka-02:9092,log_kafka-03:9092,log_kafka-04:9092,log_kafka-05:9092"security.protocol: SASL_PLAINTEXTsasl.mechanism: GSSAPIsasl.jaas.config: com.sun.security.auth.module.Krb5LoginModule required useKeyTab=true keyTab="/etc/keytabs/log_kafka-01.keytab" storeKey=true serviceName="kafka" client=true useTicketCache=true principal="kafka/log_kafka-01@principal";pagination:    #页面页数,线程数page-size: 25 # number of elements per page (default : 25)threads: 16 # Number of parallel threads to resolve pagesecurity:default-group: no-roles # Default groups for all the user even unlogged user# Groups definitiongroups:        #权限相关配置admin: # unique keyname: admin # Group nameroles:  # roles for the group- topic/read- topic/insert- topic/delete- topic/config/update- node/read- node/config/update- topic/data/read- topic/data/insert- topic/data/delete- group/read- group/delete- group/offsets/update- registry/read- registry/insert- registry/update- registry/delete- registry/version/delete- acls/read- connect/read- connect/insert- connect/update- connect/delete- connect/state/updateattributes:  #正则过滤指定主题,*表示全部显示,test.*表示test开始的主题显示# Regexp list to filter topic available for grouptopics-filter-regexp:- ".*"# Regexp list to filter connect configs visible for groupconnects-filter-regexp:- ".*"# Regexp list to filter consumer groups visible for groupconsumer-groups-filter-regexp:- ".*"topic-reader: # unique key #只读权限name: topic-reader # Other grouproles:- topic/read- topic/data/read# Basic auth configurationbasic-auth:        #本地账号- username: admin # Username    password: 8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918 # Password in sha256groups: # Groups for the user- admin- topic-reader# Ldap Groups configuration (when using ldap)ldap:     #根据ldap组来设置权限,目前我们ladp只有一个组,所有用现在只有只读权限default-group: topic-readergroups:- name: group-ldap-1groups: # Akhq groups list- topic-readerusers:  #指定ldap用户有管理员权限- username: user1 # ldap user idgroups: # Akhq groups list- admin- username: user2groups:- admin- username: user3groups:- admin# 数据脱敏相关配置# # Data masking configuration# data-masking:#   filters:#     - description: "Masks value for secret-key fields"#       search-regex: '"(secret-key)":".*"'#       replacement: '"$1":"xxxx"'#     - description: "Masks last digits of phone numbers"#       search-regex: '"([\+]?[(]?[0-9]{3}[)]?[-\s\.]?[0-9]{3}[-\s\.]?)[0-9]{4,6}"'#       replacement: '"$1xxxx"'

2.4、启动AKHQ

  配置akhq启动脚本

  检查启动日志,确认没有错误信息。

#进入akhq配置主机
ssh ip
cd /data/service/akhq/
touch akhq_service.sh
vi akhq_service.sh
#添加如下内容#!/bin/bash# AKHQ start/stop/restart script# Configuration
AKHQ_JAR="/data/service/akhq/akhq-0.24.0-all.jar"
CONFIG_FILE="/data/service/akhq/application.yml"
LOG_DIR="/data/service/akhq/log"
LOG_FILE="${LOG_DIR}/akhq.log"
PID_FILE="/data/service/akhq/akhq.pid"
JAVA_HOME="/data/src/zulu17.42.21-ca-crac-jdk17.0.7-linux_x64"# Ensure log directory exists
mkdir -p "$LOG_DIR"start() {if [ -f "$PID_FILE" ]; thenecho "AKHQ is already running."elseecho "Starting AKHQ..."#nohup "$JAVA_HOME/bin/java" -Dmicronaut.config.files="$CONFIG_FILE"  -jar "$AKHQ_JAR" >> "$LOG_FILE" 2>&1 &nohup "$JAVA_HOME/bin/java" -Dmicronaut.config.files="$CONFIG_FILE" -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=0.0.0.0:5005 -jar "$AKHQ_JAR" >> "$LOG_FILE" 2>&1 &echo $! > "$PID_FILE"echo "AKHQ started."fi
}stop() {if [ ! -f "$PID_FILE" ]; thenecho "AKHQ is not running."elsePID=$(cat "$PID_FILE")echo "Stopping AKHQ..."kill "$PID"rm "$PID_FILE"echo "AKHQ stopped."fi
}restart() {echo "Restarting AKHQ..."stopsleep 2start
}case "$1" instart)start;;stop)stop;;restart)restart;;*)echo "Usage: $0 {start|stop|restart}"exit 1
esac

四、验证

访问 AKHQ 的 UI,检查是否能够成功连接到 Kafka 集群并显示相关信息。

Prod: http://ip:8443/ui/login

尝试执行一些基本操作,如查看主题、消费者组等,以验证集成成功。

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

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

相关文章

Linux——开发工具

1.yum yum是centos中的一个软件下载安装管理客户端,可以下载需要的软件或者解决依赖关系问题(如动态库)。程序都是来源于一段源代码,为了方便下载,源代码被提前在不同的环境下编译好生成对应的yum软件包,存…

运营商如何通过PCDN技术提高用户服务

随着网络技术的快速发展,用户对网络服务的要求也在不断提高。为了满足这些需求,运营商需要不断创新和优化自身的技术和服务。而 PCDN (Personal Content Delivery Network)技术作为一种新兴的内容分发网络解决方案,为运营商提高用户服务提供了…

Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统

文章目录 Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统TFTP服务搭建测试 NFS服务搭建测试 uboot配置TFTP服务搭建测试 NFS服务搭建测试 U-BOOT配置 Ubuntu20.04搭建嵌入式linux网络加载内核、设备树和根文件系统 TFTP服务搭建 sudo apt install tftpd-hpa su…

智能车载防窒息系统设计

摘要 随着汽车行业的快速发展,车辆安全问题越来越受到人们的关注。其中,车载防窒息系统是一项重要的安全设备。本论文基于STM32单片机,设计了一种智能车载防窒息系统。该系统主要包括氧气浓度检测模块、温湿度检测模块、声音检测模块、光线检…

『ComfyUI』从小白到入门全套教程,奶奶看了都会了!赶紧收藏!

本文简介 Stable Diffusion WebUI 应该是大多数人第一次接触 SD 绘画的工具,这款工具简单易上手,但操作流程相对固定。如果你想拥有更自由的工作流,可以试试 ComfyUI。而且很多新的模型和功能在刚出现时 ComfyUI 的支持度都比较高&#xff0…

拥抱应用创新,拒绝无谓的模型竞争

💝💝💝欢迎来到我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

TikTok海外运营,云手机多种变现方法

从现阶段来看,TikTok 的用户基数不断增长,已然成为全球创业者和品牌的全新竞争舞台。其用户数量近乎 20 亿,年轻用户占据主导,市场渗透率也逐年提高。不管是大型企业、著名品牌,还是个体创业者,都绝不能小觑…

matlab 有倾斜的椭圆函数图像绘制

matlab 有倾斜的椭圆函数图像绘制 有倾斜的椭圆函数图像绘制xy交叉项引入斜线负向斜线成分正向斜线成分 x^2 y^2 xy 1 (负向)绘制结果 x^2 y^2 - xy 1 (正向)绘制结果 有倾斜的椭圆函数图像绘制 为了确定椭圆的长轴和短轴的…

最新Wireshark查看包中gzip内容

虽然是很简单的事情,但是网上查到的查看gzip内容的方法基本都是保存成zip文件,然后进行二进制处理。 其实现在最新版本的Wireshark已经支持获取gzip内容了。 选中HTTP协议,右键选择[追踪流]->[HTTP Stream] 在弹出窗口中,已…

为何Expo成为React Native官方推荐框架?

在React Conf上,我们更新了关于构建React Native应用的最佳工具指南:一个React Native框架——一个工具箱,包含所有必要的API,让你可以构建生产就绪的应用。 现在,使用React Native框架(如Expo&#xff09…

Xubuntu24.04之图形界面挂载硬盘(二百六十二)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

Unity入门之重要组件和API(4) : Input

前言 Input类主要处理用户输入设备相关操作;输入设备包括鼠标、键盘、触屏、手柄、陀螺仪(重力感应)。 1.鼠标 1.1鼠标在屏幕的位置 print(Input.mousePosition); 1.2检测鼠标输入 0-左键 1-右键 2-中键 if (Input.GetMouseButtonDown(0)) {print("鼠标…

Linux操作系统上用到的磁盘分区管理工具

parted磁盘分区工具 磁盘格式&#xff1a;MBR, GPT, 这两种名称分别是硬盘里面分区表两种格式的称呼&#xff0c; 第一种MBR格式的分区表最大支持2TB的容量&#xff0c; 磁盘的三种分区主分区&#xff0c;扩展分区&#xff0c;逻辑分区&#xff0c;主分区扩展分区<4 第…

NesT : 嵌套层次Transformer

探讨了在不重叠的图像块上嵌套基本局部变换的思想,并以分层的方式对它们进行聚合。发现块聚合功能在实现跨块非局部信息通信中起着至关重要的作用。 这个观察结果引导我们设计一个简化的体系结构,它需要在原始视觉转换器上进行少量的代码更改。所提出的明智选择的设计有三个好…

雷池WAF动态防护功能初体验

一、 介绍 大名鼎鼎的雷池WAF最近新上了个名为 动态防护 的功能 所谓动态防护&#xff0c;是在用户浏览到的网页内容不变的情况下&#xff0c;将网页赋予动态特性&#xff0c;即使是静态页面&#xff0c;也会具有动态的随机性。 说白了就是给你网站的 html 和 js 代码加上加密…

短链接妙用 - 数据统计

可能很多运营工作者都不太知道短链接是什么&#xff0c;那我们先来说说运营日常工作关心的是什么&#xff0c;说完你就懂了。 首先&#xff0c;推广自己的产品是每个公司必不可少的环节&#xff0c;而且会定期分析人群、转化率等等来制定新的推广方案&#xff0c;或者调整自己…

百望云应邀参加全球数字经济大会,获评“北京市通用人工智能产业创新伙伴”

在全球数字化和信息化的浪潮中&#xff0c;数字经济成为了推动经济发展的新动力。大模型、人工智能等前沿技术&#xff0c;在经济模式转变、应用场景创新等领域展现了强大的变革能力。 近日&#xff0c;由中华人民共和国国务院批准&#xff0c;工业和信息化部、商务部、国家互联…

备考无忧,张驰课堂与刷题共筑六西格玛考试坚实后盾

刷题对考中质协&#xff08;中国质量协会&#xff09;的六西格玛绿带和黑带考试具有显著的帮助&#xff0c;主要体现在以下几个方面&#xff1a; 一、巩固知识点 加深理解&#xff1a;刷题可以帮助考生更深入地理解和记忆六西格玛管理的相关知识点。通过反复练习&#xff0c;…

宝塔面板运行Admin.net框架

准备 宝塔安装 .netcore安装 Admin.net框架发布 宝塔面板设置 完结撒花 1.准备 服务器/虚拟机一台 系统Windows server / Ubuntu20.04&#xff08;本贴使用的是Ubuntu20.04版本系统&#xff09; Admin.net开发框架 先安装好服务器系统&#xff0c;这里就不做安装过程描述了&…

替你测试过了,这些国产大模型都很强,快来试试哪款适合你

替你测试过了&#xff0c;这些国产大模型都很强&#xff0c;快来试试哪款适合你 &#x1f4a1;&#x1f525; 大家好&#xff0c;我是猫头虎&#xff0c;科技自媒体博主。今天我将为大家介绍几款顶尖的国产AI大模型&#xff0c;它们各有所长&#xff0c;看看哪一款更适合你的需…