TuGraph Analytics 作业监控面板:运行时组件上的高效分析工具
作者:丁一
背景
TuGraph Analytics 作业部署到 K8S 集群之后,通常会启动多个 pod(一个 master、一/多个 driver、多个 container)。用户很难判断作业当前运行的进度如何,也不能通过 pod 的状态来判断内部进程的状态。无论是查看进度、查看日志、性能分析,都需要到每一个 pod 中进行对应的操作,运维成本很大,需要一个白屏化的监控页面来监控所有进程的实时状态信息。
因此,我们在作业进程中内置了一个 Dashboard(本地启动/容器启动时自动生效),包括前端页面和后端 server,用户可以不需要感知到它们的存在。通过访问 Dashboard,用户可以更方便地通过白屏化的方式查看作业的执行进度、组件列表和详情、任意组件内部的指标、日志等。还可以通过 Profiler 工具对进程状态进行分析,快速定位问题。
Dashboard 介绍
TuGraph Analytics 的 Dashboard 模块提供了作业级别的监控页面,可以轻松地查看作业的以下信息:
作业的健康度(Container 和 Worker 活跃度)
作业的进度(Pipeline 和 Cycle 信息)
作业各个组件的实时日志
作业各个组件的进程指标
作业各个组件的火焰图
作业各个组件的 Thread Dump
如何访问页面
页面的服务部署在 master 组件上,因此直接访问 master 组件的地址即可(默认端口 8090)。
功能介绍
TuGraph Analytics Dashboard 包含以下几个主要的功能:
Overview
Overview 页面会展示整个作业的健康状态。你可以在这里查看 container 和 driver 是否都在正常运行。
除此之外,Overview 页面也会展示作业的 Pipeline 列表。
作业执行计划进度
作业的执行计划可以由多个 Pipeline 表示,每个 Pipeline 内部又有多个 Cycle。可以通过侧边栏的 Pipeline 菜单进入页面。页面包括作业的每一项 Pipeline 的名称、开始时间和耗时。耗时为 0 表示该 Pipeline 已开始执行,但尚未完成。
点击 Pipeline 名称可以进入二级菜单,查看当前 Pipeline 下所有的 Cycle 列表的各项信息。
作业组件详情
可以查看作业的各个组件(包括 master、driver、container)的各项信息。可以通过侧边栏的菜单进行访问。其中 Driver 详情展示所有 driver 的基础信息。
Container 详情展示所有 Container 的基础信息。
组件运行时详情
通过点击左边栏的 Master 详情,或者通过点击 Driver/Container 详情中的组件名称,可以跳转到组件的运行时页面。在运行时页面中,可以查看和操作以下内容。
进程指标
展示完整的容器进程指标。
容器日志
展示容器进程内的主要可见日志。根据日志的 log4j 配置,默认日志文件大小最大为 128G(此处测试简单起见设置为了 50KB),超过后会进行文件备份。例如 master.log.1 和 master.log.2 就是 master.log 的备份之一。
master.log:Master 的 java 主进程日志。
master.log.1 / master.log.2:Master 的 java 主进程日志备份。
agent.log:Master 的 agent 服务日志。
geaflow.log:进入容器后的 shell 启动脚本日志。
点击任意一个日志可以进入日志详情页面。日志的获取进行了后端分页,可以在右下角选择每页的 KB 大小,并可以跳转到指定页数。
火焰图
展示火焰图的历史执行结果,并可重新生成新的火焰图。火焰图分析类型可选择 CPU 或 ALLOC,单次最多分析 60 秒,最多保留 10 份历史记录。点击“新建”,即可生成新的火焰图。
火焰图类型:可选 CPU 或者 ALLOC(Memory)。
执行时间:分析时间,需介于 1~60 秒之间。
火焰图的执行时间根据用户的选择可能较久,因此会在后台静默执行。需要等待执行结束后,手动点击“新建”按钮旁边的“刷新”标识,获取最新的火焰图历史。
Thread Dump
展示主进程的 Thread Dump 结果,并可重新进行 Dump。保留最新一次 dump 的结果。
点击“重新执行”,等待执行结束后,结果会自动刷新。
进程配置
展示 master 的 java 主进程内的各项配置(仅 master 拥有此页面)。
其他用法
列表排序与查询
部分列表的列可以进行排序和查询。查询时,点击“搜索”标识,输入关键字,点击“搜索”按钮即可。重置时,点击“重置”按钮,列表会重新刷新。
国际化
页面支持中英文切换,点击右上角的“文 A”图标,即可选择语言。
欢迎关注我们的 GitHub 仓库: https://github.com/TuGraph-family/tugraph-analytics
评论