監控面板部署
監控面板部署
IoTDB配套監控面板是IoTDB企業版配套工具之一。它旨在解決IoTDB及其所在操作系統的監控問題,主要包括:操作系統資源監控、IoTDB性能監控,及上百項內核監控指標,從而幫助用戶監控集群健康狀態,并進行集群調優和運維。本文將以常見的3C3D集群(3個Confignode和3個Datanode)為例,為您介紹如何在IoTDB的實例中開啟系統監控模塊,并且使用Prometheus + Grafana的方式完成對系統監控指標的可視化。
監控面板工具的使用說明可參考文檔 使用說明 章節。
1. 安裝準備
- 安裝 IoTDB:需先安裝IoTDB V1.0 版本及以上企業版,您可聯系商務或技術支持獲取
- 獲取 IoTDB 監控面板安裝包:基于企業版 IoTDB 的數據庫監控面板,您可聯系商務或技術支持獲取
2. 安裝步驟
2.1 步驟一:IoTDB開啟監控指標采集
- 打開監控配置項。IoTDB中監控有關的配置項默認是關閉的,在部署監控面板前,您需要打開相關配置項(注意開啟監控配置后需要重啟服務)。
| 配置項 | 所在配置文件 | 配置說明 |
|---|---|---|
| cn_metric_reporter_list | conf/iotdb-system.properties | 將配置項取消注釋,值設置為PROMETHEUS |
| cn_metric_level | conf/iotdb-system.properties | 將配置項取消注釋,值設置為IMPORTANT |
| cn_metric_prometheus_reporter_port | conf/iotdb-system.properties | 將配置項取消注釋,可保持默認設置9091,如設置其他端口,不與其他端口沖突即可 |
| dn_metric_reporter_list | conf/iotdb-system.properties | 將配置項取消注釋,值設置為PROMETHEUS |
| dn_metric_level | conf/iotdb-system.properties | 將配置項取消注釋,值設置為IMPORTANT |
| dn_metric_prometheus_reporter_port | conf/iotdb-system.properties | 將配置項取消注釋,可默認設置為9092,如設置其他端口,不與其他端口沖突即可 |
以3C3D集群為例,需要修改的監控配置如下:
| 節點ip | 主機名 | 集群角色 | 配置文件路徑 | 配置項 |
|---|---|---|---|---|
| 192.168.1.3 | iotdb-1 | confignode | conf/iotdb-system.properties | cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091 |
| 192.168.1.4 | iotdb-2 | confignode | conf/iotdb-system.properties | cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091 |
| 192.168.1.5 | iotdb-3 | confignode | conf/iotdb-system.properties | cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091 |
| 192.168.1.3 | iotdb-1 | datanode | conf/iotdb-system.properties | dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9092 |
| 192.168.1.4 | iotdb-2 | datanode | conf/iotdb-system.properties | dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9092 |
| 192.168.1.5 | iotdb-3 | datanode | conf/iotdb-system.properties | dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9092 |
- 重啟所有節點。修改3個節點的監控指標配置后,可重新啟動所有節點的confignode和datanode服務:
./sbin/stop-standalone.sh #先停止confignode和datanode
./sbin/start-confignode.sh -d #啟動confignode
./sbin/start-datanode.sh -d #啟動datanode- 重啟后,通過客戶端確認各節點的運行狀態,若狀態都為Running,則為配置成功:

