滴滴开源监控平台Logi-KafkaManager实战

2024-03-13 00:59

本文主要是介绍滴滴开源监控平台Logi-KafkaManager实战,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

滴滴开源了其Kafka 监控与管控平台 Logi-KafkaManager,因为有30+个集群的维护经验,使用过kafka-manager,kafka-eagle,kafka-mirrorkaker工具,所以很期待能有1个工具能够整合kafka所有工具优点于一身,这样对于生产环境中kafka集群的管理、监控、资源分配、平滑升级、数据跨机房传输是非常好的,所以在研究kafka源码的同时研究一下Logi-KafkaManager的源码和使用,滴滴提供了体验地址:http://117.51.150.133:8080/kafka ,账户:admin/admin。

一、调试环境搭建

前端调试环境

github克隆比较慢gitee很快,采取前后端分离架构(springboot+reactJS+Typescript),代码包含了几个模块common,console,core,dao,extends,task,web,其中web中有MainApplication这个项目的启动类,其他都是依赖,console模块是基于recat+typescript的前端界面(技术栈选型还是很超前的),本地分别对前后端运行查看源码,这里把console单独放在VScode中运行;

# react跟vue一样基于node,所以npm相关依赖引入和配置启动
npm config set registry https://registry.npm.taobao.org 
npm config list #查看npm当前配置
npm install
# 启动react项目
npm start

console前端模块启动运行:

因为前后端分别用idea和vscode,所以后端项目pom.xml需要注释掉对于console前端模块的引用:

后端调试环境

依赖Maven 3.5+(后端打包),node v12+(前端打包),Java 8+(运行环境需要),MySQL 5.7(数据存储),node因为放在vscode了所以不需要,在mysql创建kafka_manager库,并且运行sql初始化语句,同时修改springboot中的mysql配置(这里官方提供的sql语句没有加字符集设置,需要加上不然报错)

mysql --default-character-set=utf8 -uroot -p123456 -P3306 -D kafka_manager < create_mysql_table.sql

将web模块的MainApplication.java配置成应用主类即可启动;

2021-01-25 19:33:22.642  INFO 18000 --- [           main] c.x.kafka.manager.web.MainApplication    : MainApplication started

