当前位置:   article > 正文

「从ES到CK 06」clickhouse的数据可视化工具clickvisual

clickvisual

  导航

        在完成将公司日志数据从Elasticsearch(下称ES)转战到Clickhouse后,个人认为有必要将过程记录分享。限于篇幅及便于分类组织,我会以一个系列文章的形式记录:

一、常见的clickhouse数据可视化工具

        根据clickhouse官方文档推荐,以下的比较常见的clickhouse数据开源可视化工具

名称

简述

特点/主要功能

Tabix

ClickHouse Web 界面

  • 浏览器直接连接 ClickHouse,不需要安装其他软件。
  • 高亮语法的编辑器。
  • 自动命令补全。
  • 查询命令执行的图形分析工具。
  • 配色方案选项。

HouseOps

一个交互式 UI/IDE 工具,可以运行在 OSX, Linux and Windows 平台中

  • 查询高亮语法提示,可以以表格或 JSON 格式查看数据。
  • 支持导出 CSV 或 JSON 格式数据。
  • 支持查看查询执行的详情,支持 KILL 查询。
  • 图形化显示,支持显示数据库中所有的表和列的详细信息。
  • 快速查看列占用的空间。
  • 服务配置。

灯塔

ClickHouse的轻量级Web界面

  • 包含过滤和元数据的表列表。
  • 带有过滤和排序的表格预览。
  • 只读查询执行。

DBeaver

通用的桌面数据库客户端

  • 使用语法高亮显示查询开发。
  • 表格预览。
  • 自动完成。

clickvisual

轻量级的开源日志查询、分析、报警的可视化平台

  • 支持分析日志库一键创建
  • 支持日志采集配置管理
  • 支持自定义索引配置
  • 支持报警配置
  • 支持权限粒度到库和表的权限配置

二、什么是clickvisual

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

        √ 支持可视化的查询面板,可查询命中条数直方图和原始日志。

        √ 支持设置日志索引功能,分析不同索引的占比情况。

        √ 支持可视化的 VS Code 风格配置中心,能够便捷地将 logagent 配置同步到 Kubernetes 集群 ConfigMap 中。

        √ 支持 GitHub 和 GitLab 授权登录。

        √ 支持 Proxy Auth 功能,能被被非常轻松的集成到第三方系统。

        √ 支持物理机、Docker、Kubernetes 部署。

        √ 支持基于 ClickHouse 日志的实时报警功能

三、clickvisual安装部署

1、安装基本要求

支持的操作系统

  • Linux:amd64/arm64
  • MacOS: amd64/arm64

支持的数据库

Mysql

资源要求

clickvisual 占用资源较小,在内存和 CPU 的使用上非常轻量级。推荐使用 1核 CPU、128MB 内存来运行

支持的浏览器

  • Chrome/Chromium
  • Firefox
  • Safari
  • Microsoft Edge
  • Internet Explorer 11

2、部署过程

clickvisual支持二进制、docker、k8s部署方式,此处选用二进制部署:

