詳解 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.pswp.cn/diannao/35554.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/35554.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/35554.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

win10修改遠程桌面端口,Windows 10下修改遠程桌面端口及服務器關閉445端口的操作指南

Windows 10下修改遠程桌面端口及服務器關閉445端口的操作指南 一、修改Windows 10遠程桌面端口 在Windows 10系統中&#xff0c;遠程桌面連接默認使用3389端口。為了安全起見&#xff0c;建議修改此端口以減少潛在的安全風險。以下是修改遠程桌面端口的步驟&#xff1a; 1. 打…

IMX6ULL SD卡啟動uboot+kernel+rootfs

目錄 1. 背景說明 2.SD卡啟動 2.1準備條件 2.2 對SD卡分區格式化 2.3 制作sd卡鏡像 3.效果測試 1. 背景說明 網絡上絕大數教程&#xff0c;教大家把uboot燒錄到SD卡&#xff0c;然后uboot啟動后&#xff0c;通過TFTP下載kernel和設備樹&#xff0c;然后通過nfs掛載文件系…

油猴腳本入門

如何支持jquery 首先要在頭部引入外部資源 require https://cdn.bootcss.com/jquery/2.2.1/jquery.js編輯開始前添加一個注釋 /* globals $ */完整代碼 // UserScript // name study_jquery // namespace http://tampermonkey.net/ // version 1.0 // …

ultralytics官方更新 | 添加YOLOv10到ultralytics

&#x1f4a1;&#x1f4a1;&#x1f4a1;本專欄所有程序均經過測試&#xff0c;可成功執行&#x1f4a1;&#x1f4a1;&#x1f4a1; 專欄目錄&#xff1a;《YOLOv8改進有效漲點》專欄介紹 & 專欄目錄 | 目前已有40篇內容&#xff0c;內含各種Head檢測頭、損失函數Loss、…

【C++】類和對象(六)

文章目錄 二、static成員概念面試題一個題目 三、友元友元函數說明 友元類 四、內部類(了解)概念&#xff1a;注意&#xff1a;特性&#xff1a; 五、匿名對象 書接上回&#xff1a; 【C】類和對象&#xff08;五&#xff09;隱式類型轉換 二、static成員 01_31 03 12 01 概…

Xcode 手動添加模擬器

在Xcode中下載iOS模擬器很慢&#xff0c;且經常出現下載失敗&#xff0c;需重新從頭開始下載的問題。現了解Xcode 15 和運行環境是分離的&#xff0c;故闡述一下手動添加模擬器的步驟&#xff1a; 官網下載所需模擬器&#xff1a;https://developer.apple.com/download/all/?…

idea項目推送gitee/github

選擇需要的項目創建本地Git倉庫 添加到暫存區 第一次提交 或者點擊這里 寫備注并commit 推送遠程倉庫 填寫地址 解決上圖警告 右鍵打開項目&#xff0c;輸入 git pull origin master –allow-unrelated-historiesgit push -u origin master -f推送成功 idea項目推送github及克…

怎么用韓語說幫忙更合體,柯橋零基礎韓語培訓

1. **詳細解釋&#xff1a;** - **標準寫法與音譯&#xff1a;** - **??**&#xff08;讀作 dop-da&#xff09;&#xff1a;動詞“幫助”。 - **????**&#xff08;讀作 do-wa-ju-da&#xff09;&#xff1a;動詞“幫忙”&#xff0c;字面意思是“給予幫助”。 - **??…

PMP證書在國內已經泛濫了,大家怎么看?

目前&#xff0c;越來越多的人獲得了PMP證書。自1999年PMP引入中國以來&#xff0c;全國累計PMP考試人數接近60萬人次&#xff0c;通過PMP認證的人數約為42萬人。雖然這個數據看起來很大&#xff0c;但絕對不能說是過多。 首先&#xff0c;PMP在中國并不普遍。根據美國項目管理…

【源碼+文檔+調試講解】災害應急救援平臺

摘 要 災害應急救援平臺的目的是讓使用者可以更方便的將人、設備和場景更立體的連接在一起。能讓用戶以更科幻的方式使用產品&#xff0c;體驗高科技時代帶給人們的方便&#xff0c;同時也能讓用戶體會到與以往常規產品不同的體驗風格。 與安卓&#xff0c;iOS相比較起來&…

