clickhouse笔记02--安装测试 clickvisual

介绍

clickvisual 是一个轻量级的开源日志查询、分析、报警的可视化平台,致力于提供一站式应用可靠性的可视化的解决方案。既可以独立部署使用,也可作为插件集成到第三方系统。目前是市面上唯一一款支持 ClickHouse 的类 Kibana 的业务日志查询平台。
本文在 Ubuntu系统上部署 clickvisual, 并与 Kibana 做了简单的对比。
clickvisual

前置条件

部署一套 mysql, 此处直接docker 拉起 mysql5

docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111

部署一套redis, 此处直接docker 拉起 redis5部署一套redis, 此处直接docker 拉起 redis5

docker run --name=redis5.0  -d -p 6379:6379 redis:5.0

部署一套 clickhouse, 部署文档参考 ​​clickhouse笔记01–快速部署clickhouse​​ ,部署完成后按照如下方式导入测试数据

在 ck 中导入数据, uk_price_paid2
下载数据(27265985条,csv 4.5GB大小):
wget http://prod.publicdata.landregistry.gov.uk.s3-website-eu-west-1.amazonaws.com/pp-complete.csv

建表,导入数据: 注意 clckvisual 需要时间字段,因此需要将 date 字段设置为 DateTime
$ clickhouse-client
localhost :) use default;
localhost :)
CREATE TABLE uk_price_paid2
(
price UInt32,
date DateTime,
postcode1 LowCardinality(String),
postcode2 LowCardinality(String),
type Enum8('terraced' = 1, 'semi-detached' = 2, 'detached' = 3, 'flat' = 4, 'other' = 0),
is_new UInt8,
duration Enum8('freehold' = 1, 'leasehold' = 2, 'unknown' = 0),
addr1 String,
addr2 String,
street LowCardinality(String),
locality LowCardinality(String),
town LowCardinality(String),
district LowCardinality(String),
county LowCardinality(String),
category UInt8
) ENGINE = MergeTree ORDER BY (postcode1, postcode2, addr1, addr2);

$ clickhouse-local --input-format CSV --structure '
uuid String,
price UInt32,
time DateTime,
postcode String,
a String,
b String,
c String,
addr1 String,
addr2 String,
street String,
locality String,
town String,
district String,
county String,
d String,
e String
' --query "
WITH splitByChar(' ', postcode) AS p
SELECT
price,
toDateTime(time) AS date,
p[1] AS postcode1,
p[2] AS postcode2,
transform(a, ['T', 'S', 'D', 'F', 'O'], ['terraced', 'semi-detached', 'detached', 'flat', 'other']) AS type,
b = 'Y' AS is_new,
transform(c, ['F', 'L', 'U'], ['freehold', 'leasehold', 'unknown']) AS duration,
addr1,
addr2,
street,
locality,
town,
district,
county,
d = 'B' AS category
FROM table" --date_time_input_format best_effort < pp-complete.csv | clickhouse-client --query "INSERT INTO uk_price_paid2 FORMAT TSV"

部署测试

下载软件配置

# 获取最新版本
latest=$(curl -sL https://api.github.com/repos/clickvisual/clickvisual/releases/latest | grep ".tag_name" | sed -E 's/.*"([^"]+)".*/\1/')

# Linux amd64系统
wget "https://github.com/clickvisual/clickvisual/releases/download/${latest}/clickvisual-${latest}-linux-amd64.tar.gz" -O clickvisual-${latest}.tar.gz

启动服务

# 解压压缩包
mkdir -p ./clickvisual-${latest} && tar -zxvf clickvisual-${latest}.tar.gz -C ./clickvisual-${latest}

# 修改配置文件 config/default.toml,将 MySQL、Redis 等配置改成你自己的配置。
# 修改完配置文件后,使用如下指令运行 clickvisual
cd ./clickvisual-${latest} && ./clickvisual -config config/default.toml

# 访问 http://localhost:19001
# login username: clickvisual
# login password: clickvisual

启动后正常输出如下:

clickhouse笔记02--安装测试 clickvisual_mysql


http://localhost:19001 帐号/密码 clickvisual/clickvisual

clickhouse笔记02--安装测试 clickvisual_Clickhouse_02


点击下方安装按钮后就会触发多个表初始化操作

clickhouse笔记02--安装测试 clickvisual_Clickhouse_03


登录界面:

clickhouse笔记02--安装测试 clickvisual_Clickhouse_04


主界面:

clickhouse笔记02--安装测试 clickvisual_mysql_05


新增实例:

在 DSN 中填写好实例信息即可: tcp://127.0.0.1:9000?username=default

clickhouse笔记02--安装测试 clickvisual_mysql_06


新增日志库:

clickhouse笔记02--安装测试 clickvisual_Clickhouse可视化_07


查看日志:

可以在搜索栏目类似 kibana 来搜索日志,可以使用一些简单的模糊匹配搜索。

clickhouse笔记02--安装测试 clickvisual_mysql_08

优缺点

clickvisual 可以用来查看 Clickhouse 中的日志数据,但其相对于主流日志系统的 Kibana 还是相差很远,未来还有很大的提示空间。此处参考 kibana 简单谈以下其部分优缺点,具体如下:
优点:

  1. 可以在前端查询 clickhouse 日志
  2. 可以配置一些简单的过滤

不足:

  1. 前端查询过滤功能比较弱,UI 也很简单
    Kibana 查询比较灵活,clickVisual 查询局限性比较大
  2. clickhouse笔记02--安装测试 clickvisual_Clickhouse_09


  3. clickhouse笔记02--安装测试 clickvisual_clickvisual_10

  4. 无法提供聚合函数,也无法通过聚合配置相关数据统计面板
  5. 前端无法提供数据导出功能
  6. 开源时间短,功能不完善,使用的时候经常报错
    接入的时候不报错,但查询不到数据:
  7. clickhouse笔记02--安装测试 clickvisual_clickvisual_11


  8. clickhouse笔记02--安装测试 clickvisual_clickvisual_12

  9. 搜索的时候异常报错:
  10. clickhouse笔记02--安装测试 clickvisual_Clickhouse_13

说明

软件环境:
Ubuntu 21.04 Desktop
mysql 5
redis 5.0
clickvisual v0.3.2-rc2
参考文档:
​​​ClickVisual官方文档 -- 二进制安装​