1.概述
在大数据与人工智能深度融合的新时代,Apache Kafka 已成为企业实时数据流处理的核心引擎。然而,随着业务规模的不断扩大,Kafka 集群的监控与运维复杂度也随之攀升——指标繁多、延迟难察、告警频繁,传统监控手段难以快速定位问题与优化性能。正因如此,EFAK-AI(Eagle For Apache Kafka - AI Enhanced,原Kafka Eagle) 应运而生。它在经典 EFAK 的基础上全面升级,融合 AI 智能分析与分布式监控能力,为 Kafka 运维注入了全新的智能化体验。本文将带您深入了解 EFAK-AI 5.0.0 的全新功能与技术亮点。
GitHub开源地址:https://github.com/smartloli/EFAK
2.内容
EFAK-AI (Eagle For Apache Kafka - AI Enhanced) 是一款开源的 Kafka 智能监控与管理平台,融合了人工智能技术,为 Kafka 运维提供智能化、可视化、自动化的全方位解决方案。
🎯 核心优势
🧠 AI 驱动: 集成主流大语言模型(OpenAI、Claude、DeepSeek 等),提供智能对话式运维
📊 实时监控: 全方位监控 Kafka 集群健康状态、性能指标、消费延迟等关键数据
🚀 高性能: 基于 Spring Boot 3.x 和 JDK 17,采用响应式编程和异步处理
🔧 易部署: 支持 Docker 一键部署和传统 tar.gz 安装包两种方式
2.1 核心特性
🤖 AI 智能助手
多模型支持: 集成 OpenAI、Claude、DeepSeek 等多种大语言模型
Function Calling: AI 可自动调用后端函数查询实时数据
图表自动生成: 根据时序数据自动生成可视化图表
Kafka 专家: 专业的 Kafka 集群分析、性能优化和故障诊断建议
流式对话: 基于 SSE 的实时流式响应,体验更流畅
Markdown 渲染: 支持代码高亮、表格、Mermaid 图表等丰富格式
对话历史: 完整的会话管理和历史记录功能
📊 集群监控
实时监控: Broker 节点状态、主题分区、消费者组监控
性能指标: 吞吐量、延迟、存储容量等关键指标
历史数据: 长期趋势分析和性能对比
多集群支持: 同时管理多个 Kafka 集群
⚡ 分布式任务调度
智能分片: 基于 Redis 的分布式任务分片执行
故障转移: 自动检测节点故障并重新分配任务
负载均衡: 动态调整任务分配,优化资源利用
单节点优化: 自动检测单节点环境,跳过分片逻辑
🚨 告警管理
多渠道告警: 支持钉钉、微信、飞书等多种告警渠道
智能阈值: 基于历史数据的动态阈值调整
告警聚合: 避免告警风暴,提供告警聚合和降噪
可视化配置: 直观的告警规则配置界面
2.2 技术架构
模块结构
复制代码
EFAK-AI/
├── efak-ai/ # 告警功能模块
├── efak-core/ # 核心功能模块 (Kafka 连接、监控逻辑)
├── efak-dto/ # 数据传输对象
├── efak-tool/ # 工具类模块
└── efak-web/ # Web 应用模块 (控制器、服务、前端)
复制代码
技术栈
后端框架: Spring Boot 3.4.5
数据库: MySQL 8.0+ (主数据库)
缓存: Redis 6.0+ (分布式锁、任务调度)
消息队列: Apache Kafka 4.0.0
ORM: MyBatis 3.0.4
前端: Thymeleaf
构建工具: Maven 3.6+
Java 版本: JDK 17
2.3 快速开始
EFAK-AI 提供两种部署方式:Docker 容器化部署(推荐)和 tar.gz 安装包部署。
🚀 一键启动(超简单!)
复制代码
# 克隆项目
git clone https://github.com/smartloli/EFAK-AI.git
cd EFAK-AI
# 运行快速启动脚本
./quick-start.sh
复制代码
快速启动脚本提供:
Docker 一键部署
tar.gz 安装包构建
日志查看和服务管理
方式一:Docker 部署(推荐)⚡
环境要求
Docker Desktop 4.43.2+
Docker Compose 2.0+
一键启动
复制代码
# 1. 克隆项目
git clone https://github.com/smartloli/EFAK-AI.git
cd EFAK-AI
# 2. 启动所有服务(包括 MySQL、Redis)
docker-compose up -d
# 3. 查看日志
docker-compose logs -f efak-ai
# 4. 访问应用
# http://localhost:8080
# 默认账号: admin / admin
复制代码
启动 Nginx 反向代理(可选)
# 使用 nginx profile 启动
docker-compose --profile nginx up -d
# 通过 http://localhost (80端口) 访问
常用 Docker 命令
复制代码
# 查看运行状态
docker-compose ps
# 停止服务
docker-compose down
# 重启服务
docker-compose restart efak-ai
# 查看日志
docker-compose logs -f
复制代码
方式二:tar.gz 安装包部署
环境要求
JDK 17+
MySQL 8.0+
Redis 6.0+
1. 构建安装包
复制代码
# 克隆项目
git clone https://github.com/smartloli/EFAK-AI.git
cd EFAK-AI
# 执行构建脚本
./build-package.sh
# 生成安装包: efak-ai-5.0.0.tar.gz
复制代码
2. 部署安装包
复制代码
# 传输到服务器(如果需要)
scp efak-ai-5.0.0.tar.gz user@server:/opt/
# 解压
cd /opt
tar -zxvf efak-ai-5.0.0.tar.gz
cd efak-ai-5.0.0
# 目录结构
# bin/ - 启动脚本
# config/ - 配置文件
# libs/ - JAR 包
# logs/ - 日志目录
# sql/ - SQL 脚本
复制代码
3. 初始化数据库
mysql -u root -p
CREATE DATABASE efak_ai CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
USE efak_ai;
SOURCE /opt/efak-ai-5.0.0/sql/ke.sql;
4. 修改配置编辑 config/application.yml:
复制代码
spring:
datasource:
url: jdbc:mysql://localhost:3306/efak_ai?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai
username: root
password: your_password
data:
redis:
host: localhost
port: 6379
复制代码
5. 启动应用
复制代码
# 启动
./bin/start.sh
# 查看日志
tail -f logs/efak-ai.log
# 查看状态
./bin/status.sh
# 停止
./bin/stop.sh
# 重启
./bin/restart.sh
复制代码
6. 访问应用
应用地址: http://localhost:8080
默认账号: admin / admin123
7. 验证进程
# 查看进程(进程名显示为 KafkaEagle)
ps aux | grep KafkaEagle
3.EFAK-AI 功能预览
本文档展示 EFAK-AI (Eagle For Apache Kafka - AI Enhanced) 系统的核心功能界面和特性。
3.1 快速启动
1. 使用快速启动脚本
EFAK-AI 提供了一键启动脚本 quick-start.sh,支持多种部署方式:
image
功能选项:
选项 1: Docker Compose 部署(推荐)
选项 2: Docker 手动构建并部署
选项 3: 构建 tar.gz 安装包
选项 4: 停止 Docker 服务
选项 5: 查看 Docker 日志
选项 6: 查看 Docker 状态
选项 7: 退出
2. 部署成功示例
部署成功
部署成功后,您可以:
访问应用: http://localhost:8080
查看日志: docker compose logs -f efak-ai
查看状态: docker compose ps
查看进程: docker compose exec efak-ai jps
3.2 核心功能
1. 仪表盘 (Dashboard)
仪表盘
功能特性:
实时监控: Kafka 集群整体运行状态
可视化图表: 消息流量、Topic 数量、Consumer 组状态
性能指标: 吞吐量、延迟、存储使用情况
告警统计: 实时告警数量和类型分布
响应式设计: 支持桌面和移动端访问
关键指标:
Broker 数量和状态
Topic 总数和活跃数
Consumer Group 数量
消息总量和增长趋势
集群健康度评分
2. 集群管理 (Cluster)
集群管理
功能特性:
多集群管理: 支持管理多个 Kafka 集群
Broker 详情: 查看每个 Broker 的详细信息
性能监控: 实时 Broker CPU、内存、磁盘使用率
配置管理: 查看和修改集群配置
健康检查: 自动检测 Broker 健康状态
支持的操作:
添加/删除集群配置
查看 Broker 列表和状态
监控 Broker 性能指标
查看 Controller 信息
集群元数据查询
3. 主题管理 (Topics)
主题管理
功能特性:
Topic 列表: 展示所有 Topic 及其关键信息
高级搜索: 支持按名称、分区数、副本数搜索
统计信息: 消息数量、存储大小、消费者组数
创建 Topic: 可视化创建 Topic 界面
删除 Topic: 安全删除 Topic(带确认)
批量操作: 支持批量删除、修改配置
显示字段:
Topic 名称
分区数量
副本因子
消息总数
存储大小
消费者组数量
创建时间
操作按钮
4. 主题详情 (Topic Detail)
主题详情
功能特性:
分区详情: 每个分区的 Offset、Leader、Replicas
消息流量: 实时消息生产和消费速率
消息查询: 按 Offset、时间戳、Key 查询消息
配置管理: 查看和修改 Topic 配置
分区重分配: 手动触发分区重新分配
消费延迟: 各消费者组的消费进度和延迟
详细信息:
分区分布和状态
ISR (In-Sync Replicas) 列表
Leader 选举历史
消息保留策略
压缩类型和配置
消费者组订阅情况
5. 消费者监控 (Consumer)
消费者监控
功能特性:
消费者组列表: 所有活跃的消费者组
消费进度: 每个组的消费 Offset 和 Lag
延迟告警: 消费延迟超过阈值自动告警
消费者详情: 查看组内每个消费者实例
消费趋势: 消费速率和延迟趋势图
重置 Offset: 支持重置消费位置
监控指标:
Consumer Group ID
订阅的 Topic 列表
总 Lag 数量
消费速率 (msg/s)
消费者实例数
最后消费时间
分区分配策略
6. AI 智能对话 (AI Chat)
AI 智能对话
功能特性:
智能助手: 基于大语言模型的 Kafka 运维助手
自然语言交互: 用自然语言查询 Kafka 状态
数据可视化: 自动生成图表展示数据
问题诊断: 智能分析和解决 Kafka 问题
操作建议: 提供最佳实践和优化建议
历史记录: 保存对话历史便于回溯
支持的查询类型:
"查询集群状态"
"分析 Topic XYZ 的消费延迟"
"为什么消费者组 ABC 停止消费?"
"如何优化 Topic 性能?"
"生成消息流量趋势图"
"诊断 Broker 性能问题"
AI 能力:
自动理解用户意图
查询 Kafka 元数据和指标
生成可视化图表 (Chart.js)
提供运维建议和最佳实践
解释 Kafka 概念和参数
7. 模型配置 (Model)
模型配置
功能特性:
模型管理: 配置和切换 AI 大语言模型
API 配置: 管理 OpenAI、Azure、本地模型 API Key
参数调优: 调整 Temperature、Max Tokens 等参数
模型测试: 在线测试模型响应效果
使用统计: 查看 API 调用次数和费用
多模型支持: 支持 OpenAI GPT、Azure OpenAI、本地模型
支持的模型:
OpenAI GPT-5 模型
Azure OpenAI Service
本地部署的开源模型 (如 Llama, ChatGLM)
自定义模型接口
配置项:
模型名称和版本
API Endpoint
API Key / Token
Temperature (0.0 - 1.0)
Max Tokens
超时设置
重试策略
8. 性能监控 (Performance)
性能监控
功能特性:
实时监控: Broker、Topic、Consumer 性能指标
历史数据: 支持查询历史性能数据
自定义图表: 自定义监控指标和时间范围
性能分析: 自动分析性能瓶颈
趋势预测: 基于历史数据预测趋势
性能告警: 指标超过阈值自动告警
监控指标:
Broker 指标:
CPU、内存、磁盘使用率
网络 I/O 吞吐量
请求处理延迟
活跃连接数
Topic 指标:
消息生产速率
消息消费速率
字节流入/流出速率
分区 Leader 分布
Consumer 指标:
消费延迟 (Lag)
消费速率
提交频率
重平衡次数
9. 告警管理 (Alert)
告警管理
功能特性:
告警规则: 自定义告警规则和阈值
多渠道通知: 支持钉钉、微信、飞书、Webhook
告警统计: 告警历史和趋势分析
告警静默: 临时屏蔽特定告警
智能告警: AI 分析告警原因和建议
告警模板: 预定义常用告警规则
告警类型:
Broker 告警:
Broker 下线
CPU/内存/磁盘使用率过高
网络异常
Topic 告警:
分区 ISR 不足
消息积压
副本同步延迟
Consumer 告警:
消费延迟过高
消费者组下线
消费停滞
通知渠道配置:
钉钉: Webhook URL
微信: Webhook URL
飞书: Webhook URL
Webhook: 自定义 HTTP 回调
10. 任务调度 (Task)
任务调度
功能特性:
定时任务: 创建和管理定时任务
Cron 表达式: 支持复杂的调度规则
任务类型: 数据采集、清理、备份、分析
执行历史: 查看任务执行记录和结果
失败重试: 自动重试失败的任务
任务日志: 详细的执行日志
支持的任务类型:
数据采集任务:
Kafka 指标采集
JMX 数据采集
日志收集
清理任务:
过期数据清理
日志归档
临时文件清理
备份任务:
配置备份
元数据导出
数据快照
分析任务:
性能报告生成
趋势分析
异常检测
调度配置:
Cron 表达式编辑器
执行时间设置
并发控制
超时设置
失败重试策略
11. 用户管理 (Users)
用户管理
功能特性:
用户管理: 创建、编辑、删除用户
权限控制: 基于角色的访问控制 (RBAC)
密码策略: 强制密码复杂度和定期更换
角色和权限:
超级管理员:
所有权限
用户管理
系统配置
管理员:
集群管理
Topic 管理
告警配置
运维人员:
监控查看
告警处理
任务管理
只读用户:
查看监控数据
查看告警信息
无修改权限
用户字段:
用户名
角色
状态 (启用/禁用)
最后登录时间
创建时间
12. 多集群管理 (Manager)
多集群管理
功能特性:
多集群统一管理: 在一个平台管理多个 Kafka 集群
环境隔离: 支持测试、预发、生产等不同环境的集群管理
集群切换: 快速在不同集群间切换查看和操作
集群对比: 对比不同集群的配置和性能指标
多环境集群管理:
生产环境 (Production):
高可用配置
严格的权限控制
完整的审计日志
实时性能监控
7×24 告警响应
预发环境 (Staging):
与生产环境配置一致
用于上线前验证
支持压力测试
数据脱敏处理
测试环境 (Testing):
开发团队使用
支持快速创建/删除 Topic
灵活的配置调整
数据自动清理
开发环境 (Development):
本地开发调试
无告警限制
支持实验性功能
集群配置管理:
连接配置:
Broker 地址列表
Zookeeper 地址(如使用)
SASL/SSL 认证配置
超时和重试参数
环境标识:
集群名称
环境标签 (dev/test/staging/prod)
颜色标识(防止误操作)
备注说明
访问控制:
基于角色的集群访问权限
生产集群限制高危操作
操作审批流程(生产环境)
集群状态监控:
集群在线状态
Broker 总数和存活数
Topic 和分区统计
消费者组数量
消息吞吐量
存储使用情况
连接健康度
4.总结
总结来看,EFAK-AI 5.0.0 以分布式架构与 AI 智能分析为核心,全面提升了 Kafka 集群的可观测性与运维效率。它不仅让监控更实时、告警更精准,还让问题分析与决策更智能。EFAK-AI 正在让 Kafka 运维从被动监控迈向主动洞察,助力构建更高效、更智能的数据流生态。
5.结束语