基于 ClickHouse 的輕量級日志可視化分析平臺 - ClickVisual
ClickVisual 是一個輕量級的開源日志查詢、分析、報警的可視化平臺,致力于提供一站式應用可靠性的可視化的解決方案。既可以獨立部署使用,也可作為插件集成到第三方系統(tǒng)。目前是市面上唯一一款支持 ClickHouse 的類 Kibana 的業(yè)務日志查詢平臺。
ClickVisual 具有如下一些特性:
- 支持可視化的查詢面板,可查詢命中條數(shù)直方圖和原始日志。
- 支持設置日志索引功能,分析不同索引的占比情況。
- 支持可視化的 VS Code 風格配置中心,能夠便捷地將 logagent 配置同步到 Kubernetes 集群 ConfigMap 中。
- 支持 GitHub 和 GitLab 授權(quán)登錄。
- 支持 Proxy Auth 功能,能被非常輕松地集成到第三方系統(tǒng)。
- 支持物理機、Docker、Kubernetes 部署。
- 支持基于 ClicHouse 日志的實時報警功能。
架構(gòu)
日志系統(tǒng)主要分為四個部分:日志采集、日志傳輸、日志存儲、日志管理。
- 日志采集:LogCollector 采用 Daemonset 方式部署,將宿主機日志目錄掛載到 LogCollector 的容器內(nèi),LogCollector 通過掛載的目錄能夠采集到應用日志、系統(tǒng)日志、K8S 審計日志等。
- 日志傳輸:通過不同 Logstore 映射到 Kafka 中不同的 Topic,將不同數(shù)據(jù)結(jié)構(gòu)的日志做了分離。
- 日志存儲:使用 Clickhouse 中的兩種引擎數(shù)據(jù)表和物化視圖。
- 日志管理:開源的 ClickVisual 系統(tǒng),能夠查詢?nèi)罩?,設置日志索引,設置 LogCollector 配置,設置 Clickhouse 表,設置報警等。
安裝
我們可以使用二進制、Docker、Kubernetes 等方式進行安裝,為了簡單這里我們以 Docker 為例進行說明,Kubernetes 安裝方式可以參考官方文檔 https://clickvisual.gocn.vip/clickvisual/02install/k8s-installation.html。
首先需要提供一個可訪問的 MySQL,將配置 https://github.com/clickvisual/clickvisual/tree/master/data/all-in-one/clickvisual/config 中的 [mysql] 改成你本地 MySQL 的配置。
然后可以使用下面的命令來啟動 ClickVisual,需要把配置掛載到 docker 容器內(nèi):
docker run --name ClickVisual -e EGO_CONFIG_PATH=/ClickVisual/config/docker.toml -e EGO_LOG_WRITER=stderr -p 19001:19001 -d sevennt/ClickVisual:master -v ./config:/ClickVisual/config
當然你也可以使用 Docker Compose 來啟動,同樣需要把配置掛載到 docker 容器內(nèi):
version: "3"
services:
ClickVisual:
image: sevennt/ClickVisual:master
container_name: ClickVisual
environment:
EGO_CONFIG_PATH: /ClickVisual/config/docker.toml
EGO_LOG_WRITER: stderr
ports:
- "19001:19001"
restart: always
volumes:
- ./config:/ClickVisual/config
command: [ '/bin/sh', '-c', './bin/ClickVisual' ]
啟動后可以通過 http://localhost:19001 進行訪問。
由于 ClickVisual 只是一個進行數(shù)據(jù)展示,并不會進行日志收集,所以可以根據(jù)自己的實際情況選擇采集工具,比如 fluent-bit,將日志采集后輸出到 Kafka 中,然后通過 Kafka 將日志消費到 Clickhouse 中去,關于 fluent-bit 的配置可以參考文檔 https://clickvisual.gocn.vip/clickvisual/03funcintro/fluent-bit-configuration-reference.html 了解更多信息。
當 ClickVisual 部署完成后可以在頁面中去添加 Clickhouse 數(shù)據(jù)源。
默認沒有配置數(shù)據(jù)源實例,所以此處為空,點擊 +新增實例,增加一個新的 ClickHouse 實例作為數(shù)據(jù)源。配置好數(shù)據(jù)源后,就可以在日志查詢頁面中使用了。
此外還支持日志的實時報警功能。
更多使用細節(jié)請參考官方網(wǎng)站了解更多 https://clickvisual.gocn.vip/。