ClickHouse(八)监控与备份

1、ClickHouse监控概述

        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/

2.1、安装Prometheus

        1、解压,修改配置文件prometheus.yml,添加如下

  - job_name: 'clickhouse-1'
    static_configs:
    - targets: ['hadoop3:9363']

        配置说明:

  1. global配置块:控制Prometheus服务器的全局配置
    1. scrape_interval:配置拉取数据的时间间隔,默认为1分钟。
    2. evaluation_interval:规则验证(生成alert)的时间间隔,默认为1分钟。
  2. rule_file配置块:规则配置文件
  3. scrape_configs配置块:配置采集目标相关,prometheus监视的目标。Prometheus自身的运行信息可以通过HTTP访问,所以Prometheus可以监控自己的运行数据。
    1. job_name:监控作业的名称。
    2. static_configs:表示静态目标配置,就是固定从某个target拉取数据
    3. targets:指定监控的目标,其实就是从哪里获取数据。Prometheu会从http://hadoop3:9363/metrics上拉取数据。

        Prometheus是可以在运行时自动加载配置的。启动时需要添加:-web.enable-lifecycle

        2、启动Prometheus Server

nohup ./prometheus --config.file=prometheus.yml > ./prometheus.log 2>&1 &

        3、浏览器输入:http://hadoop3:9090/。如下图所示,

         prometheus是up状态,表示安装启动成功。

2.2、Grafana安装

        启动Grafana:

nohup ./bin/grafana-server web > ./grafana.log 2>&1 &

        打开web:http://hadoop3:3000,默认用户名和密码是:admin

3、ClickHouse配置

        修改每个节点下的配置文件,并重启服务:

        编辑/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>

        网页打开http://hadoop3:9363/metrics,如下所示:

4、Grafana集成Prometheus

4.1、添加数据源Prometheus

        1、点击配置,点击Data Sources:

4.2、添加监控

        手动一个个添加Dashboard比较繁琐,Grafana社区鼓励用户分享Dashboard,通过https://grafana.com/dashboards网站,可以找到大量可直接使用的Dashboard模版。

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

        1、例如,点击Download JSON即可下载

         2、导入

         3、最后展示如下:

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ClickHouse是一个开源的列式数据库管理系统,专为大规模数据分析和实时查询而设计。它具有高性能、可扩展性和低延迟的特点,适用于处理海量数据和高并发查询。 ClickHouse数仓是基于ClickHouse构建的数据仓库,用于存储和分析大规模数据。它可以通过将数据以列式存储的方式进行压缩和索引,实现高效的数据查询和分析。ClickHouse数仓通常用于以下场景: 1. 实时分析:ClickHouse数仓可以处理大规模数据的实时查询,支持高并发的查询请求,能够快速响应用户的分析需求。 2. 数据仓库:ClickHouse数仓可以作为企业的数据仓库,集成多个数据源的数据,并提供统一的数据查询和分析接口。 3. 日志分析:ClickHouse数仓可以用于存储和分析大量的日志数据,通过对日志数据进行查询和分析,可以获取有价值的业务洞察。 4. 时序数据分析:ClickHouse数仓适用于存储和分析时序数据,例如传感器数据、监控数据等,可以实现高效的时序数据查询和分析。 要构建一个性能和稳定性俱佳的ClickHouse数仓,需要注意以下几点: 1. 数据模型设计:合理设计数据模型,包括表结构、索引和分区等,以满足查询需求并提高查询性能。 2. 数据导入和更新:使用合适的数据导入工具或ETL流程,将数据从源系统导入到ClickHouse数仓,并定期更新数据。 3. 查询优化:优化查询语句,使用合适的索引和分区策略,避免全表扫描和不必要的数据传输,提高查询性能。 4. 硬件和网络配置:选择适当的硬件配置和网络环境,以满足高并发查询和大规模数据存储的需求。 5. 容错和故障恢复:配置合适的备份和故障恢复策略,确保数据的可靠性和可用性。 6. 监控和调优:监控ClickHouse数仓的性能指标,及时发现和解决性能问题,进行系统调优。 7. 安全性和权限控制:设置合适的安全策略和权限控制,保护数据的机密性和完整性。 8. 高可用性和扩展性:配置ClickHouse集群,实现高可用性和水平扩展,以应对高并发和大规模数据的需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值