Kakka dashboard技术选型及实战Know Streaming

这里是weihubeats ,觉得文章不错可以关注公众号小奏技术,文章首发。拒绝营销号,拒绝标题党

背景

如果要自建kafka,那么一款功能齐全好用的dashbaord是必不可少的。

主流的kafka dashbaord

这里简单调研了下主流的dashbaord

  • Know Streaming 滴滴开源 start:6.6k
  • kafka-ui start:7.5k
  • CMAK 最早叫kafka manager,雅虎开源 start:11.6k
  • kafka-map 一个美观简洁且强大的kafka web管理工具 start:0.6k

这里其实也没有做太多的功能对比,主要是还是选用国人开源的Know Streaming,毕竟他们称是东半球最简单易用的。

文档、功能非常完善、沟通起来也方便,我们可以看看文档

软件依赖

官方文档地址

部署

部署目前支持多种方式

这里我们使用docker compose方式

docker安装

sh 复制代码
curl -fsSL https://test.docker.com -o test-docker.sh
sudo sh test-docker.sh

下载源码

bash 复制代码
git clone https://github.com/didi/KnowStreaming.git

部署

sh 复制代码
cd /data/KnowStreaming/km-dist/docker
docker compose up -d
vbnet 复制代码
✔ Container knowstreaming-manager  Started                                                                                                                                                                                                           10.8s 
 ✔ Container elasticsearch-single   Started                                                                                                                                                                                                            1.4s 
 ✔ Container knowstreaming-ui       Started                                                                                                                                                                                                            0.8s 
 ✔ Container knowstreaming-mysql    Started  

可以看到总共启动了四个组件

  • manager 后台项目
  • elasticsearch es主要存储一些监控埋点数据
  • ui 前端数据
  • mysql 后台数据库

停止

sh 复制代码
docker compose stop

重启

复制代码
docker compose restart

访问

arduino 复制代码
http://127.0.0.1

官方也给了一个测试访问的地址。

ini 复制代码
https://demo.knowstreaming.com/login?redirect=/

默认账号密码

  • admin
  • admin

ui还是比较好看的。功能也很气齐全

日志清理

manager的log不会自动清理。可以进入到容器写一个脚本自动清理

  1. 进入容器
sh 复制代码
docker container exec -it cbf852xdf02b /bin/bash
  1. 修改镜像源
sh 复制代码
cat << EOF > /etc/apt/sources.list


# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ buster main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-updates main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian/ buster-backports main contrib non-free

deb http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free
# deb-src http://mirrors.tuna.tsinghua.edu.cn/debian-security buster/updates main contrib non-free

# deb http://security.debian.org/debian-security buster/updates main contrib non-free
# # deb-src http://security.debian.org/debian-security buster/updates main contrib non-free

EOF

  1. update apt
sql 复制代码
apt update
  1. 安装vim

    apt install vim

  2. 安装cron

sh 复制代码
apt install cron
  1. 编辑脚本
bash 复制代码
cd /logs

vim clear.sh
  • 脚本内容
bash 复制代码
#!/bin/bash

logPath=/logs/

cd $logPath

rm log_debug_*
rm log_error_*
rm log_info_*
rm log_warn_*ls
  1. 添加定时任务
sh 复制代码
crontab -e

添加内容

javascript 复制代码
*/30 * * * * sh /logs/clear.sh

重启cron

复制代码
service cron restart

dcoker镜像log清理

实际脚本里面对docker的log没有进行限制。

我们可以修改容器的log限制

最简单的方式就是进入容器log目录

一般是在这个目录

bash 复制代码
/var/lib/docker/containers/container_id/

然后直接 echo "" > cbf859cdf02bee9baabcf05b5d1439aca5a2db9d03562b2011986d8bc02f7dc0-json.log

相关推荐
有梦不弃6 分钟前
模块化单体架构设计方案:DDD + 六边形架构落地实践
后端·架构
江南十四行4 小时前
Spring框架核心(上)——IoC控制反转与DI依赖注入详解
java·后端·spring
IT_陈寒5 小时前
Redis缓存击穿把我坑惨了,原来这样设过期时间才靠谱
前端·人工智能·后端
妙码生花6 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(五十二):管理员权限检查中间件,AI 随意放行预闯大祸
前端·后端·go
创安电气研究所6 小时前
用 Node.js 将变频器运行数据接入 MQTT
后端
董员外6 小时前
RAG 系统进化论(八):Agentic RAG(智能体式 RAG),从回答问题到完成任务
人工智能·后端·设计模式
大勇前进6 小时前
告别 div 满天飞,HTML5 语义化标签真的有必要用吗?
后端
小满zs6 小时前
Go语言第六章(结构体)
后端·go
属于自己的天空6 小时前
每天省去重复 Prompt:我用 Skills 把 CRUD 生成标准化了
前端·后端