由于是本地运行,console模块的API的proxy/target需要修改:

    proxy: {'/api/v1/': {target: 'http://127.0.0.1:8080',//target: 'http://10.179.37.199:8008',// target: 'http://99.11.45.164:8888',changeOrigin: true,}

以上,本地独立运行了基于前后端分离的调试环境;可以看见前端读取的是mysql库中kafka集群配置;

二、功能架构

按照官方提供的功能架构图理解,因为logi-kafka-manager的定位是kafka集群全方位管控系统,它以kafka集群为主体,封装和集成了kafka对外提供的用户API,,以kafka集群和topic资源为运营对象,面向应用系统用户(topic使用者)、kafka/管控平台开发者、kafka/管控平台运维者提供便捷的资源管理能力。按照这个思维理解,官方给的功能架构包括:资源层(zk和mysql元数据存储)、引擎层(kafka集群为主体)、网关层(kafka服务基础管理能力)、服务层(高级用户api)、平台层(面向不同用户);

三、部署验证

windows环境下的部署/调试环境

这里在win系统下本地kafka+logi-kafka-manager的联调测试验证,用于对于kafka+logi-kafka-manager的源码研究和联调,关于win环境下如何部署zookeeper以及idea中运行kafka集群可以参考之前系列文章:《kafka实践(十二):生产者(KafkaProducer)源码详解和调试》,环境配置如下:

  • 本地启动zookeeper(3.4.12),服务端口2181;

  • idea上本地启动kafka集群(1.0版本),对外暴露9999端口服务,且本地已创建yzg这个topic;

  • idea上本地启动logi-kafka-manager后端模块,参考上面配置;

  • vscode本地启动console前端模块,本地调试环境搭建完毕:http://127.0.0.1:1025/

本地测试增加kafka集群到logi-kafka-manager内进行统一管理,新增的本地集群的zk地址和kafka地址,就可以统一管理broker和topic,以及后续的资源分配,win下实现环境配置方便源码调整和kafka/管控平台人员的调试;

linux环境下生产使用

linux环境下的生产部署使用则更为简单,zk和kafka部署完成后,按照官方文档指引进行前后端统一部署,不再验证;

# mvn会调用npm模块下载node依赖
mvn install# application.yml 是配置文件cp kafka-manager-web/src/main/resources/application.yml kafka-manager-web/target/
cd kafka-manager-web/target/
nohup java -jar kafka-manager-web-2.1.0-SNAPSHOT.jar --spring.config.location=./application.yml > /dev/null 2>&1 &

四、工具理解

应用开发人员

针对应用开发人员,只关心其当前的应用系统的数据(多为日志数据)应发到哪个集群下的哪个topic?,因此logi-kafka-manager提供了“Topic管理”--“集群管理”--“监控告警”应用菜单服务,能提供以下几种服务:

  • 创建/申请应用

  • 在“Topic管理”内对当前的申请应用,匹配需要使用的topic资源(可调整配额和分区)

  • kafka集群接入申请

  • 在“监控告警”内自定义告警规则;(对消费偏移量、消费速率、集群状态、topic状态进行自定义监控,并实时预警,太有用了!)

  • 资源申请服务

kafka/管控开发人员

针对kafka/管控开发人员,需要进行应用系统、kafka集群、kafka管控平台的综合管理,增加“运维管控”菜单,提供对于kafka集群的server.config配置等集群运维能力和用户计费账单管理能力,能提供以下几种服务:

  • 创建/申请应用

  • 在“Topic管理”内对当前的申请应用,匹配需要使用的topic资源(可调整配额和分区)

  • 在“监控告警”内自定义告警规则

  • kafka集群接入、升级、配置修改能力

  • 应用管理能力

  • 平台用户计费账单管理能力

  • 资源申请服务

kafka/管控运维人员

针对kafka/管控运维人员,需要及时发现解决kafka集群问题和快速修复,提供“专家服务”,罗列常见问题和解决方法,提供以下几种服务:

  • 创建/申请应用

  • 在“Topic管理”内对当前的申请应用,匹配需要使用的topic资源(可调整配额和分区)

  • 在“监控告警”内自定义告警规则

  • kafka集群接入、升级、配置修改能力

  • 应用管理能力

  • 平台用户计费账单管理能力

  • kafka集群常见问题及修复方案

  • 资源申请服务

五、对社区的建议

对于logi-kafka-manager工具,期待整合Mirror-maker跨机房数据传输工具,更方便地配置数据实时传输和效率监控!

更多阅读

用 Python 从零开始实现简单遗传算法

5分钟掌握 Python 随机爬山算法

5分钟完全读懂关联规则挖掘算法

特别推荐


点击下方阅读原文加入社区会员

这篇关于滴滴开源监控平台Logi-KafkaManager实战的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/803156

相关文章

网页解析 lxml 库--实战

lxml库使用流程 lxml 是 Python 的第三方解析库,完全使用 Python 语言编写,它对 XPath表达式提供了良好的支 持,因此能够了高效地解析 HTML/XML 文档。本节讲解如何通过 lxml 库解析 HTML 文档。 pip install lxml lxm| 库提供了一个 etree 模块,该模块专门用来解析 HTML/XML 文档,下面来介绍一下 lxml 库

流媒体平台/视频监控/安防视频汇聚EasyCVR播放暂停后视频画面黑屏是什么原因?

视频智能分析/视频监控/安防监控综合管理系统EasyCVR视频汇聚融合平台,是TSINGSEE青犀视频垂直深耕音视频流媒体技术、AI智能技术领域的杰出成果。该平台以其强大的视频处理、汇聚与融合能力,在构建全栈视频监控系统中展现出了独特的优势。视频监控管理系统EasyCVR平台内置了强大的视频解码、转码、压缩等技术,能够处理多种视频流格式,并以多种格式(RTMP、RTSP、HTTP-FLV、WebS

百度/小米/滴滴/京东,中台架构比较

小米中台建设实践 01 小米的三大中台建设:业务+数据+技术 业务中台--从业务说起 在中台建设中,需要规范化的服务接口、一致整合化的数据、容器化的技术组件以及弹性的基础设施。并结合业务情况,判定是否真的需要中台。 小米参考了业界优秀的案例包括移动中台、数据中台、业务中台、技术中台等,再结合其业务发展历程及业务现状,整理了中台架构的核心方法论,一是企业如何共享服务,二是如何为业务提供便利。

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

综合安防管理平台LntonAIServer视频监控汇聚抖动检测算法优势

LntonAIServer视频质量诊断功能中的抖动检测是一个专门针对视频稳定性进行分析的功能。抖动通常是指视频帧之间的不必要运动,这种运动可能是由于摄像机的移动、传输中的错误或编解码问题导致的。抖动检测对于确保视频内容的平滑性和观看体验至关重要。 优势 1. 提高图像质量 - 清晰度提升:减少抖动,提高图像的清晰度和细节表现力,使得监控画面更加真实可信。 - 细节增强:在低光条件下,抖

JAVA智听未来一站式有声阅读平台听书系统小程序源码

智听未来,一站式有声阅读平台听书系统 🌟&nbsp;开篇:遇见未来,从“智听”开始 在这个快节奏的时代,你是否渴望在忙碌的间隙,找到一片属于自己的宁静角落?是否梦想着能随时随地,沉浸在知识的海洋,或是故事的奇幻世界里?今天,就让我带你一起探索“智听未来”——这一站式有声阅读平台听书系统,它正悄悄改变着我们的阅读方式,让未来触手可及! 📚&nbsp;第一站:海量资源,应有尽有 走进“智听

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

如何解决线上平台抽佣高 线下门店客流少的痛点!

目前,许多传统零售店铺正遭遇客源下降的难题。尽管广告推广能带来一定的客流,但其费用昂贵。鉴于此,众多零售商纷纷选择加入像美团、饿了么和抖音这样的大型在线平台,但这些平台的高佣金率导致了利润的大幅缩水。在这样的市场环境下,商家之间的合作网络逐渐成为一种有效的解决方案,通过资源和客户基础的共享,实现共同的利益增长。 以最近在上海兴起的一个跨行业合作平台为例,该平台融合了环保消费积分系统,在短

C#实战|大乐透选号器[6]:实现实时显示已选择的红蓝球数量

哈喽,你好啊,我是雷工。 关于大乐透选号器在前面已经记录了5篇笔记,这是第6篇; 接下来实现实时显示当前选中红球数量,蓝球数量; 以下为练习笔记。 01 效果演示 当选择和取消选择红球或蓝球时,在对应的位置显示实时已选择的红球、蓝球的数量; 02 标签名称 分别设置Label标签名称为:lblRedCount、lblBlueCount

Android平台播放RTSP流的几种方案探究(VLC VS ExoPlayer VS SmartPlayer)

技术背景 好多开发者需要遴选Android平台RTSP直播播放器的时候,不知道如何选的好,本文针对常用的方案,做个大概的说明: 1. 使用VLC for Android VLC Media Player(VLC多媒体播放器),最初命名为VideoLAN客户端,是VideoLAN品牌产品,是VideoLAN计划的多媒体播放器。它支持众多音频与视频解码器及文件格式,并支持DVD影音光盘,VCD影