Kafka监控工具 EFAK-AI 介绍

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

快速启动脚本提供:

  1. Docker 一键部署
  2. tar.gz 安装包构建
  3. 日志查看和服务管理

方式一: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. 访问应用

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,支持多种部署方式:

功能选项:

  • 选项 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)

功能特性:

  • 智能助手: 基于大语言模型的 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.结束语

这篇博客就和大家分享到这里,如果大家在研究学习的过程当中有什么问题,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

另外,博主出新书了《Hadoop与Spark大数据全景解析》、同时已出版的《深入理解Hive》、《Kafka并不难学》和《Hadoop大数据挖掘从入门到进阶实战》也可以和新书配套使用,喜欢的朋友或同学, 可以在公告栏那里点击购买链接购买博主的书进行学习,在此感谢大家的支持。关注下面公众号,根据提示,可免费获取书籍的教学视频。

相关推荐
Wild_Pointer.6 小时前
面向Qt/C++开发工程师的Ai提示词(附Trae示例)
人工智能·ai·大模型
三天哥6 小时前
演示和解读ChatGPT App SDK,以后Android/iOS App不用开发了?
人工智能·ai·chatgpt·aigc·openai·智能体·appsdk
1.01^100012 小时前
[7-01-02].第05节:环境搭建 - 基础环境
kafka
CoderJia程序员甲13 小时前
GitHub 热榜项目 - 日榜(2025-10-10)
ai·开源·大模型·github·ai教程
CoderJia程序员甲14 小时前
GitHub 热榜项目 - 日榜(2025-10-06)
ai·开源·llm·github·ai编程·github热榜
芒果作者16 小时前
cursor注册无需手机号
运维·服务器·ai·cursor
正牌强哥1 天前
Futures_ML——机器学习在期货量化交易中的应用与实践
人工智能·python·机器学习·ai·交易·akshare
Jabes.yang1 天前
Java求职面试:从Spring Boot到Kafka的技术探讨
java·spring boot·面试·kafka·互联网大厂
还是大剑师兰特2 天前
Kafka 面试题及详细答案100道(91-95)-- 问题排查与解决方案1
kafka·大剑师·kafka面试题·kafka教程