【ClickHouse监控】clickhouse-exporter+prometheus+grafana实现clickhouse监控

下面介绍一下clickhouse-exportor+prometheus+grafana实现clickhouse监控(目前为CH单节点,CH集群之后用到更新)。

编排docker-compose.yml

  • 由于这三个组件在docker都有镜像,选择直接编排docker-compose.yml的方式进行安装,省时省力。文件如下:
  • dockerconpose.yml
version: '3'
services:
  prometheus:
    image: prom/prometheus:latest
    restart: always
    network_mode: host ##网络类型为主机
    user: root
    container_name: prometheus
    ports: ##开放端口
      - "9090:9090"
    depends_on: ##
      - clickhouse-exporter
    volumes: ###挂载目录,注意启动此文件之前要新建此标签下的目录
      - ./prometheus.yml:/etc/prometheus/prometheus.yml
      - ./prometheus-data:/prometheus
  grafana:
    image: grafana/grafana:latest
    restart: always
    network_mode: host
    user: root
    container_name: grafana
    ports:
      - "3000:3000"
    depends_on:
      - prometheus
    environment:##添加环境变量
      - GF_SERVER_ROOT_URL=http://xxx.xxx.xxx.xxx 
      - GF_SECURITY_ADMIN_PASSWORD=xxxxx ####admin密码
      - GF_INSTALL_PLUGINS=vertamedia-clickhouse-datasource ###在grafana运行时添加的数据库驱动,可以不安装,安装之后可以直接连接CK
    volumes:
      - ./var/lib/grafana:/var/lib/grafana
      - ./etc/grafana/:/etc/grafana/:rw
      - ./var/log/grafana:/var/log/grafana:rw
      - /etc/localtime:/etc/localtime
  clickhouse-exporter:
    image: f1yegor/clickhouse-exporter:latest
    restart: always
    network_mode: host
    container_name: clickhouse-exporter
    ports:
      - 9116:9116
    environment:###此处写CK的user和password,注意不要加空格
      - CLICKHOUSE_USER=default
      - CLICKHOUSE_PASSWORD=Biyjatqdw...
    ####此处为命令行启动docker时添加的参数,即和docker run xxxx -scrape_url=//xxx.xxx.xxx.xxx:xxxx等价
    ###写CK的host:port
    command: -scrape_uri=http://xxx.xxx.xxx.xxx:xxxx

prometheus配置文件

#全局配置
global:
  scrape_interval:     15s
  evaluation_interval: 15s
scrape_configs:
    ###监控自己
  - job_name: 'prometheus'
    static_configs:
    - targets: ['localhost:9090']
  	###监控CK-exporter
  - job_name: 'clickhouse_exporter'
    # 覆盖全局的 scrape_interval
    scrape_interval: 5s
    static_configs:
    - targets: ['127.0.0.1:9116']

创建挂载目录结构

将volumn的目录结构创建齐全,此处略过。

运行docker-compose.yml

dock-compose -f docker-compose.yml up -d

如果不出意外的话会出现三个容器:
在这里插入图片描述
访问主机9116出现类似:
在这里插入图片描述
访问:9090/targets出现
在这里插入图片描述
访问:3000出现
在这里插入图片描述
说明成功了。

配置grafana可视化

在这里插入图片描述
在这里插入图片描述
、、在这里插入图片描述

在这里插入图片描述
882是某位大神为clickhouse-exporter编写的grafana仪表板的json,可以直接从grafana的json库中找到。
至此,可以了。
在这里插入图片描述

介绍

  • clickhouse-exporter是GO语言编写的一台简单的服务器,它会定期抓取ClickHouse统计信息,并通过HTTP导出它们,以用于Prometheus消耗。感谢编写它的大神。集群可以考虑chproxy,它更加强大。
  • Prometheus 是由 SoundCloud 开源监控告警解决方案,从 2012 年开始编写代码,再到 2015 年 github 上开源以来,已经吸引了 9k+ 关注,以及很多大公司的使用;2016 年 Prometheus 成为继 k8s 后,第二名 CNCF(Cloud Native Computing Foundation) 成员。
  • grafana grafana 是一款采用 go 语言编写的开源应用,主要用于大规模指标数据的可视化展现,是网络架构和应用分析中最流行的时序数据展示工具,目前已经支持绝大部分常用的时序数据库。

===============================================
更新:
新增指标:clickhouse慢查询以及占内存查询TOP10

  • clickhouse的查询log记录在query_log表里,此表需要在users.yml文件中添加配置log_queries=1。重启clickhouseserver。然后去grafana新建仪表板,数据源为clickhouse的ip:port,如果有密码选择basic auth
  • 在这里插入图片描述
  • import 仪表板,网址在这,编号2515。使用方法在此也有介绍。
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值