ClickHouse监控系统Prometheus+Grafana


1 Prometheus+Grafana概述

在这里插入图片描述

ClickHouse 运行时会将一些个自身的运行状态记录到众多系统表中( system.*)。所以我们对于 CH 自身的一些运行指标的监控数据,也主要来自这些系统表。
但是直接查询这些系统表会有一些不足之处:

  • 这种方式太过底层,不够直观,我们还需要在此之上实现可视化展示;
  • 系统表只记录了 CH 自己的运行指标,有些时候我们需要外部系统的指标进行关联分析,例如 ZooKeeper、服务器 CPU、IO 等等。

现在 Prometheus + Grafana 的组合比较流行,安装简单易上手,可以集成很多框架,包括服务器的负载, 其中 Prometheus 负责收集各类系统的运行指标; Grafana 负责可视化的部分。
ClickHouse 从 v20.1.2.4 开始,内置了对接 Prometheus 的功能,配置的方式也很简单,可以将其作为 Prometheus 的 Endpoint 服务,从而自动的将 metrics 、 events 和asynchronous_metrics 三张系统的表的数据发送给 Prometheus。

2 安装Prometheus + Grafana

下载地址
Prometheus 下载地址:https://prometheus.io/download/
Grafana 下载地址:https://grafana.com/grafana/download

安装Prometheus
Prometheus 是基于 Golang 语言编写,编译后的软件包,不依赖于任何的第三方依赖。只需要 下载对应平台的二进制包,解压并且添加基本的配置即可正常启动 Prometheus Server。

将已下载好的prometheus-2.30.3.linux-amd64.tar.gz上传到/opt/software/,然后解压更名:

# 解压
tar -zxvf prometheus-2.30.3.linux-amd64.tar.gz

# 改名
mv prometheus-2.30.3.linux-amd64 prometheus

修改配置文件:

# 切换路径
cd prometheus
# 编辑配置文件
vim prometheus.yml

# 控制 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-1'
    static_configs:
    - targets: ['node2:9363'] 
# 默认端口号为 9396,要跟 clickhouse 的配置相同

因为是yml文件,所以缩进特别严格,每个缩进代表不同层级,需要注意。

启动:

# 前台启动
./prometheus --config.file=prometheus.yml

# 后台启动
nohup ./prometheus --config.file=prometheus.yml > ./prometheus.log 2>&1 &

访问 webUI 页面:

http://node2:9090

安装Grafana
Grafana是一款用Go语言开发的开源数据可视化工具,可以做数据监控和数据统计,带有告警功能。目前使用grafana的公司有很多,如paypal、ebay、intel等。

将grafana-enterprise-8.2.1.linux-amd64.tar.gz上传到/opt/software/,然后解压、更名:

tar zxvf grafana-enterprise-8.2.1.linux-amd64.tar.gz

启动 Grafana:

# 转到 grafana 文件夹
cd grafana-8.2.1/

# 前台启动
bin/grafana-server web

# 后台启动
 nohup ./bin/grafana-server web > ./grafana.log 2>&1 &

打开 web UI:

http://node2:3000

账号名与密码默认 admin

3 配置ClickHouse

修改配置文件

vim /etc/clickhouse-server/config.xml

将下面内容的注释打开

<prometheus>
   <endpoint>/metrics</endpoint>
   <port>9363</port>

   <metrics>true</metrics>
   <events>true</events>
   <asynchronous_metrics>true</asynchronous_metrics>
   <status_info>true</status_info>
 </prometheus>

如果有多个节点,需要在每个节点都进行配置。
因为改了配置文件,配置完成之后需要重启 clickhouse生效。

网页访问hadoop1:9363/metrics,能看到相关信息就说明好了。当然显示的数据不方便看,这也是使用Prometheus+Grafana的意义所在。

4 配置Grafana

添加Prometheus数据源
点击左侧齿轮logo,选择Data sources,点击Add data source

img

img

之后在搜索框中搜索Prometheus,然后点击select

img

然后参考下图进行配置修改:

img

提示Data source is working则说明正常。

接下来创建可视化页面,可以自己创建 Dashboard 添加需要监控的指标:
左侧点击加号,选择Dashboard

img

添加一个新的仪表板:

img

添加监控指标:

img

但手动添加指标太慢,需要很久才能将所需的指标都添加完成,并且需要一定的经验,否则会遗漏一些重要指标,这里推荐使用clickhouse监控模板,可以到 https://grafana.com/dashboards 网站,找到大量可直接使用的 Dashboard 模板。

Grafana 中所有的 Dashboard 通过 JSON 进行共享,下载并且导入这些 JSON 文件,就可 以直接使用这些已经定义好的 Dashboard。

img

下载模板:
注意不一定下载量越多越好,还要注意一下更新日期

img

img

导入模板:

img

img

设置数据源:

img

可以看到模板中的监控指标:

img

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
数据分析职业是一个多金的职业,数据分析职位是一个金饭碗的职位,前景美好,但是要全面掌握大数据分析技术,非常困难,大部分学员的痛点是不能快速找到入门要点,精准快速上手。本课程采用项目驱动的方式,以Spark3和Clickhouse技术为突破口,带领学员快速入门Spark3+Clickhouse数据分析,促使学员成为一名高效且优秀的大数据分析人才。学员通过本课程的学习,不仅可以掌握使用Python3进行Spark3数据分析,还会掌握利用Scala/java进行Spark数据分析,多语言并进,力求全面掌握;另外通过项目驱动,掌握Spark框架的精髓,教导Spark源码查看的技巧;会学到Spark性能优化的核心要点,成为企业急缺的数据分析人才;更会通过Clickhouse和Spark搭建OLAP引擎,使学员对大数据生态圈有一个更加全面的认识和能力的综合提升。真实的数据分析项目,学完即可拿来作为自己的项目经验,增加面试谈薪筹码。课程涉及内容:Ø  Spark内核原理(RDD、DataFrame、Dataset、Structed Stream、SparkML、SparkSQL)Ø  Spark离线数据分析(千万简历数据分析、雪花模型离线数仓构建)Ø  Spark特征处理及模型预测Ø  Spark实时数据分析(Structed Stream)原理及实战Ø  Spark+Hive构建离线数据仓库(数仓概念ODS/DWD/DWS/ADS)Ø  Clickhouse核心原理及实战Ø  Clickhouse engine详解Ø  Spark向Clickhouse导入简历数据,进行数据聚合分析Ø  catboost训练房价预测机器学习模型Ø  基于Clickhouse构建机器学习模型利用SQL进行房价预测Ø  Clickhouse集群监控,Nginx反向代理Grafana+Prometheus+Clickhouse+node_exporterØ  Spark性能优化Ø  Spark工程师面试宝典       课程组件:集群监控:福利:本课程凡是消费满359的学员,一律送出价值109元的实体书籍.

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

赵广陆

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值