使用Trino Web UI可以进行任务的监控。
1.集群级监控信息
在Cluster Overview页面,如下图所示:
1.1.Running Query——运行中的查询任务数
当前正在运行的查询总数,所有用户的查询都会计入。
1.2.Queued Query——队列中的查询任务数
Trino集群中所有用户在队列中等待的查询任务总数。基于资源组的配置,Coordinator调度在队列中等待的查询。
1.3.Blocked Query——阻塞的查询任务数
集群中阻塞的查询任务总数,由于缺少必要的split或其他资源,阻塞的查询任务无法继续执行。
1.4.Active Worker——活跃的Worker节点数
集群中活跃的工作节点数量。通过手动或自动扩展添加或删除任何工作节点时,这些节点都会注册到discovery service上,因此现实的数字会据此更新。
1.5.Runnable Driver——可运行的驱动数
集群中可运行的驱动程序平均数。
1.6.Reserved Memory——预留内存
Trino中所有预留内存的总量,以字节为单位。
1.7.Rows/Sec——行/秒
集群上运行的所有查询任务每秒处理的数据行总数。
1.8.Bytes/Sec——字节/秒
集群上运行的所有查询任务每秒处理的数据总量,以字节为单位。
1.9.Worker Parallelism——工作节点并行度
工作节点的并行度总量,也就是集群中所有查询任务运行时在所有工作节点上消耗的线程CPU时间片总量。
2.任务列表信息
Trino Web UI仪表盘下方就是最近执行的查询任务列表信息。
2.1.查询任务ID
查询ID的格式为“YYYYMMDD_HHMMSS_{递增计数器}_{随机标识符}”
其中,递增计数器表示Coordinator启动以来,这是第几个查询任务。比如“0007”表示这是Coordinator启动以来的第7个查询任务。
随机标识符表示Coordinator的随机标识符。
递增计数器和随机标识符和Coordinator绑定,在Coordinator重启时都会被重置。
2.2.任务提交用户信息
每个任务信息中都包含运行次查询任务的终端用户、查询来源、用户组。
最典型的查询来源是trino-cli。
2.3.任务状态信息
最常见的任务状态有:
(1)RUNNING:运行中
(2)FINISHED:已完成
(3)USER CANCELLED:用户取消,表示用户终止了查询。
(4)USER ERROR:用户错误,表示用户提交的SQL查询存在语法错误或语义错误。
2.4.任务运行信息
包含任务运行时的数据统计,统计信息排列如下表所示:
3.查询任务细节视图
Web UI提供了针对每个查询更细节的信息。
overview页面提供了以下信息:
(1)Session:会话信息
(2)Execution:执行信息
(3)Resource Utilizations Summary:资源使用概览信息
(4)Timeline:时间线信息
(5)Query:查询信息
(6)Prepare Query:准备的查询信息
3.7.Stages——阶段
Stages区域中每个阶段展示的数值解释如下。
3.7.1.Time块
包含以下三个字段:
(1)SCHEDULED:此阶段中所有任务完成之前,处于调度中状态的任务的总时间。
(2)BLOCKED:此阶段因等待数据而被阻塞的总时间。
(3)CPU:此阶段中任务花费的CPU时间片总和。
3.7.2.Memory块
包含以下四个字段:
(1)CUMULATIVE:运行此阶段所花费的累计内存量,这个值并不表示某个时刻用了这么大的内存量,而是任务执行过程中申请使用的内存量总和。
(2)CURRENT:此阶段当前使用的总预留内存量。对于已完成的任务,此值为0。
(3)BUFFERS:当前等待处理的数据占用的内存量。
(4)PEAK:此阶段使用的峰值内存量。
3.7.3.Tasks块
包含以下四个字段:
(1)PENDING:此阶段处于等待状态的任务数量。
(2)RUNNING:此阶段正在执行的任务数量。
(3)BLOCKED:此阶段处于阻塞状态的任务数量。
(4)TOTAL:查询完成的任务数量
(5)SCHEDULED TIME SKEW:调度时间
(6)CPU TIME SKEW:CPU时间
(7)TASK SCHEDULED TIME:任务调度时间
(8)TASK CPU TIME:任务CPU时间
3.8.任务信息
在Stages下方,有更多的任务信息,以表格形式呈现,表头字段如下:
(1)ID:任务标识符,格式为“{stage-id}.{task-id}”。比如,1.2表示阶段1的任务2
(2)Host:运行此任务的工作节点的IP地址。
(3)State:任务的状态,可能有RUNNING、BLOCKED、PENDING。
(4)Pending Splits:任务处于PENDING状态的切片数量。
(5)Running Splits:正在运行的任务切片数量。
(6)Blocked Splits:阻塞状态的任务切片数量。
(7)Completed Splits:已完成的任务切片数量。
(8)Rows:任务处理过的数据行数。
(9)Rows/s:任务每秒处理的数据行数。
(10)Bytes:任务处理的数据字节数。
(11)Bytes/s:任务每秒处理的数据字节数。
(12)Elapsed:任务执行经历的时钟时间。
(13)CPU Time:任务花费的CPU时间片总和。
(14)Mem:任务当前使用的内存量。
(15)Peak Mem:任务执行期内存消耗的最高峰值。
3.9.Live Plan
实时计划标签页可以让你实时观察Trino集群执行查询处理的过程。
3.10.Stage Performance
查询结束后,Stage Performance视图可以提供有关查询性能细节的可视化