ClickHouse 介紹
ClickHouse 是一款高性能、列式存儲的開源分析型數據庫,專為在線分析處理(OLAP)場景設計。它能夠處理海量數據,支持實時查詢和復雜的數據分析,具備極高的讀寫性能和數據壓縮能力。ClickHouse 提供了強大的 SQL 支持,包括對復雜查詢、聚合操作和窗口函數的優化,使其成為處理大規模數據集的理想選擇。此外,ClickHouse 支持分布式架構,通過數據分片和副本機制,能夠實現高可用性和水平擴展。它廣泛應用于日志分析、物聯網數據處理、實時監控等領域,幫助企業快速獲取數據洞察,驅動業務決策。
對 ClickHouse 進行可觀測性建設,能有效助力我們的工程師故障排查、系統優化和成本優化等。
觀測云
觀測云是一款專為 IT 工程師打造的全鏈路可觀測產品,它集成了基礎設施監控、應用程序性能監控和日志管理,為整個技術棧提供實時可觀察性。這款產品能夠幫助工程師全面了解端到端的用戶體驗追蹤,了解應用內函數的每一次調用,以及全面監控云時代的基礎設施。此外,觀測云還具備快速發現系統安全風險的能力,為數字化時代提供安全保障。
部署 DataKit
DataKit 是一個開源的、跨平臺的數據收集和監控工具,由觀測云開發并維護。它旨在幫助用戶收集、處理和分析各種數據源,如日志、指標和事件,以便進行有效的監控和故障排查。DataKit 支持多種數據輸入和輸出格式,可以輕松集成到現有的監控系統中。
登錄觀測云控制臺,在「集成」-「DataKit」選擇對應安裝方式,當前采用 Linux 主機部署 DataKit。
開啟 ClickHouse 采集
1、修改 config.xml
在 ClickHouse Server 的 config.xml 配置文件中找到如下的代碼段,取消注釋,并設置 metrics 暴露的端口號(可自定義,唯一即可)。修改完成后重啟(若為集群,則每臺機器均需操作)。
vim /etc/clickhouse-server/config.xml
2、修改 clickhousev1.conf
進入 DataKit 安裝目錄下的?conf.d/clickhousev1
?目錄,復制?clickhousev1.conf.sample
?并命名為?clickhousev1.conf
。主要修改這個 IP 和端口,端口與上一步保持一致,示例如下:
3、重啟DataKit
配置好后,重啟 DataKit?即可。
關鍵指標
這里主要列舉 ClickHouse 的一部分關鍵指標,詳情可參考詳細文檔。
指標名 | 描述 | 類型 | 單位 |
---|---|---|---|
HTTPConnection | HTTP 連接數 | float | count |
TCPConnection | TCP 連接數 | float | count |
InterserverConnection | 其他副本用于獲取部分數據的連接數量 | float | count |
MemoryTracking | 內存使用量 | float | B |
Query | 正在執行的查詢數量 | float | count |
SelectQuery | 執行的 SELECT 查詢數量 | float | count |
InsertQuery | 執行的 INSERT 查詢數量 | float | count |
ReplicatedChecks | 數據塊一致性檢查的次數 | float | count |
場景視圖
登錄觀測云控制臺,點擊「場景」 -「新建儀表板」,輸入 “ClickHouse”, 選擇 “ClickHouse 監控視圖”,點擊 “確定” 即可添加視圖。
監控器(告警)
ClickHouse 實例 {{instance}} HTTP 連接數告警
簡要描述:根據 HTTPConnection 指標設置閾值告警。
ClickHouse 實例 {{instance}} TCP 連接數告警
簡要描述:根據 TCPConnection 指標設置閾值告警。
ClickHouse 實例 {{instance}} 副本一致性檢查次數異常告警
簡要描述:根據 ReplicatedChecks 指標設置突變告警,當副本之間數據塊一致性檢查的次數最近 15 分鐘比最近 30 分鐘差值百分比大于閾值時,進行告警。
總結
本文從指標、可視化儀表板、監控告警等角度展示了如何使用觀測云這個一體化觀測平臺對 ClickHouse 進行全面觀測,大大減少了管理多個運維工具的負擔,讓 DevOps 團隊將更多精力投放到更高價值的工作中。