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

相关推荐
Piper蛋窝3 小时前
深入 Go 语言垃圾回收:从原理到内建类型 Slice、Map 的陷阱以及为何需要 strings.Builder
后端·go
prince055 小时前
Kafka 生产者和消费者高级用法
分布式·kafka·linq
六毛的毛6 小时前
Springboot开发常见注解一览
java·spring boot·后端
AntBlack6 小时前
拖了五个月 ,不当韭菜体验版算是正式发布了
前端·后端·python
31535669136 小时前
一个简单的脚本,让pdf开启夜间模式
前端·后端
uzong6 小时前
curl案例讲解
后端
菜萝卜子6 小时前
【Project】基于kafka的高可用分布式日志监控与告警系统
分布式·kafka
一只叫煤球的猫7 小时前
真实事故复盘:Redis分布式锁居然失效了?公司十年老程序员踩的坑
java·redis·后端
csdn_aspnet7 小时前
在 Windows 上安装和运行 Apache Kafka
windows·kafka
大鸡腿同学8 小时前
身弱武修法:玄之又玄,奇妙之门
后端