详解 ClickHouse 的监控及备份

一、ClickHouse 监控概述

  • ClickHouse 运行时会将一些个自身的运行状态记录到众多系统表中(system.*)。所以对于 ClickHouse 自身的一些运行指标的监控数据,也主要来自这些系统表。
  • 直接查询这些系统表进行监控会有一些不足之处:
    • 这种方式太过底层,监控结果不够直观,还需要在此之上实现可视化展示
    • 系统表只记录了 ClickHouse 自身的运行指标,有些时候还需要外部系统的指标进行关联分析,例如 ZooKeeper、服务器 CPU、IO 等。
  • 目前市面上 Prometheus + Grafana 的组合进行监控比较流行,安装简单易上手,可以集成很多框架,包括服务器的负载,其中 Prometheus 负责收集各类系统的运行指标,Grafana 负责可视化的部分。
  • ClickHouse 从 v20.1.2.4 开始,内置了对接 Prometheus 的功能,配置的方式也很简单,可以将其作为 Prometheus 的 Endpoint 服务,从而自动的将 metrics 、 events 和 asynchronous_metrics 三张系统的表的数据发送给 Prometheus。

二、Prometheus 和 Grafana 的安装

1. Prometheus 安装

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

  • 将 Prometheus 的安装包 prometheus-2.26.0.linux-amd64.tar.gz 上传到虚拟机节点

  • 解压安装包

    cd /opt/softwaretar -zxvf prometheus-2.26.0.linux-amd64.tar.gz -C /opt/modulecd /opt/modulemv prometheus-2.26.0.linux-amd64 prometheus-2.26.0
    
  • 修改配置文件

    cd /opt/module/prometheus-2.26.0
    vim prometheus.yml#添加 ClickHouse 监控配置(注意缩进)- job_name: 'clickhouse-1'static_configs:- targets: ['hadoop102:9363']#配置说明:
    #1、global 配置块:控制 Prometheus 服务器的全局配置#1.1 scrape_interval:配置拉取数据的时间间隔,默认为 1 分钟。#1.2 evaluation_interval:规则验证(生成 alert)的时间间隔,默认为 1 分钟。
    #2、rule_files 配置块:规则配置文件
    #3、scrape_configs 配置块:配置采集目标相关, prometheus 监视的目标。Prometheus 自身的运行信息可以通过 HTTP 访问,所以 Prometheus 可以监控自己的运行数据。#3.1 job_name:监控作业的名称#3.2 static_configs:表示静态目标配置,就是固定从某个 target 拉取数据#3.3 targets:指定监控的目标,其实就是从哪儿拉取数据。Prometheus 会从http://hadoop1:9090/metrics 上拉取数据。
    #Prometheus 是可以在运行时自动加载配置的。启动时需要添加:--web.enable-lifecycle
    
  • 启动 Prometheus Server

    cd /opt/module/prometheus-2.26.0nohup ./prometheus --config.file=prometheus.yml > ./prometheus.log 2>&1 &
    
  • 登录 web 端查看:http://[host]:9090/,点击 Status,选中 Targets

2. Grafana 安装

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

  • 将 Grafana 的安装包 grafana-7.5.2.linux-amd64.tar.gz 上传到虚拟机节点

  • 解压安装包

    cd /opt/software
    tar -zxvf grafana-7.5.2.linux-amd64.tar.gz -C /opt/modulecd /opt/modulemv grafana-7.5.2.linux-amd64.tar.gz grafana-7.5.2
    
  • 启动 Grafana

    cd /opt/module/grafana-7.5.2nohup ./bin/grafana-server web > ./grafana.log 2>&1 &
    
  • 登录 web 端查看:http://[host]:3000,默认用户名和密码为 admin

三、ClickHouse 配置

  • 修改 ClickHouse 配置文件

    sudo vim /etc/clickhouse-server/config.xml#打开prometheus注释
    <prometheus><endpoint>/metrics</endpoint><port>9363</port><metrics>true</metrics><events>true</events><asynchronous_metrics>true</asynchronous_metrics><status_info>true</status_info>
    </prometheus>#如果有多个 CH 节点,分发配置
    
  • 启动 ClickHouse 服务

    sudo clickhouse restart
    
  • 访问 web 查看:http://[host]:9363/metrics,看到信息说明 ClickHouse 开启 Metrics 服务成功

四、Grafana 集成 Prometheus

  • 在 Grafana 的 web 页面上添加 Prometheus 数据源
    • 在首页左侧菜单栏点击配置菜单,然后点击 Data Sources 按钮
    • 在 Data Sources 页面点击 Add data source 按钮
    • 在搜索框查找 Prometheus,在展示结果里选择点击 select 按钮
    • 在 Prometheus 设置页面填写名称、url 等相关配置信息,然后点击 save&test 按钮
    • 出现绿色的提示框,表示与 Prometheus 正常联通,点击 back 按钮返回 Data Sources 页面,出现了添加的 Prometheus
  • 添加 ClickHouse 监控看板
    • 通过 https://grafana.com/dashboards 网站,可以找到大量可直接使用的 Dashboard 模板,选择一个下载,下载内容为一个 json 文件
    • 在 Grafana 首页左侧菜单栏点击 + 按钮,然后点击 import 按钮
    • 在导入页面点击 upload json file 按钮,上传下载的 Dashboard 模板
    • 配置关联已经添加的 Prometheus 数据源
    • 查看监控看板内容并保存看板

