blob: eafca6d9fddc6ca5187ca346dd80aaf35f3d999c [file] [log] [blame]
import{_ as t,a as o,b as s,c as n,d as r,e as d,f as c,g as u,h as m,i as h,j as p,k as g,l as f,m as T,n as b,o as y}from"./面板汇总-DQPU7sFi.js";import{_ as C,c as v,d as i,b as S,e as l,a as k,f as D,r as P,o as R}from"./app-BJ81rGGe.js";const B={};function M(I,e){const a=P("RouteLink");return R(),v("div",null,[e[3]||(e[3]=i("h1",{id:"监控面板部署",tabindex:"-1"},[i("a",{class:"header-anchor",href:"#监控面板部署"},[i("span",null,"监控面板部署")])],-1)),e[4]||(e[4]=i("p",null,"IoTDB配套监控面板是IoTDB企业版配套工具之一。它旨在解决IoTDB及其所在操作系统的监控问题,主要包括:操作系统资源监控、IoTDB性能监控,及上百项内核监控指标,从而帮助用户监控集群健康状态,并进行集群调优和运维。本文将以常见的3C3D集群(3个Confignode和3个Datanode)为例,为您介绍如何在IoTDB的实例中开启系统监控模块,并且使用Prometheus + Grafana的方式完成对系统监控指标的可视化。",-1)),i("p",null,[e[1]||(e[1]=l("监控面板工具的使用说明可参考文档 ")),k(a,{to:"/zh/UserGuide/dev-1.3/Tools-System/Monitor-Tool.html"},{default:D(()=>e[0]||(e[0]=[l("使用说明")])),_:1}),e[2]||(e[2]=l(" 章节。"))]),e[5]||(e[5]=S(`<h2 id="安装准备" tabindex="-1"><a class="header-anchor" href="#安装准备"><span>安装准备</span></a></h2><ol><li>安装 IoTDB:需先安装IoTDB V1.0 版本及以上企业版,您可联系商务或技术支持获取</li><li>获取 IoTDB 监控面板安装包:基于企业版 IoTDB 的数据库监控面板,您可联系商务或技术支持获取</li></ol><h2 id="安装步骤" tabindex="-1"><a class="header-anchor" href="#安装步骤"><span>安装步骤</span></a></h2><h3 id="步骤一-iotdb开启监控指标采集" tabindex="-1"><a class="header-anchor" href="#步骤一-iotdb开启监控指标采集"><span>步骤一:IoTDB开启监控指标采集</span></a></h3><ol><li>打开监控配置项。IoTDB中监控有关的配置项默认是关闭的,在部署监控面板前,您需要打开相关配置项(注意开启监控配置后需要重启服务)。</li></ol><table><thead><tr><th style="text-align:left;">配置项</th><th style="text-align:left;">所在配置文件</th><th style="text-align:left;">配置说明</th></tr></thead><tbody><tr><td style="text-align:left;">cn_metric_reporter_list</td><td style="text-align:left;">conf/iotdb-system.properties</td><td style="text-align:left;">将配置项取消注释,值设置为PROMETHEUS</td></tr><tr><td style="text-align:left;">cn_metric_level</td><td style="text-align:left;">conf/iotdb-system.properties</td><td style="text-align:left;">将配置项取消注释,值设置为IMPORTANT</td></tr><tr><td style="text-align:left;">cn_metric_prometheus_reporter_port</td><td style="text-align:left;">conf/iotdb-system.properties</td><td style="text-align:left;">将配置项取消注释,可保持默认设置9091,如设置其他端口,不与其他端口冲突即可</td></tr><tr><td style="text-align:left;">dn_metric_reporter_list</td><td style="text-align:left;">conf/iotdb-system.properties</td><td style="text-align:left;">将配置项取消注释,值设置为PROMETHEUS</td></tr><tr><td style="text-align:left;">dn_metric_level</td><td style="text-align:left;">conf/iotdb-system.properties</td><td style="text-align:left;">将配置项取消注释,值设置为IMPORTANT</td></tr><tr><td style="text-align:left;">dn_metric_prometheus_reporter_port</td><td style="text-align:left;">conf/iotdb-system.properties</td><td style="text-align:left;">将配置项取消注释,可默认设置为9092,如设置其他端口,不与其他端口冲突即可</td></tr></tbody></table><p>以3C3D集群为例,需要修改的监控配置如下:</p><table><thead><tr><th>节点ip</th><th>主机名</th><th>集群角色</th><th>配置文件路径</th><th>配置项</th></tr></thead><tbody><tr><td>192.168.1.3</td><td>iotdb-1</td><td>confignode</td><td>conf/iotdb-system.properties</td><td>cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091</td></tr><tr><td>192.168.1.4</td><td>iotdb-2</td><td>confignode</td><td>conf/iotdb-system.properties</td><td>cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091</td></tr><tr><td>192.168.1.5</td><td>iotdb-3</td><td>confignode</td><td>conf/iotdb-system.properties</td><td>cn_metric_reporter_list=PROMETHEUS cn_metric_level=IMPORTANT cn_metric_prometheus_reporter_port=9091</td></tr><tr><td>192.168.1.3</td><td>iotdb-1</td><td>datanode</td><td>conf/iotdb-system.properties</td><td>dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9092</td></tr><tr><td>192.168.1.4</td><td>iotdb-2</td><td>datanode</td><td>conf/iotdb-system.properties</td><td>dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9092</td></tr><tr><td>192.168.1.5</td><td>iotdb-3</td><td>datanode</td><td>conf/iotdb-system.properties</td><td>dn_metric_reporter_list=PROMETHEUS dn_metric_level=IMPORTANT dn_metric_prometheus_reporter_port=9092</td></tr></tbody></table><ol start="2"><li>重启所有节点。修改3个节点的监控指标配置后,可重新启动所有节点的confignode和datanode服务:</li></ol><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">./sbin/stop-standalone.sh</span><span style="color:#7F848E;font-style:italic;"> #先停止confignode和datanode</span></span>
<span class="line"><span style="color:#61AFEF;">./sbin/start-confignode.sh</span><span style="color:#D19A66;"> -d</span><span style="color:#7F848E;font-style:italic;"> #启动confignode</span></span>
<span class="line"><span style="color:#61AFEF;">./sbin/start-datanode.sh</span><span style="color:#D19A66;"> -d</span><span style="color:#7F848E;font-style:italic;"> #启动datanode</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>重启后,通过客户端确认各节点的运行状态,若状态都为Running,则为配置成功:</li></ol><figure><img src="`+t+`" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="步骤二-安装、配置prometheus" tabindex="-1"><a class="header-anchor" href="#步骤二-安装、配置prometheus"><span>步骤二:安装、配置Prometheus</span></a></h3><blockquote><p>此处以prometheus安装在服务器192.168.1.3为例。</p></blockquote><ol><li>下载 Prometheus 安装包,要求安装 V2.30.3 版本及以上,可前往 Prometheus 官网下载(<a href="https://prometheus.io/docs/introduction/first_steps/" target="_blank" rel="noopener noreferrer">https://prometheus.io/docs/introduction/first_steps/</a>)</li><li>解压安装包,进入解压后的文件夹:</li></ol><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">tar</span><span style="color:#98C379;"> xvfz</span><span style="color:#98C379;"> prometheus-</span><span style="color:#E5C07B;">*</span><span style="color:#98C379;">.tar.gz</span></span>
<span class="line"><span style="color:#56B6C2;">cd</span><span style="color:#98C379;"> prometheus-</span><span style="color:#E5C07B;">*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>修改配置。修改配置文件prometheus.yml如下 <ol><li>新增confignode任务收集ConfigNode的监控数据</li><li>新增datanode任务收集DataNode的监控数据</li></ol></li></ol><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">global:</span></span>
<span class="line"><span style="color:#61AFEF;"> scrape_interval:</span><span style="color:#98C379;"> 15s</span><span style="color:#ABB2BF;"> </span></span>
<span class="line"><span style="color:#61AFEF;"> evaluation_interval:</span><span style="color:#98C379;"> 15s</span><span style="color:#ABB2BF;"> </span></span>
<span class="line"><span style="color:#61AFEF;">scrape_configs:</span></span>
<span class="line"><span style="color:#61AFEF;"> -</span><span style="color:#98C379;"> job_name:</span><span style="color:#98C379;"> &quot;prometheus&quot;</span></span>
<span class="line"><span style="color:#61AFEF;"> static_configs:</span></span>
<span class="line"><span style="color:#61AFEF;"> -</span><span style="color:#98C379;"> targets:</span><span style="color:#ABB2BF;"> [</span><span style="color:#98C379;">&quot;localhost:9090&quot;</span><span style="color:#ABB2BF;">]</span></span>
<span class="line"><span style="color:#61AFEF;"> -</span><span style="color:#98C379;"> job_name:</span><span style="color:#98C379;"> &quot;confignode&quot;</span></span>
<span class="line"><span style="color:#61AFEF;"> static_configs:</span></span>
<span class="line"><span style="color:#61AFEF;"> -</span><span style="color:#98C379;"> targets:</span><span style="color:#ABB2BF;"> [</span><span style="color:#98C379;">&quot;iotdb-1:9091&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;iotdb-2:9091&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;iotdb-3:9091&quot;</span><span style="color:#ABB2BF;">]</span></span>
<span class="line"><span style="color:#61AFEF;"> honor_labels:</span><span style="color:#D19A66;"> true</span></span>
<span class="line"><span style="color:#61AFEF;"> -</span><span style="color:#98C379;"> job_name:</span><span style="color:#98C379;"> &quot;datanode&quot;</span></span>
<span class="line"><span style="color:#61AFEF;"> static_configs:</span></span>
<span class="line"><span style="color:#61AFEF;"> -</span><span style="color:#98C379;"> targets:</span><span style="color:#ABB2BF;"> [</span><span style="color:#98C379;">&quot;iotdb-1:9092&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;iotdb-2:9092&quot;</span><span style="color:#ABB2BF;">,</span><span style="color:#98C379;">&quot;iotdb-3:9092&quot;</span><span style="color:#ABB2BF;">]</span></span>
<span class="line"><span style="color:#61AFEF;"> honor_labels:</span><span style="color:#D19A66;"> true</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div><div class="line-number"></div></div></div><ol start="4"><li>启动PrometheusPrometheus 监控数据的默认过期时间为15天,在生产环境中,建议将其调整为180天以上,以对更长时间的历史监控数据进行追踪,启动命令如下所示:</li></ol><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">./prometheus</span><span style="color:#D19A66;"> --config.file=prometheus.yml</span><span style="color:#D19A66;"> --storage.tsdb.retention.time=180d</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ol start="5"><li><p>确认启动成功。在浏览器中输入 <a href="http://192.168.1.3:9090" target="_blank" rel="noopener noreferrer">http://192.168.1.3:9090</a>,进入Prometheus,点击进入Status下的Target界面,当看到State均为Up时表示配置成功并已经联通。</p><div style="display:flex;justify-content:space-between;"><img src="`+o+'" alt="" style="width:50%;"><img src="'+s+'" alt="" style="width:50%;"></div></li><li><p>点击Targets中左侧链接可以跳转到网页监控,查看相应节点的监控信息:</p></li></ol><figure><img src="'+n+`" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="步骤三-安装grafana并配置数据源" tabindex="-1"><a class="header-anchor" href="#步骤三-安装grafana并配置数据源"><span>步骤三:安装grafana并配置数据源</span></a></h3><blockquote><p>此处以Grafana安装在服务器192.168.1.3为例。</p></blockquote><ol><li>下载 Grafana 安装包,要求安装 V8.4.2 版本及以上,可以前往Grafana官网下载(<a href="https://grafana.com/grafana/download" target="_blank" rel="noopener noreferrer">https://grafana.com/grafana/download</a>)</li><li>解压并进入对应文件夹</li></ol><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">tar</span><span style="color:#D19A66;"> -zxvf</span><span style="color:#98C379;"> grafana-</span><span style="color:#E5C07B;">*</span><span style="color:#98C379;">.tar.gz</span></span>
<span class="line"><span style="color:#56B6C2;">cd</span><span style="color:#98C379;"> grafana-</span><span style="color:#E5C07B;">*</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div><div class="line-number"></div></div></div><ol start="3"><li>启动Grafana:</li></ol><div class="language-shell line-numbers-mode" data-highlighter="shiki" data-ext="shell" data-title="shell" style="background-color:#282c34;color:#abb2bf;"><pre class="shiki one-dark-pro vp-code"><code><span class="line"><span style="color:#61AFEF;">./bin/grafana-server</span><span style="color:#98C379;"> web</span></span></code></pre><div class="line-numbers" aria-hidden="true" style="counter-reset:line-number 0;"><div class="line-number"></div></div></div><ol start="4"><li><p>登录Grafana。在浏览器中输入 <a href="http://192.168.1.3:3000" target="_blank" rel="noopener noreferrer">http://192.168.1.3:3000</a>(或修改后的端口),进入Grafana,默认初始用户名和密码均为 admin。</p></li><li><p>配置数据源。在Connections中找到Data sources,新增一个data source并配置Data Source为Prometheus</p></li></ol><figure><img src="`+r+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><p>在配置Data Source时注意Prometheus所在的URL,配置好后点击Save &amp; Test 出现 Data source is working 提示则为配置成功</p><figure><img src="'+d+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure><h3 id="步骤四-导入iotdb-grafana看板" tabindex="-1"><a class="header-anchor" href="#步骤四-导入iotdb-grafana看板"><span>步骤四:导入IoTDB Grafana看板</span></a></h3><ol><li><p>进入Grafana,选择Dashboards:</p><figure><img src="'+c+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li><li><p>点击右侧 Import 按钮</p><figure><img src="'+u+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li><li><p>使用upload json file的方式导入Dashboard</p><figure><img src="'+m+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li><li><p>选择IoTDB监控面板中其中一个面板的json文件,这里以选择 Apache IoTDB ConfigNode Dashboard为例(监控面板安装包获取参见本文【安装准备】):</p><figure><img src="'+h+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li><li><p>选择数据源为Prometheus,然后点击Import</p><figure><img src="'+p+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li><li><p>之后就可以看到导入的Apache IoTDB ConfigNode Dashboard监控面板</p><figure><img src="'+g+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li><li><p>同样地,我们可以导入Apache IoTDB DataNode Dashboard、Apache Performance Overview Dashboard、Apache System Overview Dashboard,可看到如下的监控面板:</p><div style="display:flex;justify-content:space-between;"><img src="'+f+'" alt="" style="width:30%;"><img src="'+T+'" alt="" style="width:30%;"><img src="'+b+'" alt="" style="width:30%;"></div></li><li><p>至此,IoTDB监控面板就全部导入完成了,现在可以随时查看监控信息了。</p><figure><img src="'+y+'" alt="" tabindex="0" loading="lazy"><figcaption></figcaption></figure></li></ol><h2 id="附录、监控指标详解" tabindex="-1"><a class="header-anchor" href="#附录、监控指标详解"><span>附录、监控指标详解</span></a></h2><h3 id="系统面板-system-dashboard" tabindex="-1"><a class="header-anchor" href="#系统面板-system-dashboard"><span>系统面板(System Dashboard)</span></a></h3><p>该面板展示了当前系统CPU、内存、磁盘、网络资源的使用情况已经JVM的部分状况。</p><h4 id="cpu" tabindex="-1"><a class="header-anchor" href="#cpu"><span>CPU</span></a></h4><ul><li>CPU Core:CPU 核数</li><li>CPU Load: <ul><li>System CPU Load:整个系统在采样时间内 CPU 的平均负载和繁忙程度</li><li>Process CPU Load:IoTDB 进程在采样时间内占用的 CPU 比例</li></ul></li><li>CPU Time Per Minute:系统每分钟内所有进程的 CPU 时间总和</li></ul><h4 id="memory" tabindex="-1"><a class="header-anchor" href="#memory"><span>Memory</span></a></h4><ul><li>System Memory:当前系统内存的使用情况。 <ul><li>Commited vm size: 操作系统分配给正在运行的进程使用的虚拟内存的大小。</li><li>Total physical memory:系统可用物理内存的总量。</li><li>Used physical memory:系统已经使用的内存总量。包含进程实际使用的内存量和操作系统 buffers/cache 占用的内存。</li></ul></li><li>System Swap Memory:交换空间(Swap Space)内存用量。</li><li>Process Memory:IoTDB 进程使用内存的情况。 <ul><li>Max Memory:IoTDB 进程能够从操作系统那里最大请求到的内存量。(datanode-env/confignode-env 配置文件中配置分配的内存大小)</li><li>Total Memory:IoTDB 进程当前已经从操作系统中请求到的内存总量。</li><li>Used Memory:IoTDB 进程当前已经使用的内存总量。</li></ul></li></ul><h4 id="disk" tabindex="-1"><a class="header-anchor" href="#disk"><span>Disk</span></a></h4><ul><li>Disk Space: <ul><li>Total disk space:IoTDB 可使用的最大磁盘空间。</li><li>Used disk space:IoTDB 已经使用的磁盘空间。</li></ul></li><li>Log Number Per Minute:采样时间内每分钟 IoTDB 各级别日志数量的平均值。</li><li>File Count:IoTDB 相关文件数量 <ul><li>all:所有文件数量</li><li>TsFile:TsFile 数量</li><li>seq:顺序 TsFile 数量</li><li>unseq:乱序 TsFile 数量</li><li>wal:WAL 文件数量</li><li>cross-temp:跨空间合并 temp 文件数量</li><li>inner-seq-temp:顺序空间内合并 temp 文件数量</li><li>innser-unseq-temp:乱序空间内合并 temp 文件数量</li><li>mods:墓碑文件数量</li></ul></li><li>Open File Count:系统打开的文件句柄数量</li><li>File Size:IoTDB 相关文件的大小。各子项分别是对应文件的大小。</li><li>Disk I/O Busy Rate:等价于 iostat 中的 %util 指标,一定程度上反映磁盘的繁忙程度。各子项分别是对应磁盘的指标。</li><li>Disk I/O Throughput:系统各磁盘在一段时间 I/O Throughput 的平均值。各子项分别是对应磁盘的指标。</li><li>Disk I/O Ops:等价于 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 进行的次数。</li><li>Disk I/O Avg Time:等价于 iostat 的 await,即每个 I/O 请求的平均时延。读和写请求分开记录。</li><li>Disk I/O Avg Size:等价于 iostat 的 avgrq-sz,反映了每个 I/O 请求的大小。读和写请求分开记录。</li><li>Disk I/O Avg Queue Size:等价于 iostat 中的 avgqu-sz,即 I/O 请求队列的平均长度。</li><li>I/O System Call Rate:进程调用读写系统调用的频率,类似于 IOPS。</li><li>I/O Throughput:进程进行 I/O 的吞吐量,分为 actual_read/write 和 attempt_read/write 两类。actual read 和 actual write 指的是进程实际导致块设备进行 I/O 的字节数,不包含被 Page Cache 处理的部分。</li></ul><h4 id="jvm" tabindex="-1"><a class="header-anchor" href="#jvm"><span>JVM</span></a></h4><ul><li>GC Time Percentage:节点 JVM 在过去一分钟的时间窗口内,GC 耗时所占的比例</li><li>GC Allocated/Promoted Size Detail: 节点 JVM 平均每分钟晋升到老年代的对象大小,新生代/老年代和非分代新申请的对象大小</li><li>GC Data Size Detail:节点 JVM 长期存活的对象大小和对应代际允许的最大值</li><li>Heap Memory:JVM 堆内存使用情况。 <ul><li>Maximum heap memory:JVM 最大可用的堆内存大小。</li><li>Committed heap memory:JVM 已提交的堆内存大小。</li><li>Used heap memory:JVM 已经使用的堆内存大小。</li><li>PS Eden Space:PS Young 区的大小。</li><li>PS Old Space:PS Old 区的大小。</li><li>PS Survivor Space:PS Survivor 区的大小。</li><li>...(CMS/G1/ZGC 等)</li></ul></li><li>Off Heap Memory:堆外内存用量。 <ul><li>direct memory:堆外直接内存。</li><li>mapped memory:堆外映射内存。</li></ul></li><li>GC Number Per Minute:节点 JVM 平均每分钟进行垃圾回收的次数,包括 YGC 和 FGC</li><li>GC Time Per Minute:节点 JVM 平均每分钟进行垃圾回收的耗时,包括 YGC 和 FGC</li><li>GC Number Per Minute Detail:节点 JVM 平均每分钟由于不同 cause 进行垃圾回收的次数,包括 YGC 和 FGC</li><li>GC Time Per Minute Detail:节点 JVM 平均每分钟由于不同 cause 进行垃圾回收的耗时,包括 YGC 和 FGC</li><li>Time Consumed Of Compilation Per Minute:每分钟 JVM 用于编译的总时间</li><li>The Number of Class: <ul><li>loaded:JVM 目前已经加载的类的数量</li><li>unloaded:系统启动至今 JVM 卸载的类的数量</li></ul></li><li>The Number of Java Thread:IoTDB 目前存活的线程数。各子项分别为各状态的线程数。</li></ul><h4 id="network" tabindex="-1"><a class="header-anchor" href="#network"><span>Network</span></a></h4><p>eno 指的是到公网的网卡,lo 是虚拟网卡。</p><ul><li>Net Speed:网卡发送和接收数据的速度</li><li>Receive/Transmit Data Size:网卡发送或者接收的数据包大小,自系统重启后算起</li><li>Packet Speed:网卡发送和接收数据包的速度,一次 RPC 请求可以对应一个或者多个数据包</li><li>Connection Num:当前选定进程的 socket 连接数(IoTDB只有 TCP)</li></ul><h3 id="整体性能面板-performance-overview-dashboard" tabindex="-1"><a class="header-anchor" href="#整体性能面板-performance-overview-dashboard"><span>整体性能面板(Performance Overview Dashboard)</span></a></h3><h4 id="cluster-overview" tabindex="-1"><a class="header-anchor" href="#cluster-overview"><span>Cluster Overview</span></a></h4><ul><li>Total CPU Core: 集群机器 CPU 总核数</li><li>DataNode CPU Load: 集群各DataNode 节点的 CPU 使用率</li><li>磁盘 <ul><li>Total Disk Space: 集群机器磁盘总大小</li><li>DataNode Disk Usage: 集群各 DataNode 的磁盘使用率</li></ul></li><li>Total Timeseries: 集群管理的时间序列总数(含副本),实际时间序列数需结合元数据副本数计算</li><li>Cluster: 集群 ConfigNode 和 DataNode 节点数量</li><li>Up Time: 集群启动至今的时长</li><li>Total Write Point Per Second: 集群每秒写入总点数(含副本),实际写入总点数需结合数据副本数分析</li><li>内存 <ul><li>Total System Memory: 集群机器系统内存总大小</li><li>Total Swap Memory: 集群机器交换内存总大小</li><li>DataNode Process Memory Usage: 集群各 DataNode 的内存使用率</li></ul></li><li>Total File Number: 集群管理文件总数量</li><li>Cluster System Overview: 集群机器概述,包括平均 DataNode 节点内存占用率、平均机器磁盘使用率</li><li>Total DataBase: 集群管理的 Database 总数(含副本)</li><li>Total DataRegion: 集群管理的 DataRegion 总数</li><li>Total SchemaRegion: 集群管理的 SchemaRegion 总数</li></ul><h4 id="node-overview" tabindex="-1"><a class="header-anchor" href="#node-overview"><span>Node Overview</span></a></h4><ul><li>CPU Core: 节点所在机器的 CPU 核数</li><li>Disk Space: 节点所在机器的磁盘大小</li><li>Timeseries: 节点所在机器管理的时间序列数量(含副本)</li><li>System Overview: 节点所在机器的系统概述,包括 CPU 负载、进程内存使用比率、磁盘使用比率</li><li>Write Point Per Second: 节点所在机器的每秒写入速度(含副本)</li><li>System Memory: 节点所在机器的系统内存大小</li><li>Swap Memory: 节点所在机器的交换内存大小</li><li>File Number: 节点管理的文件数</li></ul><h4 id="performance" tabindex="-1"><a class="header-anchor" href="#performance"><span>Performance</span></a></h4><ul><li>Session Idle Time: 节点的 session 连接的总空闲时间和总忙碌时间</li><li>Client Connection: 节点的客户端连接情况,包括总连接数和活跃连接数</li><li>Time Consumed Of Operation: 节点的各类型操作耗时,包括平均值和P99</li><li>Average Time Consumed Of Interface: 节点的各个 thrift 接口平均耗时</li><li>P99 Time Consumed Of Interface: 节点的各个 thrift 接口的 P99 耗时数</li><li>Task Number: 节点的各项系统任务数量</li><li>Average Time Consumed of Task: 节点的各项系统任务的平均耗时</li><li>P99 Time Consumed of Task: 节点的各项系统任务的 P99 耗时</li><li>Operation Per Second: 节点的每秒操作数</li><li>主流程 <ul><li>Operation Per Second Of Stage: 节点主流程各阶段的每秒操作数</li><li>Average Time Consumed Of Stage: 节点主流程各阶段平均耗时</li><li>P99 Time Consumed Of Stage: 节点主流程各阶段 P99 耗时</li></ul></li><li>Schedule 阶段 <ul><li>OPS Of Schedule: 节点 schedule 阶段各子阶段每秒操作数</li><li>Average Time Consumed Of Schedule Stage: 节点 schedule 阶段各子阶段平均耗时</li><li>P99 Time Consumed Of Schedule Stage: 节点的 schedule 阶段各子阶段 P99 耗时</li></ul></li><li>Local Schedule 各子阶段 <ul><li>OPS Of Local Schedule Stage: 节点 local schedule 各子阶段每秒操作数</li><li>Average Time Consumed Of Local Schedule Stage: 节点 local schedule 阶段各子阶段平均耗时</li><li>P99 Time Consumed Of Local Schedule Stage: 节点的 local schedule 阶段各子阶段 P99 耗时</li></ul></li><li>Storage 阶段 <ul><li>OPS Of Storage Stage: 节点 storage 阶段各子阶段每秒操作数</li><li>Average Time Consumed Of Storage Stage: 节点 storage 阶段各子阶段平均耗时</li><li>P99 Time Consumed Of Storage Stage: 节点 storage 阶段各子阶段 P99 耗时</li></ul></li><li>Engine 阶段 <ul><li>OPS Of Engine Stage: 节点 engine 阶段各子阶段每秒操作数</li><li>Average Time Consumed Of Engine Stage: 节点的 engine 阶段各子阶段平均耗时</li><li>P99 Time Consumed Of Engine Stage: 节点 engine 阶段各子阶段的 P99 耗时</li></ul></li></ul><h4 id="system" tabindex="-1"><a class="header-anchor" href="#system"><span>System</span></a></h4><ul><li>CPU Load: 节点的 CPU 负载</li><li>CPU Time Per Minute: 节点的每分钟 CPU 时间,最大值和 CPU 核数相关</li><li>GC Time Per Minute: 节点的平均每分钟 GC 耗时,包括 YGC 和 FGC</li><li>Heap Memory: 节点的堆内存使用情况</li><li>Off Heap Memory: 节点的非堆内存使用情况</li><li>The Number Of Java Thread: 节点的 Java 线程数量情况</li><li>File Count: 节点管理的文件数量情况</li><li>File Size: 节点管理文件大小情况</li><li>Log Number Per Minute: 节点的每分钟不同类型日志情况</li></ul><h3 id="confignode-面板-confignode-dashboard" tabindex="-1"><a class="header-anchor" href="#confignode-面板-confignode-dashboard"><span>ConfigNode 面板(ConfigNode Dashboard)</span></a></h3><p>该面板展示了集群中所有管理节点的表现情况,包括分区、节点信息、客户端连接情况统计等。</p><h4 id="node-overview-1" tabindex="-1"><a class="header-anchor" href="#node-overview-1"><span>Node Overview</span></a></h4><ul><li>Database Count: 节点的数据库数量</li><li>Region <ul><li>DataRegion Count: 节点的 DataRegion 数量</li><li>DataRegion Current Status: 节点的 DataRegion 的状态</li><li>SchemaRegion Count: 节点的 SchemaRegion 数量</li><li>SchemaRegion Current Status: 节点的 SchemaRegion 的状态</li></ul></li><li>System Memory: 节点的系统内存大小</li><li>Swap Memory: 节点的交换区内存大小</li><li>ConfigNodes: 节点所在集群的 ConfigNode 的运行状态</li><li>DataNodes: 节点所在集群的 DataNode 情况</li><li>System Overview: 节点的系统概述,包括系统内存、磁盘使用、进程内存以及CPU负载</li></ul><h4 id="nodeinfo" tabindex="-1"><a class="header-anchor" href="#nodeinfo"><span>NodeInfo</span></a></h4><ul><li>Node Count: 节点所在集群的节点数量,包括 ConfigNode 和 DataNode</li><li>ConfigNode Status: 节点所在集群的 ConfigNode 节点的状态</li><li>DataNode Status: 节点所在集群的 DataNode 节点的状态</li><li>SchemaRegion Distribution: 节点所在集群的 SchemaRegion 的分布情况</li><li>SchemaRegionGroup Leader Distribution: 节点所在集群的 SchemaRegionGroup 的 Leader 分布情况</li><li>DataRegion Distribution: 节点所在集群的 DataRegion 的分布情况</li><li>DataRegionGroup Leader Distribution: 节点所在集群的 DataRegionGroup 的 Leader 分布情况</li></ul><h4 id="protocol" tabindex="-1"><a class="header-anchor" href="#protocol"><span>Protocol</span></a></h4><ul><li>客户端数量统计 <ul><li>Active Client Num: 节点各线程池的活跃客户端数量</li><li>Idle Client Num: 节点各线程池的空闲客户端数量</li><li>Borrowed Client Count: 节点各线程池的借用客户端数量</li><li>Created Client Count: 节点各线程池的创建客户端数量</li><li>Destroyed Client Count: 节点各线程池的销毁客户端数量</li></ul></li><li>客户端时间情况 <ul><li>Client Mean Active Time: 节点各线程池客户端的平均活跃时间</li><li>Client Mean Borrow Wait Time: 节点各线程池的客户端平均借用等待时间</li><li>Client Mean Idle Time: 节点各线程池的客户端平均空闲时间</li></ul></li></ul><h4 id="partition-table" tabindex="-1"><a class="header-anchor" href="#partition-table"><span>Partition Table</span></a></h4><ul><li>SchemaRegionGroup Count: 节点所在集群的 Database 的 SchemaRegionGroup 的数量</li><li>DataRegionGroup Count: 节点所在集群的 Database 的 DataRegionGroup 的数量</li><li>SeriesSlot Count: 节点所在集群的 Database 的 SeriesSlot 的数量</li><li>TimeSlot Count: 节点所在集群的 Database 的 TimeSlot 的数量</li><li>DataRegion Status: 节点所在集群的 DataRegion 状态</li><li>SchemaRegion Status: 节点所在集群的 SchemaRegion 的状态</li></ul><h4 id="consensus" tabindex="-1"><a class="header-anchor" href="#consensus"><span>Consensus</span></a></h4><ul><li>Ratis Stage Time: 节点的 Ratis 各阶段耗时</li><li>Write Log Entry: 节点的 Ratis 写 Log 的耗时</li><li>Remote / Local Write Time: 节点的 Ratis 的远程写入和本地写入的耗时</li><li>Remote / Local Write QPS: 节点 Ratis 的远程和本地写入的 QPS</li><li>RatisConsensus Memory: 节点 Ratis 共识协议的内存使用</li></ul><h3 id="datanode-面板-datanode-dashboard" tabindex="-1"><a class="header-anchor" href="#datanode-面板-datanode-dashboard"><span>DataNode 面板(DataNode Dashboard)</span></a></h3><p>该面板展示了集群中所有数据节点的监控情况,包含写入耗时、查询耗时、存储文件数等。</p><h4 id="node-overview-2" tabindex="-1"><a class="header-anchor" href="#node-overview-2"><span>Node Overview</span></a></h4><ul><li>The Number Of Entity: 节点管理的实体情况</li><li>Write Point Per Second: 节点的每秒写入速度</li><li>Memory Usage: 节点的内存使用情况,包括 IoT Consensus 各部分内存占用、SchemaRegion内存总占用和各个数据库的内存占用。</li></ul><h4 id="protocol-1" tabindex="-1"><a class="header-anchor" href="#protocol-1"><span>Protocol</span></a></h4><ul><li>节点操作耗时 <ul><li>The Time Consumed Of Operation (avg): 节点的各项操作的平均耗时</li><li>The Time Consumed Of Operation (50%): 节点的各项操作耗时的中位数</li><li>The Time Consumed Of Operation (99%): 节点的各项操作耗时的P99</li></ul></li><li>Thrift统计 <ul><li>The QPS Of Interface: 节点各个 Thrift 接口的 QPS</li><li>The Avg Time Consumed Of Interface: 节点各个 Thrift 接口的平均耗时</li><li>Thrift Connection: 节点的各类型的 Thrfit 连接数量</li><li>Thrift Active Thread: 节点各类型的活跃 Thrift 连接数量</li></ul></li><li>客户端统计 <ul><li>Active Client Num: 节点各线程池的活跃客户端数量</li><li>Idle Client Num: 节点各线程池的空闲客户端数量</li><li>Borrowed Client Count: 节点的各线程池借用客户端数量</li><li>Created Client Count: 节点各线程池的创建客户端数量</li><li>Destroyed Client Count: 节点各线程池的销毁客户端数量</li><li>Client Mean Active Time: 节点各线程池的客户端平均活跃时间</li><li>Client Mean Borrow Wait Time: 节点各线程池的客户端平均借用等待时间</li><li>Client Mean Idle Time: 节点各线程池的客户端平均空闲时间</li></ul></li></ul><h4 id="storage-engine" tabindex="-1"><a class="header-anchor" href="#storage-engine"><span>Storage Engine</span></a></h4><ul><li>File Count: 节点管理的各类型文件数量</li><li>File Size: 节点管理的各类型文件大小</li><li>TsFile <ul><li>TsFile Total Size In Each Level: 节点管理的各级别 TsFile 文件总大小</li><li>TsFile Count In Each Level: 节点管理的各级别 TsFile 文件数量</li><li>Avg TsFile Size In Each Level: 节点管理的各级别 TsFile 文件的平均大小</li></ul></li><li>Task Number: 节点的 Task 数量</li><li>The Time Consumed of Task: 节点的 Task 的耗时</li><li>Compaction <ul><li>Compaction Read And Write Per Second: 节点的每秒钟合并读写速度</li><li>Compaction Number Per Minute: 节点的每分钟合并数量</li><li>Compaction Process Chunk Status: 节点合并不同状态的 Chunk 的数量</li><li>Compacted Point Num Per Minute: 节点每分钟合并的点数</li></ul></li></ul><h4 id="write-performance" tabindex="-1"><a class="header-anchor" href="#write-performance"><span>Write Performance</span></a></h4><ul><li>Write Cost(avg): 节点写入耗时平均值,包括写入 wal 和 memtable</li><li>Write Cost(50%): 节点写入耗时中位数,包括写入 wal 和 memtable</li><li>Write Cost(99%): 节点写入耗时的P99,包括写入 wal 和 memtable</li><li>WAL <ul><li>WAL File Size: 节点管理的 WAL 文件总大小</li><li>WAL File Num: 节点管理的 WAL 文件数量</li><li>WAL Nodes Num: 节点管理的 WAL Node 数量</li><li>Make Checkpoint Costs: 节点创建各类型的 CheckPoint 的耗时</li><li>WAL Serialize Total Cost: 节点 WAL 序列化总耗时</li><li>Data Region Mem Cost: 节点不同的DataRegion的内存占用、当前实例的DataRegion的内存总占用、当前集群的 DataRegion 的内存总占用</li><li>Serialize One WAL Info Entry Cost: 节点序列化一个WAL Info Entry 耗时</li><li>Oldest MemTable Ram Cost When Cause Snapshot: 节点 WAL 触发 oldest MemTable snapshot 时 MemTable 大小</li><li>Oldest MemTable Ram Cost When Cause Flush: 节点 WAL 触发 oldest MemTable flush 时 MemTable 大小</li><li>Effective Info Ratio Of WALNode: 节点的不同 WALNode 的有效信息比</li><li>WAL Buffer <ul><li>WAL Buffer Cost: 节点 WAL flush SyncBuffer 耗时,包含同步和异步两种</li><li>WAL Buffer Used Ratio: 节点的 WAL Buffer 的使用率</li><li>WAL Buffer Entries Count: 节点的 WAL Buffer 的条目数量</li></ul></li></ul></li><li>Flush统计 <ul><li>Flush MemTable Cost(avg): 节点 Flush 的总耗时和各个子阶段耗时的平均值</li><li>Flush MemTable Cost(50%): 节点 Flush 的总耗时和各个子阶段耗时的中位数</li><li>Flush MemTable Cost(99%): 节点 Flush 的总耗时和各个子阶段耗时的 P99</li><li>Flush Sub Task Cost(avg): 节点的 Flush 平均子任务耗时平均情况,包括排序、编码、IO 阶段</li><li>Flush Sub Task Cost(50%): 节点的 Flush 各个子任务的耗时中位数情况,包括排序、编码、IO 阶段</li><li>Flush Sub Task Cost(99%): 节点的 Flush 平均子任务耗时P99情况,包括排序、编码、IO 阶段</li></ul></li><li>Pending Flush Task Num: 节点的处于阻塞状态的 Flush 任务数量</li><li>Pending Flush Sub Task Num: 节点阻塞的 Flush 子任务数量</li><li>Tsfile Compression Ratio Of Flushing MemTable: 节点刷盘 Memtable 时对应的 TsFile 压缩率</li><li>Flush TsFile Size Of DataRegions: 节点不同 DataRegion 的每次刷盘时对应的 TsFile 大小</li><li>Size Of Flushing MemTable: 节点刷盘的 Memtable 的大小</li><li>Points Num Of Flushing MemTable: 节点不同 DataRegion 刷盘时的点数</li><li>Series Num Of Flushing MemTable: 节点的不同 DataRegion 的 Memtable 刷盘时的时间序列数</li><li>Average Point Num Of Flushing MemChunk: 节点 MemChunk 刷盘的平均点数</li></ul><h4 id="schema-engine" tabindex="-1"><a class="header-anchor" href="#schema-engine"><span>Schema Engine</span></a></h4><ul><li>Schema Engine Mode: 节点的元数据引擎模式</li><li>Schema Consensus Protocol: 节点的元数据共识协议</li><li>Schema Region Number: 节点管理的 SchemaRegion 数量</li><li>Schema Region Memory Overview: 节点的 SchemaRegion 的内存数量</li><li>Memory Usgae per SchemaRegion: 节点 SchemaRegion 的平均内存使用大小</li><li>Cache MNode per SchemaRegion: 节点每个 SchemaRegion 中 cache node 个数</li><li>MLog Length and Checkpoint: 节点每个 SchemaRegion 的当前 mlog 的总长度和检查点位置(仅 SimpleConsensus 有效)</li><li>Buffer MNode per SchemaRegion: 节点每个 SchemaRegion 中 buffer node 个数</li><li>Activated Template Count per SchemaRegion: 节点每个SchemaRegion中已激活的模版数</li><li>时间序列统计 <ul><li>Timeseries Count per SchemaRegion: 节点 SchemaRegion 的平均时间序列数</li><li>Series Type: 节点不同类型的时间序列数量</li><li>Time Series Number: 节点的时间序列总数</li><li>Template Series Number: 节点的模板时间序列总数</li><li>Template Series Count per SchemaRegion: 节点每个SchemaRegion中通过模版创建的序列数</li></ul></li><li>IMNode统计 <ul><li>Pinned MNode per SchemaRegion: 节点每个 SchemaRegion 中 Pinned 的 IMNode 节点数</li><li>Pinned Memory per SchemaRegion: 节点每个 SchemaRegion 中 Pinned 的 IMNode 节点的内存占用大小</li><li>Unpinned MNode per SchemaRegion: 节点每个 SchemaRegion 中 Unpinned 的 IMNode 节点数</li><li>Unpinned Memory per SchemaRegion: 节点每个 SchemaRegion 中 Unpinned 的 IMNode 节点的内存占用大小</li><li>Schema File Memory MNode Number: 节点全局 pinned 和 unpinned 的 IMNode 节点数</li><li>Release and Flush MNode Rate: 节点每秒 release 和 flush 的 IMNode 数量</li></ul></li><li>Cache Hit Rate: 节点的缓存命中率</li><li>Release and Flush Thread Number: 节点当前活跃的 Release 和 Flush 线程数量</li><li>Time Consumed of Relead and Flush (avg): 节点触发 cache 释放和 buffer 刷盘耗时的平均值</li><li>Time Consumed of Relead and Flush (99%): 节点触发 cache 释放和 buffer 刷盘的耗时的 P99</li></ul><h4 id="query-engine" tabindex="-1"><a class="header-anchor" href="#query-engine"><span>Query Engine</span></a></h4><ul><li>各阶段耗时 <ul><li>The time consumed of query plan stages(avg): 节点查询各阶段耗时的平均值</li><li>The time consumed of query plan stages(50%): 节点查询各阶段耗时的中位数</li><li>The time consumed of query plan stages(99%): 节点查询各阶段耗时的P99</li></ul></li><li>执行计划分发耗时 <ul><li>The time consumed of plan dispatch stages(avg): 节点查询执行计划分发耗时的平均值</li><li>The time consumed of plan dispatch stages(50%): 节点查询执行计划分发耗时的中位数</li><li>The time consumed of plan dispatch stages(99%): 节点查询执行计划分发耗时的P99</li></ul></li><li>执行计划执行耗时 <ul><li>The time consumed of query execution stages(avg): 节点查询执行计划执行耗时的平均值</li><li>The time consumed of query execution stages(50%): 节点查询执行计划执行耗时的中位数</li><li>The time consumed of query execution stages(99%): 节点查询执行计划执行耗时的P99</li></ul></li><li>算子执行耗时 <ul><li>The time consumed of operator execution stages(avg): 节点查询算子执行耗时的平均值</li><li>The time consumed of operator execution(50%): 节点查询算子执行耗时的中位数</li><li>The time consumed of operator execution(99%): 节点查询算子执行耗时的P99</li></ul></li><li>聚合查询计算耗时 <ul><li>The time consumed of query aggregation(avg): 节点聚合查询计算耗时的平均值</li><li>The time consumed of query aggregation(50%): 节点聚合查询计算耗时的中位数</li><li>The time consumed of query aggregation(99%): 节点聚合查询计算耗时的P99</li></ul></li><li>文件/内存接口耗时 <ul><li>The time consumed of query scan(avg): 节点查询文件/内存接口耗时的平均值</li><li>The time consumed of query scan(50%): 节点查询文件/内存接口耗时的中位数</li><li>The time consumed of query scan(99%): 节点查询文件/内存接口耗时的P99</li></ul></li><li>资源访问数量 <ul><li>The usage of query resource(avg): 节点查询资源访问数量的平均值</li><li>The usage of query resource(50%): 节点查询资源访问数量的中位数</li><li>The usage of query resource(99%): 节点查询资源访问数量的P99</li></ul></li><li>数据传输耗时 <ul><li>The time consumed of query data exchange(avg): 节点查询数据传输耗时的平均值</li><li>The time consumed of query data exchange(50%): 节点查询数据传输耗时的中位数</li><li>The time consumed of query data exchange(99%): 节点查询数据传输耗时的P99</li></ul></li><li>数据传输数量 <ul><li>The count of Data Exchange(avg): 节点查询的数据传输数量的平均值</li><li>The count of Data Exchange: 节点查询的数据传输数量的分位数,包括中位数和P99</li></ul></li><li>任务调度数量与耗时 <ul><li>The number of query queue: 节点查询任务调度数量</li><li>The time consumed of query schedule time(avg): 节点查询任务调度耗时的平均值</li><li>The time consumed of query schedule time(50%): 节点查询任务调度耗时的中位数</li><li>The time consumed of query schedule time(99%): 节点查询任务调度耗时的P99</li></ul></li></ul><h4 id="query-interface" tabindex="-1"><a class="header-anchor" href="#query-interface"><span>Query Interface</span></a></h4><ul><li>加载时间序列元数据 <ul><li>The time consumed of load timeseries metadata(avg): 节点查询加载时间序列元数据耗时的平均值</li><li>The time consumed of load timeseries metadata(50%): 节点查询加载时间序列元数据耗时的中位数</li><li>The time consumed of load timeseries metadata(99%): 节点查询加载时间序列元数据耗时的P99</li></ul></li><li>读取时间序列 <ul><li>The time consumed of read timeseries metadata(avg): 节点查询读取时间序列耗时的平均值</li><li>The time consumed of read timeseries metadata(50%): 节点查询读取时间序列耗时的中位数</li><li>The time consumed of read timeseries metadata(99%): 节点查询读取时间序列耗时的P99</li></ul></li><li>修改时间序列元数据 <ul><li>The time consumed of timeseries metadata modification(avg): 节点查询修改时间序列元数据耗时的平均值</li><li>The time consumed of timeseries metadata modification(50%): 节点查询修改时间序列元数据耗时的中位数</li><li>The time consumed of timeseries metadata modification(99%): 节点查询修改时间序列元数据耗时的P99</li></ul></li><li>加载Chunk元数据列表 <ul><li>The time consumed of load chunk metadata list(avg): 节点查询加载Chunk元数据列表耗时的平均值</li><li>The time consumed of load chunk metadata list(50%): 节点查询加载Chunk元数据列表耗时的中位数</li><li>The time consumed of load chunk metadata list(99%): 节点查询加载Chunk元数据列表耗时的P99</li></ul></li><li>修改Chunk元数据 <ul><li>The time consumed of chunk metadata modification(avg): 节点查询修改Chunk元数据耗时的平均值</li><li>The time consumed of chunk metadata modification(50%): 节点查询修改Chunk元数据耗时的总位数</li><li>The time consumed of chunk metadata modification(99%): 节点查询修改Chunk元数据耗时的P99</li></ul></li><li>按照Chunk元数据过滤 <ul><li>The time consumed of chunk metadata filter(avg): 节点查询按照Chunk元数据过滤耗时的平均值</li><li>The time consumed of chunk metadata filter(50%): 节点查询按照Chunk元数据过滤耗时的中位数</li><li>The time consumed of chunk metadata filter(99%): 节点查询按照Chunk元数据过滤耗时的P99</li></ul></li><li>构造Chunk Reader <ul><li>The time consumed of construct chunk reader(avg): 节点查询构造Chunk Reader耗时的平均值</li><li>The time consumed of construct chunk reader(50%): 节点查询构造Chunk Reader耗时的中位数</li><li>The time consumed of construct chunk reader(99%): 节点查询构造Chunk Reader耗时的P99</li></ul></li><li>读取Chunk <ul><li>The time consumed of read chunk(avg): 节点查询读取Chunk耗时的平均值</li><li>The time consumed of read chunk(50%): 节点查询读取Chunk耗时的中位数</li><li>The time consumed of read chunk(99%): 节点查询读取Chunk耗时的P99</li></ul></li><li>初始化Chunk Reader <ul><li>The time consumed of init chunk reader(avg): 节点查询初始化Chunk Reader耗时的平均值</li><li>The time consumed of init chunk reader(50%): 节点查询初始化Chunk Reader耗时的中位数</li><li>The time consumed of init chunk reader(99%): 节点查询初始化Chunk Reader耗时的P99</li></ul></li><li>通过 Page Reader 构造 TsBlock <ul><li>The time consumed of build tsblock from page reader(avg): 节点查询通过 Page Reader 构造 TsBlock 耗时的平均值</li><li>The time consumed of build tsblock from page reader(50%): 节点查询通过 Page Reader 构造 TsBlock 耗时的中位数</li><li>The time consumed of build tsblock from page reader(99%): 节点查询通过 Page Reader 构造 TsBlock 耗时的P99</li></ul></li><li>查询通过 Merge Reader 构造 TsBlock <ul><li>The time consumed of build tsblock from merge reader(avg): 节点查询通过 Merge Reader 构造 TsBlock 耗时的平均值</li><li>The time consumed of build tsblock from merge reader(50%): 节点查询通过 Merge Reader 构造 TsBlock 耗时的中位数</li><li>The time consumed of build tsblock from merge reader(99%): 节点查询通过 Merge Reader 构造 TsBlock 耗时的P99</li></ul></li></ul><h4 id="query-data-exchange" tabindex="-1"><a class="header-anchor" href="#query-data-exchange"><span>Query Data Exchange</span></a></h4><p>查询的数据交换耗时。</p><ul><li>通过 source handle 获取 TsBlock <ul><li>The time consumed of source handle get tsblock(avg): 节点查询通过 source handle 获取 TsBlock 耗时的平均值</li><li>The time consumed of source handle get tsblock(50%): 节点查询通过 source handle 获取 TsBlock 耗时的中位数</li><li>The time consumed of source handle get tsblock(99%): 节点查询通过 source handle 获取 TsBlock 耗时的P99</li></ul></li><li>通过 source handle 反序列化 TsBlock <ul><li>The time consumed of source handle deserialize tsblock(avg): 节点查询通过 source handle 反序列化 TsBlock 耗时的平均值</li><li>The time consumed of source handle deserialize tsblock(50%): 节点查询通过 source handle 反序列化 TsBlock 耗时的中位数</li><li>The time consumed of source handle deserialize tsblock(99%): 节点查询通过 source handle 反序列化 TsBlock 耗时的P99</li></ul></li><li>通过 sink handle 发送 TsBlock <ul><li>The time consumed of sink handle send tsblock(avg): 节点查询通过 sink handle 发送 TsBlock 耗时的平均值</li><li>The time consumed of sink handle send tsblock(50%): 节点查询通过 sink handle 发送 TsBlock 耗时的中位数</li><li>The time consumed of sink handle send tsblock(99%): 节点查询通过 sink handle 发送 TsBlock 耗时的P99</li></ul></li><li>回调 data block event <ul><li>The time consumed of on acknowledge data block event task(avg): 节点查询回调 data block event 耗时的平均值</li><li>The time consumed of on acknowledge data block event task(50%): 节点查询回调 data block event 耗时的中位数</li><li>The time consumed of on acknowledge data block event task(99%): 节点查询回调 data block event 耗时的P99</li></ul></li><li>获取 data block task <ul><li>The time consumed of get data block task(avg): 节点查询获取 data block task 耗时的平均值</li><li>The time consumed of get data block task(50%): 节点查询获取 data block task 耗时的中位数</li><li>The time consumed of get data block task(99%): 节点查询获取 data block task 耗时的 P99</li></ul></li></ul><h4 id="query-related-resource" tabindex="-1"><a class="header-anchor" href="#query-related-resource"><span>Query Related Resource</span></a></h4><ul><li>MppDataExchangeManager: 节点查询时 shuffle sink handle 和 source handle 的数量</li><li>LocalExecutionPlanner: 节点可分配给查询分片的剩余内存</li><li>FragmentInstanceManager: 节点正在运行的查询分片上下文信息和查询分片的数量</li><li>Coordinator: 节点上记录的查询数量</li><li>MemoryPool Size: 节点查询相关的内存池情况</li><li>MemoryPool Capacity: 节点查询相关的内存池的大小情况,包括最大值和剩余可用值</li><li>DriverScheduler: 节点查询相关的队列任务数量</li></ul><h4 id="consensus-iot-consensus" tabindex="-1"><a class="header-anchor" href="#consensus-iot-consensus"><span>Consensus - IoT Consensus</span></a></h4><ul><li>内存使用 <ul><li>IoTConsensus Used Memory: 节点的 IoT Consensus 的内存使用情况,包括总使用内存大小、队列使用内存大小、同步使用内存大小</li></ul></li><li>节点间同步情况 <ul><li>IoTConsensus Sync Index: 节点的 IoT Consensus 的 不同 DataRegion 的 SyncIndex 大小</li><li>IoTConsensus Overview: 节点的 IoT Consensus 的总同步差距和缓存的请求数量</li><li>IoTConsensus Search Index Rate: 节点 IoT Consensus 不同 DataRegion 的写入 SearchIndex 的增长速率</li><li>IoTConsensus Safe Index Rate: 节点 IoT Consensus 不同 DataRegion 的同步 SafeIndex 的增长速率</li><li>IoTConsensus LogDispatcher Request Size: 节点 IoT Consensus 不同 DataRegion 同步到其他节点的请求大小</li><li>Sync Lag: 节点 IoT Consensus 不同 DataRegion 的同步差距大小</li><li>Min Peer Sync Lag: 节点 IoT Consensus 不同 DataRegion 向不同副本的最小同步差距</li><li>Sync Speed Diff Of Peers: 节点 IoT Consensus 不同 DataRegion 向不同副本同步的最大差距</li><li>IoTConsensus LogEntriesFromWAL Rate: 节点 IoT Consensus 不同 DataRegion 从 WAL 获取日志的速率</li><li>IoTConsensus LogEntriesFromQueue Rate: 节点 IoT Consensus 不同 DataRegion 从 队列获取日志的速率</li></ul></li><li>不同执行阶段耗时 <ul><li>The Time Consumed Of Different Stages (avg): 节点 IoT Consensus 不同执行阶段的耗时的平均值</li><li>The Time Consumed Of Different Stages (50%): 节点 IoT Consensus 不同执行阶段的耗时的中位数</li><li>The Time Consumed Of Different Stages (99%): 节点 IoT Consensus 不同执行阶段的耗时的P99</li></ul></li></ul><h4 id="consensus-dataregion-ratis-consensus" tabindex="-1"><a class="header-anchor" href="#consensus-dataregion-ratis-consensus"><span>Consensus - DataRegion Ratis Consensus</span></a></h4><ul><li>Ratis Stage Time: 节点 Ratis 不同阶段的耗时</li><li>Write Log Entry: 节点 Ratis 写 Log 不同阶段的耗时</li><li>Remote / Local Write Time: 节点 Ratis 在本地或者远端写入的耗时</li><li>Remote / Local Write QPS: 节点 Ratis 在本地或者远端写入的 QPS</li><li>RatisConsensus Memory: 节点 Ratis 的内存使用情况</li></ul><h4 id="consensus-schemaregion-ratis-consensus" tabindex="-1"><a class="header-anchor" href="#consensus-schemaregion-ratis-consensus"><span>Consensus - SchemaRegion Ratis Consensus</span></a></h4><ul><li>Ratis Stage Time: 节点 Ratis 不同阶段的耗时</li><li>Write Log Entry: 节点 Ratis 写 Log 各阶段的耗时</li><li>Remote / Local Write Time: 节点 Ratis 在本地或者远端写入的耗时</li><li>Remote / Local Write QPS: 节点 Ratis 在本地或者远端写入的QPS</li><li>RatisConsensus Memory: 节点 Ratis 内存使用情况</li></ul>',96))])}const A=C(B,[["render",M],["__file","Monitoring-panel-deployment.html.vue"]]),E=JSON.parse('{"path":"/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Monitoring-panel-deployment.html","title":"监控面板部署","lang":"zh-CN","frontmatter":{"description":"监控面板部署 IoTDB配套监控面板是IoTDB企业版配套工具之一。它旨在解决IoTDB及其所在操作系统的监控问题,主要包括:操作系统资源监控、IoTDB性能监控,及上百项内核监控指标,从而帮助用户监控集群健康状态,并进行集群调优和运维。本文将以常见的3C3D集群(3个Confignode和3个Datanode)为例,为您介绍如何在IoTDB的实例中开...","head":[["link",{"rel":"alternate","hreflang":"en-us","href":"https://iotdb.apache.org/UserGuide/dev-1.3/Deployment-and-Maintenance/Monitoring-panel-deployment.html"}],["meta",{"property":"og:url","content":"https://iotdb.apache.org/zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Monitoring-panel-deployment.html"}],["meta",{"property":"og:site_name","content":"IoTDB Website"}],["meta",{"property":"og:title","content":"监控面板部署"}],["meta",{"property":"og:description","content":"监控面板部署 IoTDB配套监控面板是IoTDB企业版配套工具之一。它旨在解决IoTDB及其所在操作系统的监控问题,主要包括:操作系统资源监控、IoTDB性能监控,及上百项内核监控指标,从而帮助用户监控集群健康状态,并进行集群调优和运维。本文将以常见的3C3D集群(3个Confignode和3个Datanode)为例,为您介绍如何在IoTDB的实例中开..."}],["meta",{"property":"og:type","content":"article"}],["meta",{"property":"og:image","content":"https://iotdb.apache.org/img/%E5%90%AF%E5%8A%A8.png"}],["meta",{"property":"og:locale","content":"zh-CN"}],["meta",{"property":"og:locale:alternate","content":"en-US"}],["meta",{"property":"og:updated_time","content":"2025-02-21T09:31:28.000Z"}],["meta",{"property":"article:modified_time","content":"2025-02-21T09:31:28.000Z"}],["script",{"type":"application/ld+json"},"{\\"@context\\":\\"https://schema.org\\",\\"@type\\":\\"Article\\",\\"headline\\":\\"监控面板部署\\",\\"image\\":[\\"https://iotdb.apache.org/img/%E5%90%AF%E5%8A%A8.png\\",\\"https://iotdb.apache.org/img/%E8%8A%82%E7%82%B9%E7%9B%91%E6%8E%A7.png\\",\\"https://iotdb.apache.org/img/%E6%B7%BB%E5%8A%A0%E9%85%8D%E7%BD%AE.png\\",\\"https://iotdb.apache.org/img/%E9%85%8D%E7%BD%AE%E6%88%90%E5%8A%9F.png\\",\\"https://iotdb.apache.org/img/%E9%9D%A2%E6%9D%BF%E9%80%89%E6%8B%A9.png\\",\\"https://iotdb.apache.org/img/Import%E6%8C%89%E9%92%AE.png\\",\\"https://iotdb.apache.org/img/%E5%AF%BC%E5%85%A5Dashboard.png\\",\\"https://iotdb.apache.org/img/%E9%80%89%E6%8B%A9%E9%9D%A2%E6%9D%BF.png\\",\\"https://iotdb.apache.org/img/%E9%80%89%E6%8B%A9%E6%95%B0%E6%8D%AE%E6%BA%90.png\\",\\"https://iotdb.apache.org/img/%E9%9D%A2%E6%9D%BF.png\\",\\"https://iotdb.apache.org/img/%E9%9D%A2%E6%9D%BF%E6%B1%87%E6%80%BB.png\\"],\\"dateModified\\":\\"2025-02-21T09:31:28.000Z\\",\\"author\\":[]}"]]},"headers":[{"level":2,"title":"安装准备","slug":"安装准备","link":"#安装准备","children":[]},{"level":2,"title":"安装步骤","slug":"安装步骤","link":"#安装步骤","children":[{"level":3,"title":"步骤一:IoTDB开启监控指标采集","slug":"步骤一-iotdb开启监控指标采集","link":"#步骤一-iotdb开启监控指标采集","children":[]},{"level":3,"title":"步骤二:安装、配置Prometheus","slug":"步骤二-安装、配置prometheus","link":"#步骤二-安装、配置prometheus","children":[]},{"level":3,"title":"步骤三:安装grafana并配置数据源","slug":"步骤三-安装grafana并配置数据源","link":"#步骤三-安装grafana并配置数据源","children":[]},{"level":3,"title":"步骤四:导入IoTDB Grafana看板","slug":"步骤四-导入iotdb-grafana看板","link":"#步骤四-导入iotdb-grafana看板","children":[]}]},{"level":2,"title":"附录、监控指标详解","slug":"附录、监控指标详解","link":"#附录、监控指标详解","children":[{"level":3,"title":"系统面板(System Dashboard)","slug":"系统面板-system-dashboard","link":"#系统面板-system-dashboard","children":[]},{"level":3,"title":"整体性能面板(Performance Overview Dashboard)","slug":"整体性能面板-performance-overview-dashboard","link":"#整体性能面板-performance-overview-dashboard","children":[]},{"level":3,"title":"ConfigNode 面板(ConfigNode Dashboard)","slug":"confignode-面板-confignode-dashboard","link":"#confignode-面板-confignode-dashboard","children":[]},{"level":3,"title":"DataNode 面板(DataNode Dashboard)","slug":"datanode-面板-datanode-dashboard","link":"#datanode-面板-datanode-dashboard","children":[]}]}],"git":{"createdTime":1719478614000,"updatedTime":1740130288000,"contributors":[{"name":"majialin","username":"majialin","email":"107627937+mal117@users.noreply.github.com","commits":4,"url":"https://github.com/majialin"},{"name":"shuwenwei","username":"shuwenwei","email":"55970239+shuwenwei@users.noreply.github.com","commits":1,"url":"https://github.com/shuwenwei"},{"name":"W1y1r","username":"W1y1r","email":"150988475+W1y1r@users.noreply.github.com","commits":5,"url":"https://github.com/W1y1r"},{"name":"CritasWang","username":"CritasWang","email":"critas@outlook.com","commits":1,"url":"https://github.com/CritasWang"}]},"readingTime":{"minutes":29.31,"words":8792},"filePathRelative":"zh/UserGuide/dev-1.3/Deployment-and-Maintenance/Monitoring-panel-deployment.md","localizedDate":"2024年6月27日","autoDesc":true}');export{A as comp,E as data};