还在使用 ELK 收集日志吗?赶快来试试这个基于 ClickHouse 的方案吧~

k8s技术圈

共 2132字,需浏览 5分钟

 ·

2022-05-16 14:18

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

ClickVisual 具有如下一些特性:

  • 支持可视化的查询面板,可查询命中条数直方图和原始日志。
  • 支持设置日志索引功能,分析不同索引的占比情况。
  • 支持可视化的 VS Code 风格配置中心,能够便捷地将 logagent 配置同步到 Kubernetes 集群 ConfigMap 中。
  • 支持 GitHub 和 GitLab 授权登录。
  • 支持 Proxy Auth 功能,能被被非常轻松地集成到第三方系统。
  • 支持物理机、Docker、Kubernetes 部署。
  • 支持基于 ClicHouse 日志的实时报警功能。

架构

日志系统主要分为四个部分:日志采集、日志传输、日志存储、日志管理。

  • 日志采集LogCollector 采用 Daemonset 方式部署,将宿主机日志目录挂载到 LogCollector 的容器内,LogCollector 通过挂载的目录能够采集到应用日志、系统日志、K8S 审计日志等
  • 日志传输:通过不同 Logstore 映射到 Kafka 中不同的 Topic,将不同数据结构的日志做了分离
  • 日志存储:使用 Clickhouse 中的两种引擎数据表和物化视图
  • 日志管理:开源的 ClickVisual 系统,能够查询日志,设置日志索引,设置 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 容器内:

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 容器内:

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 只是一个进行数据展示,并不会进行日志收集,所以可以根据自己的实际情况选择采集工具,比如 fluent-bit,将日志采集后输出到 Kafka 中,然后通过 Kafka 将日志消费到 Clickhouse 中去,关于 fluent-bit 的配置可以参考文档 https://clickvisual.gocn.vip/clickvisual/03funcintro/fluent-bit-configuration-reference.html 了解更多信息。

当 ClickVisual 部署完成后可以在页面中去添加 Clickhouse 数据源。

默认没有配置数据源实例,所以此处为空,点击 +新增实例,增加一个新的 ClickHouse 实例作为数据源。配置好数据源后,就可以在日志查询页面中使用了。

此外还支持日志的实时报警功能。

更多使用细节请参考官方网站了解更多 https://clickvisual.gocn.vip/。

Git 仓库:https://github.com/clickvisual/clickvisual

浏览 95
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

分享
举报