前言

常言道,兵马未至,粮草先行。在clickhouse上生产环境之前,我们就得制定好相关的监控方案,包括指标采集、报警策略、图形化监控大盘。有了全面有效的监控,我们就仿佛拥有了千里眼顺风耳,对于线上任何风吹草动都能做到及时感知,在必要的情况下提前介入以避免线上故障。

clickhouse监控采集方案

业界做法

业界常用的监控方案一般是基于clickhouse-exporter(node-exporter) + prometheus + grafana组成的监控方案。

以上为监控方案示意图,其中各组件负责功能如下

  • clickhouse-server中有4个系统表会记录进程内部的指标,分别是system.metrics,system.asynchronous_metrics, system.events,system.parts  配置文件默认开启

  • clickhuse-exporter是一个用于采集clickhouse指标的开源组件(https://github.com/ClickHouse/clickhouse_exporter),它会定时查询clickhouse-server中的系统表,转化成监控指标,并通过HTTP接口暴露给prometheus. 由统一采集中心替代

  • node-exporter是一个用于采集硬件和操作系统相关指标的开源组件(https://github.com/prometheus/node_exporter)。 由zabbix监控替代

  • prometheus定时抓取clickhouse-exporter暴露的指标,并判断报警条件是否被触发,是则推送到alert manager 由自研监控系统替代

hubble监控clickhouse采集方案设计

如下图,利用采集中心采集clickhouse系统指标,就可以实现将clickhouse-server端监控接入hubble现有监控系统,后续如果需要监控其他集群,添加采集即可

clickhouse监控指标详细说明

1 server端

概况说明

server端指的是clickhouse所在集群,监控包括server所在的机器情况和server本身的运行情况,机器情况目前通过zabbix就可以实现监控和报警,而server本身的运行情况目前是通过granfana直连查询server端的系统日志表实现的监控。目前是通过采集中心进行指标采集上报并接入hubble监控系统

指标列表

  • 核心指标

  • 分布式表、zk相关指标

  • server运行状态指标(用于问题排查分析定位)

一些用于问题排查的指标和工具

  • 查询来源以及查询热点排查:下图用于排查突增的查询请求的数据source和请求来源IP,便于问题定位

  • 慢查询、大查询情况:下面是按source统计出的慢查询和大查询情况,以及正在执行的慢查询语句情况,方便问题排查

  • 一些有助于排查问题的查询sql:

列出正在执行的慢查询

各数据库扫描行数大于1亿的查询数量

各数据库大于3s的查询数量

各数据库查询次数及来源ip

各数据库磁盘占用大小及压缩比

  • 集群机器大盘页(cpu、内存、io、磁盘容量等信息)(zabbix)

存活监控

  • 通过HTTP API监视服务器可用性。将HTTP GET请求发送到/ping。如果服务器可用,它将以 200 OK 响应。

  • 对于复制表集群,还需额外监控副本是否:请求/replicas_status,如果副本可用,并且不延迟在其他副本之后,则返回200 OK。如果副本滞后,请求将返回503 HTTP_SERVICE_UNAVAILABLE,包括滞后信息

2 client端(包括操作clickhouse进行查询和写入的模块)

概况说明

这一部分主要是我们将client端与clickhouse端的交互情况进行埋点上报,配置相关大盘页,并对相关指标配置报警策略实现的。

核心指标监控大盘

写情况:

  • 各集群写次数,写耗时,写失败数,内存队列堆积情况,kafka堆积情况,失败回跑数量

读情况:

  • hubble各模块查询请求数、失败数、平均耗时、p99耗时

后续TODO

  • 探活检测的同时实现节点故障的自动切换和恢复

参考文章

  • clickhouse集群监控:https://zhuanlan.zhihu.com/p/353594919

  • 官方监控建议:https://clickhouse.tech/docs/en/operations/monitoring/


如何做好Clickhouse集群的监控覆盖?相关推荐

  1. 查看grafana版本_使用 Prometheus 与 Grafana 为 Kubernetes 集群建立监控与警报机制

    作者 | Gregoire DAYET 策划 | 田晓旭 IT 团队已经明确意识到对基础设施进行监控的必要性.目前市面上存在着大量适用于传统基础设施且历史悠久的解决方案:Nagios.Zabbix 等 ...

  2. k8s集群资源监控-监控指标和方案---K8S_Google工作笔记0052

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 我们接下来要实现集群的监控,那么我们要监控什么? 比如节点资源利用率,有多少节点在用,多少节点在空 ...

  3. 备份k8s_树莓派k8s集群安装kafka集群及监控

    安装准备 树莓派k8s集群 root@pi4-master01:~# kubectl get nodes -o wideNAME STATUS ROLES AGE VERSION INTERNAL-I ...

  4. clickhouse集群容器化搭建

    本文将记录使用clickhouse镜像,分别在两种场景下搭建6节点集群(3分片2副本):1.在一台机器上使用容器方式安装clickhouse集群:2.在六台机器上使用容器方式安装clickhouse集 ...

  5. clickhouse集群搭建

    clickhouse集群搭建 https://clickhouse.tech/ 单机安装 1.从源安装 https://clickhouse.tech/docs/zh/getting-started/ ...

  6. 大数据运维 | 集群_监控_CDH_Docker_K8S_两项目_云服务器

    说明:大数据时代,传统运维向大数据运维升级换代很常见,也是个不错的机会.如果想系统学习大数据运维,个人比较推荐通信巨头运维大咖的分享课程,主要是实战强.含金量高.专注度高,有6个专题+2个大型项目+腾 ...

  7. K8s 集群资源监控、高可用搭建、部署java项目 (下)

    目录 集群资源监控 监控指标和搭建方案 搭建监控平台(k8s部署) 部署守护进程 部署prometheus 部署Grafana 高可用k8s集群 系统初始化 master节点部署keepalived ...

  8. dockerer-compose搭建单机clickhouse集群,工作中最新亲测能用,超详细

    作为一名菜鸟Java工程师,公司这几天让我搭建clickhouse集群,对于搭建过的人来说十分简单,对zookeeper不太熟悉的人来说还是有一定难度的,这一周我在公司的角色更像是运维人员搭建集群和服 ...

  9. Docker搭建Clickhouse集群

    Docker搭建Clickhouse集群 环境说明 2C 2G 30G hostname IP 操作系统 服务 localhost 192.168.88.171 CentOs 7.8 clickhou ...

最新文章

  1. CKEditor的安装与基本使用
  2. 30个 Web 设计者 必备的免费 PSD UI 工具包
  3. mysql @@version_MySQL数据库安装Version5.5
  4. hihocoder#1041 : 国庆出游(DFS)
  5. 无招胜有招之Java进阶JVM(三)内存模型
  6. WPF 分页控件应用
  7. python语言精通_Python语言基础从入门到精通
  8. 根据一个属性,剔除 Json 中重复元素(删除 JSON 中重复的部分)
  9. 天猫好房和易居,1+1=1?
  10. 常用排序算法及其实现
  11. 【 D3.js 入门系列 --- 7 】 理解 update, enter, exit 的使用
  12. 【PostgreSQL-9.6.8】序列
  13. 泸州市的电子计算机学校名称,泸州电子计算机机械学校2020年招生简介
  14. 网络篇-NSURLSession介绍
  15. 在Flask程序中实现GitHub登录和GitHub资源交互
  16. java小球碰撞界面设计_JavaScript实现小球碰撞特效
  17. Jetson Nano 系列之:25FPS性能优化之路
  18. qt 飞扬青云_Qt编写图片及视频TCP/UDP网络传输
  19. TOPcoder准备
  20. dos下masm的out of memory 怎么解决,求大佬指教

热门文章

  1. 操作系统真像还原 - MBR主引导程序初体验
  2. 为何农历10月1号要祭祖上坟?原来有这么多讲究,你知道吗?
  3. win10忘记密码_电脑忘记密码没关系,这招教你简单轻松改密码
  4. 华为发布新一代CloudLink视讯解决方案
  5. 国空三区三线思考之:Arcgis自上而下从左到右进行编号
  6. [Luogu5042/UOJ #100][国家集训队互测2015]丢失的题面/ydc的题面
  7. 乐观中谨慎 招聘调薪现贫富差距
  8. CSS开发中所有基本属性的使用技巧
  9. “天鹅”类谜解大全!(转载)
  10. 如何使用JS实现banner图滚动