分享

ClickHouse可视化管理工具ckman【上篇】



问题导读:

1、什么是ckman?
2、ckman架构是怎样的?

3、怎样安装ckman?

下一篇:
ClickHouse可视化管理工具ckman【下篇】
https://www.aboutyun.com/forum.php?mod=viewthread&tid=31020



ckman介绍
ClickHouse作为OLAP场景特别优秀的数据库解决方案,写入速度快,查询性能强,尤其是聚合查询能力特别出色,已在腾讯、哔哩哔哩、快手等公司得到有效实践。与此同时,ClickHouse在集群部署时配置复杂,流程繁琐也困扰着广大使用者。在此背景之下,ckman应运而生。

ckman(ClickHouse Manager)是由擎创信息科技公司自主研发的一款管理ClickHouse的工具。它主要用来管理ClickHouse集群、节点以及数据监控等,致力于服务ClickHouse分布式的操作以及管理。同时提供简单的数据查询窗口。

通过网页端的可视化界面,ckman可以非常便捷的完成集群的导入、部署、节点的增删以及性能指标的监控等功能,可以大大简化集群部署的操作流程,从而起到事半功倍的效果。

如今,这款工具已经在github上开源啦!有想要体验的同学可以移步 https://github.com/housepower/ckman ,欢迎star和issue。

ckman架构

640 (50).jpeg

ckman支持多中心部署,使用nacos进行配置同步,可以对多个集群进行管理,在集群的每个节点下,如果配置node_exporter,则可以对对应的节点进行指标监控。node_exporter的数据传给prometheus,然后在前端展示。

ckman编译

Linux & MacOS下编译

编译环境配置

1. 安装Node.js

由于ckman将前端代码静态嵌入到了server中,因此需要安装Node.js以编译前端代码:

MacOS上安装Node.js:

  1. brew install node
复制代码

Linux下安装Node.js:

  1. yum install -y nodejs
复制代码

安装完成后,在frontend目录下执行:

  1. cd frontend
  2. sudo rm -rf node_modules package-lock.json && npm install
复制代码

2. 安装pkger

  1. go get github.com/markbates/pkger/cmd/pkger
复制代码

3. 安装swag

  1. go get -u github.com/swaggo/swag/cmd/swag
复制代码

4. 安装 nfpm2.2.4:

nfpm是一款用来打包rpm的工具,如果不打算做成rpm包,可以不安装。

由于nfpm新版本配置文件和旧版本差别很大,建议安装指定的2.2.4版本。

  1. wget -q https://github.com/goreleaser/nfpm/releases/download/v2.2.4/nfpm_2.2.4_Linux_x86_64.tar.gz
  2. tar -xzvf nfpm_2.2.4_Linux_x86_64.tar.gz
  3. cp nfpm /usr/local/bin
复制代码

编译命令

Linux和MacOS下编译命令都是一样的:

  1. make package VERSION=x.x.x   
复制代码

以上命令会编译成打包成一个tar.gz安装包,该安装包解压即可用。

VERSION是指定的版本号,如果不指定,则默认生成一个版本号为trunk的版本。

rpm编译

  1. make rpm VERSION=x.x.x
复制代码

deb编译

  1. make deb VERSION=x.x.x
复制代码

Docker编译


鉴于编译环境的诸多依赖,配置起来可能比较麻烦,因此也提供了docker编译的方式,直接运行下面的命令即可:

  1. make docker-build VERSION=x.x.x
复制代码

如果想利用docker编译rpm版本,可以先进入docker环境,再编译:

  1. make docker-sh
  2. make rpm VERSION=x.x.x
复制代码

ckman安装部署


ckman部署分为rpm包安装和tar.gz包安装。其实只是提供的安装包不一样,实际安装还是一样的。

rpm安装

安装


rpm安装直接使用命令安装即可:

  1. rpm -ivh ckman-1.2.5.x86_64.rpm
复制代码

安装完成后,在/etc/ckman目录下,会生成工作目录(日志和配置文件等都在该目录下)。

启动

rpm方式安装的ckman有两种启动方式:

方式一:

  1. /usr/local/bin/ckman -c=/etc/ckman/conf/ckman.yaml -p=/run/ckman/ckman.pid -l=/var/log/ckman/ckman.log -d
复制代码

方式二:

  1. systemctl start ckman
复制代码

tar.gz包安装

安装

可以在任意目录进行安装。安装方式为直接解压安装包即可。

  1. tar -xzvf ckman-1.5.0-201216-6b03a3a.Linux.x86_64.tar.gz
复制代码

启动


进入ckman的工作目录,执行:

  1. cd ckman
  2. bin/start
复制代码

启动之后,在浏览器输入 http://localhost:8808  跳出如下界面,说明启动成功:

640 (51).jpeg

docker启动

从v1.2.7版本开始,ckman支持从docker镜像启动。启动命令如下所示:

  1. docker run -itd -p 8808:8808 --restart unless-stopped --name ckman quay.io/housepower/ckman:latest
复制代码

但是需要注意的是,搭建promethues和nacos并不属于ckman程序自身的范畴,因此,从容器启动ckman默认是关闭nacos的,且前台Overview监控不会正常显示。

如果想自己配置nacos和prometheus,可以进入容器自行配置。

ckman配置文件

ckman的配置文件在ckman 的工作目录下的conf/ckman.yml。

一级选项 二级选项 默认值 说明
server id 1 ckman集群id,同一个集群的ckman的id号配置必须不同
port 8808 ckman默认的http端口
https false 是否支持https,默认为不支持
pprof true 是否支持pprof监控,默认支持
session_timeout 3600 会话超时(token失效)时间,默认为1个小时
publick_key 接入擎创统一门户用来解析token的公钥
swagger_enable false 是否开启swagger文档,默认不开启
log level INFO 日志级别,默认为INFO
max_count 5 滚动日志数量
max_size 10 单个日志大小,默认为10M
max_age 10 日志有效生命周期,默认为10天
prometheus hosts 127.0.0.1:9090 普罗米修斯监控的ip和端口
timeout 10 普罗米修斯的超时时间
nacos enabled true 是否开启nacos,默认为true
hosts 127.0.0.1 nacos服务的ip
port 8848 nacos服务的端口
user_name nacos 登录nacos的用户名
password 0192023A7BBD73250516F069DF18B500 登录nacos的密码
namespace 指定nacos的namespace,默认为DEFAULT
group DEFAULT_GROUP 向nacos注册的服务所处的组
data_id ckman 向nacos注册的服务名称、数据项名称


安装部署node_exporter和prometheus

参考文档:http://www.eryajf.net/2468.html

node_exporter和prometheus不一定要部署在同一台主机,在prometheus的配置文件中指定监控的node_exporter即可。

  1. static_configs:
  2.     - targets: ['localhost:9100']
复制代码

node_exporter一般是用来监控系统性能指标的,因此一般是配置在各个节点上。

prometheus和ckman不一定要配置在同一台主机,在ckman配置文件中指定prometheus的地址和端口即可。

  1. prometheus:
  2.   hosts:
  3.     - 192.168.21.73:9090
复制代码


下一篇:
ClickHouse可视化管理工具ckman【下篇】
https://www.aboutyun.com/forum.php?mod=viewthread&tid=31020





最新经典文章,欢迎关注公众号



---------------------

作者:数据仓库与Python大数据
来源:weixin
原文:ClickHouse可视化管理工具ckman




已有(2)人评论

跳转到指定楼层
若无梦何远方 发表于 2021-6-15 09:50:54
实战中用到这个的留个言 我看看
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条