2.2 步驟二:安裝、配置Prometheus
此處以prometheus安裝在服務器192.168.1.3為例。
- 下載 Prometheus 安裝包,要求安裝 V2.30.3 版本及以上,可前往 Prometheus 官網下載(https://prometheus.io/docs/introduction/first_steps/)
- 解壓安裝包,進入解壓后的文件夾:
tar xvfz prometheus-*.tar.gz
cd prometheus-*- 修改配置。修改配置文件prometheus.yml如下
- 新增confignode任務收集ConfigNode的監控數據
- 新增datanode任務收集DataNode的監控數據
global:
scrape_interval: 15s
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["localhost:9090"]
- job_name: "confignode"
static_configs:
- targets: ["iotdb-1:9091","iotdb-2:9091","iotdb-3:9091"]
honor_labels: true
- job_name: "datanode"
static_configs:
- targets: ["iotdb-1:9092","iotdb-2:9092","iotdb-3:9092"]
honor_labels: true- 啟動Prometheus。Prometheus 監控數據的默認過期時間為15天,在生產環境中,建議將其調整為180天以上,以對更長時間的歷史監控數據進行追蹤,啟動命令如下所示:
./prometheus --config.file=prometheus.yml --storage.tsdb.retention.time=180d確認啟動成功。在瀏覽器中輸入 http://192.168.1.3:9090,進入Prometheus,點擊進入Status下的Target界面,當看到State均為Up時表示配置成功并已經聯通。


點擊Targets中左側鏈接可以跳轉到網頁監控,查看相應節點的監控信息:

2.3 步驟三:安裝grafana并配置數據源
此處以Grafana安裝在服務器192.168.1.3為例。
- 下載 Grafana 安裝包,要求安裝 V8.4.2 版本及以上,可以前往Grafana官網下載(https://grafana.com/grafana/download)
- 解壓并進入對應文件夾
tar -zxvf grafana-*.tar.gz
cd grafana-*- 啟動Grafana:
./bin/grafana-server web登錄Grafana。在瀏覽器中輸入 http://192.168.1.3:3000(或修改后的端口),進入Grafana,默認初始用戶名和密碼均為 admin。
配置數據源。在Connections中找到Data sources,新增一個data source并配置Data Source為Prometheus

在配置Data Source時注意Prometheus所在的URL,配置好后點擊Save & Test 出現 Data source is working 提示則為配置成功

2.4 步驟四:導入IoTDB Grafana看板
進入Grafana,選擇Dashboards:

點擊右側 Import 按鈕

使用upload json file的方式導入Dashboard

選擇IoTDB監控面板中其中一個面板的json文件,這里以選擇 Apache IoTDB ConfigNode Dashboard為例(監控面板安裝包獲取參見本文【安裝準備】):

選擇數據源為Prometheus,然后點擊Import

之后就可以看到導入的Apache IoTDB ConfigNode Dashboard監控面板

同樣地,我們可以導入Apache IoTDB DataNode Dashboard、Apache Performance Overview Dashboard、Apache System Overview Dashboard,可看到如下的監控面板:



至此,IoTDB監控面板就全部導入完成了,現在可以隨時查看監控信息了。

3. 附錄、監控指標詳解
3.1 系統面板(System Dashboard)
該面板展示了當前系統CPU、內存、磁盤、網絡資源的使用情況已經JVM的部分狀況。
CPU
- CPU Cores:CPU 核數
- CPU Utilization:
- System CPU Utilization:整個系統在采樣時間內 CPU 的平均負載和繁忙程度
- Process CPU Utilization:IoTDB 進程在采樣時間內占用的 CPU 比例
- CPU Time Per Minute:系統每分鐘內所有進程的 CPU 時間總和
Memory
- System Memory:當前系統內存的使用情況。
- Commited VM Size: 操作系統分配給正在運行的進程使用的虛擬內存的大小。
- Total Physical Memory:系統可用物理內存的總量。
- Used Physical Memory:系統已經使用的內存總量。包含進程實際使用的內存量和操作系統 buffers/cache 占用的內存。
- System Swap Memory:交換空間(Swap Space)內存用量。
- Process Memory:IoTDB 進程使用內存的情況。
- Max Memory:IoTDB 進程能夠從操作系統那里最大請求到的內存量。(datanode-env/confignode-env 配置文件中配置分配的內存大小)
- Total Memory:IoTDB 進程當前已經從操作系統中請求到的內存總量。
- Used Memory:IoTDB 進程當前已經使用的內存總量。
Disk
- Disk Space:
- Total Disk Space:IoTDB 可使用的最大磁盤空間。
- Used Disk Space:IoTDB 已經使用的磁盤空間。
- Logs Per Minute:采樣時間內每分鐘 IoTDB 各級別日志數量的平均值。
- File Count:IoTDB 相關文件數量
- All:所有文件數量
- TsFile:TsFile 數量
- Seq:順序 TsFile 數量
- Unseq:亂序 TsFile 數量
- WAL:WAL 文件數量
- Cross-Temp:跨空間合并 temp 文件數量
- Inner-Seq-Temp:順序空間內合并 temp 文件數量
- Innsr-Unseq-Temp:亂序空間內合并 temp 文件數量
- Mods:墓碑文件數量
- Open File Handles:系統打開的文件句柄數量
- File Size:IoTDB 相關文件的大小。各子項分別是對應文件的大小。
- Disk Utilization (%):等價于 iostat 中的 %util 指標,一定程度上反映磁盤的繁忙程度。各子項分別是對應磁盤的指標。
- Disk I/O Throughput:系統各磁盤在一段時間 I/O Throughput 的平均值。各子項分別是對應磁盤的指標。
- Disk IOPS:等價于 iostat 中的 r/s 、w/s、rrqm/s、wrqm/s 四個指標,指的是磁盤每秒鐘進行 I/O 的次數。read 和 write 指的是磁盤執行單次 I/O 的次數,由于塊設備有相應的調度算法,在某些情況下可以將多個相鄰的 I/O 合并為一次進行,merged-read 和 merged-write 指的是將多個 I/O 合并為一個 I/O 進行的次數。
- Disk I/O Latency (Avg):等價于 iostat 的 await,即每個 I/O 請求的平均時延。讀和寫請求分開記錄。
- Disk I/O Request Size (Avg):等價于 iostat 的 avgrq-sz,反映了每個 I/O 請求的大小。讀和寫請求分開記錄。
- Disk I/O Queue Length (Avg):等價于 iostat 中的 avgqu-sz,即 I/O 請求隊列的平均長度。
- I/O Syscall Rate:進程調用讀寫系統調用的頻率,類似于 IOPS。
- I/O Throughput:進程進行 I/O 的吞吐量,分為 actual_read/write 和 attempt_read/write 兩類。actual read 和 actual write 指的是進程實際導致塊設備進行 I/O 的字節數,不包含被 Page Cache 處理的部分。
JVM
- GC Time Percentage:節點 JVM 在過去一分鐘的時間窗口內,GC 耗時所占的比例
- GC Allocated/Promoted Size: 節點 JVM 平均每分鐘晉升到老年代的對象大小,新生代/老年代和非分代新申請的對象大小
- GC Live Data Size:節點 JVM 長期存活的對象大小和對應代際允許的最大值
- Heap Memory:JVM 堆內存使用情況。
- Maximum Heap Memory:JVM 最大可用的堆內存大小。
- Committed Heap Memory:JVM 已提交的堆內存大小。
- Used Heap Memory:JVM 已經使用的堆內存大小。
- PS Eden Space:PS Young 區的大小。
- PS Old Space:PS Old 區的大小。
- PS Survivor Space:PS Survivor 區的大小。
- ...(CMS/G1/ZGC 等)
- Off-Heap Memory:堆外內存用量。
- Direct Memory:堆外直接內存。
- Mapped Memory:堆外映射內存。
- GCs Per Minute:節點 JVM 平均每分鐘進行垃圾回收的次數,包括 YGC 和 FGC
- GC Latency Per Minute:節點 JVM 平均每分鐘進行垃圾回收的耗時,包括 YGC 和 FGC
- GC Events Breakdown Per Minute:節點 JVM 平均每分鐘由于不同 cause 進行垃圾回收的次數,包括 YGC 和 FGC
- GC Pause Time Breakdown Per Minute:節點 JVM 平均每分鐘由于不同 cause 進行垃圾回收的耗時,包括 YGC 和 FGC
- JIT Compilation Time Per Minute:每分鐘 JVM 用于編譯的總時間
- Loaded & Unloaded Classes:
- Loaded:JVM 目前已經加載的類的數量
- Unloaded:系統啟動至今 JVM 卸載的類的數量
- Active Java Threads:IoTDB 目前存活的線程數。各子項分別為各狀態的線程數。
Network
eno 指的是到公網的網卡,lo 是虛擬網卡。
- Network Speed:網卡發送和接收數據的速度
- Network Throughput (Receive/Transmit):網卡發送或者接收的數據包大小,自系統重啟后算起
- Packet Transmission Rate:網卡發送和接收數據包的速度,一次 RPC 請求可以對應一個或者多個數據包
- Active TCP Connections:當前選定進程的 socket 連接數(IoTDB只有 TCP)
3.2 整體性能面板(Performance Overview Dashboard)
Cluster Overview
- Total CPU Cores: 集群機器 CPU 總核數
- DataNode CPU Load: 集群各DataNode 節點的 CPU 使用率
- 磁盤
- Total Disk Space: 集群機器磁盤總大小
- DataNode Disk Utilization: 集群各 DataNode 的磁盤使用率
- Total Time Series: 集群管理的時間序列總數(含副本),實際時間序列數需結合元數據副本數計算
- Cluster Info: 集群 ConfigNode 和 DataNode 節點數量
- Up Time: 集群啟動至今的時長
- Total Write Throughput: 集群每秒寫入總點數(含副本),實際寫入總點數需結合數據副本數分析
- 內存
- Total System Memory: 集群機器系統內存總大小
- Total Swap Memory: 集群機器交換內存總大小
- DataNode Process Memory Utilization: 集群各 DataNode 的內存使用率
- Total Files: 集群管理文件總數量
- Cluster System Overview: 集群機器概述,包括平均 DataNode 節點內存占用率、平均機器磁盤使用率
- Total DataBases: 集群管理的 Database 總數(含副本)
- Total DataRegions: 集群管理的 DataRegion 總數
- Total SchemaRegions: 集群管理的 SchemaRegion 總數
Node Overview
- CPU Cores: 節點所在機器的 CPU 核數
- Disk Space: 節點所在機器的磁盤大小
- Time Series: 節點所在機器管理的時間序列數量(含副本)
- System Overview: 節點所在機器的系統概述,包括 CPU 負載、進程內存使用比率、磁盤使用比率
- Write Throughput: 節點所在機器的每秒寫入速度(含副本)
- System Memory: 節點所在機器的系統內存大小
- Swap Memory: 節點所在機器的交換內存大小
- File Count: 節點管理的文件數
Performance
- Session Idle Time: 節點的 session 連接的總空閑時間和總忙碌時間
- Client Connections: 節點的客戶端連接情況,包括總連接數和活躍連接數
- Operation Latency: 節點的各類型操作耗時,包括平均值和P99
- Average Interface Latency: 節點的各個 thrift 接口平均耗時
- P99 Interface Latency: 節點的各個 thrift 接口的 P99 耗時數
- Total Tasks: 節點的各項系統任務數量
- Average Task Latency: 節點的各項系統任務的平均耗時
- P99 Task Latency: 節點的各項系統任務的 P99 耗時
- Operations Per Second: 節點的每秒操作數
- 主流程
- Operations Per Second (Stage-wise): 節點主流程各階段的每秒操作數
- Average Stage Latency: 節點主流程各階段平均耗時
- P99 Stage Latency: 節點主流程各階段 P99 耗時
- Schedule 階段
- Schedule Operations Per Second: 節點 schedule 階段各子階段每秒操作數
- Average Schedule Stage Latency: 節點 schedule 階段各子階段平均耗時
- P99 Schedule Stage Latency: 節點的 schedule 階段各子階段 P99 耗時
- Local Schedule 各子階段
- Local Schedule Operations Per Second: 節點 local schedule 各子階段每秒操作數
- Average Local Schedule Stage Latency: 節點 local schedule 階段各子階段平均耗時
- P99 Local Schedule Latency: 節點的 local schedule 階段各子階段 P99 耗時
- Storage 階段
- Storage Operations Per Second: 節點 storage 階段各子階段每秒操作數
- Average Storage Stage Latency: 節點 storage 階段各子階段平均耗時
- P99 Storage Stage Latency: 節點 storage 階段各子階段 P99 耗時
- Engine 階段
- Engine Operations Per Second: 節點 engine 階段各子階段每秒操作數
- Average Engine Stage Latency: 節點的 engine 階段各子階段平均耗時
- P99 Engine Stage Latency: 節點 engine 階段各子階段的 P99 耗時
System
- CPU Utilization: 節點的 CPU 負載
- CPU Latency Per Minute: 節點的每分鐘 CPU 時間,最大值和 CPU 核數相關
- GC Latency Per Minute: 節點的平均每分鐘 GC 耗時,包括 YGC 和 FGC
- Heap Memory: 節點的堆內存使用情況
- Off-Heap Memory: 節點的非堆內存使用情況
- Total Java Threads: 節點的 Java 線程數量情況
- File Count: 節點管理的文件數量情況
- File Size: 節點管理文件大小情況
- Logs Per Minute: 節點的每分鐘不同類型日志情況
3.3 ConfigNode 面板(ConfigNode Dashboard)
該面板展示了集群中所有管理節點的表現情況,包括分區、節點信息、客戶端連接情況統計等。
Node Overview
- Database Count: 節點的數據庫數量
- Region
- DataRegion Count: 節點的 DataRegion 數量
- DataRegion Status: 節點的 DataRegion 的狀態
- SchemaRegion Count: 節點的 SchemaRegion 數量
- SchemaRegion Status: 節點的 SchemaRegion 的狀態
- System Memory Utilization: 節點的系統內存大小
- Swap Memory Utilization: 節點的交換區內存大小
- ConfigNodes Status: 節點所在集群的 ConfigNode 的運行狀態
- DataNodes Status: 節點所在集群的 DataNode 情況
- System Overview: 節點的系統概述,包括系統內存、磁盤使用、進程內存以及CPU負載
NodeInfo
- Node Count: 節點所在集群的節點數量,包括 ConfigNode 和 DataNode
- ConfigNode Status: 節點所在集群的 ConfigNode 節點的狀態
- DataNode Status: 節點所在集群的 DataNode 節點的狀態
- SchemaRegion Distribution: 節點所在集群的 SchemaRegion 的分布情況
- SchemaRegionGroup Leader Distribution: 節點所在集群的 SchemaRegionGroup 的 Leader 分布情況
- DataRegion Distribution: 節點所在集群的 DataRegion 的分布情況
- DataRegionGroup Leader Distribution: 節點所在集群的 DataRegionGroup 的 Leader 分布情況
Protocol
- 客戶端數量統計
- Active Clients: 節點各線程池的活躍客戶端數量
- Idle Clients: 節點各線程池的空閑客戶端數量
- Borrowed Clients Per Second: 節點各線程池的借用客戶端數量
- Created Clients Per Second: 節點各線程池的創建客戶端數量
- Destroyed Clients Per Second: 節點各線程池的銷毀客戶端數量
- 客戶端時間情況
- Average Client Active Time: 節點各線程池客戶端的平均活躍時間
- Average Client Borrowing Latency: 節點各線程池的客戶端平均借用等待時間
- Average Client Idle Time: 節點各線程池的客戶端平均空閑時間
Partition Table
- SchemaRegionGroup Count: 節點所在集群的 Database 的 SchemaRegionGroup 的數量
- DataRegionGroup Count: 節點所在集群的 Database 的 DataRegionGroup 的數量
- SeriesSlot Count: 節點所在集群的 Database 的 SeriesSlot 的數量
- TimeSlot Count: 節點所在集群的 Database 的 TimeSlot 的數量
- DataRegion Status: 節點所在集群的 DataRegion 狀態
- SchemaRegion Status: 節點所在集群的 SchemaRegion 的狀態
Consensus
- Ratis Stage Latency: 節點的 Ratis 各階段耗時
- Write Log Entry Latency: 節點的 Ratis 寫 Log 的耗時
- Remote/Local Write Latency: 節點的 Ratis 的遠程寫入和本地寫入的耗時
- Remote/Local Write Throughput: 節點 Ratis 的遠程和本地寫入的 QPS
- RatisConsensus Memory Utilization: 節點 Ratis 共識協議的內存使用
3.4 DataNode 面板(DataNode Dashboard)
該面板展示了集群中所有數據節點的監控情況,包含寫入耗時、查詢耗時、存儲文件數等。
Node Overview
- Total Managed Entities: 節點管理的實體情況
- Write Throughput: 節點的每秒寫入速度
- Memory Usage: 節點的內存使用情況,包括 IoT Consensus 各部分內存占用、SchemaRegion內存總占用和各個數據庫的內存占用。
Protocol
- 節點操作耗時
- Average Operation Latency: 節點的各項操作的平均耗時
- P50 Operation Latency: 節點的各項操作耗時的中位數
- P99 Operation Latency: 節點的各項操作耗時的P99
- Thrift統計
- Thrift Interface QPS: 節點各個 Thrift 接口的 QPS
- Average Thrift Interface Latency: 節點各個 Thrift 接口的平均耗時
- Thrift Connections: 節點的各類型的 Thrfit 連接數量
- Active Thrift Threads: 節點各類型的活躍 Thrift 連接數量
- 客戶端統計
- Active Clients: 節點各線程池的活躍客戶端數量
- Idle Clients: 節點各線程池的空閑客戶端數量
- Borrowed Clients Per Second: 節點的各線程池借用客戶端數量
- Created Clients Per Second: 節點各線程池的創建客戶端數量
- Destroyed Clients Per Second: 節點各線程池的銷毀客戶端數量
- Average Client Active Time: 節點各線程池的客戶端平均活躍時間
- Average Client Borrowing Latency: 節點各線程池的客戶端平均借用等待時間
- Average Client Idle Time: 節點各線程池的客戶端平均空閑時間
Storage Engine
- File Count: 節點管理的各類型文件數量
- File Size: 節點管理的各類型文件大小
- TsFile
- Total TsFile Size Per Level: 節點管理的各級別 TsFile 文件總大小
- TsFile Count Per Level: 節點管理的各級別 TsFile 文件數量
- Average TsFile Size Per Level: 節點管理的各級別 TsFile 文件的平均大小
- Total Tasks: 節點的 Task 數量
- Task Latency: 節點的 Task 的耗時
- Compaction
- Compaction Read/Write Throughput: 節點的每秒鐘合并讀寫速度
- Compactions Per Minute: 節點的每分鐘合并數量
- Compaction Chunk Status: 節點合并不同狀態的 Chunk 的數量
- Compacted-Points Per Minute: 節點每分鐘合并的點數
Write Performance
- Average Write Latency: 節點寫入耗時平均值,包括寫入 wal 和 memtable
- P50 Write Latency: 節點寫入耗時中位數,包括寫入 wal 和 memtable
- P99 Write Latency: 節點寫入耗時的P99,包括寫入 wal 和 memtable
- WAL
- WAL File Size: 節點管理的 WAL 文件總大小
- WAL Files: 節點管理的 WAL 文件數量
- WAL Nodes: 節點管理的 WAL Node 數量
- Checkpoint Creation Time: 節點創建各類型的 CheckPoint 的耗時
- WAL Serialization Time (Total): 節點 WAL 序列化總耗時
- Data Region Mem Cost: 節點不同的DataRegion的內存占用、當前實例的DataRegion的內存總占用、當前集群的 DataRegion 的內存總占用
- Serialize One WAL Info Entry Cost: 節點序列化一個WAL Info Entry 耗時
- Oldest MemTable Ram Cost When Cause Snapshot: 節點 WAL 觸發 oldest MemTable snapshot 時 MemTable 大小
- Oldest MemTable Ram Cost When Cause Flush: 節點 WAL 觸發 oldest MemTable flush 時 MemTable 大小
- WALNode Effective Info Ratio: 節點的不同 WALNode 的有效信息比
- WAL Buffer
- WAL Buffer Latency: 節點 WAL flush SyncBuffer 耗時,包含同步和異步兩種
- WAL Buffer Used Ratio: 節點的 WAL Buffer 的使用率
- WAL Buffer Entries Count: 節點的 WAL Buffer 的條目數量
- Flush統計
- Average Flush Latency: 節點 Flush 的總耗時和各個子階段耗時的平均值
- P50 Flush Latency: 節點 Flush 的總耗時和各個子階段耗時的中位數
- P99 Flush Latency: 節點 Flush 的總耗時和各個子階段耗時的 P99
- Average Flush Subtask Latency: 節點的 Flush 平均子任務耗時平均情況,包括排序、編碼、IO 階段
- P50 Flush Subtask Latency: 節點的 Flush 各個子任務的耗時中位數情況,包括排序、編碼、IO 階段
- P99 Flush Subtask Latency: 節點的 Flush 平均子任務耗時P99情況,包括排序、編碼、IO 階段
- Pending Flush Task Num: 節點的處于阻塞狀態的 Flush 任務數量
- Pending Flush Sub Task Num: 節點阻塞的 Flush 子任務數量
- Tsfile Compression Ratio of Flushing MemTable: 節點刷盤 Memtable 時對應的 TsFile 壓縮率
- Flush TsFile Size of DataRegions: 節點不同 DataRegion 的每次刷盤時對應的 TsFile 大小
- Size of Flushing MemTable: 節點刷盤的 Memtable 的大小
- Points Num of Flushing MemTable: 節點不同 DataRegion 刷盤時的點數
- Series Num of Flushing MemTable: 節點的不同 DataRegion 的 Memtable 刷盤時的時間序列數
- Average Point Num of Flushing MemChunk: 節點 MemChunk 刷盤的平均點數
Schema Engine
- Schema Engine Mode: 節點的元數據引擎模式
- Schema Consensus Protocol: 節點的元數據共識協議
- Schema Region Number: 節點管理的 SchemaRegion 數量
- Schema Region Memory Overview: 節點的 SchemaRegion 的內存數量
- Memory Usgae per SchemaRegion: 節點 SchemaRegion 的平均內存使用大小
- Cache MNode per SchemaRegion: 節點每個 SchemaRegion 中 cache node 個數
- MLog Length and Checkpoint: 節點每個 SchemaRegion 的當前 mlog 的總長度和檢查點位置(僅 SimpleConsensus 有效)
- Buffer MNode per SchemaRegion: 節點每個 SchemaRegion 中 buffer node 個數
- Activated Template Count per SchemaRegion: 節點每個SchemaRegion中已激活的模版數
- 時間序列統計
- Timeseries Count per SchemaRegion: 節點 SchemaRegion 的平均時間序列數
- Series Type: 節點不同類型的時間序列數量
- Time Series Number: 節點的時間序列總數
- Template Series Number: 節點的模板時間序列總數
- Template Series Count per SchemaRegion: 節點每個SchemaRegion中通過模版創建的序列數
- IMNode統計
- Pinned MNode per SchemaRegion: 節點每個 SchemaRegion 中 Pinned 的 IMNode 節點數
- Pinned Memory per SchemaRegion: 節點每個 SchemaRegion 中 Pinned 的 IMNode 節點的內存占用大小
- Unpinned MNode per SchemaRegion: 節點每個 SchemaRegion 中 Unpinned 的 IMNode 節點數
- Unpinned Memory per SchemaRegion: 節點每個 SchemaRegion 中 Unpinned 的 IMNode 節點的內存占用大小
- Schema File Memory MNode Number: 節點全局 pinned 和 unpinned 的 IMNode 節點數
- Release and Flush MNode Rate: 節點每秒 release 和 flush 的 IMNode 數量
- Cache Hit Rate: 節點的緩存命中率
- Release and Flush Thread Number: 節點當前活躍的 Release 和 Flush 線程數量
- Time Consumed of Relead and Flush (avg): 節點觸發 cache 釋放和 buffer 刷盤耗時的平均值
- Time Consumed of Relead and Flush (99%): 節點觸發 cache 釋放和 buffer 刷盤的耗時的 P99
Query Engine
- 各階段耗時
- Average Query Plan Execution Time: 節點查詢各階段耗時的平均值
- P50 Query Plan Execution Time: 節點查詢各階段耗時的中位數
- P99 Query Plan Execution Time: 節點查詢各階段耗時的P99
- 執行計劃分發耗時
- Average Query Plan Dispatch Time: 節點查詢執行計劃分發耗時的平均值
- P50 Query Plan Dispatch Time: 節點查詢執行計劃分發耗時的中位數
- P99 Query Plan Dispatch Time: 節點查詢執行計劃分發耗時的P99
- 執行計劃執行耗時
- Average Query Execution Time: 節點查詢執行計劃執行耗時的平均值
- P50 Query Execution Time: 節點查詢執行計劃執行耗時的中位數
- P99 Query Execution Time: 節點查詢執行計劃執行耗時的P99
- 算子執行耗時
- Average Query Operator Execution Time: 節點查詢算子執行耗時的平均值
- P50 Query Operator Execution Time: 節點查詢算子執行耗時的中位數
- P99 Query Operator Execution Time: 節點查詢算子執行耗時的P99
- 聚合查詢計算耗時
- Average Query Aggregation Execution Time: 節點聚合查詢計算耗時的平均值
- P50 Query Aggregation Execution Time: 節點聚合查詢計算耗時的中位數
- P99 Query Aggregation Execution Time: 節點聚合查詢計算耗時的P99
- 文件/內存接口耗時
- Average Query Scan Execution Time: 節點查詢文件/內存接口耗時的平均值
- P50 Query Scan Execution Time: 節點查詢文件/內存接口耗時的中位數
- P99 Query Scan Execution Time: 節點查詢文件/內存接口耗時的P99
- 資源訪問數量
- Average Query Resource Utilization: 節點查詢資源訪問數量的平均值
- P50 Query Resource Utilization: 節點查詢資源訪問數量的中位數
- P99 Query Resource Utilization: 節點查詢資源訪問數量的P99
- 數據傳輸耗時
- Average Query Data Exchange Latency: 節點查詢數據傳輸耗時的平均值
- P50 Query Data Exchange Latency: 節點查詢數據傳輸耗時的中位數
- P99 Query Data Exchange Latency: 節點查詢數據傳輸耗時的P99
- 數據傳輸數量
- Average Query Data Exchange Count: 節點查詢的數據傳輸數量的平均值
- Query Data Exchange Count: 節點查詢的數據傳輸數量的分位數,包括中位數和P99
- 任務調度數量與耗時
- Query Queue Length: 節點查詢任務調度數量
- Average Query Scheduling Latency: 節點查詢任務調度耗時的平均值
- P50 Query Scheduling Latency: 節點查詢任務調度耗時的中位數
- P99 Query Scheduling Latency: 節點查詢任務調度耗時的P99
Query Interface
- 加載時間序列元數據
- Average Timeseries Metadata Load Time: 節點查詢加載時間序列元數據耗時的平均值
- P50 Timeseries Metadata Load Time: 節點查詢加載時間序列元數據耗時的中位數
- P99 Timeseries Metadata Load Time: 節點查詢加載時間序列元數據耗時的P99
- 讀取時間序列
- Average Timeseries Metadata Read Time: 節點查詢讀取時間序列耗時的平均值
- P50 Timeseries Metadata Read Time: 節點查詢讀取時間序列耗時的中位數
- P99 Timeseries Metadata Read Time: 節點查詢讀取時間序列耗時的P99
- 修改時間序列元數據
- Average Timeseries Metadata Modification Time: 節點查詢修改時間序列元數據耗時的平均值
- P50 Timeseries Metadata Modification Time: 節點查詢修改時間序列元數據耗時的中位數
- P99 Timeseries Metadata Modification Time: 節點查詢修改時間序列元數據耗時的P99
- 加載Chunk元數據列表
- Average Chunk Metadata List Load Time: 節點查詢加載Chunk元數據列表耗時的平均值
- P50 Chunk Metadata List Load Time: 節點查詢加載Chunk元數據列表耗時的中位數
- P99 Chunk Metadata List Load Time: 節點查詢加載Chunk元數據列表耗時的P99
- 修改Chunk元數據
- Average Chunk Metadata Modification Time: 節點查詢修改Chunk元數據耗時的平均值
- P50 Chunk Metadata Modification Time: 節點查詢修改Chunk元數據耗時的總位數
- P99 Chunk Metadata Modification Time: 節點查詢修改Chunk元數據耗時的P99
- 按照Chunk元數據過濾
- Average Chunk Metadata Filtering Time: 節點查詢按照Chunk元數據過濾耗時的平均值
- P50 Chunk Metadata Filtering Time: 節點查詢按照Chunk元數據過濾耗時的中位數
- P99 Chunk Metadata Filtering Time: 節點查詢按照Chunk元數據過濾耗時的P99
- 構造Chunk Reader
- Average Chunk Reader Construction Time: 節點查詢構造Chunk Reader耗時的平均值
- P50 Chunk Reader Construction Time: 節點查詢構造Chunk Reader耗時的中位數
- P99 Chunk Reader Construction Time: 節點查詢構造Chunk Reader耗時的P99
- 讀取Chunk
- Average Chunk Read Time: 節點查詢讀取Chunk耗時的平均值
- P50 Chunk Read Time: 節點查詢讀取Chunk耗時的中位數
- P99 Chunk Read Time: 節點查詢讀取Chunk耗時的P99
- 初始化Chunk Reader
- Average Chunk Reader Initialization Time: 節點查詢初始化Chunk Reader耗時的平均值
- P50 Chunk Reader Initialization Time: 節點查詢初始化Chunk Reader耗時的中位數
- P99 Chunk Reader Initialization Time: 節點查詢初始化Chunk Reader耗時的P99
- 通過 Page Reader 構造 TsBlock
- Average TsBlock Construction Time from Page Reader: 節點查詢通過 Page Reader 構造 TsBlock 耗時的平均值
- P50 TsBlock Construction Time from Page Reader: 節點查詢通過 Page Reader 構造 TsBlock 耗時的中位數
- P99 TsBlock Construction Time from Page Reader: 節點查詢通過 Page Reader 構造 TsBlock 耗時的P99
- 查詢通過 Merge Reader 構造 TsBlock
- Average TsBlock Construction Time from Merge Reader: 節點查詢通過 Merge Reader 構造 TsBlock 耗時的平均值
- P50 TsBlock Construction Time from Merge Reader: 節點查詢通過 Merge Reader 構造 TsBlock 耗時的中位數
- P99 TsBlock Construction Time from Merge Reader: 節點查詢通過 Merge Reader 構造 TsBlock 耗時的P99
Query Data Exchange
查詢的數據交換耗時。
- 通過 source handle 獲取 TsBlock
- Average Source Handle TsBlock Retrieval Time: 節點查詢通過 source handle 獲取 TsBlock 耗時的平均值
- P50 Source Handle TsBlock Retrieval Time: 節點查詢通過 source handle 獲取 TsBlock 耗時的中位數
- P99 Source Handle TsBlock Retrieval Time: 節點查詢通過 source handle 獲取 TsBlock 耗時的P99
- 通過 source handle 反序列化 TsBlock
- Average Source Handle TsBlock Deserialization Time: 節點查詢通過 source handle 反序列化 TsBlock 耗時的平均值
- P50 Source Handle TsBlock Deserialization Time: 節點查詢通過 source handle 反序列化 TsBlock 耗時的中位數
- P99 Source Handle TsBlock Deserialization Time: 節點查詢通過 source handle 反序列化 TsBlock 耗時的P99
- 通過 sink handle 發送 TsBlock
- Average Sink Handle TsBlock Transmission Time: 節點查詢通過 sink handle 發送 TsBlock 耗時的平均值
- P50 Sink Handle TsBlock Transmission Time: 節點查詢通過 sink handle 發送 TsBlock 耗時的中位數
- P99 Sink Handle TsBlock Transmission Time: 節點查詢通過 sink handle 發送 TsBlock 耗時的P99
- 回調 data block event
- Average Data Block Event Acknowledgment Time: 節點查詢回調 data block event 耗時的平均值
- P50 Data Block Event Acknowledgment Time: 節點查詢回調 data block event 耗時的中位數
- P99 Data Block Event Acknowledgment Time: 節點查詢回調 data block event 耗時的P99
- 獲取 data block task
- Average Data Block Task Retrieval Time: 節點查詢獲取 data block task 耗時的平均值
- P50 Data Block Task Retrieval Time: 節點查詢獲取 data block task 耗時的中位數
- P99 Data Block Task Retrieval Time: 節點查詢獲取 data block task 耗時的 P99
Query Related Resource
- MppDataExchangeManager: 節點查詢時 shuffle sink handle 和 source handle 的數量
- LocalExecutionPlanner: 節點可分配給查詢分片的剩余內存
- FragmentInstanceManager: 節點正在運行的查詢分片上下文信息和查詢分片的數量
- Coordinator: 節點上記錄的查詢數量
- MemoryPool Size: 節點查詢相關的內存池情況
- MemoryPool Capacity: 節點查詢相關的內存池的大小情況,包括最大值和剩余可用值
- DriverScheduler Count: 節點查詢相關的隊列任務數量
Consensus - IoT Consensus
- 內存使用
- IoTConsensus Used Memory: 節點的 IoT Consensus 的內存使用情況,包括總使用內存大小、隊列使用內存大小、同步使用內存大小
- 節點間同步情況
- IoTConsensus Sync Index Size: 節點的 IoT Consensus 的 不同 DataRegion 的 SyncIndex 大小
- IoTConsensus Overview: 節點的 IoT Consensus 的總同步差距和緩存的請求數量
- IoTConsensus Search Index Growth Rate: 節點 IoT Consensus 不同 DataRegion 的寫入 SearchIndex 的增長速率
- IoTConsensus Safe Index Growth Rate: 節點 IoT Consensus 不同 DataRegion 的同步 SafeIndex 的增長速率
- IoTConsensus LogDispatcher Request Size: 節點 IoT Consensus 不同 DataRegion 同步到其他節點的請求大小
- Sync Lag: 節點 IoT Consensus 不同 DataRegion 的同步差距大小
- Min Peer Sync Lag: 節點 IoT Consensus 不同 DataRegion 向不同副本的最小同步差距
- Peer Sync Speed Difference: 節點 IoT Consensus 不同 DataRegion 向不同副本同步的最大差距
- IoTConsensus LogEntriesFromWAL Rate: 節點 IoT Consensus 不同 DataRegion 從 WAL 獲取日志的速率
- IoTConsensus LogEntriesFromQueue Rate: 節點 IoT Consensus 不同 DataRegion 從 隊列獲取日志的速率
- 不同執行階段耗時
- The Time Consumed of Different Stages (avg): 節點 IoT Consensus 不同執行階段的耗時的平均值
- The Time Consumed of Different Stages (50%): 節點 IoT Consensus 不同執行階段的耗時的中位數
- The Time Consumed of Different Stages (99%): 節點 IoT Consensus 不同執行階段的耗時的P99
Consensus - DataRegion Ratis Consensus
- Ratis Consensus Stage Latency: 節點 Ratis 不同階段的耗時
- Ratis Log Write Latency: 節點 Ratis 寫 Log 不同階段的耗時
- Remote / Local Write Latency: 節點 Ratis 在本地或者遠端寫入的耗時
- Remote / Local Write Throughput (QPS): 節點 Ratis 在本地或者遠端寫入的 QPS
- RatisConsensus Memory Usage: 節點 Ratis 的內存使用情況
Consensus - SchemaRegion Ratis Consensus
- RatisConsensus Stage Latency: 節點 Ratis 不同階段的耗時
- Ratis Log Write Latency: 節點 Ratis 寫 Log 各階段的耗時
- Remote / Local Write Latency: 節點 Ratis 在本地或者遠端寫入的耗時
- Remote / Local Write Throughput (QPS): 節點 Ratis 在本地或者遠端寫入的QPS
- RatisConsensus Memory Usage: 節點 Ratis 內存使用情況