clickhouse-监控配置

一、概述

监控是运维的一大利器,要想运维好clickhouse,首先就要对其进行监控,clickhouse有几种监控数据的方式,一种是系统本身监控,一种是通过exporter来监控,下面分别描述一下

二、系统自带监控

我下面会对监控做一些介绍,详细可查看官网

1.配置数据采集

修改配置文件/etc/clickhouse-server/config.xml使其可以往prometheus写数据

bash 复制代码
<clickhouse>
    <listen_host>0.0.0.0</listen_host>
    <http_port>8123</http_port>
    <tcp_port>9000</tcp_port>
    <prometheus>
        <endpoint>/metrics</endpoint>
        <port>9363</port>
        <metrics>true</metrics>
        <events>true</events>
        <asynchronous_metrics>true</asynchronous_metrics>
    </prometheus>
</clickhouse>

查看metrics数据

bash 复制代码
curl 127.0.0.1:9363/metrics

2.配置prometheus和grafana

2.1安装prometheus和grafana

prometheus和grafana的启动可查看这个文章

2.2修改prometheus配置文件

bash 复制代码
# 控制 Prometheus 服务器的全局配置
global:
  scrape_interval: 15s # 将抓取间隔设置为每 15 秒一次。 默认为每 1 分钟一次。
  evaluation_interval: 15s # 每 15 秒评估一次规则。 默认为每 1 分钟一次
  # scrape_timeout 设置为全局默认值(10 秒)。

# 警报配置
alerting:
  alertmanagers:
    - static_configs:
        - targets:
          # - alertmanager:9093

# 规则配置文件
# 加载规则并根据全局 "evaluation_interval" 定期评估
rule_files:
  # - "first_rules.yml"
  # - "second_rules.yml"

# 配置采集目标相关, prometheus 监视的目标。
# Prometheus 自身的运行信息可以通过 HTTP 访问,所以 Prometheus 可以监控自己的运行数据。
scrape_configs:
  # 监控作业的名称 
  - job_name: "prometheus"

    # metrics_path defaults to '/metrics'
    # 表示静态目标配置,就是固定从某个 target 拉取数据
    # 默认方案为 HTTP
    static_configs:
      - targets: ["localhost:9090"]

  # 添加如下 clickhouse 监控
  - job_name: "clickhouse"
    static_configs:
      - targets: ['127.0.0.1:9363']
      - targets: ['192.168.1.2:9363']
      - targets: ['192.168.1.3:9363']

2.3 导入grafana模版

导入grafana面板,可以从官网中找合适的面板,亲测如果只使用clickhouse的内部监控,不基于exporter,14192的面板比较合适

  • 添加文件夹
  • 添加面板
  • 选择面板号或直接导入json文件

这样一套基于clickhouse的监控就处理好了

三、基于exporter的监控

clickhouse_exporter详情可以通过github来进行查看,exporter只能用于旧的ClickHouse版本,现代版本嵌入了Prometheus端点,安装go的方式可以看这篇文章

bash 复制代码
# 安装go环境,使用如下安装方式安装的是go1.6版本,编译会报错,需要安装高版本的go(应该大于1.13版本即可),我使用的是1.21的版本
apt-get install golang

# 下载代码
git clone  https://github.com/ClickHouse/clickhouse_exporter.git
# 进入到目录
cd clickhouse_exporter
# 编译
go build clickhouse_exporter.go
# 启动exporter
nohup ./clickhouse_exporter &

只下来就可以按照上面的步骤来配置了,可以应用882模版,也可以在已有的dashboard中配置一些我们需要的查询

加上对应的query后apply即可

告警指标可以参考腾讯云的指标

相关推荐
冉冰学姐22 分钟前
SSM装修服务网站5ff59(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。
数据库·ssm 框架·装修服务网站
库库83927 分钟前
Redis分布式锁、Redisson及Redis红锁知识点总结
数据库·redis·分布式
沧澜sincerely34 分钟前
Redis 缓存模式与注解缓存
数据库·redis·缓存
Elastic 中国社区官方博客1 小时前
Elasticsearch 推理 API 增加了开放的可定制服务
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
nzxzn2 小时前
MYSQL第二次作业
数据库·mysql
核桃杏仁粉2 小时前
excel拼接数据库
数据库·oracle·excel
TiAmo zhang2 小时前
SQL Server 2019实验 │ 设计数据库的完整性
数据库·sqlserver
冻咸鱼3 小时前
MySQL的CRUD
数据库·mysql·oracle
Funny Valentine-js3 小时前
团队作业——概要设计和数据库设计
数据库
CodeJourney.3 小时前
SQL提数与数据分析指南
数据库·信息可视化·数据分析