五、备份及恢复

官网:https://clickhouse.tech/docs/en/operations/backup/

1. 手动恢复及备份

  • 创建备份路径

    sudo mkdir -p /var/lib/clickhouse/shadow/sudo chown clickhouse:clickhouse /var/lib/clickhouse/shadow/
    #如果目录存在,先清空目录下的数据
    
  • 执行备份命令

    echo -n 'alter table t_order_mt freeze' | clickhouse-client
    
  • 将备份数据保存到其他路径

    #创建备份存储路径
    sudo mkdir -p /var/lib/clickhouse/backup/
    sudo chown clickhouse:clickhouse /var/lib/clickhouse/backup/#拷贝数据到备份路径
    sudo cp -r /var/lib/clickhouse/shadow/ /var/lib/clickhouse/backup/my-backup-name#为下次备份准备,删除 shadow 下的数据
    sudo rm -rf /var/lib/clickhouse/shadow/*
    
  • 恢复数据

    #拷贝t_order_mt的建表语句到 events.sql 文件#模拟删除备份过的表
    echo 'drop table t_order_mt' | clickhouse-client#重新创建表
    cat events.sql | clickhouse-client#将之前备份的表分区目录复制到新创建表的 detached 目录
    sudo cp -rl /var/lib/clickhouse/backup/my-backup-name/1/store/cb1/cb176503-cd88-4ea8-8b17-6503cd888ea8/* /var/lib/clickhouse/data/default/t_order_mt/detached/#执行 attach
    echo 'alter table t_order_mt attach partition 20200601' | clickhouse-client#在 clickhouse 中查看数据
    select * from t_order_mt;
    

2. 使用 clickhouse-backup 自动备份及恢复

工具地址:https://github.com/AlexAkulov/clickhouse-backup/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/366952.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大数据可视化实验(八):大数据可视化综合实训

目录 一、实验目的... 1 二、实验环境... 1 三、实验内容... 1 1&#xff09;Python纵向柱状图实训... 1 2&#xff09;Python水平柱状图实训... 3 3&#xff09;Python多数据并列柱状图实训.. 3 4&#xff09;Python折线图实训... 4 5&#xff09;Python直方图实训...…

Echarts-仪表盘

1.案例一 1.1代码 option {"series": [{"type": "gauge", "startAngle": 180, "endAngle": 0, "min": 0, "max": 100, "radius": "100%","center": ["50%"…

linux下安装kkFileView4

kkFileView为文件文档在线预览解决方案&#xff0c;该项目使用流行的spring boot搭建&#xff0c;易上手和部署&#xff0c;基本支持主流办公文档的在线预览&#xff0c;如doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等 安装kkFileView前需要安装LibreOffic…

复制 pdf 的表格到 markdown 版本的Typora 或者 word 中

在 pdf 中选中复制表格内容&#xff0c;直接粘贴到 typora 中失败&#xff0c;可以使用 txt文件和 excel 做过渡。 准备一个空的 txt 文件&#xff0c;将 pdf 中表格的数据复制粘贴到txt文件中&#xff0c;文本内容会以空格分开&#xff0c;如下图的形式&#xff1a; 打开 exc…

深入学习 Kafka(2)- Partition 和 Topic

1. Partition的作用 Topic是逻辑的概念&#xff0c;Partition是物理的概念&#xff1a; Partition 对一个 Topic 的消息进行物理上的分离&#xff0c;让消息可以分布在不同的实体机器上&#xff0c;可以提升系统吞吐量和并行处理能力。每个Partition可以有多个副本&#xff08…

Windows 获取打印机及端口号方法 (C#)

1. 打开注册表编辑器 regedit 2.选择如下配置 计算机\HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Device 其中 “Ne01:” 为端口号 3. 代码 C# using System; using Microsoft.Win32;class Program {static void Main(){string registryPath "SOF…

【C语言】分支(选择)和循环语句

目录 简述选择语句简述if语句单if结构语法格式 if-else结构语法结构 语法结构 循环结构break和continuewhile循环语法结构 for循环语法结构 do while循环语法结构 简述 在c语言中分支和循环语句是极其重要的&#xff0c;就像生活中你难免要做一些判断和循环往复做一些事。 选…

静态IP代理:保障网络稳定的核心技术

静态IP代理作为一种重要的网络工具&#xff0c;因其稳定性和持久性&#xff0c;受到越来越多用户的青睐。本文将深入探讨静态IP代理的定义和优势。 静态IP代理是什么&#xff1f; 静态IP代理是指在代理服务器中分配一个固定的IP地址&#xff0c;用户在使用过程中始终使用同一个…

【CSS in Depth 2 精译】2.2 em 和 rem + 2.2.1 使用 em 定义字号

当前内容所在位置 第一章 层叠、优先级与继承第二章 相对单位 2.1 相对单位的威力 2.1.1 响应式设计的兴起 2.2 em 与 rem ✔️ 2.2.1 使用 em 定义字号 ✔️2.2.2 使用 rem 设置字号 2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 2.…

linux和mysql基础指令

Linux中nano和vim读可以打开记事文件。 ifdown ens33 ifup ens33 关闭&#xff0c;开启网络 rm -r lesson1 gcc -o code1 code1.c 编译c语言代码 ./code1 执行c语言代码 rm -r dir 删除文件夹 mysql> show databases-> ^C mysql> show databases; -------…

面对全球新能源汽车合作发展创维汽车如何实现共赢

由全球新能源汽车合作组织(筹)主办、中国电动汽车百人会承办的首届全球新能源汽车合作发展论坛(GNEV2024)于6月27日&#xff0c;6月28日在新加坡金沙会议展览中心召开。创维汽车国际营销公司总经理齐奎源受邀参会并作出分享。 本届大会以推动全球新能源汽车产业协同发展与合作…

RK3568平台(USB篇)USB HID设备

一.USB HID设备简介 USB HID设备主要用于和计算机进行交互通信&#xff0c;典型的USB HID类设备包括USB键盘、USB鼠标、USB游戏手柄等等&#xff0c;这些都是日常生活中常见的设备。以USB接口的鼠标为例&#xff0c;打开计算机的“设备管理器”&#xff0c;可以在“鼠标和其他…

设计高并发秒杀系统:保障稳定性与数据一致性

✨✨谢谢大家捧场&#xff0c;祝屏幕前的小伙伴们每天都有好运相伴左右&#xff0c;一定要天天开心哦&#xff01;✨✨ &#x1f388;&#x1f388;作者主页&#xff1a; 喔的嘛呀&#x1f388;&#x1f388; 目录 引言 一. 系统架构设计 1. 系统架构图 二、 系统流程 三…

简单实现Anaconda/Miniforge虚拟环境的克隆和迁移

简单实现Anaconda/Miniforge虚拟环境的克隆和迁移 一、问题描述一、方式一&#xff1a;使用命令克隆二、方式二&#xff1a;直接复制粘贴 欢迎学习交流&#xff01; 邮箱&#xff1a; z…1…6.com 网站&#xff1a; https://zephyrhours.github.io/ 一、问题描述 使用Anaconda…

昇思25天学习打卡营第7天|Pix2Pix实现图像转换

文章目录 昇思MindSpore应用实践基于MindSpore的Pix2Pix图像转换1、Pix2Pix 概述2、U-Net架构定义UNet Skip Connection Block 2、生成器部分3、基于PatchGAN的判别器4、Pix2Pix的生成器和判别器初始化5、模型训练6、模型推理 Reference 昇思MindSpore应用实践 本系列文章主要…

无忧易售升级:产品视频翻译支持,拓宽全球市场边界

在电商内容营销迈入视频时代的今天&#xff0c;无忧易售ERP推出针对OZON、Wish、TikTok、Wildberries&#xff08;野莓&#xff09;四大平台的产品视频翻译功能&#xff0c;彻底打破语言壁垒&#xff0c;让全球卖家的商品故事&#xff0c;以更生动、更直观的方式&#xff0c;触…

Linux指定文件权限的两种方式-符号与八进制数方式示例

一、指定文件权限可用的两种方式&#xff1a; 对于八进制数指定的方式&#xff0c;文件权限字符代表的有效位设为‘1’&#xff0c;即“rw-”、“rw-”、“r--”&#xff0c;以二进制表示为“110”、“110”、“100”&#xff0c;再转换为八进制6、6、4&#xff0c;所以777代表…

如何寻找一个领域的顶级会议,并且判断这个会议的影响力?

如何寻找一个领域的顶级会议&#xff0c;并且判断这个会议的影响力&#xff1f; 会议之眼 快讯 很多同学都在问&#xff1a;学术会议不是期刊&#xff0c;即使被SCI检索&#xff0c;也无法查询影响因子。那么如何知道各个领域的顶级会议&#xff0c;并对各个会议有初步了解呢…

Redis主从复制、哨兵以及Cluster集群

目录 1.Redis高可用 2.Redis主从复制 2.1 主从复制的作用 2.2 主从复制流程 2.3 搭建Redis 主从复制 ​3.Redis哨兵模式 3.1 哨兵模式概述 3.2 哨兵模式的作用 3.3 故障转移机制 ​3.4 主节点的选举 3.5 搭建Redis哨兵模式 4. Redis 群集模式 4.1 Redis集群的数据分…

VS2022+Qt+OpenCV Debug模式下,循环中格式转换引起的内存异常问题 debug_heap.cpp

文章目录 前言一、问题二、报错1.提示图片2.提示堆栈3.反汇编位置 三、解决办法总结 前言 最近在使用VS2022&#xff0c;C&#xff0c;OpenCV&#xff0c;Qt开发时&#xff0c;遇到了一个疑难杂症-在循环中执行字符串格式转换会触发内存异常&#xff0c;经过痛苦的排查过程&am…