clickvisual 是一个轻量级的开源日志查询、分析、报警的可视化平台,致力于提供一站式应用可靠性的可视化的解决方案。既可以独立部署使用,也可作为插件集成到第三方系统。目前是市面上唯一一款支持 ClickHouse 的类 Kibana 的业务日志查询平台。
本文在 Ubuntu系统上部署 clickvisual, 并与 Kibana 做了简单的对比。
clickvisual
部署一套 mysql, 此处直接docker 拉起 mysql5
docker run -d -p3306:3306 --name=mysql5 -e MYSQL_ROOT_PASSWORD=111111 mysql:5
进入mysql 创建 db: clickvisual
部署一套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
启动后正常输出如下:
http://localhost:19001 帐号/密码 clickvisual/clickvisual
点击下方安装按钮后就会触发多个表初始化操作
登录界面:
主界面:
新增实例:
在 DSN 中填写好实例信息即可: tcp://127.0.0.1:9000?username=default
新增日志库:
查看日志:
可以在搜索栏目类似 kibana 来搜索日志,可以使用一些简单的模糊匹配搜索。
clickvisual 可以用来查看 Clickhouse 中的日志数据,但其相对于主流日志系统的 Kibana 还是相差很远,未来还有很大的提示空间。此处参考 kibana 简单谈以下其部分优缺点,具体如下:
优点:
不足:
软件环境:
Ubuntu 21.04 Desktop
mysql 5
redis 5.0
clickvisual v0.3.2-rc2
参考文档:
ClickVisual官方文档 -- 二进制安装