linux好用的分屏器byobu

什么是byobu byobu是linux下分屏器工具tmux或screen的包裝器。 安裝 sudo apt-get install byobu 啟動 emaubuntu:~$ byobu配置通知欄 按F9進入Byobu配置菜單導航到切換狀態通知選項&#xff0c;然后按ENTER鍵可以在選中和不選中之間切換選擇要啟用的狀態通知后&#xff…

深度學習項目實例(一)—— 實時AI換臉項目

一、前言 人工智能&#xff08;AI&#xff09;技術的快速發展為各個領域帶來了革命性的變化&#xff0c;其中之一就是人臉識別與圖像處理技術。在這之中&#xff0c;AI換臉技術尤其引人注目。這種技術不僅在娛樂行業中得到廣泛應用&#xff0c;如電影制作、視頻特效等&#xf…

static在C/C++中的作用

C語言中 static 的作用&#xff1a; 文件作用域的全局變量&#xff1a; 當static修飾一個全局變量時&#xff0c;這個變量只在定義它的文件內部可見&#xff0c;不會被其他文件訪問。 靜態局部變量&#xff1a; 在函數內部&#xff0c;static關鍵字確保局部變量的生命周期貫穿整…

目前公認最好用充電寶!四款高性價比充電寶推薦,一文看懂!

當我們在旅行途中&#xff0c;手機和相機等設備必不可少。長時間使用這些設備&#xff0c;電量很容易耗盡。此時&#xff0c;充電寶就能派上用場&#xff0c;讓我們在欣賞美景、記錄美好時光的同時&#xff0c;不再擔心電量不足。特別在假期出游的時候在我們玩的特別盡興的時候…

力扣2815.數組中的最大數對和

力扣2815.數組中的最大數對和 遍歷每個元素 并求其中最大的數字 將每個數字對應的最大元素存在數組中每遍歷到一個新的元素 &#xff0c;將其存在對應的數組位置中 class Solution {public:int maxSum(vector<int>& nums) {vector<int> cnt(10,INT_MIN);int…

【C++】關于虛函數的理解

深入探索C虛函數&#xff1a;原理、應用與實例分析 一、虛函數的原理二、虛函數的應用三、代碼實例分析四、總結 在C面向對象編程的世界里&#xff0c;虛函數&#xff08;Virtual Function&#xff09;扮演著至關重要的角色。它不僅實現了多態性這一核心特性&#xff0c;還使得…

查看linux服務器cpu,硬盤,內存

lscpu 查看cpu 釋義 Architecture: x86_64 // 指定系統架構&#xff0c;這里是 x86_64&#xff0c;表示一個64位系統。 CPU op-mode(s): 32-bit, 64-bit // 指示支持的 CPU 操作模式&#xff0c;顯示了32位和64位兩種模式。 Byte Order: Little…

紅酒與珠寶:璀璨與醇香的奢華交響,雙重誘惑難擋

在璀璨的燈光下&#xff0c;紅酒與珠寶各自閃耀著迷人的光芒&#xff0c;它們如同夜空中的繁星&#xff0c;交相輝映&#xff0c;共同演繹著奢華的雙重誘惑。今天&#xff0c;就讓我們一起走進這個充滿魅力的世界&#xff0c;感受紅酒與珠寶帶來的無盡魅力。 首先&#xff0c;讓…

java中自定義線程池最佳實踐

java中自定義線程池最佳實踐 在現代應用程序中&#xff0c;線程池是一種常用的技術&#xff0c;可以有效管理和復用線程資源&#xff0c;從而提升系統的并發性能和穩定性。本文將詳細介紹自定義線程池的最佳實踐&#xff0c;涵蓋從線程池大小配置、隊列選擇到拒絕策略、任務設…

基于STM32+ESP8266打造智能家居溫濕度監控系統(附源碼接線圖)

摘要: 本文將介紹如何使用STM32單片機、ESP8266 Wi-Fi模塊和Python Flask框架構建一個完整的物聯網系統&#xff0c;實現傳感器數據采集、無線傳輸、云端存儲及Web可視化展示。 關鍵詞: STM32, ESP8266, 傳感器, Flask, 物聯網, 云平臺, 數據可視化 1. 系統概述 本系統以STM…