(1) github下载最新版本

  1. # 获取最新版本
  2. latest=$(curl -sL https://api.github.com/repos/clickvisual/clickvisual/releases/latest | grep ".tag_name" | sed -E 's/.*"([^"]+)".*/\1/')
  3. # Linux amd64系统
  4. wget "https://github.com/clickvisual/clickvisual/releases/download/${latest}/clickvisual-${latest}-linux-amd64.tar.gz" -O clickvisual-${latest}.tar.gz

(2)修改配置文件default.toml

  1. [app]
  2. isMultiCopy = false ### 集群模式开关 ###
  3. secretKey = "secretKey"
  4. rootURL = "http://xxx.xxx.xxx.xxx:xxxx/app/clickvisual/" ### serveFromSubPath为false,该值只允许是ip:port ###
  5. baseURL = "/api/admin/login/"
  6. permissionFile = '/usr/local/clickvisual/config/resource.yaml'
  7. serveFromSubPath = true ### 是否开启url子路径支持,默认为false ###
  8. [casbin.rule]
  9. path = "/usr/local/clickvisual/config/rbac.conf"
  10. [server.http]
  11. # HTTP server Host
  12. host = "0.0.0.0"
  13. # HTTP server Port
  14. port = 19001
  15. embedPath = "dist"
  16. maxAge = 86400
  17. [server.governor]
  18. # Governor server host
  19. host = "0.0.0.0"
  20. # Governor server port
  21. port = 19011
  22. [logger]
  23. # log level, avaliable level: "debug", "info", "warn", "error", "panic", "fatal"
  24. level = "debug"
  25. name = "clickvisual.log"
  26. [logger.default]
  27. level = "info"
  28. ### 集群模式才需要部署redis ###
  29. [redis]
  30. debug = true
  31. addr = "127.0.0.1:16379"
  32. writeTimeout = "3s"
  33. password = "xxx"
  34. [mysql]
  35. debug = true
  36. # database DSN
  37. dsn = "xxx:xxx@tcp(xxx.xxx.xxx.xxx:xxxx)/clickvisual?charset=utf8mb4&collation=utf8mb4_general_ci&parseTime=True&loc=Local&readTimeout=1s&timeout=1s&writeTimeou
  38. t=3s"
  39. # log level
  40. level = "debug"
  41. # maximum number of connections in the idle connection pool for database
  42. maxIdleConns = 5
  43. # maximum number of open connections for database
  44. maxOpenConns = 10
  45. # maximum amount of time a connection
  46. connMaxLifetime = "300s"
  47. [auth]
  48. mode = "memstore" # redis memstore
  49. name = "clickvisual_session"
  50. debug = true
  51. Keypairs = "secret"
  52. # if use mode redis
  53. # redisSize = 10
  54. # redisNetwork = "tcp"
  55. # redisAddr = ""
  56. # redisPassword = ""
  57. [auth.anonymous]
  58. # enable anonymous access
  59. enabled = false
  60. [auth.proxy]
  61. enabled = true ### 开启proxy auth认证模式 ###
  62. isAutoLogin = true
  63. headerName = "X-Clickvisual-User" ### 自定义header名称 ###
  64. headerNickName = "X-CLICKVISUAL-NICKNAME" ### 自定义header名称 ###
  65. rootTokenKey = "X-CLICKVISUAL-TOKEN" ### 自定义管理员token key名称 ###
  66. rootTokenValue = "xxxxxxxxx" ### 自定义管理员token key值 ###
  67. [[auth.tps]]
  68. typ = "github"
  69. enable = false
  70. clientId = ""
  71. clientSecret = ""
  72. allowSignUp = true
  73. scopes = ["user:email", "read:org"]
  74. authUrl = "https://github.com/login/oauth/authorize"
  75. tokenUrl = "https://github.com/login/oauth/access_token"
  76. apiUrl = "https://api.github.com/user"
  77. allowedDomains = []
  78. teamIds = []
  79. allowedOrganizations = []
  80. [[auth.tps]]
  81. typ = "gitlab"
  82. enable = false
  83. clientId = ""
  84. clientSecret = ""
  85. allowSignUp = true
  86. scopes = ["api"]
  87. authUrl = "https://git.bgy.com.cn/oauth/authorize"
  88. tokenUrl = "https://git.bgy.com.cn/oauth/token"
  89. apiUrl = "https://git.bgy.com.cn/api/v4"
  90. allowedDomains = []
  91. teamIds = []
  92. allowedOrganizations = []
  93. [prom2click]
  94. enable = false
  95. [[prom2click.cfgs]]
  96. host = "127.0.0.1"
  97. port = 9222
  98. clickhouseDSN = "tcp://127.0.0.1:9000"
  99. clickhouseDB = "metrics"
  100. clickhouseTable = "samples"

(3)启动clickvisual服务,浏览器访问default.toml里rootURL配置的地址

  1. ## 启动命令 ##
  2. /usr/local/clickvisual/clickvisual --config /usr/local/clickvisual/config/default.toml
  3. ## 也可以做成系统服务 ##
  4. [Unit]
  5. Description=clickvisual
  6. After=network.target
  7. [Service]
  8. Type=working
  9. User=root
  10. Group=root
  11. Restart=on-failure
  12. RestartSec=10
  13. ExecStart=/usr/local/clickvisual/clickvisual --config /usr/local/clickvisual/config/default.toml
  14. ExecStop=ps -ef |grep clickvisual |grep -v grep|awk '{print $2}'|xargs kill -9
  15. PrivateTmp=true
  16. LimitNOFILE=102400
  17. [Install]
  18. WantedBy=multi-user.target

四、clickvisual使用效果

· 日志

· 告警

· 分析

五、参考资料

  • clickvisual

        ​​https://clickvisual.net/zh/clickvisual/​

下回预告

        kibana自定义插件跳转clickvisual,以实现平稳过渡,欢迎关注后续更新的系列文章~

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/461404
推荐阅读
  

闽ICP备14008679号